From b7bc98cc8ed11c9cd1f33f0807c7d1f7181301ef Mon Sep 17 00:00:00 2001 From: Rauan Mayemir Date: Fri, 16 Mar 2018 09:00:07 +0800 Subject: [PATCH 1/2] move vendor deps into their own packages --- .prettierrc | 7 + Makefile | 3 - bin/ninja.exe | Bin 180756 -> 0 bytes esy.json | 44 + jscomp/bsb/bsb_clean.ml | 6 +- jscomp/bsb/bsb_main.ml | 2 +- lib/bsb.ml | 8 +- opam.in | 14 - package.json | 50 +- vendor/ninja-build/COPYING | 202 - vendor/ninja-build/ninja.darwin | Bin 184804 -> 0 bytes vendor/ninja-build/ninja.linux64 | Bin 183344 -> 0 bytes vendor/ninja-build/ninja.win | Bin 504320 -> 0 bytes vendor/ninja/.clang-format | 25 - vendor/ninja/.gitignore | 34 - vendor/ninja/.npmignore | 0 vendor/ninja/.travis.yml | 6 - vendor/ninja/COPYING | 202 - vendor/ninja/HACKING.md | 224 - vendor/ninja/README | 21 - vendor/ninja/RELEASING | 32 - vendor/ninja/bootstrap.py | 23 - vendor/ninja/configure.py | 684 - vendor/ninja/doc/README.md | 11 - vendor/ninja/doc/dblatex.xsl | 7 - vendor/ninja/doc/docbook.xsl | 31 - vendor/ninja/doc/doxygen.config | 1250 - vendor/ninja/doc/manual.asciidoc | 1006 - vendor/ninja/doc/style.css | 29 - vendor/ninja/misc/afl-fuzz-tokens/kw_build | 1 - vendor/ninja/misc/afl-fuzz-tokens/kw_default | 1 - vendor/ninja/misc/afl-fuzz-tokens/kw_include | 1 - vendor/ninja/misc/afl-fuzz-tokens/kw_pool | 1 - vendor/ninja/misc/afl-fuzz-tokens/kw_rule | 1 - vendor/ninja/misc/afl-fuzz-tokens/kw_subninja | 1 - vendor/ninja/misc/afl-fuzz-tokens/misc_a | 1 - vendor/ninja/misc/afl-fuzz-tokens/misc_b | 1 - vendor/ninja/misc/afl-fuzz-tokens/misc_colon | 1 - vendor/ninja/misc/afl-fuzz-tokens/misc_cont | 1 - vendor/ninja/misc/afl-fuzz-tokens/misc_dollar | 1 - vendor/ninja/misc/afl-fuzz-tokens/misc_eq | 1 - vendor/ninja/misc/afl-fuzz-tokens/misc_indent | 1 - vendor/ninja/misc/afl-fuzz-tokens/misc_pipe | 1 - .../ninja/misc/afl-fuzz-tokens/misc_pipepipe | 1 - vendor/ninja/misc/afl-fuzz-tokens/misc_space | 1 - vendor/ninja/misc/afl-fuzz/build.ninja | 5 - vendor/ninja/misc/bash-completion | 57 - vendor/ninja/misc/inherited-fds.ninja | 23 - vendor/ninja/misc/long-slow-build.ninja | 38 - vendor/ninja/misc/measure.py | 56 - vendor/ninja/misc/ninja-mode.el | 85 - vendor/ninja/misc/ninja.vim | 83 - vendor/ninja/misc/ninja_syntax.py | 181 - vendor/ninja/misc/ninja_syntax_test.py | 191 - vendor/ninja/misc/packaging/ninja.spec | 42 - vendor/ninja/misc/packaging/rpmbuild.sh | 29 - vendor/ninja/misc/write_fake_manifests.py | 272 - vendor/ninja/misc/zsh-completion | 72 - vendor/ninja/src/browse.cc | 73 - vendor/ninja/src/browse.h | 28 - vendor/ninja/src/browse.py | 224 - vendor/ninja/src/build.cc | 929 - vendor/ninja/src/build.h | 295 - vendor/ninja/src/build_log.cc | 408 - vendor/ninja/src/build_log.h | 93 - vendor/ninja/src/build_log_perftest.cc | 149 - vendor/ninja/src/build_log_test.cc | 307 - vendor/ninja/src/build_test.cc | 2310 -- vendor/ninja/src/canon_perftest.cc | 57 - vendor/ninja/src/clean.cc | 263 - vendor/ninja/src/clean.h | 107 - vendor/ninja/src/clean_test.cc | 407 - vendor/ninja/src/clparser.cc | 126 - vendor/ninja/src/clparser.h | 52 - vendor/ninja/src/clparser_perftest.cc | 157 - vendor/ninja/src/clparser_test.cc | 117 - vendor/ninja/src/debug_flags.cc | 21 - vendor/ninja/src/debug_flags.h | 33 - vendor/ninja/src/depfile_parser.cc | 242 - vendor/ninja/src/depfile_parser.h | 35 - vendor/ninja/src/depfile_parser.in.cc | 120 - vendor/ninja/src/depfile_parser_perftest.cc | 77 - vendor/ninja/src/depfile_parser_test.cc | 157 - vendor/ninja/src/deps_log.cc | 410 - vendor/ninja/src/deps_log.h | 121 - vendor/ninja/src/deps_log_test.cc | 479 - vendor/ninja/src/disk_interface.cc | 264 - vendor/ninja/src/disk_interface.h | 100 - vendor/ninja/src/disk_interface_test.cc | 311 - vendor/ninja/src/edit_distance.cc | 69 - vendor/ninja/src/edit_distance.h | 25 - vendor/ninja/src/edit_distance_test.cc | 48 - vendor/ninja/src/eval_env.cc | 132 - vendor/ninja/src/eval_env.h | 105 - vendor/ninja/src/exit_status.h | 24 - vendor/ninja/src/gen_doxygen_mainpage.sh | 92 - vendor/ninja/src/getopt.c | 410 - vendor/ninja/src/getopt.h | 57 - vendor/ninja/src/graph.cc | 589 - vendor/ninja/src/graph.h | 294 - vendor/ninja/src/graph_test.cc | 481 - vendor/ninja/src/graphviz.cc | 80 - vendor/ninja/src/graphviz.h | 33 - vendor/ninja/src/hash_collision_bench.cc | 63 - vendor/ninja/src/hash_map.h | 120 - vendor/ninja/src/includes_normalize-win32.cc | 176 - vendor/ninja/src/includes_normalize.h | 39 - vendor/ninja/src/includes_normalize_test.cc | 140 - vendor/ninja/src/inline.sh | 25 - vendor/ninja/src/lexer.cc | 867 - vendor/ninja/src/lexer.h | 105 - vendor/ninja/src/lexer.in.cc | 273 - vendor/ninja/src/lexer_test.cc | 96 - vendor/ninja/src/line_printer.cc | 141 - vendor/ninja/src/line_printer.h | 72 - vendor/ninja/src/manifest_parser.cc | 447 - vendor/ninja/src/manifest_parser.h | 87 - vendor/ninja/src/manifest_parser_perftest.cc | 118 - vendor/ninja/src/manifest_parser_test.cc | 1079 - vendor/ninja/src/metrics.cc | 127 - vendor/ninja/src/metrics.h | 92 - vendor/ninja/src/minidump-win32.cc | 87 - vendor/ninja/src/msvc_helper-win32.cc | 106 - vendor/ninja/src/msvc_helper.h | 33 - vendor/ninja/src/msvc_helper_main-win32.cc | 148 - vendor/ninja/src/msvc_helper_test.cc | 39 - vendor/ninja/src/ninja.cc | 1228 - vendor/ninja/src/ninja_test.cc | 160 - vendor/ninja/src/state.cc | 212 - vendor/ninja/src/state.h | 131 - vendor/ninja/src/state_test.cc | 46 - vendor/ninja/src/string_piece.h | 71 - vendor/ninja/src/string_piece_util.cc | 78 - vendor/ninja/src/string_piece_util.h | 34 - vendor/ninja/src/string_piece_util_test.cc | 129 - vendor/ninja/src/subprocess-posix.cc | 338 - vendor/ninja/src/subprocess-win32.cc | 292 - vendor/ninja/src/subprocess.h | 114 - vendor/ninja/src/subprocess_test.cc | 261 - vendor/ninja/src/test.cc | 235 - vendor/ninja/src/test.h | 184 - vendor/ninja/src/timestamp.h | 24 - vendor/ninja/src/util.cc | 606 - vendor/ninja/src/util.h | 111 - vendor/ninja/src/util_test.cc | 428 - vendor/ninja/src/version.cc | 53 - vendor/ninja/src/version.h | 32 - vendor/ninja/src/win32port.h | 31 - vendor/ocaml/.depend | 1103 - vendor/ocaml/.gitignore | 2557 -- vendor/ocaml/.ignore | 10 - vendor/ocaml/.merlin | 51 - vendor/ocaml/.npmignore | 0 vendor/ocaml/.ocp-indent | 2 - vendor/ocaml/.travis-ci.sh | 18 - vendor/ocaml/.travis.yml | 4 - vendor/ocaml/Changes | 4187 ---- vendor/ocaml/INSTALL | 356 - vendor/ocaml/LICENSE | 627 - vendor/ocaml/Makefile | 886 - vendor/ocaml/Makefile.nt | 763 - vendor/ocaml/README | 130 - vendor/ocaml/README.win32 | 453 - vendor/ocaml/VERSION | 4 - vendor/ocaml/asmcomp/.ignore | 7 - vendor/ocaml/asmcomp/CSEgen.ml | 322 - vendor/ocaml/asmcomp/CSEgen.mli | 35 - vendor/ocaml/asmcomp/amd64/CSE.ml | 38 - vendor/ocaml/asmcomp/amd64/arch.ml | 130 - vendor/ocaml/asmcomp/amd64/emit.mlp | 864 - vendor/ocaml/asmcomp/amd64/emit_nt.mlp | 795 - vendor/ocaml/asmcomp/amd64/proc.ml | 332 - vendor/ocaml/asmcomp/amd64/reload.ml | 127 - vendor/ocaml/asmcomp/amd64/scheduling.ml | 18 - vendor/ocaml/asmcomp/amd64/selection.ml | 254 - vendor/ocaml/asmcomp/arm/CSE.ml | 37 - vendor/ocaml/asmcomp/arm/arch.ml | 257 - vendor/ocaml/asmcomp/arm/emit.mlp | 954 - vendor/ocaml/asmcomp/arm/proc.ml | 256 - vendor/ocaml/asmcomp/arm/reload.ml | 16 - vendor/ocaml/asmcomp/arm/scheduling.ml | 77 - vendor/ocaml/asmcomp/arm/selection.ml | 293 - vendor/ocaml/asmcomp/arm64/CSE.ml | 37 - vendor/ocaml/asmcomp/arm64/arch.ml | 158 - vendor/ocaml/asmcomp/arm64/emit.mlp | 986 - vendor/ocaml/asmcomp/arm64/proc.ml | 226 - vendor/ocaml/asmcomp/arm64/reload.ml | 16 - vendor/ocaml/asmcomp/arm64/scheduling.ml | 18 - vendor/ocaml/asmcomp/arm64/selection.ml | 243 - vendor/ocaml/asmcomp/asmgen.ml | 152 - vendor/ocaml/asmcomp/asmgen.mli | 23 - vendor/ocaml/asmcomp/asmlibrarian.ml | 78 - vendor/ocaml/asmcomp/asmlibrarian.mli | 25 - vendor/ocaml/asmcomp/asmlink.ml | 416 - vendor/ocaml/asmcomp/asmlink.mli | 41 - vendor/ocaml/asmcomp/asmpackager.ml | 214 - vendor/ocaml/asmcomp/asmpackager.mli | 28 - vendor/ocaml/asmcomp/branch_relaxation.ml | 138 - vendor/ocaml/asmcomp/branch_relaxation.mli | 26 - .../ocaml/asmcomp/branch_relaxation_intf.ml | 64 - vendor/ocaml/asmcomp/clambda.ml | 150 - vendor/ocaml/asmcomp/clambda.mli | 95 - vendor/ocaml/asmcomp/closure.ml | 1300 - vendor/ocaml/asmcomp/closure.mli | 16 - vendor/ocaml/asmcomp/cmm.ml | 131 - vendor/ocaml/asmcomp/cmm.mli | 117 - vendor/ocaml/asmcomp/cmmgen.ml | 2766 --- vendor/ocaml/asmcomp/cmmgen.mli | 30 - vendor/ocaml/asmcomp/cmx_format.mli | 61 - vendor/ocaml/asmcomp/codegen.ml | 95 - vendor/ocaml/asmcomp/codegen.mli | 27 - vendor/ocaml/asmcomp/coloring.ml | 223 - vendor/ocaml/asmcomp/coloring.mli | 15 - vendor/ocaml/asmcomp/comballoc.ml | 88 - vendor/ocaml/asmcomp/comballoc.mli | 15 - vendor/ocaml/asmcomp/compilenv.ml | 301 - vendor/ocaml/asmcomp/compilenv.mli | 91 - vendor/ocaml/asmcomp/deadcode.ml | 67 - vendor/ocaml/asmcomp/deadcode.mli | 16 - vendor/ocaml/asmcomp/debuginfo.ml | 56 - vendor/ocaml/asmcomp/debuginfo.mli | 32 - vendor/ocaml/asmcomp/emit.mli | 18 - vendor/ocaml/asmcomp/emitaux.ml | 247 - vendor/ocaml/asmcomp/emitaux.mli | 59 - vendor/ocaml/asmcomp/i386/CSE.ml | 47 - vendor/ocaml/asmcomp/i386/arch.ml | 162 - vendor/ocaml/asmcomp/i386/emit.mlp | 1034 - vendor/ocaml/asmcomp/i386/emit_nt.mlp | 893 - vendor/ocaml/asmcomp/i386/proc.ml | 227 - vendor/ocaml/asmcomp/i386/reload.ml | 83 - vendor/ocaml/asmcomp/i386/scheduling.ml | 20 - vendor/ocaml/asmcomp/i386/selection.ml | 315 - vendor/ocaml/asmcomp/interf.ml | 188 - vendor/ocaml/asmcomp/interf.mli | 16 - vendor/ocaml/asmcomp/linearize.ml | 297 - vendor/ocaml/asmcomp/linearize.mli | 54 - vendor/ocaml/asmcomp/liveness.ml | 133 - vendor/ocaml/asmcomp/liveness.mli | 19 - vendor/ocaml/asmcomp/mach.ml | 131 - vendor/ocaml/asmcomp/mach.mli | 93 - vendor/ocaml/asmcomp/power/CSE.ml | 37 - vendor/ocaml/asmcomp/power/arch.ml | 89 - vendor/ocaml/asmcomp/power/emit.mlp | 930 - vendor/ocaml/asmcomp/power/proc.ml | 253 - vendor/ocaml/asmcomp/power/reload.ml | 16 - vendor/ocaml/asmcomp/power/scheduling.ml | 61 - vendor/ocaml/asmcomp/power/selection.ml | 91 - vendor/ocaml/asmcomp/printclambda.ml | 193 - vendor/ocaml/asmcomp/printclambda.mli | 18 - vendor/ocaml/asmcomp/printcmm.ml | 205 - vendor/ocaml/asmcomp/printcmm.mli | 25 - vendor/ocaml/asmcomp/printlinear.ml | 80 - vendor/ocaml/asmcomp/printlinear.mli | 19 - vendor/ocaml/asmcomp/printmach.ml | 225 - vendor/ocaml/asmcomp/printmach.mli | 29 - vendor/ocaml/asmcomp/proc.mli | 57 - vendor/ocaml/asmcomp/reg.ml | 197 - vendor/ocaml/asmcomp/reg.mli | 67 - vendor/ocaml/asmcomp/reload.mli | 15 - vendor/ocaml/asmcomp/reloadgen.ml | 139 - vendor/ocaml/asmcomp/reloadgen.mli | 24 - vendor/ocaml/asmcomp/schedgen.ml | 395 - vendor/ocaml/asmcomp/schedgen.mli | 46 - vendor/ocaml/asmcomp/scheduling.mli | 15 - vendor/ocaml/asmcomp/selectgen.ml | 863 - vendor/ocaml/asmcomp/selectgen.mli | 105 - vendor/ocaml/asmcomp/selection.mli | 16 - vendor/ocaml/asmcomp/sparc/CSE.ml | 30 - vendor/ocaml/asmcomp/sparc/arch.ml | 78 - vendor/ocaml/asmcomp/sparc/emit.mlp | 758 - vendor/ocaml/asmcomp/sparc/proc.ml | 228 - vendor/ocaml/asmcomp/sparc/reload.ml | 16 - vendor/ocaml/asmcomp/sparc/scheduling.ml | 60 - vendor/ocaml/asmcomp/sparc/selection.ml | 73 - vendor/ocaml/asmcomp/spill.ml | 410 - vendor/ocaml/asmcomp/spill.mli | 17 - vendor/ocaml/asmcomp/split.ml | 214 - vendor/ocaml/asmcomp/split.mli | 17 - vendor/ocaml/asmcomp/strmatch.ml | 389 - vendor/ocaml/asmcomp/strmatch.mli | 28 - vendor/ocaml/asmrun/.depend | 1044 - vendor/ocaml/asmrun/.ignore | 40 - vendor/ocaml/asmrun/Makefile | 244 - vendor/ocaml/asmrun/Makefile.nt | 83 - vendor/ocaml/asmrun/amd64.S | 694 - vendor/ocaml/asmrun/amd64nt.asm | 476 - vendor/ocaml/asmrun/arm.S | 500 - vendor/ocaml/asmrun/arm64.S | 551 - vendor/ocaml/asmrun/backtrace.c | 385 - vendor/ocaml/asmrun/fail.c | 182 - vendor/ocaml/asmrun/i386.S | 498 - vendor/ocaml/asmrun/i386nt.asm | 332 - vendor/ocaml/asmrun/natdynlink.c | 156 - vendor/ocaml/asmrun/power-elf.S | 480 - vendor/ocaml/asmrun/power-rhapsody.S | 510 - vendor/ocaml/asmrun/roots.c | 369 - vendor/ocaml/asmrun/signals_asm.c | 288 - vendor/ocaml/asmrun/signals_osdep.h | 339 - vendor/ocaml/asmrun/sparc.S | 358 - vendor/ocaml/asmrun/stack.h | 119 - vendor/ocaml/asmrun/startup.c | 199 - vendor/ocaml/bin/ocaml | Bin 1947323 -> 0 bytes vendor/ocaml/bin/ocamlc | Bin 1862925 -> 0 bytes vendor/ocaml/bin/ocamlc.opt | Bin 7194348 -> 0 bytes vendor/ocaml/bin/ocamlcp | Bin 220318 -> 0 bytes vendor/ocaml/bin/ocamldep | Bin 576433 -> 0 bytes vendor/ocaml/bin/ocamldep.opt | Bin 2131180 -> 0 bytes vendor/ocaml/bin/ocamllex | Bin 256809 -> 0 bytes vendor/ocaml/bin/ocamllex.opt | Bin 1104884 -> 0 bytes vendor/ocaml/bin/ocamlmklib | Bin 156730 -> 0 bytes vendor/ocaml/bin/ocamlmktop | 15 - vendor/ocaml/bin/ocamlobjinfo | Bin 1805917 -> 0 bytes vendor/ocaml/bin/ocamlopt | Bin 2132382 -> 0 bytes vendor/ocaml/bin/ocamlopt.opt | Bin 8149996 -> 0 bytes vendor/ocaml/bin/ocamloptp | Bin 220749 -> 0 bytes vendor/ocaml/bin/ocamlprof | Bin 493712 -> 0 bytes vendor/ocaml/bin/ocamlrun | Bin 194024 -> 0 bytes vendor/ocaml/bin/ocamlyacc | Bin 95408 -> 0 bytes vendor/ocaml/boot/.ignore | 6 - vendor/ocaml/boot/ocamlc | Bin 9664539 -> 0 bytes vendor/ocaml/boot/ocamldep | Bin 3161288 -> 0 bytes vendor/ocaml/boot/ocamllex | Bin 1848923 -> 0 bytes vendor/ocaml/bytecomp/.ignore | 2 - vendor/ocaml/bytecomp/bytegen.ml | 938 - vendor/ocaml/bytecomp/bytegen.mli | 20 - vendor/ocaml/bytecomp/bytelibrarian.ml | 131 - vendor/ocaml/bytecomp/bytelibrarian.mli | 34 - vendor/ocaml/bytecomp/bytelink.ml | 669 - vendor/ocaml/bytecomp/bytelink.mli | 38 - vendor/ocaml/bytecomp/bytepackager.ml | 306 - vendor/ocaml/bytecomp/bytepackager.mli | 28 - vendor/ocaml/bytecomp/bytesections.ml | 98 - vendor/ocaml/bytecomp/bytesections.mli | 54 - vendor/ocaml/bytecomp/cmo_format.mli | 59 - vendor/ocaml/bytecomp/dll.ml | 181 - vendor/ocaml/bytecomp/dll.mli | 63 - vendor/ocaml/bytecomp/emitcode.ml | 429 - vendor/ocaml/bytecomp/emitcode.mli | 41 - vendor/ocaml/bytecomp/instruct.ml | 109 - vendor/ocaml/bytecomp/instruct.mli | 125 - vendor/ocaml/bytecomp/lambda.ml | 598 - vendor/ocaml/bytecomp/lambda.mli | 312 - vendor/ocaml/bytecomp/matching.ml | 3162 --- vendor/ocaml/bytecomp/matching.mli | 43 - vendor/ocaml/bytecomp/meta.ml | 25 - vendor/ocaml/bytecomp/meta.mli | 27 - vendor/ocaml/bytecomp/printinstr.ml | 113 - vendor/ocaml/bytecomp/printinstr.mli | 20 - vendor/ocaml/bytecomp/printlambda.ml | 543 - vendor/ocaml/bytecomp/printlambda.mli | 30 - vendor/ocaml/bytecomp/runtimedef.mli | 16 - vendor/ocaml/bytecomp/simplif.ml | 593 - vendor/ocaml/bytecomp/simplif.mli | 27 - vendor/ocaml/bytecomp/switch.ml | 881 - vendor/ocaml/bytecomp/switch.mli | 113 - vendor/ocaml/bytecomp/symtable.ml | 393 - vendor/ocaml/bytecomp/symtable.mli | 61 - vendor/ocaml/bytecomp/translclass.ml | 845 - vendor/ocaml/bytecomp/translclass.mli | 26 - vendor/ocaml/bytecomp/translcore.ml | 1225 - vendor/ocaml/bytecomp/translcore.mli | 44 - vendor/ocaml/bytecomp/translmod.ml | 1003 - vendor/ocaml/bytecomp/translmod.mli | 45 - vendor/ocaml/bytecomp/translobj.ml | 175 - vendor/ocaml/bytecomp/translobj.mli | 30 - vendor/ocaml/bytecomp/typeopt.ml | 134 - vendor/ocaml/bytecomp/typeopt.mli | 20 - vendor/ocaml/byterun/.depend | 726 - vendor/ocaml/byterun/.ignore | 16 - vendor/ocaml/byterun/Makefile | 80 - vendor/ocaml/byterun/Makefile.common | 135 - vendor/ocaml/byterun/Makefile.nt | 55 - vendor/ocaml/byterun/alloc.c | 190 - vendor/ocaml/byterun/array.c | 409 - vendor/ocaml/byterun/backtrace.c | 502 - vendor/ocaml/byterun/callback.c | 258 - vendor/ocaml/byterun/caml/address_class.h | 82 - vendor/ocaml/byterun/caml/alloc.h | 54 - vendor/ocaml/byterun/caml/backtrace.h | 31 - vendor/ocaml/byterun/caml/callback.h | 57 - vendor/ocaml/byterun/caml/compact.h | 25 - vendor/ocaml/byterun/caml/compare.h | 19 - vendor/ocaml/byterun/caml/compatibility.h | 369 - vendor/ocaml/byterun/caml/config.h | 172 - vendor/ocaml/byterun/caml/custom.h | 71 - vendor/ocaml/byterun/caml/debugger.h | 111 - vendor/ocaml/byterun/caml/dynlink.h | 36 - vendor/ocaml/byterun/caml/exec.h | 60 - vendor/ocaml/byterun/caml/fail.h | 84 - vendor/ocaml/byterun/caml/finalise.h | 27 - vendor/ocaml/byterun/caml/fix_code.h | 40 - vendor/ocaml/byterun/caml/freelist.h | 34 - vendor/ocaml/byterun/caml/gc.h | 56 - vendor/ocaml/byterun/caml/gc_ctrl.h | 42 - vendor/ocaml/byterun/caml/globroots.h | 25 - vendor/ocaml/byterun/caml/hash.h | 36 - vendor/ocaml/byterun/caml/instrtrace.h | 30 - vendor/ocaml/byterun/caml/instruct.h | 62 - vendor/ocaml/byterun/caml/int64_emul.h | 287 - vendor/ocaml/byterun/caml/int64_format.h | 105 - vendor/ocaml/byterun/caml/int64_native.h | 61 - vendor/ocaml/byterun/caml/interp.h | 31 - vendor/ocaml/byterun/caml/intext.h | 168 - vendor/ocaml/byterun/caml/io.h | 115 - vendor/ocaml/byterun/caml/major_gc.h | 60 - vendor/ocaml/byterun/caml/md5.h | 41 - vendor/ocaml/byterun/caml/memory.h | 409 - vendor/ocaml/byterun/caml/minor_gc.h | 52 - vendor/ocaml/byterun/caml/misc.h | 170 - vendor/ocaml/byterun/caml/mlvalues.h | 305 - vendor/ocaml/byterun/caml/osdeps.h | 68 - vendor/ocaml/byterun/caml/prims.h | 34 - vendor/ocaml/byterun/caml/printexc.h | 33 - vendor/ocaml/byterun/caml/reverse.h | 86 - vendor/ocaml/byterun/caml/roots.h | 36 - vendor/ocaml/byterun/caml/signals.h | 57 - vendor/ocaml/byterun/caml/signals_machdep.h | 60 - vendor/ocaml/byterun/caml/stacks.h | 41 - vendor/ocaml/byterun/caml/startup.h | 38 - vendor/ocaml/byterun/caml/sys.h | 28 - vendor/ocaml/byterun/caml/ui.h | 26 - vendor/ocaml/byterun/caml/weak.h | 24 - vendor/ocaml/byterun/compact.c | 505 - vendor/ocaml/byterun/compare.c | 320 - vendor/ocaml/byterun/custom.c | 101 - vendor/ocaml/byterun/debugger.c | 439 - vendor/ocaml/byterun/dynlink.c | 279 - vendor/ocaml/byterun/extern.c | 845 - vendor/ocaml/byterun/fail.c | 145 - vendor/ocaml/byterun/finalise.c | 249 - vendor/ocaml/byterun/fix_code.c | 188 - vendor/ocaml/byterun/floats.c | 510 - vendor/ocaml/byterun/freelist.c | 547 - vendor/ocaml/byterun/gc_ctrl.c | 513 - vendor/ocaml/byterun/globroots.c | 281 - vendor/ocaml/byterun/hash.c | 412 - vendor/ocaml/byterun/instrtrace.c | 264 - vendor/ocaml/byterun/intern.c | 879 - vendor/ocaml/byterun/interp.c | 1164 - vendor/ocaml/byterun/ints.c | 769 - vendor/ocaml/byterun/io.c | 793 - vendor/ocaml/byterun/lexing.c | 229 - vendor/ocaml/byterun/main.c | 57 - vendor/ocaml/byterun/major_gc.c | 563 - vendor/ocaml/byterun/md5.c | 321 - vendor/ocaml/byterun/memory.c | 596 - vendor/ocaml/byterun/meta.c | 184 - vendor/ocaml/byterun/minor_gc.c | 331 - vendor/ocaml/byterun/misc.c | 168 - vendor/ocaml/byterun/obj.c | 261 - vendor/ocaml/byterun/parsing.c | 300 - vendor/ocaml/byterun/printexc.c | 143 - vendor/ocaml/byterun/roots.c | 101 - vendor/ocaml/byterun/signals.c | 310 - vendor/ocaml/byterun/signals_byt.c | 98 - vendor/ocaml/byterun/stacks.c | 113 - vendor/ocaml/byterun/startup.c | 529 - vendor/ocaml/byterun/str.c | 371 - vendor/ocaml/byterun/sys.c | 467 - vendor/ocaml/byterun/terminfo.c | 130 - vendor/ocaml/byterun/unix.c | 321 - vendor/ocaml/byterun/weak.c | 191 - vendor/ocaml/byterun/win32.c | 536 - vendor/ocaml/compilerlibs/.gitignore | 0 vendor/ocaml/config/.ignore | 3 - vendor/ocaml/config/Makefile-templ | 228 - vendor/ocaml/config/Makefile.mingw | 177 - vendor/ocaml/config/Makefile.mingw64 | 177 - vendor/ocaml/config/Makefile.msvc | 180 - vendor/ocaml/config/Makefile.msvc64 | 184 - vendor/ocaml/config/auto-aux/.ignore | 1 - vendor/ocaml/config/auto-aux/align.c | 101 - vendor/ocaml/config/auto-aux/ansi.c | 21 - vendor/ocaml/config/auto-aux/async_io.c | 58 - vendor/ocaml/config/auto-aux/bytecopy.c | 32 - vendor/ocaml/config/auto-aux/cfi.S | 6 - vendor/ocaml/config/auto-aux/dblalign.c | 52 - vendor/ocaml/config/auto-aux/divmod.c | 45 - vendor/ocaml/config/auto-aux/elf.c | 24 - vendor/ocaml/config/auto-aux/endian.c | 39 - vendor/ocaml/config/auto-aux/expm1.c | 24 - vendor/ocaml/config/auto-aux/getgroups.c | 30 - vendor/ocaml/config/auto-aux/gethostbyaddr.c | 49 - vendor/ocaml/config/auto-aux/gethostbyname.c | 39 - vendor/ocaml/config/auto-aux/hasgot | 42 - vendor/ocaml/config/auto-aux/hasgot2 | 42 - vendor/ocaml/config/auto-aux/ia32sse2.c | 22 - vendor/ocaml/config/auto-aux/initgroups.c | 24 - vendor/ocaml/config/auto-aux/int64align.c | 63 - vendor/ocaml/config/auto-aux/longlong.c | 41 - .../ocaml/config/auto-aux/nanosecond_stat.c | 28 - vendor/ocaml/config/auto-aux/runtest | 22 - vendor/ocaml/config/auto-aux/schar.c | 21 - vendor/ocaml/config/auto-aux/schar2.c | 21 - vendor/ocaml/config/auto-aux/searchpath | 32 - vendor/ocaml/config/auto-aux/setgroups.c | 26 - vendor/ocaml/config/auto-aux/sharpbang | 2 - vendor/ocaml/config/auto-aux/sharpbang2 | 2 - vendor/ocaml/config/auto-aux/sighandler.c | 21 - vendor/ocaml/config/auto-aux/signals.c | 66 - vendor/ocaml/config/auto-aux/sizes.c | 22 - vendor/ocaml/config/auto-aux/solaris-ld | 21 - vendor/ocaml/config/auto-aux/stackov.c | 66 - vendor/ocaml/config/auto-aux/tryassemble | 31 - vendor/ocaml/config/auto-aux/trycompile | 21 - vendor/ocaml/config/gnu/config.guess | 1558 -- vendor/ocaml/config/gnu/config.sub | 1788 -- vendor/ocaml/config/m-nt.h | 43 - vendor/ocaml/config/m-templ.h | 81 - vendor/ocaml/config/s-nt.h | 30 - vendor/ocaml/config/s-templ.h | 218 - vendor/ocaml/configure | 1879 -- vendor/ocaml/debugger/.depend | 215 - vendor/ocaml/debugger/.ignore | 7 - vendor/ocaml/debugger/Makefile | 14 - vendor/ocaml/debugger/Makefile.nt | 14 - vendor/ocaml/debugger/Makefile.shared | 129 - vendor/ocaml/debugger/breakpoints.ml | 225 - vendor/ocaml/debugger/breakpoints.mli | 59 - vendor/ocaml/debugger/checkpoints.ml | 83 - vendor/ocaml/debugger/checkpoints.mli | 56 - vendor/ocaml/debugger/command_line.ml | 1190 - vendor/ocaml/debugger/command_line.mli | 20 - vendor/ocaml/debugger/debugcom.ml | 296 - vendor/ocaml/debugger/debugcom.mli | 108 - vendor/ocaml/debugger/debugger_config.ml | 84 - vendor/ocaml/debugger/debugger_config.mli | 37 - vendor/ocaml/debugger/eval.ml | 208 - vendor/ocaml/debugger/eval.mli | 38 - vendor/ocaml/debugger/events.ml | 46 - vendor/ocaml/debugger/events.mli | 27 - vendor/ocaml/debugger/exec.ml | 51 - vendor/ocaml/debugger/exec.mli | 17 - vendor/ocaml/debugger/frames.ml | 127 - vendor/ocaml/debugger/frames.mli | 53 - vendor/ocaml/debugger/history.ml | 41 - vendor/ocaml/debugger/history.mli | 18 - vendor/ocaml/debugger/input_handling.ml | 113 - vendor/ocaml/debugger/input_handling.mli | 58 - vendor/ocaml/debugger/int64ops.ml | 24 - vendor/ocaml/debugger/int64ops.mli | 24 - vendor/ocaml/debugger/lexer.mli | 17 - vendor/ocaml/debugger/lexer.mll | 95 - vendor/ocaml/debugger/loadprinter.ml | 176 - vendor/ocaml/debugger/loadprinter.mli | 32 - vendor/ocaml/debugger/main.ml | 232 - vendor/ocaml/debugger/parameters.ml | 39 - vendor/ocaml/debugger/parameters.mli | 27 - vendor/ocaml/debugger/parser.mly | 253 - vendor/ocaml/debugger/parser_aux.mli | 31 - vendor/ocaml/debugger/pattern_matching.ml | 251 - vendor/ocaml/debugger/pattern_matching.mli | 20 - vendor/ocaml/debugger/pos.ml | 25 - vendor/ocaml/debugger/pos.mli | 13 - vendor/ocaml/debugger/primitives.ml | 136 - vendor/ocaml/debugger/primitives.mli | 63 - vendor/ocaml/debugger/printval.ml | 106 - vendor/ocaml/debugger/printval.mli | 31 - vendor/ocaml/debugger/program_loading.ml | 187 - vendor/ocaml/debugger/program_loading.mli | 32 - vendor/ocaml/debugger/program_management.ml | 158 - vendor/ocaml/debugger/program_management.mli | 25 - vendor/ocaml/debugger/question.ml | 47 - vendor/ocaml/debugger/question.mli | 14 - vendor/ocaml/debugger/show_information.ml | 105 - vendor/ocaml/debugger/show_information.mli | 24 - vendor/ocaml/debugger/show_source.ml | 86 - vendor/ocaml/debugger/show_source.mli | 23 - vendor/ocaml/debugger/source.ml | 190 - vendor/ocaml/debugger/source.mli | 59 - vendor/ocaml/debugger/symbols.ml | 209 - vendor/ocaml/debugger/symbols.mli | 48 - vendor/ocaml/debugger/time_travel.ml | 646 - vendor/ocaml/debugger/time_travel.mli | 35 - vendor/ocaml/debugger/trap_barrier.ml | 45 - vendor/ocaml/debugger/trap_barrier.mli | 25 - vendor/ocaml/debugger/unix_tools.ml | 142 - vendor/ocaml/debugger/unix_tools.mli | 32 - vendor/ocaml/driver/compenv.ml | 310 - vendor/ocaml/driver/compenv.mli | 43 - vendor/ocaml/driver/compile.ml | 104 - vendor/ocaml/driver/compile.mli | 19 - vendor/ocaml/driver/compmisc.ml | 68 - vendor/ocaml/driver/compmisc.mli | 14 - vendor/ocaml/driver/errors.ml | 16 - vendor/ocaml/driver/errors.mli | 16 - vendor/ocaml/driver/main.ml | 216 - vendor/ocaml/driver/main.mli | 15 - vendor/ocaml/driver/main_args.ml | 1001 - vendor/ocaml/driver/main_args.mli | 190 - vendor/ocaml/driver/ocamlcomp.sh.in | 17 - vendor/ocaml/driver/optcompile.ml | 97 - vendor/ocaml/driver/optcompile.mli | 19 - vendor/ocaml/driver/opterrors.ml | 16 - vendor/ocaml/driver/opterrors.mli | 15 - vendor/ocaml/driver/optmain.ml | 229 - vendor/ocaml/driver/optmain.mli | 15 - vendor/ocaml/driver/pparse.ml | 202 - vendor/ocaml/driver/pparse.mli | 41 - vendor/ocaml/emacs/.ignore | 2 - vendor/ocaml/emacs/COPYING | 340 - vendor/ocaml/emacs/Makefile | 82 - vendor/ocaml/emacs/README | 209 - vendor/ocaml/emacs/README.itz | 177 - vendor/ocaml/emacs/caml-compat.el | 39 - vendor/ocaml/emacs/caml-emacs.el | 43 - vendor/ocaml/emacs/caml-font-old.el | 139 - vendor/ocaml/emacs/caml-font.el | 410 - vendor/ocaml/emacs/caml-help.el | 854 - vendor/ocaml/emacs/caml-hilit.el | 65 - vendor/ocaml/emacs/caml-types.el | 793 - vendor/ocaml/emacs/caml-xemacs.el | 55 - vendor/ocaml/emacs/caml.el | 1961 -- vendor/ocaml/emacs/camldebug.el | 793 - vendor/ocaml/emacs/inf-caml.el | 362 - vendor/ocaml/emacs/ocamltags.in | 139 - .../experimental/doligez/check-bounds.diff | 149 - .../ocaml/experimental/doligez/checkheaders | 152 - vendor/ocaml/experimental/frisch/Makefile | 79 - .../ocaml/experimental/frisch/copy_typedef.ml | 181 - vendor/ocaml/experimental/frisch/eval.ml | 141 - .../experimental/frisch/extension_points.txt | 740 - vendor/ocaml/experimental/frisch/ifdef.ml | 118 - vendor/ocaml/experimental/frisch/js_syntax.ml | 112 - .../experimental/frisch/metaquot_test.ml | 27 - vendor/ocaml/experimental/frisch/minidoc.ml | 72 - vendor/ocaml/experimental/frisch/nomli.ml | 114 - .../ocaml/experimental/frisch/ppx_builder.ml | 100 - .../ocaml/experimental/frisch/ppx_matches.ml | 29 - .../ocaml/experimental/frisch/test_builder.ml | 19 - .../experimental/frisch/test_copy_typedef.ml | 19 - .../experimental/frisch/test_copy_typedef.mli | 20 - vendor/ocaml/experimental/frisch/test_eval.ml | 37 - .../ocaml/experimental/frisch/test_ifdef.ml | 25 - vendor/ocaml/experimental/frisch/test_js.ml | 22 - .../ocaml/experimental/frisch/test_matches.ml | 3 - .../ocaml/experimental/frisch/test_nomli.ml | 30 - vendor/ocaml/experimental/frisch/testdoc.mli | 29 - .../frisch/unused_exported_values.ml | 63 - vendor/ocaml/experimental/garrigue/.cvsignore | 2 - .../experimental/garrigue/caml_set_oid.diff | 141 - .../ocaml/experimental/garrigue/coerce.diff | 93 - .../ocaml/experimental/garrigue/countchars.ml | 16 - .../experimental/garrigue/dirs_multimatch | 1 - vendor/ocaml/experimental/garrigue/dirs_poly | 1 - .../ocaml/experimental/garrigue/fixedtypes.ml | 77 - .../garrigue/gadt-escape-check.diff | 519 - .../garrigue/generative-functors.diff | 1008 - .../garrigue/impure-functors.diff | 223 - .../garrigue/marshal_objects.diff | 800 - .../experimental/garrigue/module-errors.diff | 403 - .../experimental/garrigue/multimatch.diff | 1418 -- .../ocaml/experimental/garrigue/multimatch.ml | 158 - .../ocaml/experimental/garrigue/newlabels.ps | Bin 91471 -> 0 bytes .../experimental/garrigue/nongeneral-let.diff | 428 - .../experimental/garrigue/objvariant.diff | 354 - .../ocaml/experimental/garrigue/objvariant.ml | 42 - .../garrigue/parser-lessminus.diff | 77 - .../garrigue/pattern-local-types.diff | 467 - .../ocaml/experimental/garrigue/printers.ml | 11 - .../garrigue/propagation-to-patterns.diff | 212 - .../experimental/garrigue/show_types.diff | 419 - vendor/ocaml/experimental/garrigue/tests.ml | 22 - .../ocaml/experimental/garrigue/valvirt.diff | 2349 -- .../garrigue/variable-names-Tvar.diff | 1656 -- .../experimental/garrigue/variable-names.ml | 4 - .../ocaml/experimental/garrigue/varunion.ml | 435 - .../garrigue/with-module-type.diff | 530 - vendor/ocaml/lex/.depend | 34 - vendor/ocaml/lex/.ignore | 6 - vendor/ocaml/lex/Makefile | 74 - vendor/ocaml/lex/Makefile.nt | 75 - vendor/ocaml/lex/common.ml | 171 - vendor/ocaml/lex/common.mli | 28 - vendor/ocaml/lex/compact.ml | 229 - vendor/ocaml/lex/compact.mli | 31 - vendor/ocaml/lex/cset.ml | 94 - vendor/ocaml/lex/cset.mli | 31 - vendor/ocaml/lex/lexer.mli | 20 - vendor/ocaml/lex/lexer.mll | 303 - vendor/ocaml/lex/lexgen.ml | 1194 - vendor/ocaml/lex/lexgen.mli | 57 - vendor/ocaml/lex/main.ml | 122 - vendor/ocaml/lex/output.ml | 149 - vendor/ocaml/lex/output.mli | 24 - vendor/ocaml/lex/outputbis.ml | 238 - vendor/ocaml/lex/outputbis.mli | 21 - vendor/ocaml/lex/parser.mly | 199 - vendor/ocaml/lex/syntax.ml | 46 - vendor/ocaml/lex/syntax.mli | 43 - vendor/ocaml/lex/table.ml | 56 - vendor/ocaml/lex/table.mli | 31 - vendor/ocaml/lib/ocaml/Makefile.config | 83 - vendor/ocaml/lib/ocaml/VERSION | 4 - vendor/ocaml/lib/ocaml/arg.ml | 278 - vendor/ocaml/lib/ocaml/arg.mli | 158 - vendor/ocaml/lib/ocaml/arith_status.mli | 57 - vendor/ocaml/lib/ocaml/array.ml | 239 - vendor/ocaml/lib/ocaml/array.mli | 211 - vendor/ocaml/lib/ocaml/arrayLabels.ml | 16 - vendor/ocaml/lib/ocaml/arrayLabels.mli | 211 - vendor/ocaml/lib/ocaml/big_int.mli | 191 - vendor/ocaml/lib/ocaml/bigarray.cmxs | Bin 63236 -> 0 bytes vendor/ocaml/lib/ocaml/bigarray.mli | 838 - vendor/ocaml/lib/ocaml/buffer.ml | 178 - vendor/ocaml/lib/ocaml/buffer.mli | 129 - vendor/ocaml/lib/ocaml/bytes.ml | 261 - vendor/ocaml/lib/ocaml/bytes.mli | 398 - vendor/ocaml/lib/ocaml/bytesLabels.ml | 16 - vendor/ocaml/lib/ocaml/bytesLabels.mli | 215 - vendor/ocaml/lib/ocaml/callback.ml | 25 - vendor/ocaml/lib/ocaml/callback.mli | 32 - vendor/ocaml/lib/ocaml/caml/address_class.h | 82 - vendor/ocaml/lib/ocaml/caml/alloc.h | 54 - vendor/ocaml/lib/ocaml/caml/bigarray.h | 123 - vendor/ocaml/lib/ocaml/caml/callback.h | 57 - vendor/ocaml/lib/ocaml/caml/compatibility.h | 369 - vendor/ocaml/lib/ocaml/caml/config.h | 229 - vendor/ocaml/lib/ocaml/caml/custom.h | 64 - vendor/ocaml/lib/ocaml/caml/fail.h | 50 - vendor/ocaml/lib/ocaml/caml/gc.h | 56 - vendor/ocaml/lib/ocaml/caml/hash.h | 36 - vendor/ocaml/lib/ocaml/caml/intext.h | 94 - vendor/ocaml/lib/ocaml/caml/memory.h | 370 - vendor/ocaml/lib/ocaml/caml/misc.h | 95 - vendor/ocaml/lib/ocaml/caml/mlvalues.h | 305 - vendor/ocaml/lib/ocaml/caml/printexc.h | 33 - vendor/ocaml/lib/ocaml/caml/signals.h | 36 - vendor/ocaml/lib/ocaml/caml/socketaddr.h | 60 - vendor/ocaml/lib/ocaml/caml/unixsupport.h | 40 - vendor/ocaml/lib/ocaml/caml/version.h | 6 - vendor/ocaml/lib/ocaml/camlheader | 1 - vendor/ocaml/lib/ocaml/camlheader_ur | 1 - vendor/ocaml/lib/ocaml/camlinternalFormat.ml | 2777 --- vendor/ocaml/lib/ocaml/camlinternalFormat.mli | 104 - .../lib/ocaml/camlinternalFormatBasics.ml | 664 - .../lib/ocaml/camlinternalFormatBasics.mli | 309 - vendor/ocaml/lib/ocaml/camlinternalLazy.ml | 64 - vendor/ocaml/lib/ocaml/camlinternalLazy.mli | 25 - vendor/ocaml/lib/ocaml/camlinternalMod.ml | 70 - vendor/ocaml/lib/ocaml/camlinternalMod.mli | 26 - vendor/ocaml/lib/ocaml/camlinternalOO.ml | 586 - vendor/ocaml/lib/ocaml/camlinternalOO.mli | 151 - vendor/ocaml/lib/ocaml/char.ml | 67 - vendor/ocaml/lib/ocaml/char.mli | 48 - vendor/ocaml/lib/ocaml/complex.ml | 85 - vendor/ocaml/lib/ocaml/complex.mli | 84 - vendor/ocaml/lib/ocaml/digest.ml | 72 - vendor/ocaml/lib/ocaml/digest.mli | 76 - vendor/ocaml/lib/ocaml/dynlink.mli | 146 - vendor/ocaml/lib/ocaml/expunge | Bin 1776786 -> 0 bytes vendor/ocaml/lib/ocaml/extract_crc | Bin 449984 -> 0 bytes vendor/ocaml/lib/ocaml/filename.ml | 242 - vendor/ocaml/lib/ocaml/filename.mli | 137 - vendor/ocaml/lib/ocaml/format.ml | 1221 - vendor/ocaml/lib/ocaml/format.mli | 756 - vendor/ocaml/lib/ocaml/gc.ml | 100 - vendor/ocaml/lib/ocaml/gc.mli | 279 - vendor/ocaml/lib/ocaml/genlex.ml | 199 - vendor/ocaml/lib/ocaml/genlex.mli | 71 - vendor/ocaml/lib/ocaml/hashtbl.ml | 389 - vendor/ocaml/lib/ocaml/hashtbl.mli | 364 - vendor/ocaml/lib/ocaml/int32.ml | 52 - vendor/ocaml/lib/ocaml/int32.mli | 162 - vendor/ocaml/lib/ocaml/int64.ml | 57 - vendor/ocaml/lib/ocaml/int64.mli | 184 - vendor/ocaml/lib/ocaml/lazy.ml | 79 - vendor/ocaml/lib/ocaml/lazy.mli | 88 - vendor/ocaml/lib/ocaml/ld.conf | 2 - vendor/ocaml/lib/ocaml/lexing.ml | 230 - vendor/ocaml/lib/ocaml/lexing.mli | 174 - vendor/ocaml/lib/ocaml/list.ml | 429 - vendor/ocaml/lib/ocaml/list.mli | 293 - vendor/ocaml/lib/ocaml/listLabels.ml | 16 - vendor/ocaml/lib/ocaml/listLabels.mli | 291 - vendor/ocaml/lib/ocaml/map.ml | 337 - vendor/ocaml/lib/ocaml/map.mli | 212 - vendor/ocaml/lib/ocaml/marshal.ml | 66 - vendor/ocaml/lib/ocaml/marshal.mli | 178 - vendor/ocaml/lib/ocaml/moreLabels.ml | 20 - vendor/ocaml/lib/ocaml/moreLabels.mli | 167 - vendor/ocaml/lib/ocaml/nat.mli | 71 - vendor/ocaml/lib/ocaml/nativeint.ml | 53 - vendor/ocaml/lib/ocaml/nativeint.mli | 184 - vendor/ocaml/lib/ocaml/num.mli | 170 - vendor/ocaml/lib/ocaml/nums.cmxs | Bin 235632 -> 0 bytes vendor/ocaml/lib/ocaml/obj.ml | 91 - vendor/ocaml/lib/ocaml/obj.mli | 70 - vendor/ocaml/lib/ocaml/objinfo_helper | Bin 8476 -> 0 bytes vendor/ocaml/lib/ocaml/oo.ml | 17 - vendor/ocaml/lib/ocaml/oo.mli | 36 - vendor/ocaml/lib/ocaml/parsing.ml | 209 - vendor/ocaml/lib/ocaml/parsing.mli | 103 - vendor/ocaml/lib/ocaml/pervasives.ml | 491 - vendor/ocaml/lib/ocaml/pervasives.mli | 1092 - vendor/ocaml/lib/ocaml/printexc.ml | 295 - vendor/ocaml/lib/ocaml/printexc.mli | 293 - vendor/ocaml/lib/ocaml/printf.ml | 39 - vendor/ocaml/lib/ocaml/printf.mli | 168 - vendor/ocaml/lib/ocaml/queue.ml | 165 - vendor/ocaml/lib/ocaml/queue.mli | 80 - vendor/ocaml/lib/ocaml/random.ml | 275 - vendor/ocaml/lib/ocaml/random.mli | 105 - vendor/ocaml/lib/ocaml/ratio.mli | 91 - vendor/ocaml/lib/ocaml/scanf.ml | 1369 -- vendor/ocaml/lib/ocaml/scanf.mli | 537 - vendor/ocaml/lib/ocaml/set.ml | 388 - vendor/ocaml/lib/ocaml/set.mli | 184 - vendor/ocaml/lib/ocaml/sort.ml | 97 - vendor/ocaml/lib/ocaml/sort.mli | 42 - vendor/ocaml/lib/ocaml/stack.ml | 40 - vendor/ocaml/lib/ocaml/stack.mli | 55 - vendor/ocaml/lib/ocaml/stdLabels.ml | 22 - vendor/ocaml/lib/ocaml/stdLabels.mli | 27 - vendor/ocaml/lib/ocaml/std_exit.ml | 16 - vendor/ocaml/lib/ocaml/str.cmxs | Bin 86052 -> 0 bytes vendor/ocaml/lib/ocaml/str.mli | 289 - vendor/ocaml/lib/ocaml/stream.ml | 218 - vendor/ocaml/lib/ocaml/stream.mli | 108 - vendor/ocaml/lib/ocaml/string.ml | 126 - vendor/ocaml/lib/ocaml/string.mli | 254 - vendor/ocaml/lib/ocaml/stringLabels.ml | 16 - vendor/ocaml/lib/ocaml/stringLabels.mli | 215 - vendor/ocaml/lib/ocaml/sys.ml | 94 - vendor/ocaml/lib/ocaml/sys.mli | 225 - vendor/ocaml/lib/ocaml/unix.cmxs | Bin 174044 -> 0 bytes vendor/ocaml/lib/ocaml/unix.mli | 1362 -- vendor/ocaml/lib/ocaml/unixLabels.mli | 1369 -- .../ocaml/lib/ocaml/vmthreads/condition.mli | 51 - vendor/ocaml/lib/ocaml/vmthreads/event.mli | 79 - vendor/ocaml/lib/ocaml/vmthreads/mutex.mli | 47 - vendor/ocaml/lib/ocaml/vmthreads/thread.mli | 138 - .../ocaml/lib/ocaml/vmthreads/threadUnix.mli | 99 - vendor/ocaml/lib/ocaml/weak.ml | 305 - vendor/ocaml/lib/ocaml/weak.mli | 157 - vendor/ocaml/man/Makefile | 24 - vendor/ocaml/man/ocaml.m | 255 - vendor/ocaml/man/ocamlc.m | 953 - vendor/ocaml/man/ocamlcp.m | 139 - vendor/ocaml/man/ocamldebug.m | 105 - vendor/ocaml/man/ocamldep.m | 138 - vendor/ocaml/man/ocamldoc.m | 459 - vendor/ocaml/man/ocamllex.m | 98 - vendor/ocaml/man/ocamlmktop.m | 94 - vendor/ocaml/man/ocamlopt.m | 707 - vendor/ocaml/man/ocamlprof.m | 84 - vendor/ocaml/man/ocamlrun.m | 223 - vendor/ocaml/man/ocamlyacc.m | 106 - vendor/ocaml/ocamlbuild/.depend | 207 - vendor/ocaml/ocamlbuild/AUTHORS | 2 - vendor/ocaml/ocamlbuild/ChangeLog | 3621 --- vendor/ocaml/ocamlbuild/FAQ | 35 - vendor/ocaml/ocamlbuild/Makefile | 213 - vendor/ocaml/ocamlbuild/TODO | 38 - vendor/ocaml/ocamlbuild/_tags | 22 - vendor/ocaml/ocamlbuild/bool.ml | 39 - vendor/ocaml/ocamlbuild/bool.mli | 35 - vendor/ocaml/ocamlbuild/command.ml | 422 - vendor/ocaml/ocamlbuild/command.mli | 51 - vendor/ocaml/ocamlbuild/configuration.ml | 95 - vendor/ocaml/ocamlbuild/configuration.mli | 44 - vendor/ocaml/ocamlbuild/const.ml | 11 - vendor/ocaml/ocamlbuild/digest_cache.ml | 42 - vendor/ocaml/ocamlbuild/digest_cache.mli | 18 - vendor/ocaml/ocamlbuild/discard_printf.ml | 16 - vendor/ocaml/ocamlbuild/discard_printf.mli | 20 - vendor/ocaml/ocamlbuild/display.ml | 393 - vendor/ocaml/ocamlbuild/display.mli | 34 - .../ocamlbuild/examples/example1/hello.ml | 17 - .../ocamlbuild/examples/example2/greet.ml | 18 - .../ocamlbuild/examples/example2/hello.ml | 26 - .../ocamlbuild/examples/example3/epoch.ml | 18 - .../ocamlbuild/examples/example3/make.sh | 44 - vendor/ocaml/ocamlbuild/exit_codes.ml | 27 - vendor/ocaml/ocamlbuild/exit_codes.mli | 27 - vendor/ocaml/ocamlbuild/fda.ml | 82 - vendor/ocaml/ocamlbuild/fda.mli | 19 - vendor/ocaml/ocamlbuild/findlib.ml | 198 - vendor/ocaml/ocamlbuild/findlib.mli | 16 - vendor/ocaml/ocamlbuild/flags.ml | 78 - vendor/ocaml/ocamlbuild/flags.mli | 40 - vendor/ocaml/ocamlbuild/glob.ml | 413 - vendor/ocaml/ocamlbuild/glob.mli | 24 - vendor/ocaml/ocamlbuild/glob_ast.ml | 32 - vendor/ocaml/ocamlbuild/glob_ast.mli | 26 - vendor/ocaml/ocamlbuild/glob_lexer.mli | 28 - vendor/ocaml/ocamlbuild/glob_lexer.mll | 117 - vendor/ocaml/ocamlbuild/hooks.ml | 27 - vendor/ocaml/ocamlbuild/hooks.mli | 24 - vendor/ocaml/ocamlbuild/hygiene.ml | 176 - vendor/ocaml/ocamlbuild/hygiene.mli | 47 - vendor/ocaml/ocamlbuild/lexers.mli | 48 - vendor/ocaml/ocamlbuild/lexers.mll | 191 - vendor/ocaml/ocamlbuild/loc.ml | 35 - vendor/ocaml/ocamlbuild/loc.mli | 7 - vendor/ocaml/ocamlbuild/log.ml | 80 - vendor/ocaml/ocamlbuild/log.mli | 44 - vendor/ocaml/ocamlbuild/main.ml | 356 - vendor/ocaml/ocamlbuild/main.mli | 15 - vendor/ocaml/ocamlbuild/man/ocamlbuild.1 | 268 - vendor/ocaml/ocamlbuild/misc/opentracer.ml | 102 - vendor/ocaml/ocamlbuild/my_std.ml | 431 - vendor/ocaml/ocamlbuild/my_std.mli | 67 - vendor/ocaml/ocamlbuild/my_unix.ml | 146 - vendor/ocaml/ocamlbuild/my_unix.mli | 74 - vendor/ocaml/ocamlbuild/ocaml_arch.ml | 136 - vendor/ocaml/ocamlbuild/ocaml_arch.mli | 17 - vendor/ocaml/ocamlbuild/ocaml_compiler.ml | 432 - vendor/ocaml/ocamlbuild/ocaml_compiler.mli | 96 - vendor/ocaml/ocamlbuild/ocaml_dependencies.ml | 262 - .../ocaml/ocamlbuild/ocaml_dependencies.mli | 44 - vendor/ocaml/ocamlbuild/ocaml_specific.ml | 793 - vendor/ocaml/ocamlbuild/ocaml_specific.mli | 17 - vendor/ocaml/ocamlbuild/ocaml_tools.ml | 163 - vendor/ocaml/ocamlbuild/ocaml_tools.mli | 34 - vendor/ocaml/ocamlbuild/ocaml_utils.ml | 178 - vendor/ocaml/ocamlbuild/ocaml_utils.mli | 46 - vendor/ocaml/ocamlbuild/ocamlbuild.ml | 16 - vendor/ocaml/ocamlbuild/ocamlbuild.mli | 15 - vendor/ocaml/ocamlbuild/ocamlbuild.mltop | 3 - vendor/ocaml/ocamlbuild/ocamlbuild.odocl | 41 - .../ocaml/ocamlbuild/ocamlbuild_executor.ml | 350 - .../ocaml/ocamlbuild/ocamlbuild_executor.mli | 55 - .../ocaml/ocamlbuild/ocamlbuild_pack.mlpack | 43 - vendor/ocaml/ocamlbuild/ocamlbuild_plugin.ml | 63 - vendor/ocaml/ocamlbuild/ocamlbuild_plugin.mli | 17 - .../ocamlbuild/ocamlbuild_unix_plugin.ml | 95 - .../ocamlbuild/ocamlbuild_unix_plugin.mli | 15 - vendor/ocaml/ocamlbuild/ocamlbuild_where.ml | 19 - vendor/ocaml/ocamlbuild/ocamlbuild_where.mli | 18 - vendor/ocaml/ocamlbuild/ocamlbuildlib.mllib | 4 - vendor/ocaml/ocamlbuild/ocamlbuildlight.ml | 15 - vendor/ocaml/ocamlbuild/ocamlbuildlight.mli | 15 - .../ocaml/ocamlbuild/ocamlbuildlightlib.mllib | 2 - vendor/ocaml/ocamlbuild/options.ml | 373 - vendor/ocaml/ocamlbuild/options.mli | 34 - vendor/ocaml/ocamlbuild/param_tags.ml | 62 - vendor/ocaml/ocamlbuild/param_tags.mli | 50 - vendor/ocaml/ocamlbuild/pathname.ml | 159 - vendor/ocaml/ocamlbuild/pathname.mli | 17 - vendor/ocaml/ocamlbuild/plugin.ml | 262 - vendor/ocaml/ocamlbuild/plugin.mli | 18 - vendor/ocaml/ocamlbuild/ppcache.ml | 91 - vendor/ocaml/ocamlbuild/ppcache.mli | 15 - vendor/ocaml/ocamlbuild/report.ml | 62 - vendor/ocaml/ocamlbuild/report.mli | 19 - vendor/ocaml/ocamlbuild/resource.ml | 400 - vendor/ocaml/ocamlbuild/resource.mli | 77 - vendor/ocaml/ocamlbuild/rule.ml | 338 - vendor/ocaml/ocamlbuild/rule.mli | 85 - vendor/ocaml/ocamlbuild/shell.ml | 88 - vendor/ocaml/ocamlbuild/shell.mli | 31 - vendor/ocaml/ocamlbuild/signatures.mli | 797 - vendor/ocaml/ocamlbuild/slurp.ml | 188 - vendor/ocaml/ocamlbuild/slurp.mli | 49 - vendor/ocaml/ocamlbuild/solver.ml | 132 - vendor/ocaml/ocamlbuild/solver.mli | 24 - vendor/ocaml/ocamlbuild/start.sh | 120 - vendor/ocaml/ocamlbuild/tags.ml | 44 - vendor/ocaml/ocamlbuild/tags.mli | 16 - vendor/ocaml/ocamlbuild/test/good-output | 1473 -- vendor/ocaml/ocamlbuild/test/runtest.sh | 56 - vendor/ocaml/ocamlbuild/test/test1/foo.ml | 13 - vendor/ocaml/ocamlbuild/test/test10/dbdi | 24 - vendor/ocaml/ocamlbuild/test/test10/test.sh | 18 - vendor/ocaml/ocamlbuild/test/test11/_tags | 14 - vendor/ocaml/ocamlbuild/test/test11/a/aa.ml | 13 - vendor/ocaml/ocamlbuild/test/test11/a/aa.mli | 13 - vendor/ocaml/ocamlbuild/test/test11/b/bb.ml | 13 - .../ocaml/ocamlbuild/test/test11/b/libb.mllib | 1 - .../ocamlbuild/test/test11/myocamlbuild.ml | 17 - vendor/ocaml/ocamlbuild/test/test11/test.sh | 25 - vendor/ocaml/ocamlbuild/test/test2/_tags | 15 - vendor/ocaml/ocamlbuild/test/test2/tata.ml | 13 - vendor/ocaml/ocamlbuild/test/test2/tata.mli | 14 - vendor/ocaml/ocamlbuild/test/test2/test.sh | 30 - vendor/ocaml/ocamlbuild/test/test2/titi.ml | 13 - vendor/ocaml/ocamlbuild/test/test2/toto.ml | 17 - vendor/ocaml/ocamlbuild/test/test2/tutu.ml | 14 - vendor/ocaml/ocamlbuild/test/test2/tutu.mli | 15 - vendor/ocaml/ocamlbuild/test/test2/tyty.mli | 13 - vendor/ocaml/ocamlbuild/test/test2/vivi1.ml | 14 - vendor/ocaml/ocamlbuild/test/test2/vivi2.ml | 14 - vendor/ocaml/ocamlbuild/test/test2/vivi3.ml | 14 - vendor/ocaml/ocamlbuild/test/test3/_tags | 13 - vendor/ocaml/ocamlbuild/test/test3/a.ml | 13 - vendor/ocaml/ocamlbuild/test/test3/a.mli | 13 - vendor/ocaml/ocamlbuild/test/test3/b.ml | 13 - vendor/ocaml/ocamlbuild/test/test3/b.mli | 13 - vendor/ocaml/ocamlbuild/test/test3/c.ml | 13 - vendor/ocaml/ocamlbuild/test/test3/c.mli | 13 - vendor/ocaml/ocamlbuild/test/test3/d.ml | 13 - vendor/ocaml/ocamlbuild/test/test3/d.mli | 13 - vendor/ocaml/ocamlbuild/test/test3/e.ml | 13 - vendor/ocaml/ocamlbuild/test/test3/e.mli | 13 - vendor/ocaml/ocamlbuild/test/test3/f.ml | 14 - vendor/ocaml/ocamlbuild/test/test3/f.mli | 13 - vendor/ocaml/ocamlbuild/test/test3/proj.odocl | 1 - vendor/ocaml/ocamlbuild/test/test3/test.sh | 23 - vendor/ocaml/ocamlbuild/test/test4/_tags | 14 - vendor/ocaml/ocamlbuild/test/test4/a/aa.ml | 13 - vendor/ocaml/ocamlbuild/test/test4/a/aa.mli | 13 - vendor/ocaml/ocamlbuild/test/test4/b/bb.ml | 14 - vendor/ocaml/ocamlbuild/test/test4/test.sh | 23 - vendor/ocaml/ocamlbuild/test/test5/_tags | 13 - vendor/ocaml/ocamlbuild/test/test5/a.ml | 13 - vendor/ocaml/ocamlbuild/test/test5/a.mli | 13 - vendor/ocaml/ocamlbuild/test/test5/b.ml | 13 - vendor/ocaml/ocamlbuild/test/test5/c.mlpack | 1 - vendor/ocaml/ocamlbuild/test/test5/d.ml | 13 - vendor/ocaml/ocamlbuild/test/test5/stack.ml | 13 - vendor/ocaml/ocamlbuild/test/test5/test.sh | 23 - vendor/ocaml/ocamlbuild/test/test6/a.ml | 13 - vendor/ocaml/ocamlbuild/test/test6/a.mli | 13 - vendor/ocaml/ocamlbuild/test/test6/b.ml | 13 - vendor/ocaml/ocamlbuild/test/test6/b.mli | 13 - vendor/ocaml/ocamlbuild/test/test6/b.mli.v1 | 13 - vendor/ocaml/ocamlbuild/test/test6/b.mli.v2 | 14 - vendor/ocaml/ocamlbuild/test/test6/d.ml | 14 - vendor/ocaml/ocamlbuild/test/test6/d.mli | 13 - vendor/ocaml/ocamlbuild/test/test6/d.mli.v1 | 14 - vendor/ocaml/ocamlbuild/test/test6/d.mli.v2 | 13 - vendor/ocaml/ocamlbuild/test/test6/main.ml | 13 - vendor/ocaml/ocamlbuild/test/test6/main.mli | 13 - vendor/ocaml/ocamlbuild/test/test6/test.sh | 37 - vendor/ocaml/ocamlbuild/test/test7/_tags | 13 - vendor/ocaml/ocamlbuild/test/test7/aa.ml | 13 - vendor/ocaml/ocamlbuild/test/test7/bb.mli | 13 - vendor/ocaml/ocamlbuild/test/test7/bb1.ml | 13 - vendor/ocaml/ocamlbuild/test/test7/bb2.ml | 15 - vendor/ocaml/ocamlbuild/test/test7/bb3.ml | 15 - vendor/ocaml/ocamlbuild/test/test7/bbcc.mllib | 1 - vendor/ocaml/ocamlbuild/test/test7/c2.ml | 13 - vendor/ocaml/ocamlbuild/test/test7/c2.mli | 13 - vendor/ocaml/ocamlbuild/test/test7/c3.ml | 13 - vendor/ocaml/ocamlbuild/test/test7/cc.ml | 13 - .../ocamlbuild/test/test7/cool_plugin.ml | 13 - vendor/ocaml/ocamlbuild/test/test7/main.ml | 13 - .../ocamlbuild/test/test7/myocamlbuild.ml | 19 - vendor/ocaml/ocamlbuild/test/test7/test.sh | 30 - vendor/ocaml/ocamlbuild/test/test8/a.ml | 13 - .../ocamlbuild/test/test8/myocamlbuild.ml | 28 - vendor/ocaml/ocamlbuild/test/test8/test.sh | 23 - vendor/ocaml/ocamlbuild/test/test9/dbgl | 22 - vendor/ocaml/ocamlbuild/test/test9/test.sh | 18 - .../ocaml/ocamlbuild/test/test9/testglob.ml | 146 - .../ocamlbuild/test/test_virtual/foo.itarget | 1 - .../ocaml/ocamlbuild/test/test_virtual/foo1 | 1 - .../ocaml/ocamlbuild/test/test_virtual/foo2 | 1 - .../test/test_virtual/myocamlbuild.ml | 23 - .../ocamlbuild/test/test_virtual/test.sh | 28 - vendor/ocaml/ocamlbuild/testsuite/README | 13 - vendor/ocaml/ocamlbuild/testsuite/external.ml | 22 - .../testsuite/external_test_header.ml | 7 - .../ocaml/ocamlbuild/testsuite/findlibonly.ml | 42 - .../testsuite/findlibonly_test_header.ml | 9 - vendor/ocaml/ocamlbuild/testsuite/internal.ml | 324 - .../testsuite/internal_test_header.ml | 10 - .../ocamlbuild/testsuite/ocamlbuild_test.ml | 536 - vendor/ocaml/ocamlbuild/tools.ml | 46 - vendor/ocaml/ocamlbuild/tools.mli | 19 - vendor/ocaml/ocamldoc/.depend | 266 - vendor/ocaml/ocamldoc/.ignore | 16 - vendor/ocaml/ocamldoc/Changes.txt | 209 - vendor/ocaml/ocamldoc/Makefile | 352 - vendor/ocaml/ocamldoc/Makefile.nt | 253 - .../ocamldoc/generators/odoc_literate.ml | 206 - vendor/ocaml/ocamldoc/generators/odoc_todo.ml | 232 - vendor/ocaml/ocamldoc/ocamldoc.hva | 31 - vendor/ocaml/ocamldoc/ocamldoc.sty | 58 - vendor/ocaml/ocamldoc/odoc.ml | 136 - vendor/ocaml/ocamldoc/odoc_analyse.ml | 474 - vendor/ocaml/ocamldoc/odoc_analyse.mli | 30 - vendor/ocaml/ocamldoc/odoc_args.ml | 400 - vendor/ocaml/ocamldoc/odoc_args.mli | 50 - vendor/ocaml/ocamldoc/odoc_ast.ml | 1931 -- vendor/ocaml/ocamldoc/odoc_ast.mli | 98 - vendor/ocaml/ocamldoc/odoc_class.ml | 249 - vendor/ocaml/ocamldoc/odoc_comments.ml | 347 - vendor/ocaml/ocamldoc/odoc_comments.mli | 73 - vendor/ocaml/ocamldoc/odoc_comments_global.ml | 48 - .../ocaml/ocamldoc/odoc_comments_global.mli | 49 - vendor/ocaml/ocamldoc/odoc_config.ml | 17 - vendor/ocaml/ocamldoc/odoc_config.mli | 19 - vendor/ocaml/ocamldoc/odoc_control.ml | 11 - vendor/ocaml/ocamldoc/odoc_cross.ml | 1096 - vendor/ocaml/ocamldoc/odoc_cross.mli | 19 - vendor/ocaml/ocamldoc/odoc_dag2html.ml | 1749 -- vendor/ocaml/ocamldoc/odoc_dag2html.mli | 28 - vendor/ocaml/ocamldoc/odoc_dep.ml | 229 - vendor/ocaml/ocamldoc/odoc_dot.ml | 144 - vendor/ocaml/ocamldoc/odoc_env.ml | 247 - vendor/ocaml/ocamldoc/odoc_env.mli | 75 - vendor/ocaml/ocamldoc/odoc_exception.ml | 30 - vendor/ocaml/ocamldoc/odoc_extension.ml | 46 - vendor/ocaml/ocamldoc/odoc_gen.ml | 61 - vendor/ocaml/ocamldoc/odoc_gen.mli | 43 - vendor/ocaml/ocamldoc/odoc_global.ml | 77 - vendor/ocaml/ocamldoc/odoc_global.mli | 97 - vendor/ocaml/ocamldoc/odoc_html.ml | 2804 --- vendor/ocaml/ocamldoc/odoc_info.ml | 334 - vendor/ocaml/ocamldoc/odoc_info.mli | 1081 - vendor/ocaml/ocamldoc/odoc_inherit.ml | 11 - vendor/ocaml/ocamldoc/odoc_latex.ml | 1334 -- vendor/ocaml/ocamldoc/odoc_latex_style.ml | 90 - vendor/ocaml/ocamldoc/odoc_lexer.mll | 419 - vendor/ocaml/ocamldoc/odoc_man.ml | 1309 - vendor/ocaml/ocamldoc/odoc_merge.ml | 1085 - vendor/ocaml/ocamldoc/odoc_merge.mli | 34 - vendor/ocaml/ocamldoc/odoc_messages.ml | 391 - vendor/ocaml/ocamldoc/odoc_misc.ml | 493 - vendor/ocaml/ocamldoc/odoc_misc.mli | 114 - vendor/ocaml/ocamldoc/odoc_module.ml | 554 - vendor/ocaml/ocamldoc/odoc_name.ml | 223 - vendor/ocaml/ocamldoc/odoc_name.mli | 71 - vendor/ocaml/ocamldoc/odoc_ocamlhtml.mll | 543 - vendor/ocaml/ocamldoc/odoc_parameter.ml | 122 - vendor/ocaml/ocamldoc/odoc_parser.mly | 174 - vendor/ocaml/ocamldoc/odoc_print.ml | 100 - vendor/ocaml/ocamldoc/odoc_print.mli | 31 - vendor/ocaml/ocamldoc/odoc_scan.ml | 188 - vendor/ocaml/ocamldoc/odoc_search.ml | 752 - vendor/ocaml/ocamldoc/odoc_search.mli | 239 - vendor/ocaml/ocamldoc/odoc_see_lexer.mll | 100 - vendor/ocaml/ocamldoc/odoc_sig.ml | 1543 -- vendor/ocaml/ocamldoc/odoc_sig.mli | 182 - vendor/ocaml/ocamldoc/odoc_str.ml | 370 - vendor/ocaml/ocamldoc/odoc_str.mli | 57 - vendor/ocaml/ocamldoc/odoc_test.ml | 123 - vendor/ocaml/ocamldoc/odoc_texi.ml | 1309 - vendor/ocaml/ocamldoc/odoc_text.ml | 166 - vendor/ocaml/ocamldoc/odoc_text.mli | 23 - vendor/ocaml/ocamldoc/odoc_text_lexer.mll | 853 - vendor/ocaml/ocamldoc/odoc_text_parser.mly | 212 - vendor/ocaml/ocamldoc/odoc_to_text.ml | 612 - vendor/ocaml/ocamldoc/odoc_type.ml | 66 - vendor/ocaml/ocamldoc/odoc_types.ml | 140 - vendor/ocaml/ocamldoc/odoc_types.mli | 139 - vendor/ocaml/ocamldoc/odoc_value.ml | 143 - vendor/ocaml/ocamldoc/remove_DEBUG | 20 - vendor/ocaml/ocamldoc/runocamldoc | 23 - vendor/ocaml/otherlibs/Makefile | 23 - vendor/ocaml/otherlibs/Makefile.nt | 21 - vendor/ocaml/otherlibs/Makefile.shared | 94 - vendor/ocaml/otherlibs/bigarray/.depend | 26 - vendor/ocaml/otherlibs/bigarray/Makefile | 27 - vendor/ocaml/otherlibs/bigarray/Makefile.nt | 27 - vendor/ocaml/otherlibs/bigarray/bigarray.h | 123 - vendor/ocaml/otherlibs/bigarray/bigarray.ml | 283 - vendor/ocaml/otherlibs/bigarray/bigarray.mli | 838 - .../ocaml/otherlibs/bigarray/bigarray_stubs.c | 1267 - .../ocaml/otherlibs/bigarray/libbigarray.clib | 1 - .../otherlibs/bigarray/libbigarraywin32.clib | 1 - vendor/ocaml/otherlibs/bigarray/mmap_unix.c | 202 - vendor/ocaml/otherlibs/bigarray/mmap_win32.c | 153 - vendor/ocaml/otherlibs/dynlink/.ignore | 1 - vendor/ocaml/otherlibs/dynlink/Makefile | 109 - vendor/ocaml/otherlibs/dynlink/Makefile.nt | 16 - vendor/ocaml/otherlibs/dynlink/dynlink.ml | 325 - vendor/ocaml/otherlibs/dynlink/dynlink.mli | 146 - .../ocaml/otherlibs/dynlink/dynlinkaux.mlpack | 5 - vendor/ocaml/otherlibs/dynlink/extract_crc.ml | 51 - vendor/ocaml/otherlibs/dynlink/natdynlink.ml | 248 - vendor/ocaml/otherlibs/graph/.depend | 73 - vendor/ocaml/otherlibs/graph/Makefile | 32 - vendor/ocaml/otherlibs/graph/color.c | 231 - vendor/ocaml/otherlibs/graph/draw.c | 125 - vendor/ocaml/otherlibs/graph/dump_img.c | 56 - vendor/ocaml/otherlibs/graph/events.c | 275 - vendor/ocaml/otherlibs/graph/fill.c | 88 - vendor/ocaml/otherlibs/graph/graphics.ml | 265 - vendor/ocaml/otherlibs/graph/graphics.mli | 383 - vendor/ocaml/otherlibs/graph/graphics.mllib | 1 - vendor/ocaml/otherlibs/graph/graphicsX11.ml | 40 - vendor/ocaml/otherlibs/graph/graphicsX11.mli | 28 - vendor/ocaml/otherlibs/graph/image.c | 106 - vendor/ocaml/otherlibs/graph/image.h | 27 - vendor/ocaml/otherlibs/graph/libgraph.h | 83 - vendor/ocaml/otherlibs/graph/libgraphics.clib | 3 - vendor/ocaml/otherlibs/graph/make_img.c | 97 - vendor/ocaml/otherlibs/graph/open.c | 398 - vendor/ocaml/otherlibs/graph/point_col.c | 29 - vendor/ocaml/otherlibs/graph/sound.c | 32 - vendor/ocaml/otherlibs/graph/subwindow.c | 43 - vendor/ocaml/otherlibs/graph/text.c | 84 - vendor/ocaml/otherlibs/num/.depend | 41 - vendor/ocaml/otherlibs/num/.depend.nt | 66 - vendor/ocaml/otherlibs/num/Makefile | 37 - vendor/ocaml/otherlibs/num/Makefile.nt | 36 - vendor/ocaml/otherlibs/num/README | 55 - vendor/ocaml/otherlibs/num/arith_flags.ml | 22 - vendor/ocaml/otherlibs/num/arith_flags.mli | 18 - vendor/ocaml/otherlibs/num/arith_status.ml | 98 - vendor/ocaml/otherlibs/num/arith_status.mli | 57 - vendor/ocaml/otherlibs/num/big_int.ml | 838 - vendor/ocaml/otherlibs/num/big_int.mli | 191 - vendor/ocaml/otherlibs/num/bng.c | 433 - vendor/ocaml/otherlibs/num/bng.h | 156 - vendor/ocaml/otherlibs/num/bng_amd64.c | 195 - vendor/ocaml/otherlibs/num/bng_arm64.c | 20 - vendor/ocaml/otherlibs/num/bng_digit.c | 178 - vendor/ocaml/otherlibs/num/bng_ia32.c | 411 - vendor/ocaml/otherlibs/num/bng_ppc.c | 94 - vendor/ocaml/otherlibs/num/bng_sparc.c | 77 - vendor/ocaml/otherlibs/num/int_misc.ml | 34 - vendor/ocaml/otherlibs/num/int_misc.mli | 23 - vendor/ocaml/otherlibs/num/libnums.clib | 1 - vendor/ocaml/otherlibs/num/nat.h | 18 - vendor/ocaml/otherlibs/num/nat.ml | 575 - vendor/ocaml/otherlibs/num/nat.mli | 71 - vendor/ocaml/otherlibs/num/nat_stubs.c | 418 - vendor/ocaml/otherlibs/num/num.ml | 445 - vendor/ocaml/otherlibs/num/num.mli | 170 - vendor/ocaml/otherlibs/num/nums.mllib | 1 - vendor/ocaml/otherlibs/num/ratio.ml | 574 - vendor/ocaml/otherlibs/num/ratio.mli | 91 - vendor/ocaml/otherlibs/str/.depend | 11 - vendor/ocaml/otherlibs/str/Makefile | 33 - vendor/ocaml/otherlibs/str/Makefile.nt | 26 - vendor/ocaml/otherlibs/str/libstr.clib | 1 - vendor/ocaml/otherlibs/str/str.ml | 747 - vendor/ocaml/otherlibs/str/str.mli | 289 - vendor/ocaml/otherlibs/str/strstubs.c | 530 - vendor/ocaml/otherlibs/systhreads/.depend | 29 - vendor/ocaml/otherlibs/systhreads/.ignore | 1 - vendor/ocaml/otherlibs/systhreads/Makefile | 114 - vendor/ocaml/otherlibs/systhreads/Makefile.nt | 104 - .../ocaml/otherlibs/systhreads/condition.ml | 18 - .../ocaml/otherlibs/systhreads/condition.mli | 51 - vendor/ocaml/otherlibs/systhreads/event.ml | 272 - vendor/ocaml/otherlibs/systhreads/event.mli | 79 - .../otherlibs/systhreads/libthreads.clib | 1 - vendor/ocaml/otherlibs/systhreads/mutex.ml | 18 - vendor/ocaml/otherlibs/systhreads/mutex.mli | 47 - vendor/ocaml/otherlibs/systhreads/st_posix.h | 430 - vendor/ocaml/otherlibs/systhreads/st_stubs.c | 884 - vendor/ocaml/otherlibs/systhreads/st_win32.h | 419 - vendor/ocaml/otherlibs/systhreads/thread.ml | 88 - vendor/ocaml/otherlibs/systhreads/thread.mli | 131 - .../ocaml/otherlibs/systhreads/threadUnix.ml | 63 - .../ocaml/otherlibs/systhreads/threadUnix.mli | 92 - vendor/ocaml/otherlibs/systhreads/threads.h | 66 - .../ocaml/otherlibs/systhreads/threads.mllib | 1 - vendor/ocaml/otherlibs/threads/.depend | 35 - vendor/ocaml/otherlibs/threads/.ignore | 3 - vendor/ocaml/otherlibs/threads/Makefile | 131 - vendor/ocaml/otherlibs/threads/condition.ml | 33 - vendor/ocaml/otherlibs/threads/condition.mli | 51 - vendor/ocaml/otherlibs/threads/event.ml | 272 - vendor/ocaml/otherlibs/threads/event.mli | 79 - .../ocaml/otherlibs/threads/libvmthreads.clib | 1 - vendor/ocaml/otherlibs/threads/marshal.ml | 59 - vendor/ocaml/otherlibs/threads/mutex.ml | 36 - vendor/ocaml/otherlibs/threads/mutex.mli | 47 - vendor/ocaml/otherlibs/threads/pervasives.ml | 585 - vendor/ocaml/otherlibs/threads/scheduler.c | 874 - vendor/ocaml/otherlibs/threads/thread.ml | 145 - vendor/ocaml/otherlibs/threads/thread.mli | 138 - vendor/ocaml/otherlibs/threads/threadUnix.ml | 66 - vendor/ocaml/otherlibs/threads/threadUnix.mli | 99 - vendor/ocaml/otherlibs/threads/threads.mllib | 1 - vendor/ocaml/otherlibs/threads/unix.ml | 1131 - vendor/ocaml/otherlibs/threads/unix.mllib | 1 - vendor/ocaml/otherlibs/unix/.depend | 644 - vendor/ocaml/otherlibs/unix/Makefile | 47 - vendor/ocaml/otherlibs/unix/accept.c | 52 - vendor/ocaml/otherlibs/unix/access.c | 58 - vendor/ocaml/otherlibs/unix/addrofstr.c | 86 - vendor/ocaml/otherlibs/unix/alarm.c | 20 - vendor/ocaml/otherlibs/unix/bind.c | 39 - vendor/ocaml/otherlibs/unix/chdir.c | 31 - vendor/ocaml/otherlibs/unix/chmod.c | 33 - vendor/ocaml/otherlibs/unix/chown.c | 31 - vendor/ocaml/otherlibs/unix/chroot.c | 31 - vendor/ocaml/otherlibs/unix/close.c | 26 - vendor/ocaml/otherlibs/unix/closedir.c | 36 - vendor/ocaml/otherlibs/unix/connect.c | 42 - vendor/ocaml/otherlibs/unix/cst2constr.c | 24 - vendor/ocaml/otherlibs/unix/cst2constr.h | 14 - vendor/ocaml/otherlibs/unix/cstringv.c | 28 - vendor/ocaml/otherlibs/unix/dup.c | 23 - vendor/ocaml/otherlibs/unix/dup2.c | 47 - vendor/ocaml/otherlibs/unix/envir.c | 28 - vendor/ocaml/otherlibs/unix/errmsg.c | 26 - vendor/ocaml/otherlibs/unix/execv.c | 29 - vendor/ocaml/otherlibs/unix/execve.c | 32 - vendor/ocaml/otherlibs/unix/execvp.c | 48 - vendor/ocaml/otherlibs/unix/exit.c | 22 - vendor/ocaml/otherlibs/unix/fchmod.c | 38 - vendor/ocaml/otherlibs/unix/fchown.c | 36 - vendor/ocaml/otherlibs/unix/fcntl.c | 76 - vendor/ocaml/otherlibs/unix/fork.c | 28 - vendor/ocaml/otherlibs/unix/ftruncate.c | 55 - vendor/ocaml/otherlibs/unix/getaddrinfo.c | 130 - vendor/ocaml/otherlibs/unix/getcwd.c | 56 - vendor/ocaml/otherlibs/unix/getegid.c | 20 - vendor/ocaml/otherlibs/unix/geteuid.c | 20 - vendor/ocaml/otherlibs/unix/getgid.c | 20 - vendor/ocaml/otherlibs/unix/getgr.c | 54 - vendor/ocaml/otherlibs/unix/getgroups.c | 47 - vendor/ocaml/otherlibs/unix/gethost.c | 180 - vendor/ocaml/otherlibs/unix/gethostname.c | 54 - vendor/ocaml/otherlibs/unix/getlogin.c | 27 - vendor/ocaml/otherlibs/unix/getnameinfo.c | 65 - vendor/ocaml/otherlibs/unix/getpeername.c | 39 - vendor/ocaml/otherlibs/unix/getpid.c | 20 - vendor/ocaml/otherlibs/unix/getppid.c | 20 - vendor/ocaml/otherlibs/unix/getproto.c | 66 - vendor/ocaml/otherlibs/unix/getpw.c | 63 - vendor/ocaml/otherlibs/unix/getserv.c | 72 - vendor/ocaml/otherlibs/unix/getsockname.c | 39 - vendor/ocaml/otherlibs/unix/gettimeofday.c | 36 - vendor/ocaml/otherlibs/unix/getuid.c | 20 - vendor/ocaml/otherlibs/unix/gmtime.c | 93 - vendor/ocaml/otherlibs/unix/initgroups.c | 41 - vendor/ocaml/otherlibs/unix/isatty.c | 20 - vendor/ocaml/otherlibs/unix/itimer.c | 73 - vendor/ocaml/otherlibs/unix/kill.c | 27 - vendor/ocaml/otherlibs/unix/libunix.clib | 16 - vendor/ocaml/otherlibs/unix/link.c | 34 - vendor/ocaml/otherlibs/unix/listen.c | 33 - vendor/ocaml/otherlibs/unix/lockf.c | 114 - vendor/ocaml/otherlibs/unix/lseek.c | 62 - vendor/ocaml/otherlibs/unix/mkdir.c | 33 - vendor/ocaml/otherlibs/unix/mkfifo.c | 69 - vendor/ocaml/otherlibs/unix/nanosecond_stat.h | 25 - vendor/ocaml/otherlibs/unix/nice.c | 32 - vendor/ocaml/otherlibs/unix/open.c | 82 - vendor/ocaml/otherlibs/unix/opendir.c | 42 - vendor/ocaml/otherlibs/unix/pipe.c | 27 - vendor/ocaml/otherlibs/unix/putenv.c | 47 - vendor/ocaml/otherlibs/unix/read.c | 36 - vendor/ocaml/otherlibs/unix/readdir.c | 40 - vendor/ocaml/otherlibs/unix/readlink.c | 54 - vendor/ocaml/otherlibs/unix/rename.c | 36 - vendor/ocaml/otherlibs/unix/rewinddir.c | 40 - vendor/ocaml/otherlibs/unix/rmdir.c | 31 - vendor/ocaml/otherlibs/unix/select.c | 112 - vendor/ocaml/otherlibs/unix/sendrecv.c | 146 - vendor/ocaml/otherlibs/unix/setgid.c | 21 - vendor/ocaml/otherlibs/unix/setgroups.c | 51 - vendor/ocaml/otherlibs/unix/setsid.c | 29 - vendor/ocaml/otherlibs/unix/setuid.c | 21 - vendor/ocaml/otherlibs/unix/shutdown.c | 38 - vendor/ocaml/otherlibs/unix/signals.c | 104 - vendor/ocaml/otherlibs/unix/sleep.c | 24 - vendor/ocaml/otherlibs/unix/socket.c | 54 - vendor/ocaml/otherlibs/unix/socketaddr.c | 142 - vendor/ocaml/otherlibs/unix/socketaddr.h | 60 - vendor/ocaml/otherlibs/unix/socketpair.c | 44 - vendor/ocaml/otherlibs/unix/sockopt.c | 299 - vendor/ocaml/otherlibs/unix/stat.c | 168 - vendor/ocaml/otherlibs/unix/strofaddr.c | 72 - vendor/ocaml/otherlibs/unix/symlink.c | 45 - vendor/ocaml/otherlibs/unix/termios.c | 385 - vendor/ocaml/otherlibs/unix/time.c | 22 - vendor/ocaml/otherlibs/unix/times.c | 65 - vendor/ocaml/otherlibs/unix/truncate.c | 66 - vendor/ocaml/otherlibs/unix/umask.c | 22 - vendor/ocaml/otherlibs/unix/unix.ml | 1087 - vendor/ocaml/otherlibs/unix/unix.mli | 1362 -- vendor/ocaml/otherlibs/unix/unix.mllib | 1 - vendor/ocaml/otherlibs/unix/unixLabels.ml | 16 - vendor/ocaml/otherlibs/unix/unixLabels.mli | 1369 -- vendor/ocaml/otherlibs/unix/unixsupport.c | 309 - vendor/ocaml/otherlibs/unix/unixsupport.h | 40 - vendor/ocaml/otherlibs/unix/unlink.c | 31 - vendor/ocaml/otherlibs/unix/utimes.c | 88 - vendor/ocaml/otherlibs/unix/wait.c | 100 - vendor/ocaml/otherlibs/unix/write.c | 84 - vendor/ocaml/otherlibs/win32graph/.ignore | 2 - vendor/ocaml/otherlibs/win32graph/Makefile.nt | 33 - vendor/ocaml/otherlibs/win32graph/dib.c | 494 - vendor/ocaml/otherlibs/win32graph/draw.c | 648 - vendor/ocaml/otherlibs/win32graph/events.c | 198 - vendor/ocaml/otherlibs/win32graph/libgraph.h | 76 - .../otherlibs/win32graph/libgraphics.clib | 1 - vendor/ocaml/otherlibs/win32graph/open.c | 365 - vendor/ocaml/otherlibs/win32unix/.depend | 5 - vendor/ocaml/otherlibs/win32unix/.ignore | 29 - vendor/ocaml/otherlibs/win32unix/Makefile | 60 - vendor/ocaml/otherlibs/win32unix/Makefile.nt | 60 - vendor/ocaml/otherlibs/win32unix/accept.c | 64 - vendor/ocaml/otherlibs/win32unix/bind.c | 32 - vendor/ocaml/otherlibs/win32unix/channels.c | 90 - vendor/ocaml/otherlibs/win32unix/close.c | 42 - vendor/ocaml/otherlibs/win32unix/close_on.c | 41 - vendor/ocaml/otherlibs/win32unix/connect.c | 37 - .../ocaml/otherlibs/win32unix/createprocess.c | 89 - vendor/ocaml/otherlibs/win32unix/dup.c | 31 - vendor/ocaml/otherlibs/win32unix/dup2.c | 40 - vendor/ocaml/otherlibs/win32unix/errmsg.c | 41 - .../ocaml/otherlibs/win32unix/getpeername.c | 33 - vendor/ocaml/otherlibs/win32unix/getpid.c | 22 - .../ocaml/otherlibs/win32unix/getsockname.c | 30 - .../ocaml/otherlibs/win32unix/gettimeofday.c | 30 - vendor/ocaml/otherlibs/win32unix/libunix.clib | 17 - vendor/ocaml/otherlibs/win32unix/link.c | 40 - vendor/ocaml/otherlibs/win32unix/listen.c | 25 - vendor/ocaml/otherlibs/win32unix/lockf.c | 159 - vendor/ocaml/otherlibs/win32unix/lseek.c | 68 - vendor/ocaml/otherlibs/win32unix/mkdir.c | 22 - vendor/ocaml/otherlibs/win32unix/nonblock.c | 42 - vendor/ocaml/otherlibs/win32unix/open.c | 76 - vendor/ocaml/otherlibs/win32unix/pipe.c | 44 - vendor/ocaml/otherlibs/win32unix/read.c | 52 - vendor/ocaml/otherlibs/win32unix/rename.c | 41 - vendor/ocaml/otherlibs/win32unix/select.c | 1274 - vendor/ocaml/otherlibs/win32unix/sendrecv.c | 141 - vendor/ocaml/otherlibs/win32unix/shutdown.c | 30 - vendor/ocaml/otherlibs/win32unix/sleep.c | 25 - vendor/ocaml/otherlibs/win32unix/socket.c | 67 - vendor/ocaml/otherlibs/win32unix/socketaddr.h | 56 - vendor/ocaml/otherlibs/win32unix/sockopt.c | 227 - vendor/ocaml/otherlibs/win32unix/startup.c | 49 - vendor/ocaml/otherlibs/win32unix/stat.c | 109 - vendor/ocaml/otherlibs/win32unix/system.c | 42 - vendor/ocaml/otherlibs/win32unix/times.c | 48 - vendor/ocaml/otherlibs/win32unix/unix.ml | 994 - .../ocaml/otherlibs/win32unix/unixsupport.c | 275 - .../ocaml/otherlibs/win32unix/unixsupport.h | 77 - vendor/ocaml/otherlibs/win32unix/windbug.c | 30 - vendor/ocaml/otherlibs/win32unix/windbug.h | 40 - vendor/ocaml/otherlibs/win32unix/windir.c | 77 - vendor/ocaml/otherlibs/win32unix/winlist.c | 78 - vendor/ocaml/otherlibs/win32unix/winlist.h | 53 - vendor/ocaml/otherlibs/win32unix/winwait.c | 68 - vendor/ocaml/otherlibs/win32unix/winworker.c | 320 - vendor/ocaml/otherlibs/win32unix/winworker.h | 70 - vendor/ocaml/otherlibs/win32unix/write.c | 99 - vendor/ocaml/parsing/.ignore | 9 - vendor/ocaml/parsing/ast_helper.ml | 483 - vendor/ocaml/parsing/ast_helper.mli | 389 - vendor/ocaml/parsing/ast_mapper.ml | 906 - vendor/ocaml/parsing/ast_mapper.mli | 193 - vendor/ocaml/parsing/asttypes.mli | 49 - vendor/ocaml/parsing/depend.ml | 374 - vendor/ocaml/parsing/depend.mli | 25 - vendor/ocaml/parsing/docstrings.ml | 344 - vendor/ocaml/parsing/docstrings.mli | 148 - vendor/ocaml/parsing/lexer.ml | 3034 --- vendor/ocaml/parsing/lexer.mli | 101 - vendor/ocaml/parsing/lexer.mll | 1372 -- vendor/ocaml/parsing/location.ml | 448 - vendor/ocaml/parsing/location.mli | 141 - vendor/ocaml/parsing/longident.ml | 41 - vendor/ocaml/parsing/longident.mli | 22 - vendor/ocaml/parsing/parse.ml | 64 - vendor/ocaml/parsing/parse.mli | 21 - vendor/ocaml/parsing/parser.ml | 12137 ---------- vendor/ocaml/parsing/parser.mli | 137 - vendor/ocaml/parsing/parser.mly | 2412 -- vendor/ocaml/parsing/parsetree.mli | 829 - vendor/ocaml/parsing/pprintast.ml | 1438 -- vendor/ocaml/parsing/pprintast.mli | 140 - vendor/ocaml/parsing/printast.ml | 887 - vendor/ocaml/parsing/printast.mli | 22 - vendor/ocaml/parsing/syntaxerr.ml | 80 - vendor/ocaml/parsing/syntaxerr.mli | 33 - vendor/ocaml/stdlib/.depend | 301 - vendor/ocaml/stdlib/.ignore | 8 - vendor/ocaml/stdlib/Compflags | 28 - vendor/ocaml/stdlib/Makefile | 73 - vendor/ocaml/stdlib/Makefile.nt | 38 - vendor/ocaml/stdlib/Makefile.shared | 110 - vendor/ocaml/stdlib/StdlibModules | 67 - vendor/ocaml/stdlib/arg.ml | 278 - vendor/ocaml/stdlib/arg.mli | 158 - vendor/ocaml/stdlib/array.ml | 239 - vendor/ocaml/stdlib/array.mli | 211 - vendor/ocaml/stdlib/arrayLabels.ml | 16 - vendor/ocaml/stdlib/arrayLabels.mli | 211 - vendor/ocaml/stdlib/buffer.ml | 178 - vendor/ocaml/stdlib/buffer.mli | 129 - vendor/ocaml/stdlib/bytes.ml | 261 - vendor/ocaml/stdlib/bytes.mli | 398 - vendor/ocaml/stdlib/bytesLabels.ml | 16 - vendor/ocaml/stdlib/bytesLabels.mli | 215 - vendor/ocaml/stdlib/callback.ml | 25 - vendor/ocaml/stdlib/callback.mli | 32 - vendor/ocaml/stdlib/camlinternalFormat.ml | 2777 --- vendor/ocaml/stdlib/camlinternalFormat.mli | 104 - .../ocaml/stdlib/camlinternalFormatBasics.ml | 664 - .../ocaml/stdlib/camlinternalFormatBasics.mli | 309 - vendor/ocaml/stdlib/camlinternalLazy.ml | 64 - vendor/ocaml/stdlib/camlinternalLazy.mli | 25 - vendor/ocaml/stdlib/camlinternalMod.ml | 70 - vendor/ocaml/stdlib/camlinternalMod.mli | 26 - vendor/ocaml/stdlib/camlinternalOO.ml | 586 - vendor/ocaml/stdlib/camlinternalOO.mli | 151 - vendor/ocaml/stdlib/char.ml | 67 - vendor/ocaml/stdlib/char.mli | 48 - vendor/ocaml/stdlib/complex.ml | 85 - vendor/ocaml/stdlib/complex.mli | 84 - vendor/ocaml/stdlib/digest.ml | 72 - vendor/ocaml/stdlib/digest.mli | 76 - vendor/ocaml/stdlib/filename.ml | 242 - vendor/ocaml/stdlib/filename.mli | 137 - vendor/ocaml/stdlib/format.ml | 1221 - vendor/ocaml/stdlib/format.mli | 756 - vendor/ocaml/stdlib/gc.ml | 100 - vendor/ocaml/stdlib/gc.mli | 279 - vendor/ocaml/stdlib/genlex.ml | 199 - vendor/ocaml/stdlib/genlex.mli | 71 - vendor/ocaml/stdlib/hashtbl.ml | 389 - vendor/ocaml/stdlib/hashtbl.mli | 364 - vendor/ocaml/stdlib/header.c | 189 - vendor/ocaml/stdlib/headernt.c | 174 - vendor/ocaml/stdlib/int32.ml | 52 - vendor/ocaml/stdlib/int32.mli | 162 - vendor/ocaml/stdlib/int64.ml | 57 - vendor/ocaml/stdlib/int64.mli | 184 - vendor/ocaml/stdlib/lazy.ml | 79 - vendor/ocaml/stdlib/lazy.mli | 88 - vendor/ocaml/stdlib/lexing.ml | 230 - vendor/ocaml/stdlib/lexing.mli | 174 - vendor/ocaml/stdlib/list.ml | 429 - vendor/ocaml/stdlib/list.mli | 293 - vendor/ocaml/stdlib/listLabels.ml | 16 - vendor/ocaml/stdlib/listLabels.mli | 291 - vendor/ocaml/stdlib/map.ml | 337 - vendor/ocaml/stdlib/map.mli | 212 - vendor/ocaml/stdlib/marshal.ml | 66 - vendor/ocaml/stdlib/marshal.mli | 178 - vendor/ocaml/stdlib/moreLabels.ml | 20 - vendor/ocaml/stdlib/moreLabels.mli | 167 - vendor/ocaml/stdlib/nativeint.ml | 53 - vendor/ocaml/stdlib/nativeint.mli | 184 - vendor/ocaml/stdlib/obj.ml | 91 - vendor/ocaml/stdlib/obj.mli | 70 - vendor/ocaml/stdlib/oo.ml | 17 - vendor/ocaml/stdlib/oo.mli | 36 - vendor/ocaml/stdlib/parsing.ml | 209 - vendor/ocaml/stdlib/parsing.mli | 103 - vendor/ocaml/stdlib/pervasives.ml | 491 - vendor/ocaml/stdlib/pervasives.mli | 1092 - vendor/ocaml/stdlib/printexc.ml | 295 - vendor/ocaml/stdlib/printexc.mli | 293 - vendor/ocaml/stdlib/printf.ml | 39 - vendor/ocaml/stdlib/printf.mli | 168 - vendor/ocaml/stdlib/queue.ml | 165 - vendor/ocaml/stdlib/queue.mli | 80 - vendor/ocaml/stdlib/random.ml | 275 - vendor/ocaml/stdlib/random.mli | 105 - vendor/ocaml/stdlib/scanf.ml | 1369 -- vendor/ocaml/stdlib/scanf.mli | 537 - vendor/ocaml/stdlib/set.ml | 388 - vendor/ocaml/stdlib/set.mli | 184 - vendor/ocaml/stdlib/sharpbang | 1 - vendor/ocaml/stdlib/sort.ml | 97 - vendor/ocaml/stdlib/sort.mli | 42 - vendor/ocaml/stdlib/stack.ml | 40 - vendor/ocaml/stdlib/stack.mli | 55 - vendor/ocaml/stdlib/stdLabels.ml | 22 - vendor/ocaml/stdlib/stdLabels.mli | 27 - vendor/ocaml/stdlib/std_exit.ml | 16 - vendor/ocaml/stdlib/stdlib.mllib | 48 - vendor/ocaml/stdlib/stream.ml | 218 - vendor/ocaml/stdlib/stream.mli | 108 - vendor/ocaml/stdlib/string.ml | 126 - vendor/ocaml/stdlib/string.mli | 254 - vendor/ocaml/stdlib/stringLabels.ml | 16 - vendor/ocaml/stdlib/stringLabels.mli | 215 - vendor/ocaml/stdlib/sys.mli | 225 - vendor/ocaml/stdlib/sys.mlp | 94 - vendor/ocaml/stdlib/weak.ml | 305 - vendor/ocaml/stdlib/weak.mli | 157 - vendor/ocaml/super_packed.ml | 2166 -- vendor/ocaml/testsuite/.ignore | 1 - vendor/ocaml/testsuite/Makefile | 104 - vendor/ocaml/testsuite/external/.ignore | 152 - vendor/ocaml/testsuite/external/Makefile | 1747 -- vendor/ocaml/testsuite/external/Patcher.sh | 31 - vendor/ocaml/testsuite/external/TODO.txt | 26 - .../testsuite/external/boomerang-0.2.patch | 11 - .../testsuite/external/camlimages-4.0.1.patch | 11 - .../testsuite/external/camlp5-6.06.patch | 2243 -- .../testsuite/external/camlp5-6.08.patch | 1127 - .../testsuite/external/camlp5-6.10.patch | 10 - .../ocaml/testsuite/external/camlp5-git.patch | 12 - .../testsuite/external/camlpdf-0.5.patch | 25 - .../testsuite/external/camlzip-1.04.patch | 45 - .../ocaml/testsuite/external/coq-8.3pl4.patch | 59 - .../ocaml/testsuite/external/coq-8.4pl1.patch | 11 - .../ocaml/testsuite/external/coq-8.4pl2.patch | 11 - .../testsuite/external/core-109.37.00.patch | 20 - .../external/core-suite-108.00.01.patch | 213 - .../testsuite/external/extlib-1.5.2.patch | 10 - .../external/frama-c-Nitrogen-20111001.patch | 126 - .../external/frama-c-Oxygen-20120901.patch | 185 - .../ocaml/testsuite/external/hevea-1.10.patch | 22 - .../ocaml/testsuite/external/kaputt-1.2.patch | 37 - .../testsuite/external/lablgtk-2.14.2.patch | 11 - .../testsuite/external/lablgtk-2.16.0.patch | 22 - .../external/lablgtkextras-1.1.patch | 22 - .../external/lablgtkextras-1.3.patch | 11 - .../ocaml/testsuite/external/lwt-2.4.0.patch | 24 - .../testsuite/external/menhir-20120123.patch | 11 - .../testsuite/external/mldonkey-3.1.2.patch | 31 - .../testsuite/external/oasis-common.patch | 55 - .../testsuite/external/obrowser-1.1.1.patch | 1385 -- .../external/ocaml-bitstring-2.0.3.patch | 11 - .../external/ocaml-mysql-1.0.4.patch.disabled | 15 - .../testsuite/external/ocamlnet-3.5.1.patch | 52 - .../external/ocsigen-bundle-2.2.2.patch | 47 - .../testsuite/external/omake-0.9.8.6.patch | 11 - .../ocaml/testsuite/external/sks-1.1.3.patch | 20 - .../testsuite/external/vsyml-2010-04-06.patch | 20 - .../testsuite/external/xml-light-2.2.patch | 19 - .../testsuite/interactive/lib-gc/Makefile | 24 - .../testsuite/interactive/lib-gc/alloc.ml | 48 - .../interactive/lib-graph-2/Makefile | 20 - .../interactive/lib-graph-2/graph_test.ml | 287 - .../lib-graph-2/graph_test.reference | 0 .../interactive/lib-graph-3/Makefile | 20 - .../interactive/lib-graph-3/sorts.ml | 240 - .../interactive/lib-graph-3/sorts.reference | 0 .../testsuite/interactive/lib-graph/Makefile | 20 - .../interactive/lib-graph/graph_example.ml | 143 - .../lib-graph/graph_example.reference | 0 .../interactive/lib-signals/Makefile | 24 - .../interactive/lib-signals/signals.ml | 44 - vendor/ocaml/testsuite/lib/Makefile | 28 - vendor/ocaml/testsuite/lib/empty | 0 vendor/ocaml/testsuite/lib/testing.ml | 93 - vendor/ocaml/testsuite/lib/testing.mli | 32 - .../ocaml/testsuite/makefiles/Makefile.common | 133 - .../ocaml/testsuite/makefiles/Makefile.okbad | 42 - vendor/ocaml/testsuite/makefiles/Makefile.one | 78 - .../testsuite/makefiles/Makefile.several | 106 - .../testsuite/makefiles/Makefile.toplevel | 31 - .../ocaml/testsuite/makefiles/summarize.awk | 117 - vendor/ocaml/testsuite/tests/asmcomp/.ignore | 7 - vendor/ocaml/testsuite/tests/asmcomp/Makefile | 97 - vendor/ocaml/testsuite/tests/asmcomp/alpha.S | 60 - vendor/ocaml/testsuite/tests/asmcomp/amd64.S | 75 - .../ocaml/testsuite/tests/asmcomp/arith.cmm | 217 - vendor/ocaml/testsuite/tests/asmcomp/arm.S | 37 - vendor/ocaml/testsuite/tests/asmcomp/arm64.S | 52 - .../testsuite/tests/asmcomp/checkbound.cmm | 17 - vendor/ocaml/testsuite/tests/asmcomp/fib.cmm | 17 - vendor/ocaml/testsuite/tests/asmcomp/hppa.S | 161 - vendor/ocaml/testsuite/tests/asmcomp/i386.S | 55 - .../ocaml/testsuite/tests/asmcomp/i386nt.asm | 65 - vendor/ocaml/testsuite/tests/asmcomp/ia64.S | 116 - .../ocaml/testsuite/tests/asmcomp/integr.cmm | 28 - .../ocaml/testsuite/tests/asmcomp/lexcmm.mli | 22 - .../ocaml/testsuite/tests/asmcomp/lexcmm.mll | 228 - vendor/ocaml/testsuite/tests/asmcomp/m68k.S | 57 - vendor/ocaml/testsuite/tests/asmcomp/main.c | 125 - vendor/ocaml/testsuite/tests/asmcomp/main.ml | 59 - .../ocaml/testsuite/tests/asmcomp/mainarith.c | 311 - vendor/ocaml/testsuite/tests/asmcomp/mips.s | 69 - .../ocaml/testsuite/tests/asmcomp/optargs.ml | 33 - .../testsuite/tests/asmcomp/parsecmm.mly | 325 - .../testsuite/tests/asmcomp/parsecmmaux.ml | 38 - .../testsuite/tests/asmcomp/parsecmmaux.mli | 24 - .../ocaml/testsuite/tests/asmcomp/power-aix.S | 150 - .../ocaml/testsuite/tests/asmcomp/power-elf.S | 129 - .../testsuite/tests/asmcomp/power-rhapsody.S | 127 - .../testsuite/tests/asmcomp/quicksort.cmm | 41 - .../testsuite/tests/asmcomp/quicksort2.cmm | 47 - vendor/ocaml/testsuite/tests/asmcomp/soli.cmm | 107 - vendor/ocaml/testsuite/tests/asmcomp/sparc.S | 39 - .../testsuite/tests/asmcomp/staticalloc.ml | 31 - .../testsuite/tests/asmcomp/tagged-fib.cmm | 16 - .../testsuite/tests/asmcomp/tagged-integr.cmm | 42 - .../tests/asmcomp/tagged-quicksort.cmm | 44 - .../testsuite/tests/asmcomp/tagged-tak.cmm | 21 - vendor/ocaml/testsuite/tests/asmcomp/tak.cmm | 21 - .../ocaml/testsuite/tests/backtrace/Makefile | 92 - .../tests/backtrace/backtrace..reference | 2 - .../tests/backtrace/backtrace.a.reference | 1 - .../tests/backtrace/backtrace.b.reference | 11 - .../tests/backtrace/backtrace.c.reference | 3 - .../tests/backtrace/backtrace.d.reference | 9 - .../testsuite/tests/backtrace/backtrace.ml | 29 - .../testsuite/tests/backtrace/backtrace2.ml | 40 - .../tests/backtrace/backtrace2.reference | 27 - .../tests/backtrace/backtrace_deprecated.ml | 50 - .../backtrace/backtrace_deprecated.reference | 27 - .../tests/backtrace/backtrace_slots.ml | 72 - .../tests/backtrace/backtrace_slots.reference | 27 - .../backtrace/backtraces_and_finalizers.ml | 25 - .../backtraces_and_finalizers.reference | 1 - .../tests/backtrace/raw_backtrace.ml | 52 - .../tests/backtrace/raw_backtrace.reference | 27 - .../testsuite/tests/basic-float/Makefile | 18 - .../tests/basic-float/float_record.ml | 19 - .../tests/basic-float/float_record.mli | 18 - .../tests/basic-float/tfloat_record.ml | 16 - .../tests/basic-float/tfloat_record.reference | 1 - .../ocaml/testsuite/tests/basic-io-2/Makefile | 19 - vendor/ocaml/testsuite/tests/basic-io-2/io.ml | 115 - .../testsuite/tests/basic-io-2/io.reference | 24 - .../tests/basic-io-2/test-file-short-lines | 10 - .../ocaml/testsuite/tests/basic-io/Makefile | 19 - vendor/ocaml/testsuite/tests/basic-io/wc.ml | 66 - .../testsuite/tests/basic-io/wc.reference | 1 - .../testsuite/tests/basic-manyargs/Makefile | 19 - .../tests/basic-manyargs/manyargs.ml | 57 - .../tests/basic-manyargs/manyargs.reference | 65 - .../tests/basic-manyargs/manyargsprim.c | 37 - .../testsuite/tests/basic-modules/Makefile | 19 - .../testsuite/tests/basic-modules/main.ml | 13 - .../tests/basic-modules/main.reference | 1 - .../testsuite/tests/basic-modules/offset.ml | 10 - .../ocaml/testsuite/tests/basic-more/Makefile | 18 - .../testsuite/tests/basic-more/bounds.ml | 38 - .../tests/basic-more/bounds.reference | 9 - .../testsuite/tests/basic-more/morematch.ml | 1201 - .../tests/basic-more/morematch.reference | 2 - .../testsuite/tests/basic-more/pr2719.ml | 17 - .../tests/basic-more/pr2719.reference | 4 - .../testsuite/tests/basic-more/pr6216.ml | 12 - .../tests/basic-more/pr6216.reference | 2 - .../testsuite/tests/basic-more/tbuffer.ml | 38 - .../tests/basic-more/tbuffer.reference | 2 - .../testsuite/tests/basic-more/testrandom.ml | 24 - .../tests/basic-more/testrandom.reference | 4 - .../testsuite/tests/basic-more/tformat.ml | 33 - .../tests/basic-more/tformat.reference | 2 - .../testsuite/tests/basic-more/tprintf.ml | 87 - .../tests/basic-more/tprintf.reference | 2 - .../testsuite/tests/basic-multdef/Makefile | 18 - .../testsuite/tests/basic-multdef/multdef.ml | 14 - .../testsuite/tests/basic-multdef/multdef.mli | 15 - .../tests/basic-multdef/usemultdef.ml | 13 - .../tests/basic-multdef/usemultdef.reference | 1 - .../testsuite/tests/basic-private/Makefile | 19 - .../testsuite/tests/basic-private/length.ml | 28 - .../testsuite/tests/basic-private/length.mli | 25 - .../testsuite/tests/basic-private/tlength.ml | 35 - .../tests/basic-private/tlength.reference | 0 vendor/ocaml/testsuite/tests/basic/Makefile | 15 - vendor/ocaml/testsuite/tests/basic/arrays.ml | 146 - .../testsuite/tests/basic/arrays.reference | 0 vendor/ocaml/testsuite/tests/basic/bigints.ml | 37 - .../testsuite/tests/basic/bigints.reference | 10 - .../ocaml/testsuite/tests/basic/boxedints.ml | 593 - .../testsuite/tests/basic/boxedints.reference | 118 - .../ocaml/testsuite/tests/basic/constprop.ml | 72 - .../ocaml/testsuite/tests/basic/constprop.mlp | 130 - .../testsuite/tests/basic/constprop.reference | 10 - vendor/ocaml/testsuite/tests/basic/divint.ml | 119 - .../testsuite/tests/basic/divint.reference | 37 - .../ocaml/testsuite/tests/basic/equality.ml | 116 - .../testsuite/tests/basic/equality.reference | 49 - vendor/ocaml/testsuite/tests/basic/float.ml | 13 - .../testsuite/tests/basic/float.reference | 1 - .../testsuite/tests/basic/includestruct.ml | 103 - .../tests/basic/includestruct.reference | 15 - vendor/ocaml/testsuite/tests/basic/maps.ml | 36 - .../testsuite/tests/basic/maps.reference | 6 - .../ocaml/testsuite/tests/basic/patmatch.ml | 169 - .../testsuite/tests/basic/patmatch.reference | 72 - .../ocaml/testsuite/tests/basic/recvalues.ml | 50 - .../testsuite/tests/basic/recvalues.reference | 5 - vendor/ocaml/testsuite/tests/basic/sets.ml | 37 - .../testsuite/tests/basic/sets.reference | 25 - .../testsuite/tests/basic/stringmatch.ml | 738 - .../tests/basic/stringmatch.reference | 0 .../ocaml/testsuite/tests/basic/tailcalls.ml | 53 - .../testsuite/tests/basic/tailcalls.reference | 6 - .../ocaml/testsuite/tests/callback/Makefile | 59 - .../testsuite/tests/callback/callbackprim.c | 66 - .../ocaml/testsuite/tests/callback/reference | 8 - .../testsuite/tests/callback/tcallback.ml | 81 - vendor/ocaml/testsuite/tests/embedded/.ignore | 1 - .../ocaml/testsuite/tests/embedded/Makefile | 41 - .../ocaml/testsuite/tests/embedded/cmcaml.ml | 28 - .../ocaml/testsuite/tests/embedded/cmmain.c | 35 - .../ocaml/testsuite/tests/embedded/cmstub.c | 30 - .../tests/embedded/program.reference | 4 - .../testsuite/tests/exotic-syntax/Makefile | 17 - .../testsuite/tests/exotic-syntax/exotic.ml | 157 - .../tests/exotic-syntax/exotic.reference | 0 .../testsuite/tests/float-unboxing/Makefile | 7 - .../float_subst_boxed_number.ml | 26 - .../float_subst_boxed_number.reference | 0 .../tests/formats-transition/Makefile | 3 - .../deprecated_unsigned_printers.ml | 22 - .../deprecated_unsigned_printers.ml.reference | 7 - .../ignored_scan_counters.ml | 30 - .../ignored_scan_counters.ml.reference | 14 - .../formats-transition/invalid_formats.ml | 67 - .../invalid_formats.ml.reference | 24 - .../legacy_incompatible_flags.ml | 20 - .../legacy_unfinished_modifiers.ml | 18 - .../legacy_unfinished_modifiers.ml.reference | 6 - .../ocaml/testsuite/tests/gc-roots/Makefile | 20 - .../testsuite/tests/gc-roots/globroots.ml | 92 - .../tests/gc-roots/globroots.reference | 4 - .../testsuite/tests/gc-roots/globrootsprim.c | 71 - vendor/ocaml/testsuite/tests/letrec/Makefile | 16 - .../testsuite/tests/letrec/backreferences.ml | 30 - .../tests/letrec/backreferences.reference | 0 .../ocaml/testsuite/tests/letrec/class_1.ml | 17 - .../testsuite/tests/letrec/class_1.reference | 0 .../ocaml/testsuite/tests/letrec/class_2.ml | 20 - .../testsuite/tests/letrec/class_2.reference | 2 - .../tests/letrec/evaluation_order_1.ml | 32 - .../tests/letrec/evaluation_order_1.reference | 3 - .../tests/letrec/evaluation_order_2.ml | 30 - .../tests/letrec/evaluation_order_2.reference | 3 - .../tests/letrec/evaluation_order_3.ml | 23 - .../tests/letrec/evaluation_order_3.reference | 6 - .../testsuite/tests/letrec/float_block_1.ml | 22 - .../tests/letrec/float_block_1.reference | 2 - .../testsuite/tests/letrec/float_block_2.ml | 19 - .../tests/letrec/float_block_2.reference | 0 vendor/ocaml/testsuite/tests/letrec/lists.ml | 20 - .../testsuite/tests/letrec/lists.reference | 0 .../tests/letrec/mixing_value_closures_1.ml | 20 - .../letrec/mixing_value_closures_1.reference | 0 .../tests/letrec/mixing_value_closures_2.ml | 20 - .../letrec/mixing_value_closures_2.reference | 0 .../tests/letrec/mutual_functions.ml | 23 - .../tests/letrec/mutual_functions.reference | 0 .../testsuite/tests/letrec/record_with.ml | 37 - .../tests/letrec/record_with.reference | 1 - .../testsuite/tests/lib-bigarray-2/Makefile | 19 - .../testsuite/tests/lib-bigarray-2/bigarrf.f | 26 - .../tests/lib-bigarray-2/bigarrfml.ml | 78 - .../tests/lib-bigarray-2/bigarrfml.reference | 27 - .../tests/lib-bigarray-2/bigarrfstub.c | 71 - .../testsuite/tests/lib-bigarray/Makefile | 20 - .../testsuite/tests/lib-bigarray/bigarrays.ml | 799 - .../tests/lib-bigarray/bigarrays.reference | 61 - .../testsuite/tests/lib-bigarray/fftba.ml | 194 - .../tests/lib-bigarray/fftba.reference | 13 - .../testsuite/tests/lib-bigarray/pr5115.ml | 24 - .../tests/lib-bigarray/pr5115.reference | 2 - .../ocaml/testsuite/tests/lib-digest/Makefile | 19 - .../ocaml/testsuite/tests/lib-digest/md5.ml | 243 - .../testsuite/tests/lib-digest/md5.reference | 1 - .../tests/lib-dynlink-bytecode/.ignore | 6 - .../tests/lib-dynlink-bytecode/Makefile | 70 - .../lib-dynlink-bytecode/custom.reference | 5 - .../tests/lib-dynlink-bytecode/main.ml | 49 - .../tests/lib-dynlink-bytecode/main.reference | 13 - .../tests/lib-dynlink-bytecode/plug1.ml | 19 - .../tests/lib-dynlink-bytecode/plug2.ml | 19 - .../tests/lib-dynlink-bytecode/registry.ml | 19 - .../lib-dynlink-bytecode/static.reference | 5 - .../tests/lib-dynlink-bytecode/stub1.c | 23 - .../tests/lib-dynlink-bytecode/stub2.c | 25 - .../tests/lib-dynlink-csharp/Makefile | 101 - .../lib-dynlink-csharp/bytecode.reference | 7 - .../tests/lib-dynlink-csharp/entry.c | 41 - .../tests/lib-dynlink-csharp/main.cs | 11 - .../tests/lib-dynlink-csharp/main.ml | 34 - .../tests/lib-dynlink-csharp/native.reference | 7 - .../tests/lib-dynlink-csharp/plugin.ml | 16 - .../tests/lib-dynlink-native/.ignore | 7 - .../tests/lib-dynlink-native/Makefile | 121 - .../testsuite/tests/lib-dynlink-native/a.ml | 17 - .../testsuite/tests/lib-dynlink-native/api.ml | 32 - .../testsuite/tests/lib-dynlink-native/b.ml | 16 - .../testsuite/tests/lib-dynlink-native/bug.ml | 14 - .../testsuite/tests/lib-dynlink-native/c.ml | 16 - .../tests/lib-dynlink-native/factorial.c | 30 - .../tests/lib-dynlink-native/main.ml | 44 - .../tests/lib-dynlink-native/pack_client.ml | 14 - .../tests/lib-dynlink-native/packed1.ml | 17 - .../lib-dynlink-native/packed1_client.ml | 15 - .../tests/lib-dynlink-native/plugin.ml | 23 - .../tests/lib-dynlink-native/plugin.mli | 13 - .../tests/lib-dynlink-native/plugin2.ml | 20 - .../tests/lib-dynlink-native/plugin4.ml | 15 - .../tests/lib-dynlink-native/plugin_ext.ml | 17 - .../lib-dynlink-native/plugin_high_arity.ml | 18 - .../tests/lib-dynlink-native/plugin_ref.ml | 22 - .../tests/lib-dynlink-native/plugin_simple.ml | 15 - .../tests/lib-dynlink-native/plugin_thread.ml | 27 - .../tests/lib-dynlink-native/reference | 30 - .../tests/lib-dynlink-native/sub/api.ml | 15 - .../tests/lib-dynlink-native/sub/api.mli | 13 - .../tests/lib-dynlink-native/sub/plugin.ml | 18 - .../tests/lib-dynlink-native/sub/plugin3.ml | 14 - .../ocaml/testsuite/tests/lib-format/Makefile | 17 - .../testsuite/tests/lib-format/pr6824.ml | 7 - .../tests/lib-format/pr6824.reference | 6 - .../testsuite/tests/lib-format/tformat.ml | 511 - .../tests/lib-format/tformat.reference | 91 - .../testsuite/tests/lib-hashtbl/Makefile | 15 - .../ocaml/testsuite/tests/lib-hashtbl/hfun.ml | 54 - .../tests/lib-hashtbl/hfun.reference | 27 - .../ocaml/testsuite/tests/lib-hashtbl/htbl.ml | 204 - .../tests/lib-hashtbl/htbl.reference | 24 - .../testsuite/tests/lib-marshal/Makefile | 19 - .../testsuite/tests/lib-marshal/intext.ml | 587 - .../tests/lib-marshal/intext.reference | 173 - .../testsuite/tests/lib-marshal/intextaux.c | 25 - .../ocaml/testsuite/tests/lib-num-2/Makefile | 20 - .../testsuite/tests/lib-num-2/pi_big_int.ml | 90 - .../tests/lib-num-2/pi_big_int.reference | 100 - .../ocaml/testsuite/tests/lib-num-2/pi_num.ml | 84 - .../tests/lib-num-2/pi_num.reference | 100 - vendor/ocaml/testsuite/tests/lib-num/Makefile | 21 - .../ocaml/testsuite/tests/lib-num/end_test.ml | 13 - .../tests/lib-num/end_test.reference | 166 - vendor/ocaml/testsuite/tests/lib-num/test.ml | 113 - .../testsuite/tests/lib-num/test_big_ints.ml | 979 - .../ocaml/testsuite/tests/lib-num/test_io.ml | 76 - .../testsuite/tests/lib-num/test_nats.ml | 161 - .../testsuite/tests/lib-num/test_nums.ml | 246 - .../testsuite/tests/lib-num/test_ratios.ml | 1188 - .../ocaml/testsuite/tests/lib-printf/Makefile | 17 - .../testsuite/tests/lib-printf/pr6534.ml | 19 - .../tests/lib-printf/pr6534.reference | 14 - .../testsuite/tests/lib-printf/tprintf.ml | 591 - .../tests/lib-printf/tprintf.reference | 91 - .../ocaml/testsuite/tests/lib-random/Makefile | 15 - .../ocaml/testsuite/tests/lib-random/rand.ml | 6 - .../testsuite/tests/lib-random/rand.reference | 1 - .../testsuite/tests/lib-scanf-2/Makefile | 60 - .../testsuite/tests/lib-scanf-2/reference | 2 - .../testsuite/tests/lib-scanf-2/tscanf2_io.ml | 31 - .../tests/lib-scanf-2/tscanf2_master.ml | 63 - .../tests/lib-scanf-2/tscanf2_slave.ml | 40 - .../ocaml/testsuite/tests/lib-scanf/.ignore | 1 - .../ocaml/testsuite/tests/lib-scanf/Makefile | 21 - .../ocaml/testsuite/tests/lib-scanf/tscanf.ml | 1491 -- .../tests/lib-scanf/tscanf.reference | 2 - vendor/ocaml/testsuite/tests/lib-set/Makefile | 15 - .../ocaml/testsuite/tests/lib-set/testmap.ml | 134 - .../testsuite/tests/lib-set/testmap.reference | 0 .../ocaml/testsuite/tests/lib-set/testset.ml | 132 - .../testsuite/tests/lib-set/testset.reference | 0 vendor/ocaml/testsuite/tests/lib-str/Makefile | 19 - vendor/ocaml/testsuite/tests/lib-str/t01.ml | 1017 - .../testsuite/tests/lib-str/t01.reference | 104 - .../ocaml/testsuite/tests/lib-stream/Makefile | 16 - .../tests/lib-stream/count_concat_bug.ml | 69 - .../lib-stream/count_concat_bug.reference | 2 - .../testsuite/tests/lib-systhreads/Makefile | 20 - .../tests/lib-systhreads/testfork.ml | 43 - .../tests/lib-systhreads/testfork.precheck | 16 - .../tests/lib-systhreads/testfork.reference | 6 - .../ocaml/testsuite/tests/lib-threads/.ignore | 1 - .../testsuite/tests/lib-threads/Makefile | 20 - .../testsuite/tests/lib-threads/close.ml | 30 - .../tests/lib-threads/close.reference | 3 - .../testsuite/tests/lib-threads/sieve.ml | 45 - .../tests/lib-threads/sieve.reference | 95 - .../tests/lib-threads/test-file-short-lines | 10 - .../testsuite/tests/lib-threads/test1.checker | 13 - .../testsuite/tests/lib-threads/test1.ml | 75 - .../tests/lib-threads/test1.reference | 20002 ---------------- .../testsuite/tests/lib-threads/test2.checker | 13 - .../testsuite/tests/lib-threads/test2.ml | 27 - .../testsuite/tests/lib-threads/test3.checker | 13 - .../testsuite/tests/lib-threads/test3.ml | 20 - .../tests/lib-threads/test3.precheck | 13 - .../testsuite/tests/lib-threads/test3.runner | 16 - .../testsuite/tests/lib-threads/test4.checker | 13 - .../testsuite/tests/lib-threads/test4.data | 3 - .../testsuite/tests/lib-threads/test4.ml | 33 - .../tests/lib-threads/test4.reference | 4 - .../testsuite/tests/lib-threads/test4.runner | 13 - .../testsuite/tests/lib-threads/test5.checker | 13 - .../testsuite/tests/lib-threads/test5.ml | 31 - .../tests/lib-threads/test5.precheck | 13 - .../tests/lib-threads/test5.reference | 4 - .../testsuite/tests/lib-threads/test5.runner | 16 - .../testsuite/tests/lib-threads/test6.checker | 13 - .../testsuite/tests/lib-threads/test6.ml | 27 - .../tests/lib-threads/test6.precheck | 13 - .../tests/lib-threads/test6.reference | 2 - .../testsuite/tests/lib-threads/test6.runner | 16 - .../testsuite/tests/lib-threads/test7.checker | 14 - .../testsuite/tests/lib-threads/test7.ml | 38 - .../tests/lib-threads/test7.precheck | 13 - .../testsuite/tests/lib-threads/test7.runner | 16 - .../testsuite/tests/lib-threads/test8.ml | 63 - .../tests/lib-threads/test8.precheck | 13 - .../tests/lib-threads/test8.reference | 3 - .../testsuite/tests/lib-threads/test9.checker | 13 - .../testsuite/tests/lib-threads/test9.ml | 38 - .../tests/lib-threads/test9.precheck | 13 - .../tests/lib-threads/test9.reference | 2 - .../testsuite/tests/lib-threads/testA.checker | 13 - .../testsuite/tests/lib-threads/testA.ml | 38 - .../tests/lib-threads/testA.reference | 5 - .../tests/lib-threads/testexit.checker | 13 - .../testsuite/tests/lib-threads/testexit.ml | 33 - .../tests/lib-threads/testexit.reference | 27 - .../testsuite/tests/lib-threads/testio.ml | 132 - .../tests/lib-threads/testio.reference | 24 - .../testsuite/tests/lib-threads/testsieve.ml | 54 - .../tests/lib-threads/testsieve.reference | 100 - .../tests/lib-threads/testsignal.checker | 13 - .../testsuite/tests/lib-threads/testsignal.ml | 25 - .../tests/lib-threads/testsignal.precheck | 13 - .../tests/lib-threads/testsignal.runner | 16 - .../tests/lib-threads/testsignal2.checker | 13 - .../tests/lib-threads/testsignal2.ml | 23 - .../tests/lib-threads/testsignal2.precheck | 13 - .../tests/lib-threads/testsignal2.runner | 18 - .../testsuite/tests/lib-threads/testsocket.ml | 48 - .../tests/lib-threads/testsocket.precheck | 23 - .../tests/lib-threads/testsocket.reference | 3 - .../testsuite/tests/lib-threads/token1.ml | 48 - .../tests/lib-threads/token1.reference | 0 .../testsuite/tests/lib-threads/token2.ml | 51 - .../tests/lib-threads/token2.reference | 0 .../testsuite/tests/lib-threads/torture.data | 3 - .../testsuite/tests/lib-threads/torture.ml | 66 - .../tests/lib-threads/torture.reference | 4 - .../tests/lib-threads/torture.runner | 13 - .../tests/match-exception-warnings/Makefile | 15 - .../exhaustiveness_warnings.ml | 12 - .../exhaustiveness_warnings.ml.reference | 11 - .../testsuite/tests/match-exception/Makefile | 15 - .../tests/match-exception/allocation.ml | 24 - .../match-exception/allocation.reference | 1 - .../match-exception/exception_propagation.ml | 17 - .../exception_propagation.reference | 1 - .../tests/match-exception/match_failure.ml | 19 - .../match-exception/match_failure.reference | 1 - .../tests/match-exception/nested_handlers.ml | 45 - .../match-exception/nested_handlers.reference | 1 - .../raise_from_success_continuation.ml | 15 - .../raise_from_success_continuation.reference | 2 - .../tests/match-exception/streams.ml | 37 - .../tests/match-exception/streams.reference | 1 - .../tests/match-exception/tail_calls.ml | 21 - .../match-exception/tail_calls.reference | 1 - vendor/ocaml/testsuite/tests/misc-kb/Makefile | 19 - .../testsuite/tests/misc-kb/equations.ml | 112 - .../testsuite/tests/misc-kb/equations.mli | 30 - vendor/ocaml/testsuite/tests/misc-kb/kb.ml | 185 - vendor/ocaml/testsuite/tests/misc-kb/kb.mli | 29 - .../ocaml/testsuite/tests/misc-kb/kbmain.ml | 79 - .../testsuite/tests/misc-kb/kbmain.reference | 5460 ----- .../testsuite/tests/misc-kb/orderings.ml | 96 - .../testsuite/tests/misc-kb/orderings.mli | 29 - vendor/ocaml/testsuite/tests/misc-kb/terms.ml | 133 - .../ocaml/testsuite/tests/misc-kb/terms.mli | 29 - .../testsuite/tests/misc-unsafe/Makefile | 16 - .../testsuite/tests/misc-unsafe/almabench.ml | 324 - .../tests/misc-unsafe/almabench.reference | 8 - .../ocaml/testsuite/tests/misc-unsafe/fft.ml | 186 - .../testsuite/tests/misc-unsafe/fft.reference | 16 - .../testsuite/tests/misc-unsafe/quicksort.ml | 90 - .../tests/misc-unsafe/quicksort.reference | 2 - .../ocaml/testsuite/tests/misc-unsafe/soli.ml | 108 - .../tests/misc-unsafe/soli.reference | 50 - vendor/ocaml/testsuite/tests/misc/Makefile | 15 - vendor/ocaml/testsuite/tests/misc/bdd.ml | 229 - .../ocaml/testsuite/tests/misc/bdd.reference | 1 - vendor/ocaml/testsuite/tests/misc/boyer.ml | 909 - .../testsuite/tests/misc/boyer.reference | 1 - vendor/ocaml/testsuite/tests/misc/fib.ml | 21 - .../ocaml/testsuite/tests/misc/fib.reference | 1 - vendor/ocaml/testsuite/tests/misc/hamming.ml | 103 - .../testsuite/tests/misc/hamming.reference | 100 - vendor/ocaml/testsuite/tests/misc/nucleic.ml | 3236 --- .../testsuite/tests/misc/nucleic.reference | 1 - vendor/ocaml/testsuite/tests/misc/sieve.ml | 54 - .../testsuite/tests/misc/sieve.reference | 1 - vendor/ocaml/testsuite/tests/misc/sorts.ml | 4489 ---- .../testsuite/tests/misc/sorts.reference | 198 - vendor/ocaml/testsuite/tests/misc/takc.ml | 20 - .../ocaml/testsuite/tests/misc/takc.reference | 1 - vendor/ocaml/testsuite/tests/misc/taku.ml | 20 - .../ocaml/testsuite/tests/misc/taku.reference | 1 - .../testsuite/tests/misc/weaklifetime.ml | 74 - .../tests/misc/weaklifetime.reference | 0 vendor/ocaml/testsuite/tests/misc/weaktest.ml | 83 - .../testsuite/tests/misc/weaktest.reference | 1 - .../testsuite/tests/prim-bigstring/Makefile | 8 - .../tests/prim-bigstring/bigstring_access.ml | 119 - .../prim-bigstring/bigstring_access.reference | 6 - .../tests/prim-bigstring/string_access.ml | 106 - .../prim-bigstring/string_access.reference | 6 - .../ocaml/testsuite/tests/prim-bswap/Makefile | 17 - .../ocaml/testsuite/tests/prim-bswap/bswap.ml | 30 - .../tests/prim-bswap/bswap.reference | 6 - .../testsuite/tests/prim-revapply/Makefile | 16 - .../testsuite/tests/prim-revapply/apply.ml | 48 - .../tests/prim-revapply/apply.reference | 10 - .../testsuite/tests/prim-revapply/revapply.ml | 30 - .../tests/prim-revapply/revapply.reference | 5 - .../tests/regression/pr5080-notes/Makefile | 17 - .../pr5080-notes/pr5080_notes_ok.ml | 16 - .../tests/regression/pr5233/Makefile | 16 - .../tests/regression/pr5233/pr5233.ml | 62 - .../tests/regression/pr5233/pr5233.reference | 2 - .../tests/regression/pr5757/Makefile | 16 - .../tests/regression/pr5757/pr5757.ml | 17 - .../tests/regression/pr5757/pr5757.reference | 1 - .../tests/regression/pr6024/Makefile | 17 - .../tests/regression/pr6024/pr6024.ml | 13 - .../tests/regression/pr6024/pr6024.reference | 1 - .../testsuite/tests/runtime-errors/.ignore | 1 - .../testsuite/tests/runtime-errors/Makefile | 57 - .../stackoverflow.bytecode.checker | 13 - .../stackoverflow.bytecode.reference | 4 - .../tests/runtime-errors/stackoverflow.ml | 27 - .../stackoverflow.native.checker | 13 - .../stackoverflow.native.reference | 4 - .../runtime-errors/syserror.bytecode.checker | 13 - .../syserror.bytecode.reference | 1 - .../tests/runtime-errors/syserror.ml | 13 - .../runtime-errors/syserror.native.checker | 13 - .../runtime-errors/syserror.native.reference | 1 - .../tests/tool-debugger/basic/.ignore | 1 - .../tests/tool-debugger/basic/Makefile | 58 - .../tests/tool-debugger/basic/debuggee.ml | 2 - .../tool-debugger/basic/debuggee.reference | 5 - .../tests/tool-debugger/basic/input_script | 5 - .../tool-debugger/find-artifacts/.ignore | 2 - .../tool-debugger/find-artifacts/Makefile | 67 - .../find-artifacts/debuggee.reference | 6 - .../tool-debugger/find-artifacts/in/blah.ml | 3 - .../tool-debugger/find-artifacts/in/foo.ml | 13 - .../tool-debugger/find-artifacts/input_script | 5 - .../tool-debugger/no_debug_event/.ignore | 4 - .../tool-debugger/no_debug_event/Makefile | 57 - .../tests/tool-debugger/no_debug_event/a.ml | 1 - .../tests/tool-debugger/no_debug_event/b.ml | 3 - .../tool-debugger/no_debug_event/input_script | 2 - .../no_debug_event/noev.reference | 4 - .../testsuite/tests/tool-lexyacc/.ignore | 3 - .../testsuite/tests/tool-lexyacc/Makefile | 22 - .../testsuite/tests/tool-lexyacc/gram_aux.ml | 44 - .../testsuite/tests/tool-lexyacc/grammar.mly | 111 - .../ocaml/testsuite/tests/tool-lexyacc/input | 131 - .../testsuite/tests/tool-lexyacc/lexgen.ml | 268 - .../testsuite/tests/tool-lexyacc/main.ml | 117 - .../tests/tool-lexyacc/main.reference | 312 - .../testsuite/tests/tool-lexyacc/output.ml | 164 - .../testsuite/tests/tool-lexyacc/scan_aux.ml | 57 - .../testsuite/tests/tool-lexyacc/scanner.mll | 130 - .../testsuite/tests/tool-lexyacc/syntax.ml | 38 - .../ocaml/testsuite/tests/tool-ocaml/Makefile | 33 - .../ocaml/testsuite/tests/tool-ocaml/lib.ml | 42 - .../ocaml/testsuite/tests/tool-ocaml/t000.ml | 7 - .../testsuite/tests/tool-ocaml/t010-const0.ml | 8 - .../testsuite/tests/tool-ocaml/t010-const1.ml | 8 - .../testsuite/tests/tool-ocaml/t010-const2.ml | 8 - .../testsuite/tests/tool-ocaml/t010-const3.ml | 8 - .../tests/tool-ocaml/t011-constint.ml | 8 - .../ocaml/testsuite/tests/tool-ocaml/t020.ml | 10 - .../tests/tool-ocaml/t021-pushconst1.ml | 10 - .../tests/tool-ocaml/t021-pushconst2.ml | 10 - .../tests/tool-ocaml/t021-pushconst3.ml | 10 - .../tests/tool-ocaml/t022-pushconstint.ml | 10 - .../tests/tool-ocaml/t040-makeblock1.ml | 13 - .../tests/tool-ocaml/t040-makeblock2.ml | 15 - .../tests/tool-ocaml/t040-makeblock3.ml | 17 - .../tests/tool-ocaml/t041-makeblock.ml | 19 - .../tests/tool-ocaml/t050-getglobal.ml | 8 - .../tests/tool-ocaml/t050-pushgetglobal.ml | 10 - .../tests/tool-ocaml/t051-getglobalfield.ml | 13 - .../tool-ocaml/t051-pushgetglobalfield.ml | 15 - .../testsuite/tests/tool-ocaml/t060-raise.ml | 15 - .../testsuite/tests/tool-ocaml/t070-branch.ml | 20 - .../tests/tool-ocaml/t070-branchif.ml | 20 - .../tests/tool-ocaml/t070-branchifnot.ml | 18 - .../tests/tool-ocaml/t071-boolnot.ml | 19 - .../testsuite/tests/tool-ocaml/t080-eq.ml | 21 - .../testsuite/tests/tool-ocaml/t080-geint.ml | 21 - .../testsuite/tests/tool-ocaml/t080-gtint.ml | 20 - .../testsuite/tests/tool-ocaml/t080-leint.ml | 21 - .../testsuite/tests/tool-ocaml/t080-ltint.ml | 20 - .../testsuite/tests/tool-ocaml/t080-neq.ml | 20 - .../testsuite/tests/tool-ocaml/t090-acc0.ml | 25 - .../testsuite/tests/tool-ocaml/t090-acc1.ml | 27 - .../testsuite/tests/tool-ocaml/t090-acc2.ml | 29 - .../testsuite/tests/tool-ocaml/t090-acc3.ml | 31 - .../testsuite/tests/tool-ocaml/t090-acc4.ml | 33 - .../testsuite/tests/tool-ocaml/t090-acc5.ml | 35 - .../testsuite/tests/tool-ocaml/t090-acc6.ml | 37 - .../testsuite/tests/tool-ocaml/t090-acc7.ml | 39 - .../testsuite/tests/tool-ocaml/t091-acc.ml | 41 - .../tests/tool-ocaml/t092-pushacc.ml | 38 - .../tests/tool-ocaml/t092-pushacc0.ml | 22 - .../tests/tool-ocaml/t092-pushacc1.ml | 24 - .../tests/tool-ocaml/t092-pushacc2.ml | 26 - .../tests/tool-ocaml/t092-pushacc3.ml | 28 - .../tests/tool-ocaml/t092-pushacc4.ml | 30 - .../tests/tool-ocaml/t092-pushacc5.ml | 32 - .../tests/tool-ocaml/t092-pushacc6.ml | 34 - .../tests/tool-ocaml/t092-pushacc7.ml | 36 - .../tests/tool-ocaml/t093-pushacc.ml | 38 - .../tests/tool-ocaml/t100-pushtrap.ml | 21 - .../tests/tool-ocaml/t101-poptrap.ml | 21 - .../testsuite/tests/tool-ocaml/t110-addint.ml | 26 - .../testsuite/tests/tool-ocaml/t110-andint.ml | 22 - .../tests/tool-ocaml/t110-asrint-1.ml | 22 - .../tests/tool-ocaml/t110-asrint-2.ml | 22 - .../tests/tool-ocaml/t110-divint-1.ml | 22 - .../tests/tool-ocaml/t110-divint-2.ml | 22 - .../tests/tool-ocaml/t110-divint-3.ml | 33 - .../testsuite/tests/tool-ocaml/t110-lslint.ml | 22 - .../testsuite/tests/tool-ocaml/t110-lsrint.ml | 22 - .../tests/tool-ocaml/t110-modint-1.ml | 22 - .../tests/tool-ocaml/t110-modint-2.ml | 34 - .../testsuite/tests/tool-ocaml/t110-mulint.ml | 22 - .../testsuite/tests/tool-ocaml/t110-negint.ml | 25 - .../tests/tool-ocaml/t110-offsetint.ml | 21 - .../testsuite/tests/tool-ocaml/t110-orint.ml | 22 - .../testsuite/tests/tool-ocaml/t110-subint.ml | 26 - .../testsuite/tests/tool-ocaml/t110-xorint.ml | 22 - .../tests/tool-ocaml/t120-getstringchar.ml | 22 - .../tests/tool-ocaml/t121-setstringchar.ml | 31 - .../tests/tool-ocaml/t130-getvectitem.ml | 24 - .../tests/tool-ocaml/t130-vectlength.ml | 23 - .../tests/tool-ocaml/t131-setvectitem.ml | 33 - .../tests/tool-ocaml/t140-switch-1.ml | 32 - .../tests/tool-ocaml/t140-switch-2.ml | 32 - .../tests/tool-ocaml/t140-switch-3.ml | 31 - .../tests/tool-ocaml/t140-switch-4.ml | 31 - .../tests/tool-ocaml/t141-switch-5.ml | 38 - .../tests/tool-ocaml/t141-switch-6.ml | 38 - .../tests/tool-ocaml/t141-switch-7.ml | 37 - .../tests/tool-ocaml/t142-switch-8.ml | 34 - .../tests/tool-ocaml/t142-switch-9.ml | 34 - .../tests/tool-ocaml/t142-switch-A.ml | 34 - .../testsuite/tests/tool-ocaml/t150-push-1.ml | 24 - .../testsuite/tests/tool-ocaml/t150-push-2.ml | 39 - .../tests/tool-ocaml/t160-closure.ml | 19 - .../testsuite/tests/tool-ocaml/t161-apply1.ml | 42 - .../testsuite/tests/tool-ocaml/t162-return.ml | 21 - .../ocaml/testsuite/tests/tool-ocaml/t163.ml | 23 - .../testsuite/tests/tool-ocaml/t164-apply2.ml | 24 - .../testsuite/tests/tool-ocaml/t164-apply3.ml | 25 - .../testsuite/tests/tool-ocaml/t165-apply.ml | 28 - .../tests/tool-ocaml/t170-envacc2.ml | 37 - .../tests/tool-ocaml/t170-envacc3.ml | 42 - .../tests/tool-ocaml/t170-envacc4.ml | 47 - .../testsuite/tests/tool-ocaml/t171-envacc.ml | 52 - .../tests/tool-ocaml/t172-pushenvacc1.ml | 34 - .../tests/tool-ocaml/t172-pushenvacc2.ml | 37 - .../tests/tool-ocaml/t172-pushenvacc3.ml | 42 - .../tests/tool-ocaml/t172-pushenvacc4.ml | 47 - .../tests/tool-ocaml/t173-pushenvacc.ml | 52 - .../tests/tool-ocaml/t180-appterm1.ml | 35 - .../tests/tool-ocaml/t180-appterm2.ml | 38 - .../tests/tool-ocaml/t180-appterm3.ml | 39 - .../tests/tool-ocaml/t181-appterm.ml | 40 - .../tests/tool-ocaml/t190-makefloatblock-1.ml | 17 - .../tests/tool-ocaml/t190-makefloatblock-2.ml | 18 - .../tests/tool-ocaml/t190-makefloatblock-3.ml | 19 - .../tests/tool-ocaml/t191-vectlength.ml | 26 - .../tests/tool-ocaml/t192-getfloatfield-1.ml | 23 - .../tests/tool-ocaml/t192-getfloatfield-2.ml | 23 - .../tests/tool-ocaml/t193-setfloatfield-1.ml | 36 - .../tests/tool-ocaml/t193-setfloatfield-2.ml | 36 - .../tests/tool-ocaml/t200-getfield0.ml | 25 - .../tests/tool-ocaml/t200-getfield1.ml | 26 - .../tests/tool-ocaml/t200-getfield2.ml | 27 - .../tests/tool-ocaml/t200-getfield3.ml | 28 - .../tests/tool-ocaml/t201-getfield.ml | 29 - .../tests/tool-ocaml/t210-setfield0.ml | 36 - .../tests/tool-ocaml/t210-setfield1.ml | 38 - .../tests/tool-ocaml/t210-setfield2.ml | 40 - .../tests/tool-ocaml/t210-setfield3.ml | 42 - .../tests/tool-ocaml/t211-setfield.ml | 44 - .../testsuite/tests/tool-ocaml/t220-assign.ml | 27 - .../tests/tool-ocaml/t230-check_signals.ml | 28 - .../tests/tool-ocaml/t240-c_call1.ml | 21 - .../tests/tool-ocaml/t240-c_call2.ml | 22 - .../tests/tool-ocaml/t240-c_call3.ml | 23 - .../tests/tool-ocaml/t240-c_call4.ml | 32 - .../tests/tool-ocaml/t240-c_call5.ml | 33 - .../tests/tool-ocaml/t250-closurerec-1.ml | 19 - .../tests/tool-ocaml/t250-closurerec-2.ml | 29 - .../tool-ocaml/t251-pushoffsetclosure0.ml | 39 - .../tool-ocaml/t251-pushoffsetclosure2.ml | 34 - .../tool-ocaml/t251-pushoffsetclosurem2.ml | 34 - .../tool-ocaml/t252-pushoffsetclosure.ml | 38 - .../tests/tool-ocaml/t253-offsetclosure0.ml | 34 - .../tests/tool-ocaml/t253-offsetclosure2.ml | 34 - .../tests/tool-ocaml/t253-offsetclosurem2.ml | 34 - .../tests/tool-ocaml/t254-offsetclosure.ml | 37 - .../tests/tool-ocaml/t260-offsetref.ml | 31 - .../tests/tool-ocaml/t270-push_retaddr.ml | 36 - .../tests/tool-ocaml/t300-getmethod.ml | 5885 ----- .../testsuite/tests/tool-ocaml/t301-object.ml | 25 - .../tests/tool-ocaml/t310-alloc-1.ml | 1587 -- .../tests/tool-ocaml/t310-alloc-2.ml | 2313 -- .../testsuite/tests/tool-ocaml/t320-gc-1.ml | 1589 -- .../testsuite/tests/tool-ocaml/t320-gc-2.ml | 1589 -- .../testsuite/tests/tool-ocaml/t320-gc-3.ml | 1589 -- .../tests/tool-ocaml/t330-compact-1.ml | 15 - .../tests/tool-ocaml/t330-compact-2.ml | 755 - .../tests/tool-ocaml/t330-compact-3.ml | 1589 -- .../tests/tool-ocaml/t330-compact-4.ml | 1589 -- .../testsuite/tests/tool-ocaml/t340-weak.ml | 2551 -- .../tests/tool-ocaml/t350-heapcheck.ml | 2554 -- .../tests/tool-ocaml/t360-stacks-1.ml | 43 - .../tests/tool-ocaml/t360-stacks-2.ml | 54 - .../testsuite/tests/tool-ocamldoc/.ignore | 4 - .../testsuite/tests/tool-ocamldoc/Makefile | 49 - .../tests/tool-ocamldoc/odoc_test.ml | 128 - .../testsuite/tests/tool-ocamldoc/t01.ml | 22 - .../tests/tool-ocamldoc/t01.reference | 38 - .../testsuite/tests/tool-ocamldoc/t02.ml | 10 - .../tests/tool-ocamldoc/t02.reference | 12 - .../testsuite/tests/tool-ocamldoc/t03.ml | 7 - .../tests/tool-ocamldoc/t03.reference | 14 - .../testsuite/tests/tool-toplevel/Makefile | 15 - .../testsuite/tests/tool-toplevel/tracing.ml | 4 - .../tests/tool-toplevel/tracing.ml.reference | 30 - .../tests/typing-extensions/Makefile | 4 - .../testsuite/tests/typing-extensions/cast.ml | 96 - .../tests/typing-extensions/cast.ml.reference | 33 - .../tests/typing-extensions/extensions.ml | 321 - .../typing-extensions/extensions.ml.reference | 131 - .../testsuite/tests/typing-extensions/msg.ml | 131 - .../tests/typing-extensions/msg.ml.reference | 23 - .../tests/typing-extensions/open_types.ml | 109 - .../typing-extensions/open_types.ml.reference | 85 - .../tests/typing-fstclassmod/Makefile | 19 - .../tests/typing-fstclassmod/fstclassmod.ml | 165 - .../typing-fstclassmod/fstclassmod.reference | 7 - .../testsuite/tests/typing-gadts/Makefile | 15 - .../testsuite/tests/typing-gadts/didier.ml | 48 - .../tests/typing-gadts/dynamic_frisch.ml | 475 - .../dynamic_frisch.ml.principal.reference | 177 - .../typing-gadts/dynamic_frisch.ml.reference | 177 - .../testsuite/tests/typing-gadts/omega07.ml | 798 - .../omega07.ml.principal.reference | 312 - .../tests/typing-gadts/omega07.ml.reference | 312 - .../testsuite/tests/typing-gadts/pr5332.ml | 17 - .../tests/typing-gadts/pr5332.ml.reference | 19 - .../testsuite/tests/typing-gadts/pr5689.ml | 74 - .../pr5689.ml.principal.reference | 27 - .../tests/typing-gadts/pr5689.ml.reference | 27 - .../testsuite/tests/typing-gadts/pr5785.ml | 10 - .../tests/typing-gadts/pr5785.ml.reference | 15 - .../testsuite/tests/typing-gadts/pr5848.ml | 14 - .../tests/typing-gadts/pr5848.ml.reference | 8 - .../testsuite/tests/typing-gadts/pr5906.ml | 17 - .../tests/typing-gadts/pr5906.ml.reference | 5 - .../testsuite/tests/typing-gadts/pr5948.ml | 30 - .../tests/typing-gadts/pr5948.ml.reference | 22 - .../testsuite/tests/typing-gadts/pr5981.ml | 22 - .../tests/typing-gadts/pr5981.ml.reference | 28 - .../testsuite/tests/typing-gadts/pr5985.ml | 102 - .../tests/typing-gadts/pr5985.ml.reference | 89 - .../testsuite/tests/typing-gadts/pr5989.ml | 35 - .../tests/typing-gadts/pr5989.ml.reference | 24 - .../testsuite/tests/typing-gadts/pr5997.ml | 28 - .../tests/typing-gadts/pr5997.ml.reference | 21 - .../testsuite/tests/typing-gadts/pr6158.ml | 9 - .../pr6158.ml.principal.reference | 19 - .../tests/typing-gadts/pr6158.ml.reference | 15 - .../testsuite/tests/typing-gadts/pr6163.ml | 14 - .../pr6163.ml.principal.reference | 18 - .../tests/typing-gadts/pr6163.ml.reference | 18 - .../testsuite/tests/typing-gadts/pr6174.ml | 3 - .../pr6174.ml.principal.reference | 7 - .../tests/typing-gadts/pr6174.ml.reference | 7 - .../testsuite/tests/typing-gadts/pr6241.ml | 16 - .../pr6241.ml.principal.reference | 15 - .../tests/typing-gadts/pr6241.ml.reference | 15 - .../testsuite/tests/typing-gadts/pr6690.ml | 28 - .../pr6690.ml.principal.reference | 23 - .../tests/typing-gadts/pr6690.ml.reference | 27 - .../testsuite/tests/typing-gadts/pr6817.ml | 24 - .../tests/typing-gadts/pr6817.ml.reference | 9 - .../testsuite/tests/typing-gadts/term-conv.ml | 139 - .../term-conv.ml.principal.reference | 71 - .../tests/typing-gadts/term-conv.ml.reference | 71 - .../testsuite/tests/typing-gadts/test.ml | 548 - .../typing-gadts/test.ml.principal.reference | 338 - .../tests/typing-gadts/test.ml.reference | 325 - .../testsuite/tests/typing-gadts/unify_mb.ml | 170 - .../unify_mb.ml.principal.reference | 45 - .../tests/typing-gadts/unify_mb.ml.reference | 45 - .../tests/typing-gadts/yallop_bugs.ml | 45 - .../yallop_bugs.ml.principal.reference | 29 - .../typing-gadts/yallop_bugs.ml.reference | 29 - .../tests/typing-implicit_unpack/Makefile | 15 - .../typing-implicit_unpack/implicit_unpack.ml | 165 - .../implicit_unpack.ml.reference | 166 - .../testsuite/tests/typing-labels/Makefile | 15 - .../testsuite/tests/typing-labels/mixin.ml | 155 - .../tests/typing-labels/mixin.reference | 3 - .../testsuite/tests/typing-labels/mixin2.ml | 190 - .../tests/typing-labels/mixin2.reference | 3 - .../testsuite/tests/typing-labels/mixin3.ml | 184 - .../tests/typing-labels/mixin3.reference | 3 - .../testsuite/tests/typing-misc-bugs/Makefile | 14 - .../tests/typing-misc-bugs/pr6303_bad.ml | 3 - .../testsuite/tests/typing-misc/Makefile | 15 - .../tests/typing-misc/constraints.ml | 24 - .../typing-misc/constraints.ml.reference | 34 - .../testsuite/tests/typing-misc/labels.ml | 11 - .../typing-misc/labels.ml.principal.reference | 16 - .../tests/typing-misc/labels.ml.reference | 16 - .../tests/typing-misc/occur_check.ml | 5 - .../typing-misc/occur_check.ml.reference | 15 - .../testsuite/tests/typing-misc/polyvars.ml | 15 - .../polyvars.ml.principal.reference | 34 - .../tests/typing-misc/polyvars.ml.reference | 34 - .../testsuite/tests/typing-misc/records.ml | 38 - .../records.ml.principal.reference | 54 - .../tests/typing-misc/records.ml.reference | 54 - .../testsuite/tests/typing-misc/variant.ml | 8 - .../tests/typing-misc/variant.ml.reference | 16 - .../tests/typing-misc/wellfounded.ml | 11 - .../wellfounded.ml.principal.reference | 7 - .../typing-misc/wellfounded.ml.reference | 7 - .../tests/typing-modules-bugs/Makefile | 14 - .../gatien_baron_20131019_ok.ml | 31 - .../tests/typing-modules-bugs/pr5164_ok.ml | 9 - .../tests/typing-modules-bugs/pr5914_ok.ml | 18 - .../tests/typing-modules-bugs/pr6240_ok.ml | 11 - .../tests/typing-modules-bugs/pr6293_bad.ml | 2 - .../tests/typing-modules-bugs/pr6427_bad.ml | 20 - .../tests/typing-modules-bugs/pr6513_ok.ml | 25 - .../tests/typing-modules-bugs/pr6572_ok.ml | 19 - .../testsuite/tests/typing-modules/Makefile | 14 - .../testsuite/tests/typing-modules/Test.ml | 61 - .../Test.ml.principal.reference | 37 - .../tests/typing-modules/Test.ml.reference | 37 - .../testsuite/tests/typing-modules/a.mli | 3 - .../testsuite/tests/typing-modules/aliases.ml | 246 - .../tests/typing-modules/aliases.ml.reference | 419 - .../ocaml/testsuite/tests/typing-modules/b.ml | 18 - .../testsuite/tests/typing-modules/b2.ml | 14 - .../testsuite/tests/typing-modules/b3.mli | 4 - .../ocaml/testsuite/tests/typing-modules/d.ml | 2 - .../tests/typing-modules/firstclass.ml | 21 - .../typing-modules/firstclass.ml.reference | 27 - .../tests/typing-modules/generative.ml | 34 - .../typing-modules/generative.ml.reference | 44 - .../testsuite/tests/typing-modules/pr5911.ml | 14 - .../tests/typing-modules/pr5911.ml.reference | 9 - .../tests/typing-objects-bugs/Makefile | 15 - .../tests/typing-objects-bugs/pr3968_bad.ml | 21 - .../tests/typing-objects-bugs/pr4018_bad.ml | 46 - .../tests/typing-objects-bugs/pr4435_bad.ml | 11 - .../tests/typing-objects-bugs/pr4766_ok.ml | 10 - .../tests/typing-objects-bugs/pr4824_ok.ml | 10 - .../tests/typing-objects-bugs/pr4824a_bad.ml | 6 - .../tests/typing-objects-bugs/pr5156_ok.ml | 10 - .../tests/typing-objects-bugs/woodyatt_ok.ml | 14 - .../typing-objects-bugs/yamagata021012_ok.ml | 193 - .../tests/typing-objects/Exemples.ml | 333 - .../Exemples.ml.principal.reference | 358 - .../typing-objects/Exemples.ml.reference | 360 - .../testsuite/tests/typing-objects/Makefile | 15 - .../testsuite/tests/typing-objects/Tests.ml | 336 - .../Tests.ml.principal.reference | 314 - .../tests/typing-objects/Tests.ml.reference | 313 - .../tests/typing-objects/pr5619_bad.ml | 29 - .../pr5619_bad.ml.principal.reference | 18 - .../typing-objects/pr5619_bad.ml.reference | 18 - .../testsuite/tests/typing-objects/pr5858.ml | 2 - .../tests/typing-objects/pr5858.ml.reference | 7 - .../tests/typing-objects/pr6123_bad.ml | 23 - .../pr6123_bad.ml.principal.reference | 8 - .../typing-objects/pr6123_bad.ml.reference | 8 - .../testsuite/tests/typing-objects/pr6383.ml | 1 - .../tests/typing-objects/pr6383.ml.reference | 6 - .../testsuite/tests/typing-poly-bugs/Makefile | 15 - .../tests/typing-poly-bugs/pr5322_ok.ml | 6 - .../tests/typing-poly-bugs/pr5673_bad.ml | 23 - .../tests/typing-poly-bugs/pr5673_ok.ml | 23 - .../testsuite/tests/typing-poly/Makefile | 15 - .../ocaml/testsuite/tests/typing-poly/poly.ml | 669 - .../typing-poly/poly.ml.principal.reference | 650 - .../tests/typing-poly/poly.ml.reference | 608 - .../tests/typing-polyvariants-bugs-2/Makefile | 23 - .../typing-polyvariants-bugs-2/pr3918a.mli | 1 - .../typing-polyvariants-bugs-2/pr3918b.mli | 1 - .../typing-polyvariants-bugs-2/pr3918c.ml | 10 - .../tests/typing-polyvariants-bugs/Makefile | 15 - .../typing-polyvariants-bugs/pr4775_ok.ml | 11 - .../typing-polyvariants-bugs/pr4933_ok.ml | 15 - .../typing-polyvariants-bugs/pr5057_ok.ml | 14 - .../typing-polyvariants-bugs/pr5057a_bad.ml | 7 - .../privrowsabate_ok.ml | 53 - .../tests/typing-private-bugs/Makefile | 15 - .../tests/typing-private-bugs/pr5026_bad.ml | 11 - .../tests/typing-private-bugs/pr5469_ok.ml | 7 - .../testsuite/tests/typing-private/Makefile | 15 - .../testsuite/tests/typing-private/private.ml | 113 - .../private.ml.principal.reference | 125 - .../tests/typing-private/private.ml.reference | 125 - .../testsuite/tests/typing-recmod/Makefile | 15 - .../testsuite/tests/typing-recmod/t01bad.ml | 2 - .../testsuite/tests/typing-recmod/t02bad.ml | 3 - .../testsuite/tests/typing-recmod/t03ok.ml | 3 - .../testsuite/tests/typing-recmod/t04bad.ml | 2 - .../testsuite/tests/typing-recmod/t05bad.ml | 3 - .../testsuite/tests/typing-recmod/t06ok.ml | 3 - .../testsuite/tests/typing-recmod/t07bad.ml | 3 - .../testsuite/tests/typing-recmod/t08bad.ml | 4 - .../testsuite/tests/typing-recmod/t09bad.ml | 5 - .../testsuite/tests/typing-recmod/t10ok.ml | 5 - .../testsuite/tests/typing-recmod/t11bad.ml | 5 - .../testsuite/tests/typing-recmod/t12bad.ml | 13 - .../testsuite/tests/typing-recmod/t13ok.ml | 5 - .../testsuite/tests/typing-recmod/t14bad.ml | 17 - .../testsuite/tests/typing-recmod/t15bad.ml | 3 - .../testsuite/tests/typing-recmod/t16ok.ml | 30 - .../testsuite/tests/typing-recmod/t17ok.ml | 41 - .../testsuite/tests/typing-recmod/t18ok.ml | 25 - .../testsuite/tests/typing-recmod/t19ok.ml | 15 - .../testsuite/tests/typing-recmod/t20ok.ml | 30 - .../testsuite/tests/typing-recmod/t21ok.ml | 27 - .../testsuite/tests/typing-recmod/t22ok.ml | 511 - .../testsuite/tests/typing-recmod/t22ok.mli | 134 - .../tests/typing-rectypes-bugs/Makefile | 15 - .../tests/typing-rectypes-bugs/pr5343_bad.ml | 13 - .../tests/typing-rectypes-bugs/pr6174_bad.ml | 3 - .../tests/typing-rectypes-bugs/pr6870_bad.ml | 2 - .../tests/typing-short-paths/Makefile | 16 - .../tests/typing-short-paths/pr5918.ml | 7 - .../typing-short-paths/pr5918.ml.reference | 6 - .../tests/typing-short-paths/pr6836.ml | 6 - .../typing-short-paths/pr6836.ml.reference | 7 - .../tests/typing-short-paths/short-paths.ml | 57 - .../short-paths.ml.reference | 85 - .../tests/typing-signatures/Makefile | 15 - .../testsuite/tests/typing-signatures/els.ml | 95 - .../tests/typing-signatures/els.ml.reference | 95 - .../tests/typing-signatures/pr6371.ml | 7 - .../typing-signatures/pr6371.ml.reference | 4 - .../testsuite/tests/typing-sigsubst/Makefile | 15 - .../tests/typing-sigsubst/sigsubst.ml | 40 - .../typing-sigsubst/sigsubst.ml.reference | 40 - .../testsuite/tests/typing-typeparam/Makefile | 15 - .../tests/typing-typeparam/newtype.ml | 32 - .../typing-typeparam/newtype.ml.reference | 19 - .../testsuite/tests/typing-warnings/Makefile | 16 - .../tests/typing-warnings/coercions.ml | 5 - .../coercions.ml.principal.reference | 15 - .../typing-warnings/coercions.ml.reference | 11 - .../testsuite/tests/typing-warnings/pr5892.ml | 3 - .../tests/typing-warnings/pr5892.ml.reference | 12 - .../testsuite/tests/typing-warnings/pr6872.ml | 9 - .../pr6872.ml.principal.reference | 35 - .../tests/typing-warnings/pr6872.ml.reference | 30 - .../tests/typing-warnings/records.ml | 180 - .../records.ml.principal.reference | 301 - .../typing-warnings/records.ml.reference | 290 - .../tests/typing-warnings/unused_types.ml | 18 - .../typing-warnings/unused_types.ml.reference | 21 - vendor/ocaml/testsuite/tests/utils/Makefile | 22 - .../testsuite/tests/utils/edit_distance.ml | 49 - .../tests/utils/edit_distance.reference | 38 - .../ocaml/testsuite/tests/warnings/Makefile | 31 - vendor/ocaml/testsuite/tests/warnings/w01.ml | 55 - .../testsuite/tests/warnings/w01.reference | 15 - vendor/ocaml/testsuite/typing | 24 - vendor/ocaml/tools/.depend | 86 - vendor/ocaml/tools/.ignore | 27 - vendor/ocaml/tools/Makefile | 25 - vendor/ocaml/tools/Makefile.nt | 27 - vendor/ocaml/tools/Makefile.shared | 339 - vendor/ocaml/tools/addlabels.ml | 466 - vendor/ocaml/tools/check-typo | 228 - vendor/ocaml/tools/checkstack.c | 40 - vendor/ocaml/tools/ci-build | 144 - vendor/ocaml/tools/cleanup-header | 26 - vendor/ocaml/tools/cmt2annot.ml | 208 - vendor/ocaml/tools/cvt_emit.mll | 83 - vendor/ocaml/tools/dumpobj.ml | 569 - vendor/ocaml/tools/eqparsetree.ml | 781 - vendor/ocaml/tools/lexer299.mll | 458 - vendor/ocaml/tools/lexer301.mll | 459 - vendor/ocaml/tools/magic | 11 - vendor/ocaml/tools/make-opcodes | 14 - vendor/ocaml/tools/make-package-macosx | 134 - vendor/ocaml/tools/make-version-header.sh | 53 - vendor/ocaml/tools/objinfo.ml | 284 - vendor/ocaml/tools/objinfo_helper.c | 103 - vendor/ocaml/tools/ocaml-objcopy-macosx | 51 - vendor/ocaml/tools/ocaml299to3.ml | 138 - vendor/ocaml/tools/ocamlcp.ml | 159 - vendor/ocaml/tools/ocamldep.ml | 486 - vendor/ocaml/tools/ocamlmklib.ml | 305 - vendor/ocaml/tools/ocamlmktop.ml | 17 - vendor/ocaml/tools/ocamlmktop.tpl | 15 - vendor/ocaml/tools/ocamloptp.ml | 176 - vendor/ocaml/tools/ocamlprof.ml | 510 - vendor/ocaml/tools/ocamlsize | 61 - vendor/ocaml/tools/primreq.ml | 88 - vendor/ocaml/tools/profiling.ml | 54 - vendor/ocaml/tools/profiling.mli | 18 - vendor/ocaml/tools/read_cmt.ml | 94 - vendor/ocaml/tools/scrapelabels.ml | 287 - vendor/ocaml/tools/setignore | 44 - vendor/ocaml/tools/tast_iter.ml | 390 - vendor/ocaml/tools/tast_iter.mli | 82 - vendor/ocaml/tools/untypeast.ml | 636 - vendor/ocaml/tools/untypeast.mli | 20 - vendor/ocaml/toplevel/expunge.ml | 81 - vendor/ocaml/toplevel/genprintval.ml | 538 - vendor/ocaml/toplevel/genprintval.mli | 67 - vendor/ocaml/toplevel/opttopdirs.ml | 186 - vendor/ocaml/toplevel/opttopdirs.mli | 29 - vendor/ocaml/toplevel/opttoploop.ml | 457 - vendor/ocaml/toplevel/opttoploop.mli | 102 - vendor/ocaml/toplevel/opttopmain.ml | 125 - vendor/ocaml/toplevel/opttopmain.mli | 15 - vendor/ocaml/toplevel/opttopstart.ml | 13 - vendor/ocaml/toplevel/topdirs.ml | 555 - vendor/ocaml/toplevel/topdirs.mli | 33 - vendor/ocaml/toplevel/toplevellib.mllib | 21 - vendor/ocaml/toplevel/toploop.ml | 514 - vendor/ocaml/toplevel/toploop.mli | 128 - vendor/ocaml/toplevel/topmain.ml | 115 - vendor/ocaml/toplevel/topmain.mli | 15 - vendor/ocaml/toplevel/topstart.ml | 13 - vendor/ocaml/toplevel/trace.ml | 146 - vendor/ocaml/toplevel/trace.mli | 33 - vendor/ocaml/typing/annot.mli | 21 - vendor/ocaml/typing/btype.ml | 672 - vendor/ocaml/typing/btype.mli | 205 - vendor/ocaml/typing/cmi_format.ml | 102 - vendor/ocaml/typing/cmi_format.mli | 42 - vendor/ocaml/typing/cmt_format.ml | 239 - vendor/ocaml/typing/cmt_format.mli | 119 - vendor/ocaml/typing/ctype.ml | 4503 ---- vendor/ocaml/typing/ctype.mli | 278 - vendor/ocaml/typing/datarepr.ml | 166 - vendor/ocaml/typing/datarepr.mli | 33 - vendor/ocaml/typing/env.ml | 1889 -- vendor/ocaml/typing/env.mli | 263 - vendor/ocaml/typing/envaux.ml | 95 - vendor/ocaml/typing/envaux.mli | 33 - vendor/ocaml/typing/ident.ml | 223 - vendor/ocaml/typing/ident.mli | 65 - vendor/ocaml/typing/includeclass.ml | 107 - vendor/ocaml/typing/includeclass.mli | 28 - vendor/ocaml/typing/includecore.ml | 328 - vendor/ocaml/typing/includecore.mli | 48 - vendor/ocaml/typing/includemod.ml | 615 - vendor/ocaml/typing/includemod.mli | 55 - vendor/ocaml/typing/mtype.ml | 382 - vendor/ocaml/typing/mtype.mli | 40 - vendor/ocaml/typing/oprint.ml | 706 - vendor/ocaml/typing/oprint.mli | 28 - vendor/ocaml/typing/outcometree.mli | 125 - vendor/ocaml/typing/parmatch.ml | 2030 -- vendor/ocaml/typing/parmatch.mli | 65 - vendor/ocaml/typing/path.ml | 54 - vendor/ocaml/typing/path.mli | 30 - vendor/ocaml/typing/predef.ml | 223 - vendor/ocaml/typing/predef.mli | 65 - vendor/ocaml/typing/primitive.ml | 62 - vendor/ocaml/typing/primitive.mli | 27 - vendor/ocaml/typing/printtyp.ml | 1599 -- vendor/ocaml/typing/printtyp.mli | 91 - vendor/ocaml/typing/printtyped.ml | 842 - vendor/ocaml/typing/printtyped.mli | 20 - vendor/ocaml/typing/stypes.ml | 209 - vendor/ocaml/typing/stypes.mli | 33 - vendor/ocaml/typing/subst.ml | 414 - vendor/ocaml/typing/subst.mli | 59 - vendor/ocaml/typing/typeclass.ml | 1854 -- vendor/ocaml/typing/typeclass.mli | 111 - vendor/ocaml/typing/typecore.ml | 3994 --- vendor/ocaml/typing/typecore.mli | 138 - vendor/ocaml/typing/typedecl.ml | 1673 -- vendor/ocaml/typing/typedecl.mli | 88 - vendor/ocaml/typing/typedtree.ml | 583 - vendor/ocaml/typing/typedtree.mli | 516 - vendor/ocaml/typing/typedtreeIter.ml | 673 - vendor/ocaml/typing/typedtreeIter.mli | 95 - vendor/ocaml/typing/typedtreeMap.ml | 701 - vendor/ocaml/typing/typedtreeMap.mli | 89 - vendor/ocaml/typing/typemod.ml | 1845 -- vendor/ocaml/typing/typemod.mli | 82 - vendor/ocaml/typing/types.ml | 316 - vendor/ocaml/typing/types.mli | 299 - vendor/ocaml/typing/typetexp.ml | 1024 - vendor/ocaml/typing/typetexp.mli | 124 - vendor/ocaml/utils/.ignore | 1 - vendor/ocaml/utils/ccomp.ml | 135 - vendor/ocaml/utils/ccomp.mli | 30 - vendor/ocaml/utils/clflags.ml | 140 - vendor/ocaml/utils/clflags.mli | 116 - vendor/ocaml/utils/config.mlbuild | 151 - vendor/ocaml/utils/config.mli | 129 - vendor/ocaml/utils/config.mlp | 149 - vendor/ocaml/utils/consistbl.ml | 63 - vendor/ocaml/utils/consistbl.mli | 59 - vendor/ocaml/utils/misc.ml | 490 - vendor/ocaml/utils/misc.mli | 216 - vendor/ocaml/utils/tbl.ml | 112 - vendor/ocaml/utils/tbl.mli | 30 - vendor/ocaml/utils/terminfo.ml | 23 - vendor/ocaml/utils/terminfo.mli | 23 - vendor/ocaml/utils/warnings.ml | 527 - vendor/ocaml/utils/warnings.mli | 97 - vendor/ocaml/yacc/.ignore | 4 - vendor/ocaml/yacc/Makefile | 47 - vendor/ocaml/yacc/Makefile.nt | 48 - vendor/ocaml/yacc/closure.c | 281 - vendor/ocaml/yacc/defs.h | 356 - vendor/ocaml/yacc/error.c | 312 - vendor/ocaml/yacc/lalr.c | 661 - vendor/ocaml/yacc/lr0.c | 618 - vendor/ocaml/yacc/main.c | 461 - vendor/ocaml/yacc/mkpar.c | 362 - vendor/ocaml/yacc/output.c | 982 - vendor/ocaml/yacc/reader.c | 1907 -- vendor/ocaml/yacc/skeleton.c | 57 - vendor/ocaml/yacc/symtab.c | 127 - vendor/ocaml/yacc/verbose.c | 346 - vendor/ocaml/yacc/warshall.c | 94 - 2712 files changed, 70 insertions(+), 484338 deletions(-) create mode 100644 .prettierrc delete mode 100755 bin/ninja.exe create mode 100644 esy.json delete mode 100644 opam.in delete mode 100644 vendor/ninja-build/COPYING delete mode 100755 vendor/ninja-build/ninja.darwin delete mode 100755 vendor/ninja-build/ninja.linux64 delete mode 100755 vendor/ninja-build/ninja.win delete mode 100644 vendor/ninja/.clang-format delete mode 100644 vendor/ninja/.gitignore delete mode 100644 vendor/ninja/.npmignore delete mode 100644 vendor/ninja/.travis.yml delete mode 100644 vendor/ninja/COPYING delete mode 100644 vendor/ninja/HACKING.md delete mode 100644 vendor/ninja/README delete mode 100644 vendor/ninja/RELEASING delete mode 100755 vendor/ninja/bootstrap.py delete mode 100755 vendor/ninja/configure.py delete mode 100644 vendor/ninja/doc/README.md delete mode 100644 vendor/ninja/doc/dblatex.xsl delete mode 100644 vendor/ninja/doc/docbook.xsl delete mode 100644 vendor/ninja/doc/doxygen.config delete mode 100644 vendor/ninja/doc/manual.asciidoc delete mode 100644 vendor/ninja/doc/style.css delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/kw_build delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/kw_default delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/kw_include delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/kw_pool delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/kw_rule delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/kw_subninja delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_a delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_b delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_colon delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_cont delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_dollar delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_eq delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_indent delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_pipe delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_pipepipe delete mode 100644 vendor/ninja/misc/afl-fuzz-tokens/misc_space delete mode 100644 vendor/ninja/misc/afl-fuzz/build.ninja delete mode 100644 vendor/ninja/misc/bash-completion delete mode 100644 vendor/ninja/misc/inherited-fds.ninja delete mode 100644 vendor/ninja/misc/long-slow-build.ninja delete mode 100755 vendor/ninja/misc/measure.py delete mode 100644 vendor/ninja/misc/ninja-mode.el delete mode 100644 vendor/ninja/misc/ninja.vim delete mode 100644 vendor/ninja/misc/ninja_syntax.py delete mode 100755 vendor/ninja/misc/ninja_syntax_test.py delete mode 100644 vendor/ninja/misc/packaging/ninja.spec delete mode 100755 vendor/ninja/misc/packaging/rpmbuild.sh delete mode 100644 vendor/ninja/misc/write_fake_manifests.py delete mode 100644 vendor/ninja/misc/zsh-completion delete mode 100644 vendor/ninja/src/browse.cc delete mode 100644 vendor/ninja/src/browse.h delete mode 100755 vendor/ninja/src/browse.py delete mode 100644 vendor/ninja/src/build.cc delete mode 100644 vendor/ninja/src/build.h delete mode 100644 vendor/ninja/src/build_log.cc delete mode 100644 vendor/ninja/src/build_log.h delete mode 100644 vendor/ninja/src/build_log_perftest.cc delete mode 100644 vendor/ninja/src/build_log_test.cc delete mode 100644 vendor/ninja/src/build_test.cc delete mode 100644 vendor/ninja/src/canon_perftest.cc delete mode 100644 vendor/ninja/src/clean.cc delete mode 100644 vendor/ninja/src/clean.h delete mode 100644 vendor/ninja/src/clean_test.cc delete mode 100644 vendor/ninja/src/clparser.cc delete mode 100644 vendor/ninja/src/clparser.h delete mode 100644 vendor/ninja/src/clparser_perftest.cc delete mode 100644 vendor/ninja/src/clparser_test.cc delete mode 100644 vendor/ninja/src/debug_flags.cc delete mode 100644 vendor/ninja/src/debug_flags.h delete mode 100644 vendor/ninja/src/depfile_parser.cc delete mode 100644 vendor/ninja/src/depfile_parser.h delete mode 100644 vendor/ninja/src/depfile_parser.in.cc delete mode 100644 vendor/ninja/src/depfile_parser_perftest.cc delete mode 100644 vendor/ninja/src/depfile_parser_test.cc delete mode 100644 vendor/ninja/src/deps_log.cc delete mode 100644 vendor/ninja/src/deps_log.h delete mode 100644 vendor/ninja/src/deps_log_test.cc delete mode 100644 vendor/ninja/src/disk_interface.cc delete mode 100644 vendor/ninja/src/disk_interface.h delete mode 100644 vendor/ninja/src/disk_interface_test.cc delete mode 100644 vendor/ninja/src/edit_distance.cc delete mode 100644 vendor/ninja/src/edit_distance.h delete mode 100644 vendor/ninja/src/edit_distance_test.cc delete mode 100644 vendor/ninja/src/eval_env.cc delete mode 100644 vendor/ninja/src/eval_env.h delete mode 100644 vendor/ninja/src/exit_status.h delete mode 100755 vendor/ninja/src/gen_doxygen_mainpage.sh delete mode 100644 vendor/ninja/src/getopt.c delete mode 100644 vendor/ninja/src/getopt.h delete mode 100644 vendor/ninja/src/graph.cc delete mode 100644 vendor/ninja/src/graph.h delete mode 100644 vendor/ninja/src/graph_test.cc delete mode 100644 vendor/ninja/src/graphviz.cc delete mode 100644 vendor/ninja/src/graphviz.h delete mode 100644 vendor/ninja/src/hash_collision_bench.cc delete mode 100644 vendor/ninja/src/hash_map.h delete mode 100644 vendor/ninja/src/includes_normalize-win32.cc delete mode 100644 vendor/ninja/src/includes_normalize.h delete mode 100644 vendor/ninja/src/includes_normalize_test.cc delete mode 100755 vendor/ninja/src/inline.sh delete mode 100644 vendor/ninja/src/lexer.cc delete mode 100644 vendor/ninja/src/lexer.h delete mode 100644 vendor/ninja/src/lexer.in.cc delete mode 100644 vendor/ninja/src/lexer_test.cc delete mode 100644 vendor/ninja/src/line_printer.cc delete mode 100644 vendor/ninja/src/line_printer.h delete mode 100644 vendor/ninja/src/manifest_parser.cc delete mode 100644 vendor/ninja/src/manifest_parser.h delete mode 100644 vendor/ninja/src/manifest_parser_perftest.cc delete mode 100644 vendor/ninja/src/manifest_parser_test.cc delete mode 100644 vendor/ninja/src/metrics.cc delete mode 100644 vendor/ninja/src/metrics.h delete mode 100644 vendor/ninja/src/minidump-win32.cc delete mode 100644 vendor/ninja/src/msvc_helper-win32.cc delete mode 100644 vendor/ninja/src/msvc_helper.h delete mode 100644 vendor/ninja/src/msvc_helper_main-win32.cc delete mode 100644 vendor/ninja/src/msvc_helper_test.cc delete mode 100644 vendor/ninja/src/ninja.cc delete mode 100644 vendor/ninja/src/ninja_test.cc delete mode 100644 vendor/ninja/src/state.cc delete mode 100644 vendor/ninja/src/state.h delete mode 100644 vendor/ninja/src/state_test.cc delete mode 100644 vendor/ninja/src/string_piece.h delete mode 100644 vendor/ninja/src/string_piece_util.cc delete mode 100644 vendor/ninja/src/string_piece_util.h delete mode 100644 vendor/ninja/src/string_piece_util_test.cc delete mode 100644 vendor/ninja/src/subprocess-posix.cc delete mode 100644 vendor/ninja/src/subprocess-win32.cc delete mode 100644 vendor/ninja/src/subprocess.h delete mode 100644 vendor/ninja/src/subprocess_test.cc delete mode 100644 vendor/ninja/src/test.cc delete mode 100644 vendor/ninja/src/test.h delete mode 100644 vendor/ninja/src/timestamp.h delete mode 100644 vendor/ninja/src/util.cc delete mode 100644 vendor/ninja/src/util.h delete mode 100644 vendor/ninja/src/util_test.cc delete mode 100644 vendor/ninja/src/version.cc delete mode 100644 vendor/ninja/src/version.h delete mode 100644 vendor/ninja/src/win32port.h delete mode 100644 vendor/ocaml/.depend delete mode 100644 vendor/ocaml/.gitignore delete mode 100644 vendor/ocaml/.ignore delete mode 100644 vendor/ocaml/.merlin delete mode 100644 vendor/ocaml/.npmignore delete mode 100644 vendor/ocaml/.ocp-indent delete mode 100644 vendor/ocaml/.travis-ci.sh delete mode 100644 vendor/ocaml/.travis.yml delete mode 100644 vendor/ocaml/Changes delete mode 100644 vendor/ocaml/INSTALL delete mode 100644 vendor/ocaml/LICENSE delete mode 100644 vendor/ocaml/Makefile delete mode 100644 vendor/ocaml/Makefile.nt delete mode 100644 vendor/ocaml/README delete mode 100644 vendor/ocaml/README.win32 delete mode 100644 vendor/ocaml/VERSION delete mode 100644 vendor/ocaml/asmcomp/.ignore delete mode 100644 vendor/ocaml/asmcomp/CSEgen.ml delete mode 100644 vendor/ocaml/asmcomp/CSEgen.mli delete mode 100644 vendor/ocaml/asmcomp/amd64/CSE.ml delete mode 100644 vendor/ocaml/asmcomp/amd64/arch.ml delete mode 100644 vendor/ocaml/asmcomp/amd64/emit.mlp delete mode 100644 vendor/ocaml/asmcomp/amd64/emit_nt.mlp delete mode 100644 vendor/ocaml/asmcomp/amd64/proc.ml delete mode 100644 vendor/ocaml/asmcomp/amd64/reload.ml delete mode 100644 vendor/ocaml/asmcomp/amd64/scheduling.ml delete mode 100644 vendor/ocaml/asmcomp/amd64/selection.ml delete mode 100644 vendor/ocaml/asmcomp/arm/CSE.ml delete mode 100644 vendor/ocaml/asmcomp/arm/arch.ml delete mode 100644 vendor/ocaml/asmcomp/arm/emit.mlp delete mode 100644 vendor/ocaml/asmcomp/arm/proc.ml delete mode 100644 vendor/ocaml/asmcomp/arm/reload.ml delete mode 100644 vendor/ocaml/asmcomp/arm/scheduling.ml delete mode 100644 vendor/ocaml/asmcomp/arm/selection.ml delete mode 100644 vendor/ocaml/asmcomp/arm64/CSE.ml delete mode 100644 vendor/ocaml/asmcomp/arm64/arch.ml delete mode 100644 vendor/ocaml/asmcomp/arm64/emit.mlp delete mode 100644 vendor/ocaml/asmcomp/arm64/proc.ml delete mode 100644 vendor/ocaml/asmcomp/arm64/reload.ml delete mode 100644 vendor/ocaml/asmcomp/arm64/scheduling.ml delete mode 100644 vendor/ocaml/asmcomp/arm64/selection.ml delete mode 100644 vendor/ocaml/asmcomp/asmgen.ml delete mode 100644 vendor/ocaml/asmcomp/asmgen.mli delete mode 100644 vendor/ocaml/asmcomp/asmlibrarian.ml delete mode 100644 vendor/ocaml/asmcomp/asmlibrarian.mli delete mode 100644 vendor/ocaml/asmcomp/asmlink.ml delete mode 100644 vendor/ocaml/asmcomp/asmlink.mli delete mode 100644 vendor/ocaml/asmcomp/asmpackager.ml delete mode 100644 vendor/ocaml/asmcomp/asmpackager.mli delete mode 100644 vendor/ocaml/asmcomp/branch_relaxation.ml delete mode 100644 vendor/ocaml/asmcomp/branch_relaxation.mli delete mode 100644 vendor/ocaml/asmcomp/branch_relaxation_intf.ml delete mode 100644 vendor/ocaml/asmcomp/clambda.ml delete mode 100644 vendor/ocaml/asmcomp/clambda.mli delete mode 100644 vendor/ocaml/asmcomp/closure.ml delete mode 100644 vendor/ocaml/asmcomp/closure.mli delete mode 100644 vendor/ocaml/asmcomp/cmm.ml delete mode 100644 vendor/ocaml/asmcomp/cmm.mli delete mode 100644 vendor/ocaml/asmcomp/cmmgen.ml delete mode 100644 vendor/ocaml/asmcomp/cmmgen.mli delete mode 100644 vendor/ocaml/asmcomp/cmx_format.mli delete mode 100644 vendor/ocaml/asmcomp/codegen.ml delete mode 100644 vendor/ocaml/asmcomp/codegen.mli delete mode 100644 vendor/ocaml/asmcomp/coloring.ml delete mode 100644 vendor/ocaml/asmcomp/coloring.mli delete mode 100644 vendor/ocaml/asmcomp/comballoc.ml delete mode 100644 vendor/ocaml/asmcomp/comballoc.mli delete mode 100644 vendor/ocaml/asmcomp/compilenv.ml delete mode 100644 vendor/ocaml/asmcomp/compilenv.mli delete mode 100644 vendor/ocaml/asmcomp/deadcode.ml delete mode 100644 vendor/ocaml/asmcomp/deadcode.mli delete mode 100644 vendor/ocaml/asmcomp/debuginfo.ml delete mode 100644 vendor/ocaml/asmcomp/debuginfo.mli delete mode 100644 vendor/ocaml/asmcomp/emit.mli delete mode 100644 vendor/ocaml/asmcomp/emitaux.ml delete mode 100644 vendor/ocaml/asmcomp/emitaux.mli delete mode 100644 vendor/ocaml/asmcomp/i386/CSE.ml delete mode 100644 vendor/ocaml/asmcomp/i386/arch.ml delete mode 100644 vendor/ocaml/asmcomp/i386/emit.mlp delete mode 100644 vendor/ocaml/asmcomp/i386/emit_nt.mlp delete mode 100644 vendor/ocaml/asmcomp/i386/proc.ml delete mode 100644 vendor/ocaml/asmcomp/i386/reload.ml delete mode 100644 vendor/ocaml/asmcomp/i386/scheduling.ml delete mode 100644 vendor/ocaml/asmcomp/i386/selection.ml delete mode 100644 vendor/ocaml/asmcomp/interf.ml delete mode 100644 vendor/ocaml/asmcomp/interf.mli delete mode 100644 vendor/ocaml/asmcomp/linearize.ml delete mode 100644 vendor/ocaml/asmcomp/linearize.mli delete mode 100644 vendor/ocaml/asmcomp/liveness.ml delete mode 100644 vendor/ocaml/asmcomp/liveness.mli delete mode 100644 vendor/ocaml/asmcomp/mach.ml delete mode 100644 vendor/ocaml/asmcomp/mach.mli delete mode 100644 vendor/ocaml/asmcomp/power/CSE.ml delete mode 100644 vendor/ocaml/asmcomp/power/arch.ml delete mode 100644 vendor/ocaml/asmcomp/power/emit.mlp delete mode 100644 vendor/ocaml/asmcomp/power/proc.ml delete mode 100644 vendor/ocaml/asmcomp/power/reload.ml delete mode 100644 vendor/ocaml/asmcomp/power/scheduling.ml delete mode 100644 vendor/ocaml/asmcomp/power/selection.ml delete mode 100644 vendor/ocaml/asmcomp/printclambda.ml delete mode 100644 vendor/ocaml/asmcomp/printclambda.mli delete mode 100644 vendor/ocaml/asmcomp/printcmm.ml delete mode 100644 vendor/ocaml/asmcomp/printcmm.mli delete mode 100644 vendor/ocaml/asmcomp/printlinear.ml delete mode 100644 vendor/ocaml/asmcomp/printlinear.mli delete mode 100644 vendor/ocaml/asmcomp/printmach.ml delete mode 100644 vendor/ocaml/asmcomp/printmach.mli delete mode 100644 vendor/ocaml/asmcomp/proc.mli delete mode 100644 vendor/ocaml/asmcomp/reg.ml delete mode 100644 vendor/ocaml/asmcomp/reg.mli delete mode 100644 vendor/ocaml/asmcomp/reload.mli delete mode 100644 vendor/ocaml/asmcomp/reloadgen.ml delete mode 100644 vendor/ocaml/asmcomp/reloadgen.mli delete mode 100644 vendor/ocaml/asmcomp/schedgen.ml delete mode 100644 vendor/ocaml/asmcomp/schedgen.mli delete mode 100644 vendor/ocaml/asmcomp/scheduling.mli delete mode 100644 vendor/ocaml/asmcomp/selectgen.ml delete mode 100644 vendor/ocaml/asmcomp/selectgen.mli delete mode 100644 vendor/ocaml/asmcomp/selection.mli delete mode 100644 vendor/ocaml/asmcomp/sparc/CSE.ml delete mode 100644 vendor/ocaml/asmcomp/sparc/arch.ml delete mode 100644 vendor/ocaml/asmcomp/sparc/emit.mlp delete mode 100644 vendor/ocaml/asmcomp/sparc/proc.ml delete mode 100644 vendor/ocaml/asmcomp/sparc/reload.ml delete mode 100644 vendor/ocaml/asmcomp/sparc/scheduling.ml delete mode 100644 vendor/ocaml/asmcomp/sparc/selection.ml delete mode 100644 vendor/ocaml/asmcomp/spill.ml delete mode 100644 vendor/ocaml/asmcomp/spill.mli delete mode 100644 vendor/ocaml/asmcomp/split.ml delete mode 100644 vendor/ocaml/asmcomp/split.mli delete mode 100644 vendor/ocaml/asmcomp/strmatch.ml delete mode 100644 vendor/ocaml/asmcomp/strmatch.mli delete mode 100644 vendor/ocaml/asmrun/.depend delete mode 100644 vendor/ocaml/asmrun/.ignore delete mode 100644 vendor/ocaml/asmrun/Makefile delete mode 100644 vendor/ocaml/asmrun/Makefile.nt delete mode 100644 vendor/ocaml/asmrun/amd64.S delete mode 100644 vendor/ocaml/asmrun/amd64nt.asm delete mode 100644 vendor/ocaml/asmrun/arm.S delete mode 100644 vendor/ocaml/asmrun/arm64.S delete mode 100644 vendor/ocaml/asmrun/backtrace.c delete mode 100644 vendor/ocaml/asmrun/fail.c delete mode 100644 vendor/ocaml/asmrun/i386.S delete mode 100644 vendor/ocaml/asmrun/i386nt.asm delete mode 100644 vendor/ocaml/asmrun/natdynlink.c delete mode 100644 vendor/ocaml/asmrun/power-elf.S delete mode 100644 vendor/ocaml/asmrun/power-rhapsody.S delete mode 100644 vendor/ocaml/asmrun/roots.c delete mode 100644 vendor/ocaml/asmrun/signals_asm.c delete mode 100644 vendor/ocaml/asmrun/signals_osdep.h delete mode 100644 vendor/ocaml/asmrun/sparc.S delete mode 100644 vendor/ocaml/asmrun/stack.h delete mode 100644 vendor/ocaml/asmrun/startup.c delete mode 100755 vendor/ocaml/bin/ocaml delete mode 100755 vendor/ocaml/bin/ocamlc delete mode 100755 vendor/ocaml/bin/ocamlc.opt delete mode 100755 vendor/ocaml/bin/ocamlcp delete mode 100755 vendor/ocaml/bin/ocamldep delete mode 100755 vendor/ocaml/bin/ocamldep.opt delete mode 100755 vendor/ocaml/bin/ocamllex delete mode 100755 vendor/ocaml/bin/ocamllex.opt delete mode 100755 vendor/ocaml/bin/ocamlmklib delete mode 100755 vendor/ocaml/bin/ocamlmktop delete mode 100755 vendor/ocaml/bin/ocamlobjinfo delete mode 100755 vendor/ocaml/bin/ocamlopt delete mode 100755 vendor/ocaml/bin/ocamlopt.opt delete mode 100755 vendor/ocaml/bin/ocamloptp delete mode 100755 vendor/ocaml/bin/ocamlprof delete mode 100755 vendor/ocaml/bin/ocamlrun delete mode 100755 vendor/ocaml/bin/ocamlyacc delete mode 100644 vendor/ocaml/boot/.ignore delete mode 100755 vendor/ocaml/boot/ocamlc delete mode 100755 vendor/ocaml/boot/ocamldep delete mode 100755 vendor/ocaml/boot/ocamllex delete mode 100644 vendor/ocaml/bytecomp/.ignore delete mode 100644 vendor/ocaml/bytecomp/bytegen.ml delete mode 100644 vendor/ocaml/bytecomp/bytegen.mli delete mode 100644 vendor/ocaml/bytecomp/bytelibrarian.ml delete mode 100644 vendor/ocaml/bytecomp/bytelibrarian.mli delete mode 100644 vendor/ocaml/bytecomp/bytelink.ml delete mode 100644 vendor/ocaml/bytecomp/bytelink.mli delete mode 100644 vendor/ocaml/bytecomp/bytepackager.ml delete mode 100644 vendor/ocaml/bytecomp/bytepackager.mli delete mode 100644 vendor/ocaml/bytecomp/bytesections.ml delete mode 100644 vendor/ocaml/bytecomp/bytesections.mli delete mode 100644 vendor/ocaml/bytecomp/cmo_format.mli delete mode 100644 vendor/ocaml/bytecomp/dll.ml delete mode 100644 vendor/ocaml/bytecomp/dll.mli delete mode 100644 vendor/ocaml/bytecomp/emitcode.ml delete mode 100644 vendor/ocaml/bytecomp/emitcode.mli delete mode 100644 vendor/ocaml/bytecomp/instruct.ml delete mode 100644 vendor/ocaml/bytecomp/instruct.mli delete mode 100644 vendor/ocaml/bytecomp/lambda.ml delete mode 100644 vendor/ocaml/bytecomp/lambda.mli delete mode 100644 vendor/ocaml/bytecomp/matching.ml delete mode 100644 vendor/ocaml/bytecomp/matching.mli delete mode 100644 vendor/ocaml/bytecomp/meta.ml delete mode 100644 vendor/ocaml/bytecomp/meta.mli delete mode 100644 vendor/ocaml/bytecomp/printinstr.ml delete mode 100644 vendor/ocaml/bytecomp/printinstr.mli delete mode 100644 vendor/ocaml/bytecomp/printlambda.ml delete mode 100644 vendor/ocaml/bytecomp/printlambda.mli delete mode 100644 vendor/ocaml/bytecomp/runtimedef.mli delete mode 100644 vendor/ocaml/bytecomp/simplif.ml delete mode 100644 vendor/ocaml/bytecomp/simplif.mli delete mode 100644 vendor/ocaml/bytecomp/switch.ml delete mode 100644 vendor/ocaml/bytecomp/switch.mli delete mode 100644 vendor/ocaml/bytecomp/symtable.ml delete mode 100644 vendor/ocaml/bytecomp/symtable.mli delete mode 100644 vendor/ocaml/bytecomp/translclass.ml delete mode 100644 vendor/ocaml/bytecomp/translclass.mli delete mode 100644 vendor/ocaml/bytecomp/translcore.ml delete mode 100644 vendor/ocaml/bytecomp/translcore.mli delete mode 100644 vendor/ocaml/bytecomp/translmod.ml delete mode 100644 vendor/ocaml/bytecomp/translmod.mli delete mode 100644 vendor/ocaml/bytecomp/translobj.ml delete mode 100644 vendor/ocaml/bytecomp/translobj.mli delete mode 100644 vendor/ocaml/bytecomp/typeopt.ml delete mode 100644 vendor/ocaml/bytecomp/typeopt.mli delete mode 100644 vendor/ocaml/byterun/.depend delete mode 100644 vendor/ocaml/byterun/.ignore delete mode 100644 vendor/ocaml/byterun/Makefile delete mode 100755 vendor/ocaml/byterun/Makefile.common delete mode 100644 vendor/ocaml/byterun/Makefile.nt delete mode 100644 vendor/ocaml/byterun/alloc.c delete mode 100644 vendor/ocaml/byterun/array.c delete mode 100644 vendor/ocaml/byterun/backtrace.c delete mode 100644 vendor/ocaml/byterun/callback.c delete mode 100644 vendor/ocaml/byterun/caml/address_class.h delete mode 100644 vendor/ocaml/byterun/caml/alloc.h delete mode 100644 vendor/ocaml/byterun/caml/backtrace.h delete mode 100644 vendor/ocaml/byterun/caml/callback.h delete mode 100644 vendor/ocaml/byterun/caml/compact.h delete mode 100644 vendor/ocaml/byterun/caml/compare.h delete mode 100644 vendor/ocaml/byterun/caml/compatibility.h delete mode 100644 vendor/ocaml/byterun/caml/config.h delete mode 100644 vendor/ocaml/byterun/caml/custom.h delete mode 100644 vendor/ocaml/byterun/caml/debugger.h delete mode 100644 vendor/ocaml/byterun/caml/dynlink.h delete mode 100644 vendor/ocaml/byterun/caml/exec.h delete mode 100644 vendor/ocaml/byterun/caml/fail.h delete mode 100644 vendor/ocaml/byterun/caml/finalise.h delete mode 100644 vendor/ocaml/byterun/caml/fix_code.h delete mode 100644 vendor/ocaml/byterun/caml/freelist.h delete mode 100644 vendor/ocaml/byterun/caml/gc.h delete mode 100644 vendor/ocaml/byterun/caml/gc_ctrl.h delete mode 100644 vendor/ocaml/byterun/caml/globroots.h delete mode 100644 vendor/ocaml/byterun/caml/hash.h delete mode 100644 vendor/ocaml/byterun/caml/instrtrace.h delete mode 100644 vendor/ocaml/byterun/caml/instruct.h delete mode 100644 vendor/ocaml/byterun/caml/int64_emul.h delete mode 100644 vendor/ocaml/byterun/caml/int64_format.h delete mode 100644 vendor/ocaml/byterun/caml/int64_native.h delete mode 100644 vendor/ocaml/byterun/caml/interp.h delete mode 100644 vendor/ocaml/byterun/caml/intext.h delete mode 100644 vendor/ocaml/byterun/caml/io.h delete mode 100644 vendor/ocaml/byterun/caml/major_gc.h delete mode 100644 vendor/ocaml/byterun/caml/md5.h delete mode 100644 vendor/ocaml/byterun/caml/memory.h delete mode 100644 vendor/ocaml/byterun/caml/minor_gc.h delete mode 100644 vendor/ocaml/byterun/caml/misc.h delete mode 100644 vendor/ocaml/byterun/caml/mlvalues.h delete mode 100644 vendor/ocaml/byterun/caml/osdeps.h delete mode 100644 vendor/ocaml/byterun/caml/prims.h delete mode 100644 vendor/ocaml/byterun/caml/printexc.h delete mode 100644 vendor/ocaml/byterun/caml/reverse.h delete mode 100644 vendor/ocaml/byterun/caml/roots.h delete mode 100644 vendor/ocaml/byterun/caml/signals.h delete mode 100644 vendor/ocaml/byterun/caml/signals_machdep.h delete mode 100644 vendor/ocaml/byterun/caml/stacks.h delete mode 100644 vendor/ocaml/byterun/caml/startup.h delete mode 100644 vendor/ocaml/byterun/caml/sys.h delete mode 100644 vendor/ocaml/byterun/caml/ui.h delete mode 100644 vendor/ocaml/byterun/caml/weak.h delete mode 100644 vendor/ocaml/byterun/compact.c delete mode 100644 vendor/ocaml/byterun/compare.c delete mode 100644 vendor/ocaml/byterun/custom.c delete mode 100644 vendor/ocaml/byterun/debugger.c delete mode 100644 vendor/ocaml/byterun/dynlink.c delete mode 100644 vendor/ocaml/byterun/extern.c delete mode 100644 vendor/ocaml/byterun/fail.c delete mode 100644 vendor/ocaml/byterun/finalise.c delete mode 100644 vendor/ocaml/byterun/fix_code.c delete mode 100644 vendor/ocaml/byterun/floats.c delete mode 100644 vendor/ocaml/byterun/freelist.c delete mode 100644 vendor/ocaml/byterun/gc_ctrl.c delete mode 100644 vendor/ocaml/byterun/globroots.c delete mode 100644 vendor/ocaml/byterun/hash.c delete mode 100644 vendor/ocaml/byterun/instrtrace.c delete mode 100644 vendor/ocaml/byterun/intern.c delete mode 100644 vendor/ocaml/byterun/interp.c delete mode 100644 vendor/ocaml/byterun/ints.c delete mode 100644 vendor/ocaml/byterun/io.c delete mode 100644 vendor/ocaml/byterun/lexing.c delete mode 100644 vendor/ocaml/byterun/main.c delete mode 100644 vendor/ocaml/byterun/major_gc.c delete mode 100644 vendor/ocaml/byterun/md5.c delete mode 100644 vendor/ocaml/byterun/memory.c delete mode 100644 vendor/ocaml/byterun/meta.c delete mode 100644 vendor/ocaml/byterun/minor_gc.c delete mode 100644 vendor/ocaml/byterun/misc.c delete mode 100644 vendor/ocaml/byterun/obj.c delete mode 100644 vendor/ocaml/byterun/parsing.c delete mode 100644 vendor/ocaml/byterun/printexc.c delete mode 100644 vendor/ocaml/byterun/roots.c delete mode 100644 vendor/ocaml/byterun/signals.c delete mode 100644 vendor/ocaml/byterun/signals_byt.c delete mode 100644 vendor/ocaml/byterun/stacks.c delete mode 100644 vendor/ocaml/byterun/startup.c delete mode 100644 vendor/ocaml/byterun/str.c delete mode 100644 vendor/ocaml/byterun/sys.c delete mode 100644 vendor/ocaml/byterun/terminfo.c delete mode 100644 vendor/ocaml/byterun/unix.c delete mode 100644 vendor/ocaml/byterun/weak.c delete mode 100644 vendor/ocaml/byterun/win32.c delete mode 100644 vendor/ocaml/compilerlibs/.gitignore delete mode 100644 vendor/ocaml/config/.ignore delete mode 100644 vendor/ocaml/config/Makefile-templ delete mode 100644 vendor/ocaml/config/Makefile.mingw delete mode 100644 vendor/ocaml/config/Makefile.mingw64 delete mode 100644 vendor/ocaml/config/Makefile.msvc delete mode 100644 vendor/ocaml/config/Makefile.msvc64 delete mode 100644 vendor/ocaml/config/auto-aux/.ignore delete mode 100644 vendor/ocaml/config/auto-aux/align.c delete mode 100644 vendor/ocaml/config/auto-aux/ansi.c delete mode 100644 vendor/ocaml/config/auto-aux/async_io.c delete mode 100644 vendor/ocaml/config/auto-aux/bytecopy.c delete mode 100644 vendor/ocaml/config/auto-aux/cfi.S delete mode 100644 vendor/ocaml/config/auto-aux/dblalign.c delete mode 100644 vendor/ocaml/config/auto-aux/divmod.c delete mode 100644 vendor/ocaml/config/auto-aux/elf.c delete mode 100644 vendor/ocaml/config/auto-aux/endian.c delete mode 100644 vendor/ocaml/config/auto-aux/expm1.c delete mode 100644 vendor/ocaml/config/auto-aux/getgroups.c delete mode 100644 vendor/ocaml/config/auto-aux/gethostbyaddr.c delete mode 100644 vendor/ocaml/config/auto-aux/gethostbyname.c delete mode 100755 vendor/ocaml/config/auto-aux/hasgot delete mode 100644 vendor/ocaml/config/auto-aux/hasgot2 delete mode 100644 vendor/ocaml/config/auto-aux/ia32sse2.c delete mode 100644 vendor/ocaml/config/auto-aux/initgroups.c delete mode 100644 vendor/ocaml/config/auto-aux/int64align.c delete mode 100644 vendor/ocaml/config/auto-aux/longlong.c delete mode 100644 vendor/ocaml/config/auto-aux/nanosecond_stat.c delete mode 100755 vendor/ocaml/config/auto-aux/runtest delete mode 100644 vendor/ocaml/config/auto-aux/schar.c delete mode 100644 vendor/ocaml/config/auto-aux/schar2.c delete mode 100755 vendor/ocaml/config/auto-aux/searchpath delete mode 100644 vendor/ocaml/config/auto-aux/setgroups.c delete mode 100755 vendor/ocaml/config/auto-aux/sharpbang delete mode 100755 vendor/ocaml/config/auto-aux/sharpbang2 delete mode 100644 vendor/ocaml/config/auto-aux/sighandler.c delete mode 100644 vendor/ocaml/config/auto-aux/signals.c delete mode 100644 vendor/ocaml/config/auto-aux/sizes.c delete mode 100644 vendor/ocaml/config/auto-aux/solaris-ld delete mode 100644 vendor/ocaml/config/auto-aux/stackov.c delete mode 100644 vendor/ocaml/config/auto-aux/tryassemble delete mode 100755 vendor/ocaml/config/auto-aux/trycompile delete mode 100755 vendor/ocaml/config/gnu/config.guess delete mode 100755 vendor/ocaml/config/gnu/config.sub delete mode 100644 vendor/ocaml/config/m-nt.h delete mode 100644 vendor/ocaml/config/m-templ.h delete mode 100644 vendor/ocaml/config/s-nt.h delete mode 100644 vendor/ocaml/config/s-templ.h delete mode 100755 vendor/ocaml/configure delete mode 100644 vendor/ocaml/debugger/.depend delete mode 100644 vendor/ocaml/debugger/.ignore delete mode 100644 vendor/ocaml/debugger/Makefile delete mode 100644 vendor/ocaml/debugger/Makefile.nt delete mode 100644 vendor/ocaml/debugger/Makefile.shared delete mode 100644 vendor/ocaml/debugger/breakpoints.ml delete mode 100644 vendor/ocaml/debugger/breakpoints.mli delete mode 100644 vendor/ocaml/debugger/checkpoints.ml delete mode 100644 vendor/ocaml/debugger/checkpoints.mli delete mode 100644 vendor/ocaml/debugger/command_line.ml delete mode 100644 vendor/ocaml/debugger/command_line.mli delete mode 100644 vendor/ocaml/debugger/debugcom.ml delete mode 100644 vendor/ocaml/debugger/debugcom.mli delete mode 100644 vendor/ocaml/debugger/debugger_config.ml delete mode 100644 vendor/ocaml/debugger/debugger_config.mli delete mode 100644 vendor/ocaml/debugger/eval.ml delete mode 100644 vendor/ocaml/debugger/eval.mli delete mode 100644 vendor/ocaml/debugger/events.ml delete mode 100644 vendor/ocaml/debugger/events.mli delete mode 100644 vendor/ocaml/debugger/exec.ml delete mode 100644 vendor/ocaml/debugger/exec.mli delete mode 100644 vendor/ocaml/debugger/frames.ml delete mode 100644 vendor/ocaml/debugger/frames.mli delete mode 100644 vendor/ocaml/debugger/history.ml delete mode 100644 vendor/ocaml/debugger/history.mli delete mode 100644 vendor/ocaml/debugger/input_handling.ml delete mode 100644 vendor/ocaml/debugger/input_handling.mli delete mode 100644 vendor/ocaml/debugger/int64ops.ml delete mode 100644 vendor/ocaml/debugger/int64ops.mli delete mode 100644 vendor/ocaml/debugger/lexer.mli delete mode 100644 vendor/ocaml/debugger/lexer.mll delete mode 100644 vendor/ocaml/debugger/loadprinter.ml delete mode 100644 vendor/ocaml/debugger/loadprinter.mli delete mode 100644 vendor/ocaml/debugger/main.ml delete mode 100644 vendor/ocaml/debugger/parameters.ml delete mode 100644 vendor/ocaml/debugger/parameters.mli delete mode 100644 vendor/ocaml/debugger/parser.mly delete mode 100644 vendor/ocaml/debugger/parser_aux.mli delete mode 100644 vendor/ocaml/debugger/pattern_matching.ml delete mode 100644 vendor/ocaml/debugger/pattern_matching.mli delete mode 100644 vendor/ocaml/debugger/pos.ml delete mode 100644 vendor/ocaml/debugger/pos.mli delete mode 100644 vendor/ocaml/debugger/primitives.ml delete mode 100644 vendor/ocaml/debugger/primitives.mli delete mode 100644 vendor/ocaml/debugger/printval.ml delete mode 100644 vendor/ocaml/debugger/printval.mli delete mode 100644 vendor/ocaml/debugger/program_loading.ml delete mode 100644 vendor/ocaml/debugger/program_loading.mli delete mode 100644 vendor/ocaml/debugger/program_management.ml delete mode 100644 vendor/ocaml/debugger/program_management.mli delete mode 100644 vendor/ocaml/debugger/question.ml delete mode 100644 vendor/ocaml/debugger/question.mli delete mode 100644 vendor/ocaml/debugger/show_information.ml delete mode 100644 vendor/ocaml/debugger/show_information.mli delete mode 100644 vendor/ocaml/debugger/show_source.ml delete mode 100644 vendor/ocaml/debugger/show_source.mli delete mode 100644 vendor/ocaml/debugger/source.ml delete mode 100644 vendor/ocaml/debugger/source.mli delete mode 100644 vendor/ocaml/debugger/symbols.ml delete mode 100644 vendor/ocaml/debugger/symbols.mli delete mode 100644 vendor/ocaml/debugger/time_travel.ml delete mode 100644 vendor/ocaml/debugger/time_travel.mli delete mode 100644 vendor/ocaml/debugger/trap_barrier.ml delete mode 100644 vendor/ocaml/debugger/trap_barrier.mli delete mode 100644 vendor/ocaml/debugger/unix_tools.ml delete mode 100644 vendor/ocaml/debugger/unix_tools.mli delete mode 100644 vendor/ocaml/driver/compenv.ml delete mode 100644 vendor/ocaml/driver/compenv.mli delete mode 100644 vendor/ocaml/driver/compile.ml delete mode 100644 vendor/ocaml/driver/compile.mli delete mode 100644 vendor/ocaml/driver/compmisc.ml delete mode 100644 vendor/ocaml/driver/compmisc.mli delete mode 100644 vendor/ocaml/driver/errors.ml delete mode 100644 vendor/ocaml/driver/errors.mli delete mode 100644 vendor/ocaml/driver/main.ml delete mode 100644 vendor/ocaml/driver/main.mli delete mode 100644 vendor/ocaml/driver/main_args.ml delete mode 100644 vendor/ocaml/driver/main_args.mli delete mode 100644 vendor/ocaml/driver/ocamlcomp.sh.in delete mode 100644 vendor/ocaml/driver/optcompile.ml delete mode 100644 vendor/ocaml/driver/optcompile.mli delete mode 100644 vendor/ocaml/driver/opterrors.ml delete mode 100644 vendor/ocaml/driver/opterrors.mli delete mode 100644 vendor/ocaml/driver/optmain.ml delete mode 100644 vendor/ocaml/driver/optmain.mli delete mode 100644 vendor/ocaml/driver/pparse.ml delete mode 100644 vendor/ocaml/driver/pparse.mli delete mode 100644 vendor/ocaml/emacs/.ignore delete mode 100644 vendor/ocaml/emacs/COPYING delete mode 100644 vendor/ocaml/emacs/Makefile delete mode 100644 vendor/ocaml/emacs/README delete mode 100644 vendor/ocaml/emacs/README.itz delete mode 100644 vendor/ocaml/emacs/caml-compat.el delete mode 100644 vendor/ocaml/emacs/caml-emacs.el delete mode 100644 vendor/ocaml/emacs/caml-font-old.el delete mode 100644 vendor/ocaml/emacs/caml-font.el delete mode 100644 vendor/ocaml/emacs/caml-help.el delete mode 100644 vendor/ocaml/emacs/caml-hilit.el delete mode 100644 vendor/ocaml/emacs/caml-types.el delete mode 100644 vendor/ocaml/emacs/caml-xemacs.el delete mode 100644 vendor/ocaml/emacs/caml.el delete mode 100644 vendor/ocaml/emacs/camldebug.el delete mode 100644 vendor/ocaml/emacs/inf-caml.el delete mode 100644 vendor/ocaml/emacs/ocamltags.in delete mode 100644 vendor/ocaml/experimental/doligez/check-bounds.diff delete mode 100755 vendor/ocaml/experimental/doligez/checkheaders delete mode 100644 vendor/ocaml/experimental/frisch/Makefile delete mode 100644 vendor/ocaml/experimental/frisch/copy_typedef.ml delete mode 100644 vendor/ocaml/experimental/frisch/eval.ml delete mode 100644 vendor/ocaml/experimental/frisch/extension_points.txt delete mode 100644 vendor/ocaml/experimental/frisch/ifdef.ml delete mode 100644 vendor/ocaml/experimental/frisch/js_syntax.ml delete mode 100644 vendor/ocaml/experimental/frisch/metaquot_test.ml delete mode 100644 vendor/ocaml/experimental/frisch/minidoc.ml delete mode 100644 vendor/ocaml/experimental/frisch/nomli.ml delete mode 100644 vendor/ocaml/experimental/frisch/ppx_builder.ml delete mode 100644 vendor/ocaml/experimental/frisch/ppx_matches.ml delete mode 100644 vendor/ocaml/experimental/frisch/test_builder.ml delete mode 100644 vendor/ocaml/experimental/frisch/test_copy_typedef.ml delete mode 100644 vendor/ocaml/experimental/frisch/test_copy_typedef.mli delete mode 100644 vendor/ocaml/experimental/frisch/test_eval.ml delete mode 100644 vendor/ocaml/experimental/frisch/test_ifdef.ml delete mode 100644 vendor/ocaml/experimental/frisch/test_js.ml delete mode 100644 vendor/ocaml/experimental/frisch/test_matches.ml delete mode 100644 vendor/ocaml/experimental/frisch/test_nomli.ml delete mode 100644 vendor/ocaml/experimental/frisch/testdoc.mli delete mode 100644 vendor/ocaml/experimental/frisch/unused_exported_values.ml delete mode 100644 vendor/ocaml/experimental/garrigue/.cvsignore delete mode 100644 vendor/ocaml/experimental/garrigue/caml_set_oid.diff delete mode 100644 vendor/ocaml/experimental/garrigue/coerce.diff delete mode 100644 vendor/ocaml/experimental/garrigue/countchars.ml delete mode 100644 vendor/ocaml/experimental/garrigue/dirs_multimatch delete mode 100644 vendor/ocaml/experimental/garrigue/dirs_poly delete mode 100644 vendor/ocaml/experimental/garrigue/fixedtypes.ml delete mode 100644 vendor/ocaml/experimental/garrigue/gadt-escape-check.diff delete mode 100644 vendor/ocaml/experimental/garrigue/generative-functors.diff delete mode 100644 vendor/ocaml/experimental/garrigue/impure-functors.diff delete mode 100644 vendor/ocaml/experimental/garrigue/marshal_objects.diff delete mode 100644 vendor/ocaml/experimental/garrigue/module-errors.diff delete mode 100644 vendor/ocaml/experimental/garrigue/multimatch.diff delete mode 100644 vendor/ocaml/experimental/garrigue/multimatch.ml delete mode 100644 vendor/ocaml/experimental/garrigue/newlabels.ps delete mode 100644 vendor/ocaml/experimental/garrigue/nongeneral-let.diff delete mode 100644 vendor/ocaml/experimental/garrigue/objvariant.diff delete mode 100644 vendor/ocaml/experimental/garrigue/objvariant.ml delete mode 100644 vendor/ocaml/experimental/garrigue/parser-lessminus.diff delete mode 100644 vendor/ocaml/experimental/garrigue/pattern-local-types.diff delete mode 100644 vendor/ocaml/experimental/garrigue/printers.ml delete mode 100644 vendor/ocaml/experimental/garrigue/propagation-to-patterns.diff delete mode 100644 vendor/ocaml/experimental/garrigue/show_types.diff delete mode 100644 vendor/ocaml/experimental/garrigue/tests.ml delete mode 100644 vendor/ocaml/experimental/garrigue/valvirt.diff delete mode 100644 vendor/ocaml/experimental/garrigue/variable-names-Tvar.diff delete mode 100644 vendor/ocaml/experimental/garrigue/variable-names.ml delete mode 100644 vendor/ocaml/experimental/garrigue/varunion.ml delete mode 100644 vendor/ocaml/experimental/garrigue/with-module-type.diff delete mode 100644 vendor/ocaml/lex/.depend delete mode 100644 vendor/ocaml/lex/.ignore delete mode 100644 vendor/ocaml/lex/Makefile delete mode 100644 vendor/ocaml/lex/Makefile.nt delete mode 100644 vendor/ocaml/lex/common.ml delete mode 100644 vendor/ocaml/lex/common.mli delete mode 100644 vendor/ocaml/lex/compact.ml delete mode 100644 vendor/ocaml/lex/compact.mli delete mode 100644 vendor/ocaml/lex/cset.ml delete mode 100644 vendor/ocaml/lex/cset.mli delete mode 100644 vendor/ocaml/lex/lexer.mli delete mode 100644 vendor/ocaml/lex/lexer.mll delete mode 100644 vendor/ocaml/lex/lexgen.ml delete mode 100644 vendor/ocaml/lex/lexgen.mli delete mode 100644 vendor/ocaml/lex/main.ml delete mode 100644 vendor/ocaml/lex/output.ml delete mode 100644 vendor/ocaml/lex/output.mli delete mode 100644 vendor/ocaml/lex/outputbis.ml delete mode 100644 vendor/ocaml/lex/outputbis.mli delete mode 100644 vendor/ocaml/lex/parser.mly delete mode 100644 vendor/ocaml/lex/syntax.ml delete mode 100644 vendor/ocaml/lex/syntax.mli delete mode 100644 vendor/ocaml/lex/table.ml delete mode 100644 vendor/ocaml/lex/table.mli delete mode 100644 vendor/ocaml/lib/ocaml/Makefile.config delete mode 100644 vendor/ocaml/lib/ocaml/VERSION delete mode 100644 vendor/ocaml/lib/ocaml/arg.ml delete mode 100644 vendor/ocaml/lib/ocaml/arg.mli delete mode 100644 vendor/ocaml/lib/ocaml/arith_status.mli delete mode 100644 vendor/ocaml/lib/ocaml/array.ml delete mode 100644 vendor/ocaml/lib/ocaml/array.mli delete mode 100644 vendor/ocaml/lib/ocaml/arrayLabels.ml delete mode 100644 vendor/ocaml/lib/ocaml/arrayLabels.mli delete mode 100644 vendor/ocaml/lib/ocaml/big_int.mli delete mode 100755 vendor/ocaml/lib/ocaml/bigarray.cmxs delete mode 100644 vendor/ocaml/lib/ocaml/bigarray.mli delete mode 100644 vendor/ocaml/lib/ocaml/buffer.ml delete mode 100644 vendor/ocaml/lib/ocaml/buffer.mli delete mode 100644 vendor/ocaml/lib/ocaml/bytes.ml delete mode 100644 vendor/ocaml/lib/ocaml/bytes.mli delete mode 100644 vendor/ocaml/lib/ocaml/bytesLabels.ml delete mode 100644 vendor/ocaml/lib/ocaml/bytesLabels.mli delete mode 100644 vendor/ocaml/lib/ocaml/callback.ml delete mode 100644 vendor/ocaml/lib/ocaml/callback.mli delete mode 100644 vendor/ocaml/lib/ocaml/caml/address_class.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/alloc.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/bigarray.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/callback.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/compatibility.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/config.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/custom.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/fail.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/gc.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/hash.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/intext.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/memory.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/misc.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/mlvalues.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/printexc.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/signals.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/socketaddr.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/unixsupport.h delete mode 100644 vendor/ocaml/lib/ocaml/caml/version.h delete mode 100644 vendor/ocaml/lib/ocaml/camlheader delete mode 100644 vendor/ocaml/lib/ocaml/camlheader_ur delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalFormat.ml delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalFormat.mli delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalFormatBasics.ml delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalFormatBasics.mli delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalLazy.ml delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalLazy.mli delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalMod.ml delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalMod.mli delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalOO.ml delete mode 100644 vendor/ocaml/lib/ocaml/camlinternalOO.mli delete mode 100644 vendor/ocaml/lib/ocaml/char.ml delete mode 100644 vendor/ocaml/lib/ocaml/char.mli delete mode 100644 vendor/ocaml/lib/ocaml/complex.ml delete mode 100644 vendor/ocaml/lib/ocaml/complex.mli delete mode 100644 vendor/ocaml/lib/ocaml/digest.ml delete mode 100644 vendor/ocaml/lib/ocaml/digest.mli delete mode 100644 vendor/ocaml/lib/ocaml/dynlink.mli delete mode 100755 vendor/ocaml/lib/ocaml/expunge delete mode 100755 vendor/ocaml/lib/ocaml/extract_crc delete mode 100644 vendor/ocaml/lib/ocaml/filename.ml delete mode 100644 vendor/ocaml/lib/ocaml/filename.mli delete mode 100644 vendor/ocaml/lib/ocaml/format.ml delete mode 100644 vendor/ocaml/lib/ocaml/format.mli delete mode 100644 vendor/ocaml/lib/ocaml/gc.ml delete mode 100644 vendor/ocaml/lib/ocaml/gc.mli delete mode 100644 vendor/ocaml/lib/ocaml/genlex.ml delete mode 100644 vendor/ocaml/lib/ocaml/genlex.mli delete mode 100644 vendor/ocaml/lib/ocaml/hashtbl.ml delete mode 100644 vendor/ocaml/lib/ocaml/hashtbl.mli delete mode 100644 vendor/ocaml/lib/ocaml/int32.ml delete mode 100644 vendor/ocaml/lib/ocaml/int32.mli delete mode 100644 vendor/ocaml/lib/ocaml/int64.ml delete mode 100644 vendor/ocaml/lib/ocaml/int64.mli delete mode 100644 vendor/ocaml/lib/ocaml/lazy.ml delete mode 100644 vendor/ocaml/lib/ocaml/lazy.mli delete mode 100644 vendor/ocaml/lib/ocaml/ld.conf delete mode 100644 vendor/ocaml/lib/ocaml/lexing.ml delete mode 100644 vendor/ocaml/lib/ocaml/lexing.mli delete mode 100644 vendor/ocaml/lib/ocaml/list.ml delete mode 100644 vendor/ocaml/lib/ocaml/list.mli delete mode 100644 vendor/ocaml/lib/ocaml/listLabels.ml delete mode 100644 vendor/ocaml/lib/ocaml/listLabels.mli delete mode 100644 vendor/ocaml/lib/ocaml/map.ml delete mode 100644 vendor/ocaml/lib/ocaml/map.mli delete mode 100644 vendor/ocaml/lib/ocaml/marshal.ml delete mode 100644 vendor/ocaml/lib/ocaml/marshal.mli delete mode 100644 vendor/ocaml/lib/ocaml/moreLabels.ml delete mode 100644 vendor/ocaml/lib/ocaml/moreLabels.mli delete mode 100644 vendor/ocaml/lib/ocaml/nat.mli delete mode 100644 vendor/ocaml/lib/ocaml/nativeint.ml delete mode 100644 vendor/ocaml/lib/ocaml/nativeint.mli delete mode 100644 vendor/ocaml/lib/ocaml/num.mli delete mode 100755 vendor/ocaml/lib/ocaml/nums.cmxs delete mode 100644 vendor/ocaml/lib/ocaml/obj.ml delete mode 100644 vendor/ocaml/lib/ocaml/obj.mli delete mode 100755 vendor/ocaml/lib/ocaml/objinfo_helper delete mode 100644 vendor/ocaml/lib/ocaml/oo.ml delete mode 100644 vendor/ocaml/lib/ocaml/oo.mli delete mode 100644 vendor/ocaml/lib/ocaml/parsing.ml delete mode 100644 vendor/ocaml/lib/ocaml/parsing.mli delete mode 100644 vendor/ocaml/lib/ocaml/pervasives.ml delete mode 100644 vendor/ocaml/lib/ocaml/pervasives.mli delete mode 100644 vendor/ocaml/lib/ocaml/printexc.ml delete mode 100644 vendor/ocaml/lib/ocaml/printexc.mli delete mode 100644 vendor/ocaml/lib/ocaml/printf.ml delete mode 100644 vendor/ocaml/lib/ocaml/printf.mli delete mode 100644 vendor/ocaml/lib/ocaml/queue.ml delete mode 100644 vendor/ocaml/lib/ocaml/queue.mli delete mode 100644 vendor/ocaml/lib/ocaml/random.ml delete mode 100644 vendor/ocaml/lib/ocaml/random.mli delete mode 100644 vendor/ocaml/lib/ocaml/ratio.mli delete mode 100644 vendor/ocaml/lib/ocaml/scanf.ml delete mode 100644 vendor/ocaml/lib/ocaml/scanf.mli delete mode 100644 vendor/ocaml/lib/ocaml/set.ml delete mode 100644 vendor/ocaml/lib/ocaml/set.mli delete mode 100644 vendor/ocaml/lib/ocaml/sort.ml delete mode 100644 vendor/ocaml/lib/ocaml/sort.mli delete mode 100644 vendor/ocaml/lib/ocaml/stack.ml delete mode 100644 vendor/ocaml/lib/ocaml/stack.mli delete mode 100644 vendor/ocaml/lib/ocaml/stdLabels.ml delete mode 100644 vendor/ocaml/lib/ocaml/stdLabels.mli delete mode 100644 vendor/ocaml/lib/ocaml/std_exit.ml delete mode 100755 vendor/ocaml/lib/ocaml/str.cmxs delete mode 100644 vendor/ocaml/lib/ocaml/str.mli delete mode 100644 vendor/ocaml/lib/ocaml/stream.ml delete mode 100644 vendor/ocaml/lib/ocaml/stream.mli delete mode 100644 vendor/ocaml/lib/ocaml/string.ml delete mode 100644 vendor/ocaml/lib/ocaml/string.mli delete mode 100644 vendor/ocaml/lib/ocaml/stringLabels.ml delete mode 100644 vendor/ocaml/lib/ocaml/stringLabels.mli delete mode 100644 vendor/ocaml/lib/ocaml/sys.ml delete mode 100644 vendor/ocaml/lib/ocaml/sys.mli delete mode 100755 vendor/ocaml/lib/ocaml/unix.cmxs delete mode 100644 vendor/ocaml/lib/ocaml/unix.mli delete mode 100644 vendor/ocaml/lib/ocaml/unixLabels.mli delete mode 100644 vendor/ocaml/lib/ocaml/vmthreads/condition.mli delete mode 100644 vendor/ocaml/lib/ocaml/vmthreads/event.mli delete mode 100644 vendor/ocaml/lib/ocaml/vmthreads/mutex.mli delete mode 100644 vendor/ocaml/lib/ocaml/vmthreads/thread.mli delete mode 100644 vendor/ocaml/lib/ocaml/vmthreads/threadUnix.mli delete mode 100644 vendor/ocaml/lib/ocaml/weak.ml delete mode 100644 vendor/ocaml/lib/ocaml/weak.mli delete mode 100644 vendor/ocaml/man/Makefile delete mode 100644 vendor/ocaml/man/ocaml.m delete mode 100644 vendor/ocaml/man/ocamlc.m delete mode 100644 vendor/ocaml/man/ocamlcp.m delete mode 100644 vendor/ocaml/man/ocamldebug.m delete mode 100644 vendor/ocaml/man/ocamldep.m delete mode 100644 vendor/ocaml/man/ocamldoc.m delete mode 100644 vendor/ocaml/man/ocamllex.m delete mode 100644 vendor/ocaml/man/ocamlmktop.m delete mode 100644 vendor/ocaml/man/ocamlopt.m delete mode 100644 vendor/ocaml/man/ocamlprof.m delete mode 100644 vendor/ocaml/man/ocamlrun.m delete mode 100644 vendor/ocaml/man/ocamlyacc.m delete mode 100644 vendor/ocaml/ocamlbuild/.depend delete mode 100644 vendor/ocaml/ocamlbuild/AUTHORS delete mode 100644 vendor/ocaml/ocamlbuild/ChangeLog delete mode 100644 vendor/ocaml/ocamlbuild/FAQ delete mode 100644 vendor/ocaml/ocamlbuild/Makefile delete mode 100644 vendor/ocaml/ocamlbuild/TODO delete mode 100644 vendor/ocaml/ocamlbuild/_tags delete mode 100644 vendor/ocaml/ocamlbuild/bool.ml delete mode 100644 vendor/ocaml/ocamlbuild/bool.mli delete mode 100644 vendor/ocaml/ocamlbuild/command.ml delete mode 100644 vendor/ocaml/ocamlbuild/command.mli delete mode 100644 vendor/ocaml/ocamlbuild/configuration.ml delete mode 100644 vendor/ocaml/ocamlbuild/configuration.mli delete mode 100644 vendor/ocaml/ocamlbuild/const.ml delete mode 100644 vendor/ocaml/ocamlbuild/digest_cache.ml delete mode 100644 vendor/ocaml/ocamlbuild/digest_cache.mli delete mode 100644 vendor/ocaml/ocamlbuild/discard_printf.ml delete mode 100644 vendor/ocaml/ocamlbuild/discard_printf.mli delete mode 100644 vendor/ocaml/ocamlbuild/display.ml delete mode 100644 vendor/ocaml/ocamlbuild/display.mli delete mode 100644 vendor/ocaml/ocamlbuild/examples/example1/hello.ml delete mode 100644 vendor/ocaml/ocamlbuild/examples/example2/greet.ml delete mode 100644 vendor/ocaml/ocamlbuild/examples/example2/hello.ml delete mode 100644 vendor/ocaml/ocamlbuild/examples/example3/epoch.ml delete mode 100755 vendor/ocaml/ocamlbuild/examples/example3/make.sh delete mode 100644 vendor/ocaml/ocamlbuild/exit_codes.ml delete mode 100644 vendor/ocaml/ocamlbuild/exit_codes.mli delete mode 100644 vendor/ocaml/ocamlbuild/fda.ml delete mode 100644 vendor/ocaml/ocamlbuild/fda.mli delete mode 100644 vendor/ocaml/ocamlbuild/findlib.ml delete mode 100644 vendor/ocaml/ocamlbuild/findlib.mli delete mode 100644 vendor/ocaml/ocamlbuild/flags.ml delete mode 100644 vendor/ocaml/ocamlbuild/flags.mli delete mode 100644 vendor/ocaml/ocamlbuild/glob.ml delete mode 100644 vendor/ocaml/ocamlbuild/glob.mli delete mode 100644 vendor/ocaml/ocamlbuild/glob_ast.ml delete mode 100644 vendor/ocaml/ocamlbuild/glob_ast.mli delete mode 100644 vendor/ocaml/ocamlbuild/glob_lexer.mli delete mode 100644 vendor/ocaml/ocamlbuild/glob_lexer.mll delete mode 100644 vendor/ocaml/ocamlbuild/hooks.ml delete mode 100644 vendor/ocaml/ocamlbuild/hooks.mli delete mode 100644 vendor/ocaml/ocamlbuild/hygiene.ml delete mode 100644 vendor/ocaml/ocamlbuild/hygiene.mli delete mode 100644 vendor/ocaml/ocamlbuild/lexers.mli delete mode 100644 vendor/ocaml/ocamlbuild/lexers.mll delete mode 100644 vendor/ocaml/ocamlbuild/loc.ml delete mode 100644 vendor/ocaml/ocamlbuild/loc.mli delete mode 100644 vendor/ocaml/ocamlbuild/log.ml delete mode 100644 vendor/ocaml/ocamlbuild/log.mli delete mode 100644 vendor/ocaml/ocamlbuild/main.ml delete mode 100644 vendor/ocaml/ocamlbuild/main.mli delete mode 100644 vendor/ocaml/ocamlbuild/man/ocamlbuild.1 delete mode 100644 vendor/ocaml/ocamlbuild/misc/opentracer.ml delete mode 100644 vendor/ocaml/ocamlbuild/my_std.ml delete mode 100644 vendor/ocaml/ocamlbuild/my_std.mli delete mode 100644 vendor/ocaml/ocamlbuild/my_unix.ml delete mode 100644 vendor/ocaml/ocamlbuild/my_unix.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_arch.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_arch.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_compiler.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_compiler.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_dependencies.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_dependencies.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_specific.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_specific.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_tools.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_tools.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_utils.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocaml_utils.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild.mltop delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild.odocl delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild_executor.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild_executor.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild_pack.mlpack delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild_plugin.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild_plugin.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild_unix_plugin.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild_unix_plugin.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild_where.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuild_where.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuildlib.mllib delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuildlight.ml delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuildlight.mli delete mode 100644 vendor/ocaml/ocamlbuild/ocamlbuildlightlib.mllib delete mode 100644 vendor/ocaml/ocamlbuild/options.ml delete mode 100644 vendor/ocaml/ocamlbuild/options.mli delete mode 100644 vendor/ocaml/ocamlbuild/param_tags.ml delete mode 100644 vendor/ocaml/ocamlbuild/param_tags.mli delete mode 100644 vendor/ocaml/ocamlbuild/pathname.ml delete mode 100644 vendor/ocaml/ocamlbuild/pathname.mli delete mode 100644 vendor/ocaml/ocamlbuild/plugin.ml delete mode 100644 vendor/ocaml/ocamlbuild/plugin.mli delete mode 100644 vendor/ocaml/ocamlbuild/ppcache.ml delete mode 100644 vendor/ocaml/ocamlbuild/ppcache.mli delete mode 100644 vendor/ocaml/ocamlbuild/report.ml delete mode 100644 vendor/ocaml/ocamlbuild/report.mli delete mode 100644 vendor/ocaml/ocamlbuild/resource.ml delete mode 100644 vendor/ocaml/ocamlbuild/resource.mli delete mode 100644 vendor/ocaml/ocamlbuild/rule.ml delete mode 100644 vendor/ocaml/ocamlbuild/rule.mli delete mode 100644 vendor/ocaml/ocamlbuild/shell.ml delete mode 100644 vendor/ocaml/ocamlbuild/shell.mli delete mode 100644 vendor/ocaml/ocamlbuild/signatures.mli delete mode 100644 vendor/ocaml/ocamlbuild/slurp.ml delete mode 100644 vendor/ocaml/ocamlbuild/slurp.mli delete mode 100644 vendor/ocaml/ocamlbuild/solver.ml delete mode 100644 vendor/ocaml/ocamlbuild/solver.mli delete mode 100755 vendor/ocaml/ocamlbuild/start.sh delete mode 100644 vendor/ocaml/ocamlbuild/tags.ml delete mode 100644 vendor/ocaml/ocamlbuild/tags.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/good-output delete mode 100755 vendor/ocaml/ocamlbuild/test/runtest.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test1/foo.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test10/dbdi delete mode 100755 vendor/ocaml/ocamlbuild/test/test10/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test11/_tags delete mode 100644 vendor/ocaml/ocamlbuild/test/test11/a/aa.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test11/a/aa.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test11/b/bb.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test11/b/libb.mllib delete mode 100644 vendor/ocaml/ocamlbuild/test/test11/myocamlbuild.ml delete mode 100755 vendor/ocaml/ocamlbuild/test/test11/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/_tags delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/tata.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/tata.mli delete mode 100755 vendor/ocaml/ocamlbuild/test/test2/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/titi.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/toto.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/tutu.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/tutu.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/tyty.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/vivi1.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/vivi2.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test2/vivi3.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/_tags delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/a.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/a.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/b.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/b.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/c.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/c.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/d.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/d.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/e.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/e.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/f.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/f.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test3/proj.odocl delete mode 100755 vendor/ocaml/ocamlbuild/test/test3/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test4/_tags delete mode 100644 vendor/ocaml/ocamlbuild/test/test4/a/aa.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test4/a/aa.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test4/b/bb.ml delete mode 100755 vendor/ocaml/ocamlbuild/test/test4/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test5/_tags delete mode 100644 vendor/ocaml/ocamlbuild/test/test5/a.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test5/a.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test5/b.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test5/c.mlpack delete mode 100644 vendor/ocaml/ocamlbuild/test/test5/d.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test5/stack.ml delete mode 100755 vendor/ocaml/ocamlbuild/test/test5/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/a.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/a.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/b.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/b.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/b.mli.v1 delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/b.mli.v2 delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/d.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/d.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/d.mli.v1 delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/d.mli.v2 delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/main.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test6/main.mli delete mode 100755 vendor/ocaml/ocamlbuild/test/test6/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/_tags delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/aa.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/bb.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/bb1.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/bb2.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/bb3.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/bbcc.mllib delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/c2.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/c2.mli delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/c3.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/cc.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/cool_plugin.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/main.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test7/myocamlbuild.ml delete mode 100755 vendor/ocaml/ocamlbuild/test/test7/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test8/a.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test8/myocamlbuild.ml delete mode 100755 vendor/ocaml/ocamlbuild/test/test8/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test9/dbgl delete mode 100755 vendor/ocaml/ocamlbuild/test/test9/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/test/test9/testglob.ml delete mode 100644 vendor/ocaml/ocamlbuild/test/test_virtual/foo.itarget delete mode 100644 vendor/ocaml/ocamlbuild/test/test_virtual/foo1 delete mode 100644 vendor/ocaml/ocamlbuild/test/test_virtual/foo2 delete mode 100644 vendor/ocaml/ocamlbuild/test/test_virtual/myocamlbuild.ml delete mode 100755 vendor/ocaml/ocamlbuild/test/test_virtual/test.sh delete mode 100644 vendor/ocaml/ocamlbuild/testsuite/README delete mode 100644 vendor/ocaml/ocamlbuild/testsuite/external.ml delete mode 100644 vendor/ocaml/ocamlbuild/testsuite/external_test_header.ml delete mode 100644 vendor/ocaml/ocamlbuild/testsuite/findlibonly.ml delete mode 100644 vendor/ocaml/ocamlbuild/testsuite/findlibonly_test_header.ml delete mode 100644 vendor/ocaml/ocamlbuild/testsuite/internal.ml delete mode 100644 vendor/ocaml/ocamlbuild/testsuite/internal_test_header.ml delete mode 100644 vendor/ocaml/ocamlbuild/testsuite/ocamlbuild_test.ml delete mode 100644 vendor/ocaml/ocamlbuild/tools.ml delete mode 100644 vendor/ocaml/ocamlbuild/tools.mli delete mode 100644 vendor/ocaml/ocamldoc/.depend delete mode 100644 vendor/ocaml/ocamldoc/.ignore delete mode 100644 vendor/ocaml/ocamldoc/Changes.txt delete mode 100644 vendor/ocaml/ocamldoc/Makefile delete mode 100644 vendor/ocaml/ocamldoc/Makefile.nt delete mode 100644 vendor/ocaml/ocamldoc/generators/odoc_literate.ml delete mode 100644 vendor/ocaml/ocamldoc/generators/odoc_todo.ml delete mode 100644 vendor/ocaml/ocamldoc/ocamldoc.hva delete mode 100644 vendor/ocaml/ocamldoc/ocamldoc.sty delete mode 100644 vendor/ocaml/ocamldoc/odoc.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_analyse.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_analyse.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_args.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_args.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_ast.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_ast.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_class.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_comments.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_comments.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_comments_global.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_comments_global.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_config.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_config.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_control.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_cross.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_cross.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_dag2html.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_dag2html.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_dep.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_dot.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_env.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_env.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_exception.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_extension.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_gen.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_gen.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_global.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_global.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_html.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_info.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_info.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_inherit.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_latex.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_latex_style.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_lexer.mll delete mode 100644 vendor/ocaml/ocamldoc/odoc_man.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_merge.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_merge.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_messages.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_misc.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_misc.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_module.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_name.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_name.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_ocamlhtml.mll delete mode 100644 vendor/ocaml/ocamldoc/odoc_parameter.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_parser.mly delete mode 100644 vendor/ocaml/ocamldoc/odoc_print.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_print.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_scan.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_search.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_search.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_see_lexer.mll delete mode 100644 vendor/ocaml/ocamldoc/odoc_sig.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_sig.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_str.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_str.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_test.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_texi.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_text.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_text.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_text_lexer.mll delete mode 100644 vendor/ocaml/ocamldoc/odoc_text_parser.mly delete mode 100644 vendor/ocaml/ocamldoc/odoc_to_text.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_type.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_types.ml delete mode 100644 vendor/ocaml/ocamldoc/odoc_types.mli delete mode 100644 vendor/ocaml/ocamldoc/odoc_value.ml delete mode 100755 vendor/ocaml/ocamldoc/remove_DEBUG delete mode 100644 vendor/ocaml/ocamldoc/runocamldoc delete mode 100644 vendor/ocaml/otherlibs/Makefile delete mode 100644 vendor/ocaml/otherlibs/Makefile.nt delete mode 100644 vendor/ocaml/otherlibs/Makefile.shared delete mode 100644 vendor/ocaml/otherlibs/bigarray/.depend delete mode 100644 vendor/ocaml/otherlibs/bigarray/Makefile delete mode 100644 vendor/ocaml/otherlibs/bigarray/Makefile.nt delete mode 100644 vendor/ocaml/otherlibs/bigarray/bigarray.h delete mode 100644 vendor/ocaml/otherlibs/bigarray/bigarray.ml delete mode 100644 vendor/ocaml/otherlibs/bigarray/bigarray.mli delete mode 100644 vendor/ocaml/otherlibs/bigarray/bigarray_stubs.c delete mode 100644 vendor/ocaml/otherlibs/bigarray/libbigarray.clib delete mode 100644 vendor/ocaml/otherlibs/bigarray/libbigarraywin32.clib delete mode 100644 vendor/ocaml/otherlibs/bigarray/mmap_unix.c delete mode 100644 vendor/ocaml/otherlibs/bigarray/mmap_win32.c delete mode 100644 vendor/ocaml/otherlibs/dynlink/.ignore delete mode 100644 vendor/ocaml/otherlibs/dynlink/Makefile delete mode 100644 vendor/ocaml/otherlibs/dynlink/Makefile.nt delete mode 100644 vendor/ocaml/otherlibs/dynlink/dynlink.ml delete mode 100644 vendor/ocaml/otherlibs/dynlink/dynlink.mli delete mode 100644 vendor/ocaml/otherlibs/dynlink/dynlinkaux.mlpack delete mode 100644 vendor/ocaml/otherlibs/dynlink/extract_crc.ml delete mode 100644 vendor/ocaml/otherlibs/dynlink/natdynlink.ml delete mode 100644 vendor/ocaml/otherlibs/graph/.depend delete mode 100644 vendor/ocaml/otherlibs/graph/Makefile delete mode 100644 vendor/ocaml/otherlibs/graph/color.c delete mode 100644 vendor/ocaml/otherlibs/graph/draw.c delete mode 100644 vendor/ocaml/otherlibs/graph/dump_img.c delete mode 100644 vendor/ocaml/otherlibs/graph/events.c delete mode 100644 vendor/ocaml/otherlibs/graph/fill.c delete mode 100644 vendor/ocaml/otherlibs/graph/graphics.ml delete mode 100644 vendor/ocaml/otherlibs/graph/graphics.mli delete mode 100644 vendor/ocaml/otherlibs/graph/graphics.mllib delete mode 100644 vendor/ocaml/otherlibs/graph/graphicsX11.ml delete mode 100644 vendor/ocaml/otherlibs/graph/graphicsX11.mli delete mode 100644 vendor/ocaml/otherlibs/graph/image.c delete mode 100644 vendor/ocaml/otherlibs/graph/image.h delete mode 100644 vendor/ocaml/otherlibs/graph/libgraph.h delete mode 100644 vendor/ocaml/otherlibs/graph/libgraphics.clib delete mode 100644 vendor/ocaml/otherlibs/graph/make_img.c delete mode 100644 vendor/ocaml/otherlibs/graph/open.c delete mode 100644 vendor/ocaml/otherlibs/graph/point_col.c delete mode 100644 vendor/ocaml/otherlibs/graph/sound.c delete mode 100644 vendor/ocaml/otherlibs/graph/subwindow.c delete mode 100644 vendor/ocaml/otherlibs/graph/text.c delete mode 100644 vendor/ocaml/otherlibs/num/.depend delete mode 100644 vendor/ocaml/otherlibs/num/.depend.nt delete mode 100644 vendor/ocaml/otherlibs/num/Makefile delete mode 100644 vendor/ocaml/otherlibs/num/Makefile.nt delete mode 100644 vendor/ocaml/otherlibs/num/README delete mode 100644 vendor/ocaml/otherlibs/num/arith_flags.ml delete mode 100644 vendor/ocaml/otherlibs/num/arith_flags.mli delete mode 100644 vendor/ocaml/otherlibs/num/arith_status.ml delete mode 100644 vendor/ocaml/otherlibs/num/arith_status.mli delete mode 100644 vendor/ocaml/otherlibs/num/big_int.ml delete mode 100644 vendor/ocaml/otherlibs/num/big_int.mli delete mode 100644 vendor/ocaml/otherlibs/num/bng.c delete mode 100644 vendor/ocaml/otherlibs/num/bng.h delete mode 100644 vendor/ocaml/otherlibs/num/bng_amd64.c delete mode 100644 vendor/ocaml/otherlibs/num/bng_arm64.c delete mode 100644 vendor/ocaml/otherlibs/num/bng_digit.c delete mode 100644 vendor/ocaml/otherlibs/num/bng_ia32.c delete mode 100644 vendor/ocaml/otherlibs/num/bng_ppc.c delete mode 100644 vendor/ocaml/otherlibs/num/bng_sparc.c delete mode 100644 vendor/ocaml/otherlibs/num/int_misc.ml delete mode 100644 vendor/ocaml/otherlibs/num/int_misc.mli delete mode 100644 vendor/ocaml/otherlibs/num/libnums.clib delete mode 100644 vendor/ocaml/otherlibs/num/nat.h delete mode 100644 vendor/ocaml/otherlibs/num/nat.ml delete mode 100644 vendor/ocaml/otherlibs/num/nat.mli delete mode 100644 vendor/ocaml/otherlibs/num/nat_stubs.c delete mode 100644 vendor/ocaml/otherlibs/num/num.ml delete mode 100644 vendor/ocaml/otherlibs/num/num.mli delete mode 100644 vendor/ocaml/otherlibs/num/nums.mllib delete mode 100644 vendor/ocaml/otherlibs/num/ratio.ml delete mode 100644 vendor/ocaml/otherlibs/num/ratio.mli delete mode 100644 vendor/ocaml/otherlibs/str/.depend delete mode 100644 vendor/ocaml/otherlibs/str/Makefile delete mode 100644 vendor/ocaml/otherlibs/str/Makefile.nt delete mode 100644 vendor/ocaml/otherlibs/str/libstr.clib delete mode 100644 vendor/ocaml/otherlibs/str/str.ml delete mode 100644 vendor/ocaml/otherlibs/str/str.mli delete mode 100644 vendor/ocaml/otherlibs/str/strstubs.c delete mode 100644 vendor/ocaml/otherlibs/systhreads/.depend delete mode 100644 vendor/ocaml/otherlibs/systhreads/.ignore delete mode 100644 vendor/ocaml/otherlibs/systhreads/Makefile delete mode 100644 vendor/ocaml/otherlibs/systhreads/Makefile.nt delete mode 100644 vendor/ocaml/otherlibs/systhreads/condition.ml delete mode 100644 vendor/ocaml/otherlibs/systhreads/condition.mli delete mode 100644 vendor/ocaml/otherlibs/systhreads/event.ml delete mode 100644 vendor/ocaml/otherlibs/systhreads/event.mli delete mode 100644 vendor/ocaml/otherlibs/systhreads/libthreads.clib delete mode 100644 vendor/ocaml/otherlibs/systhreads/mutex.ml delete mode 100644 vendor/ocaml/otherlibs/systhreads/mutex.mli delete mode 100644 vendor/ocaml/otherlibs/systhreads/st_posix.h delete mode 100644 vendor/ocaml/otherlibs/systhreads/st_stubs.c delete mode 100644 vendor/ocaml/otherlibs/systhreads/st_win32.h delete mode 100644 vendor/ocaml/otherlibs/systhreads/thread.ml delete mode 100644 vendor/ocaml/otherlibs/systhreads/thread.mli delete mode 100644 vendor/ocaml/otherlibs/systhreads/threadUnix.ml delete mode 100644 vendor/ocaml/otherlibs/systhreads/threadUnix.mli delete mode 100644 vendor/ocaml/otherlibs/systhreads/threads.h delete mode 100644 vendor/ocaml/otherlibs/systhreads/threads.mllib delete mode 100644 vendor/ocaml/otherlibs/threads/.depend delete mode 100644 vendor/ocaml/otherlibs/threads/.ignore delete mode 100644 vendor/ocaml/otherlibs/threads/Makefile delete mode 100644 vendor/ocaml/otherlibs/threads/condition.ml delete mode 100644 vendor/ocaml/otherlibs/threads/condition.mli delete mode 100644 vendor/ocaml/otherlibs/threads/event.ml delete mode 100644 vendor/ocaml/otherlibs/threads/event.mli delete mode 100644 vendor/ocaml/otherlibs/threads/libvmthreads.clib delete mode 100644 vendor/ocaml/otherlibs/threads/marshal.ml delete mode 100644 vendor/ocaml/otherlibs/threads/mutex.ml delete mode 100644 vendor/ocaml/otherlibs/threads/mutex.mli delete mode 100644 vendor/ocaml/otherlibs/threads/pervasives.ml delete mode 100644 vendor/ocaml/otherlibs/threads/scheduler.c delete mode 100644 vendor/ocaml/otherlibs/threads/thread.ml delete mode 100644 vendor/ocaml/otherlibs/threads/thread.mli delete mode 100644 vendor/ocaml/otherlibs/threads/threadUnix.ml delete mode 100644 vendor/ocaml/otherlibs/threads/threadUnix.mli delete mode 100644 vendor/ocaml/otherlibs/threads/threads.mllib delete mode 100644 vendor/ocaml/otherlibs/threads/unix.ml delete mode 100644 vendor/ocaml/otherlibs/threads/unix.mllib delete mode 100644 vendor/ocaml/otherlibs/unix/.depend delete mode 100644 vendor/ocaml/otherlibs/unix/Makefile delete mode 100644 vendor/ocaml/otherlibs/unix/accept.c delete mode 100644 vendor/ocaml/otherlibs/unix/access.c delete mode 100644 vendor/ocaml/otherlibs/unix/addrofstr.c delete mode 100644 vendor/ocaml/otherlibs/unix/alarm.c delete mode 100644 vendor/ocaml/otherlibs/unix/bind.c delete mode 100644 vendor/ocaml/otherlibs/unix/chdir.c delete mode 100644 vendor/ocaml/otherlibs/unix/chmod.c delete mode 100644 vendor/ocaml/otherlibs/unix/chown.c delete mode 100644 vendor/ocaml/otherlibs/unix/chroot.c delete mode 100644 vendor/ocaml/otherlibs/unix/close.c delete mode 100644 vendor/ocaml/otherlibs/unix/closedir.c delete mode 100644 vendor/ocaml/otherlibs/unix/connect.c delete mode 100644 vendor/ocaml/otherlibs/unix/cst2constr.c delete mode 100644 vendor/ocaml/otherlibs/unix/cst2constr.h delete mode 100644 vendor/ocaml/otherlibs/unix/cstringv.c delete mode 100644 vendor/ocaml/otherlibs/unix/dup.c delete mode 100644 vendor/ocaml/otherlibs/unix/dup2.c delete mode 100644 vendor/ocaml/otherlibs/unix/envir.c delete mode 100644 vendor/ocaml/otherlibs/unix/errmsg.c delete mode 100644 vendor/ocaml/otherlibs/unix/execv.c delete mode 100644 vendor/ocaml/otherlibs/unix/execve.c delete mode 100644 vendor/ocaml/otherlibs/unix/execvp.c delete mode 100644 vendor/ocaml/otherlibs/unix/exit.c delete mode 100644 vendor/ocaml/otherlibs/unix/fchmod.c delete mode 100644 vendor/ocaml/otherlibs/unix/fchown.c delete mode 100644 vendor/ocaml/otherlibs/unix/fcntl.c delete mode 100644 vendor/ocaml/otherlibs/unix/fork.c delete mode 100644 vendor/ocaml/otherlibs/unix/ftruncate.c delete mode 100644 vendor/ocaml/otherlibs/unix/getaddrinfo.c delete mode 100644 vendor/ocaml/otherlibs/unix/getcwd.c delete mode 100644 vendor/ocaml/otherlibs/unix/getegid.c delete mode 100644 vendor/ocaml/otherlibs/unix/geteuid.c delete mode 100644 vendor/ocaml/otherlibs/unix/getgid.c delete mode 100644 vendor/ocaml/otherlibs/unix/getgr.c delete mode 100644 vendor/ocaml/otherlibs/unix/getgroups.c delete mode 100644 vendor/ocaml/otherlibs/unix/gethost.c delete mode 100644 vendor/ocaml/otherlibs/unix/gethostname.c delete mode 100644 vendor/ocaml/otherlibs/unix/getlogin.c delete mode 100644 vendor/ocaml/otherlibs/unix/getnameinfo.c delete mode 100644 vendor/ocaml/otherlibs/unix/getpeername.c delete mode 100644 vendor/ocaml/otherlibs/unix/getpid.c delete mode 100644 vendor/ocaml/otherlibs/unix/getppid.c delete mode 100644 vendor/ocaml/otherlibs/unix/getproto.c delete mode 100644 vendor/ocaml/otherlibs/unix/getpw.c delete mode 100644 vendor/ocaml/otherlibs/unix/getserv.c delete mode 100644 vendor/ocaml/otherlibs/unix/getsockname.c delete mode 100644 vendor/ocaml/otherlibs/unix/gettimeofday.c delete mode 100644 vendor/ocaml/otherlibs/unix/getuid.c delete mode 100644 vendor/ocaml/otherlibs/unix/gmtime.c delete mode 100644 vendor/ocaml/otherlibs/unix/initgroups.c delete mode 100644 vendor/ocaml/otherlibs/unix/isatty.c delete mode 100644 vendor/ocaml/otherlibs/unix/itimer.c delete mode 100644 vendor/ocaml/otherlibs/unix/kill.c delete mode 100644 vendor/ocaml/otherlibs/unix/libunix.clib delete mode 100644 vendor/ocaml/otherlibs/unix/link.c delete mode 100644 vendor/ocaml/otherlibs/unix/listen.c delete mode 100644 vendor/ocaml/otherlibs/unix/lockf.c delete mode 100644 vendor/ocaml/otherlibs/unix/lseek.c delete mode 100644 vendor/ocaml/otherlibs/unix/mkdir.c delete mode 100644 vendor/ocaml/otherlibs/unix/mkfifo.c delete mode 100644 vendor/ocaml/otherlibs/unix/nanosecond_stat.h delete mode 100644 vendor/ocaml/otherlibs/unix/nice.c delete mode 100644 vendor/ocaml/otherlibs/unix/open.c delete mode 100644 vendor/ocaml/otherlibs/unix/opendir.c delete mode 100644 vendor/ocaml/otherlibs/unix/pipe.c delete mode 100644 vendor/ocaml/otherlibs/unix/putenv.c delete mode 100644 vendor/ocaml/otherlibs/unix/read.c delete mode 100644 vendor/ocaml/otherlibs/unix/readdir.c delete mode 100644 vendor/ocaml/otherlibs/unix/readlink.c delete mode 100644 vendor/ocaml/otherlibs/unix/rename.c delete mode 100644 vendor/ocaml/otherlibs/unix/rewinddir.c delete mode 100644 vendor/ocaml/otherlibs/unix/rmdir.c delete mode 100644 vendor/ocaml/otherlibs/unix/select.c delete mode 100644 vendor/ocaml/otherlibs/unix/sendrecv.c delete mode 100644 vendor/ocaml/otherlibs/unix/setgid.c delete mode 100644 vendor/ocaml/otherlibs/unix/setgroups.c delete mode 100644 vendor/ocaml/otherlibs/unix/setsid.c delete mode 100644 vendor/ocaml/otherlibs/unix/setuid.c delete mode 100644 vendor/ocaml/otherlibs/unix/shutdown.c delete mode 100644 vendor/ocaml/otherlibs/unix/signals.c delete mode 100644 vendor/ocaml/otherlibs/unix/sleep.c delete mode 100644 vendor/ocaml/otherlibs/unix/socket.c delete mode 100644 vendor/ocaml/otherlibs/unix/socketaddr.c delete mode 100644 vendor/ocaml/otherlibs/unix/socketaddr.h delete mode 100644 vendor/ocaml/otherlibs/unix/socketpair.c delete mode 100644 vendor/ocaml/otherlibs/unix/sockopt.c delete mode 100644 vendor/ocaml/otherlibs/unix/stat.c delete mode 100644 vendor/ocaml/otherlibs/unix/strofaddr.c delete mode 100644 vendor/ocaml/otherlibs/unix/symlink.c delete mode 100644 vendor/ocaml/otherlibs/unix/termios.c delete mode 100644 vendor/ocaml/otherlibs/unix/time.c delete mode 100644 vendor/ocaml/otherlibs/unix/times.c delete mode 100644 vendor/ocaml/otherlibs/unix/truncate.c delete mode 100644 vendor/ocaml/otherlibs/unix/umask.c delete mode 100644 vendor/ocaml/otherlibs/unix/unix.ml delete mode 100644 vendor/ocaml/otherlibs/unix/unix.mli delete mode 100644 vendor/ocaml/otherlibs/unix/unix.mllib delete mode 100644 vendor/ocaml/otherlibs/unix/unixLabels.ml delete mode 100644 vendor/ocaml/otherlibs/unix/unixLabels.mli delete mode 100644 vendor/ocaml/otherlibs/unix/unixsupport.c delete mode 100644 vendor/ocaml/otherlibs/unix/unixsupport.h delete mode 100644 vendor/ocaml/otherlibs/unix/unlink.c delete mode 100644 vendor/ocaml/otherlibs/unix/utimes.c delete mode 100644 vendor/ocaml/otherlibs/unix/wait.c delete mode 100644 vendor/ocaml/otherlibs/unix/write.c delete mode 100644 vendor/ocaml/otherlibs/win32graph/.ignore delete mode 100644 vendor/ocaml/otherlibs/win32graph/Makefile.nt delete mode 100644 vendor/ocaml/otherlibs/win32graph/dib.c delete mode 100644 vendor/ocaml/otherlibs/win32graph/draw.c delete mode 100755 vendor/ocaml/otherlibs/win32graph/events.c delete mode 100644 vendor/ocaml/otherlibs/win32graph/libgraph.h delete mode 100644 vendor/ocaml/otherlibs/win32graph/libgraphics.clib delete mode 100644 vendor/ocaml/otherlibs/win32graph/open.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/.depend delete mode 100644 vendor/ocaml/otherlibs/win32unix/.ignore delete mode 100644 vendor/ocaml/otherlibs/win32unix/Makefile delete mode 100644 vendor/ocaml/otherlibs/win32unix/Makefile.nt delete mode 100644 vendor/ocaml/otherlibs/win32unix/accept.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/bind.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/channels.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/close.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/close_on.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/connect.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/createprocess.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/dup.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/dup2.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/errmsg.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/getpeername.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/getpid.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/getsockname.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/gettimeofday.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/libunix.clib delete mode 100644 vendor/ocaml/otherlibs/win32unix/link.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/listen.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/lockf.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/lseek.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/mkdir.c delete mode 100755 vendor/ocaml/otherlibs/win32unix/nonblock.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/open.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/pipe.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/read.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/rename.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/select.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/sendrecv.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/shutdown.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/sleep.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/socket.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/socketaddr.h delete mode 100644 vendor/ocaml/otherlibs/win32unix/sockopt.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/startup.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/stat.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/system.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/times.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/unix.ml delete mode 100644 vendor/ocaml/otherlibs/win32unix/unixsupport.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/unixsupport.h delete mode 100644 vendor/ocaml/otherlibs/win32unix/windbug.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/windbug.h delete mode 100644 vendor/ocaml/otherlibs/win32unix/windir.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/winlist.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/winlist.h delete mode 100644 vendor/ocaml/otherlibs/win32unix/winwait.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/winworker.c delete mode 100644 vendor/ocaml/otherlibs/win32unix/winworker.h delete mode 100644 vendor/ocaml/otherlibs/win32unix/write.c delete mode 100644 vendor/ocaml/parsing/.ignore delete mode 100644 vendor/ocaml/parsing/ast_helper.ml delete mode 100644 vendor/ocaml/parsing/ast_helper.mli delete mode 100644 vendor/ocaml/parsing/ast_mapper.ml delete mode 100644 vendor/ocaml/parsing/ast_mapper.mli delete mode 100644 vendor/ocaml/parsing/asttypes.mli delete mode 100644 vendor/ocaml/parsing/depend.ml delete mode 100644 vendor/ocaml/parsing/depend.mli delete mode 100644 vendor/ocaml/parsing/docstrings.ml delete mode 100644 vendor/ocaml/parsing/docstrings.mli delete mode 100644 vendor/ocaml/parsing/lexer.ml delete mode 100644 vendor/ocaml/parsing/lexer.mli delete mode 100644 vendor/ocaml/parsing/lexer.mll delete mode 100644 vendor/ocaml/parsing/location.ml delete mode 100644 vendor/ocaml/parsing/location.mli delete mode 100644 vendor/ocaml/parsing/longident.ml delete mode 100644 vendor/ocaml/parsing/longident.mli delete mode 100644 vendor/ocaml/parsing/parse.ml delete mode 100644 vendor/ocaml/parsing/parse.mli delete mode 100644 vendor/ocaml/parsing/parser.ml delete mode 100644 vendor/ocaml/parsing/parser.mli delete mode 100644 vendor/ocaml/parsing/parser.mly delete mode 100644 vendor/ocaml/parsing/parsetree.mli delete mode 100644 vendor/ocaml/parsing/pprintast.ml delete mode 100644 vendor/ocaml/parsing/pprintast.mli delete mode 100644 vendor/ocaml/parsing/printast.ml delete mode 100644 vendor/ocaml/parsing/printast.mli delete mode 100644 vendor/ocaml/parsing/syntaxerr.ml delete mode 100644 vendor/ocaml/parsing/syntaxerr.mli delete mode 100644 vendor/ocaml/stdlib/.depend delete mode 100644 vendor/ocaml/stdlib/.ignore delete mode 100755 vendor/ocaml/stdlib/Compflags delete mode 100644 vendor/ocaml/stdlib/Makefile delete mode 100644 vendor/ocaml/stdlib/Makefile.nt delete mode 100755 vendor/ocaml/stdlib/Makefile.shared delete mode 100644 vendor/ocaml/stdlib/StdlibModules delete mode 100644 vendor/ocaml/stdlib/arg.ml delete mode 100644 vendor/ocaml/stdlib/arg.mli delete mode 100644 vendor/ocaml/stdlib/array.ml delete mode 100644 vendor/ocaml/stdlib/array.mli delete mode 100644 vendor/ocaml/stdlib/arrayLabels.ml delete mode 100644 vendor/ocaml/stdlib/arrayLabels.mli delete mode 100644 vendor/ocaml/stdlib/buffer.ml delete mode 100644 vendor/ocaml/stdlib/buffer.mli delete mode 100644 vendor/ocaml/stdlib/bytes.ml delete mode 100644 vendor/ocaml/stdlib/bytes.mli delete mode 100644 vendor/ocaml/stdlib/bytesLabels.ml delete mode 100644 vendor/ocaml/stdlib/bytesLabels.mli delete mode 100644 vendor/ocaml/stdlib/callback.ml delete mode 100644 vendor/ocaml/stdlib/callback.mli delete mode 100644 vendor/ocaml/stdlib/camlinternalFormat.ml delete mode 100644 vendor/ocaml/stdlib/camlinternalFormat.mli delete mode 100644 vendor/ocaml/stdlib/camlinternalFormatBasics.ml delete mode 100644 vendor/ocaml/stdlib/camlinternalFormatBasics.mli delete mode 100644 vendor/ocaml/stdlib/camlinternalLazy.ml delete mode 100644 vendor/ocaml/stdlib/camlinternalLazy.mli delete mode 100644 vendor/ocaml/stdlib/camlinternalMod.ml delete mode 100644 vendor/ocaml/stdlib/camlinternalMod.mli delete mode 100644 vendor/ocaml/stdlib/camlinternalOO.ml delete mode 100644 vendor/ocaml/stdlib/camlinternalOO.mli delete mode 100644 vendor/ocaml/stdlib/char.ml delete mode 100644 vendor/ocaml/stdlib/char.mli delete mode 100644 vendor/ocaml/stdlib/complex.ml delete mode 100644 vendor/ocaml/stdlib/complex.mli delete mode 100644 vendor/ocaml/stdlib/digest.ml delete mode 100644 vendor/ocaml/stdlib/digest.mli delete mode 100644 vendor/ocaml/stdlib/filename.ml delete mode 100644 vendor/ocaml/stdlib/filename.mli delete mode 100644 vendor/ocaml/stdlib/format.ml delete mode 100644 vendor/ocaml/stdlib/format.mli delete mode 100644 vendor/ocaml/stdlib/gc.ml delete mode 100644 vendor/ocaml/stdlib/gc.mli delete mode 100644 vendor/ocaml/stdlib/genlex.ml delete mode 100644 vendor/ocaml/stdlib/genlex.mli delete mode 100644 vendor/ocaml/stdlib/hashtbl.ml delete mode 100644 vendor/ocaml/stdlib/hashtbl.mli delete mode 100644 vendor/ocaml/stdlib/header.c delete mode 100644 vendor/ocaml/stdlib/headernt.c delete mode 100644 vendor/ocaml/stdlib/int32.ml delete mode 100644 vendor/ocaml/stdlib/int32.mli delete mode 100644 vendor/ocaml/stdlib/int64.ml delete mode 100644 vendor/ocaml/stdlib/int64.mli delete mode 100644 vendor/ocaml/stdlib/lazy.ml delete mode 100644 vendor/ocaml/stdlib/lazy.mli delete mode 100644 vendor/ocaml/stdlib/lexing.ml delete mode 100644 vendor/ocaml/stdlib/lexing.mli delete mode 100644 vendor/ocaml/stdlib/list.ml delete mode 100644 vendor/ocaml/stdlib/list.mli delete mode 100644 vendor/ocaml/stdlib/listLabels.ml delete mode 100644 vendor/ocaml/stdlib/listLabels.mli delete mode 100644 vendor/ocaml/stdlib/map.ml delete mode 100644 vendor/ocaml/stdlib/map.mli delete mode 100644 vendor/ocaml/stdlib/marshal.ml delete mode 100644 vendor/ocaml/stdlib/marshal.mli delete mode 100644 vendor/ocaml/stdlib/moreLabels.ml delete mode 100644 vendor/ocaml/stdlib/moreLabels.mli delete mode 100644 vendor/ocaml/stdlib/nativeint.ml delete mode 100644 vendor/ocaml/stdlib/nativeint.mli delete mode 100644 vendor/ocaml/stdlib/obj.ml delete mode 100644 vendor/ocaml/stdlib/obj.mli delete mode 100644 vendor/ocaml/stdlib/oo.ml delete mode 100644 vendor/ocaml/stdlib/oo.mli delete mode 100644 vendor/ocaml/stdlib/parsing.ml delete mode 100644 vendor/ocaml/stdlib/parsing.mli delete mode 100644 vendor/ocaml/stdlib/pervasives.ml delete mode 100644 vendor/ocaml/stdlib/pervasives.mli delete mode 100644 vendor/ocaml/stdlib/printexc.ml delete mode 100644 vendor/ocaml/stdlib/printexc.mli delete mode 100644 vendor/ocaml/stdlib/printf.ml delete mode 100644 vendor/ocaml/stdlib/printf.mli delete mode 100644 vendor/ocaml/stdlib/queue.ml delete mode 100644 vendor/ocaml/stdlib/queue.mli delete mode 100644 vendor/ocaml/stdlib/random.ml delete mode 100644 vendor/ocaml/stdlib/random.mli delete mode 100644 vendor/ocaml/stdlib/scanf.ml delete mode 100644 vendor/ocaml/stdlib/scanf.mli delete mode 100644 vendor/ocaml/stdlib/set.ml delete mode 100644 vendor/ocaml/stdlib/set.mli delete mode 100644 vendor/ocaml/stdlib/sharpbang delete mode 100644 vendor/ocaml/stdlib/sort.ml delete mode 100644 vendor/ocaml/stdlib/sort.mli delete mode 100644 vendor/ocaml/stdlib/stack.ml delete mode 100644 vendor/ocaml/stdlib/stack.mli delete mode 100644 vendor/ocaml/stdlib/stdLabels.ml delete mode 100644 vendor/ocaml/stdlib/stdLabels.mli delete mode 100644 vendor/ocaml/stdlib/std_exit.ml delete mode 100644 vendor/ocaml/stdlib/stdlib.mllib delete mode 100644 vendor/ocaml/stdlib/stream.ml delete mode 100644 vendor/ocaml/stdlib/stream.mli delete mode 100644 vendor/ocaml/stdlib/string.ml delete mode 100644 vendor/ocaml/stdlib/string.mli delete mode 100644 vendor/ocaml/stdlib/stringLabels.ml delete mode 100644 vendor/ocaml/stdlib/stringLabels.mli delete mode 100644 vendor/ocaml/stdlib/sys.mli delete mode 100644 vendor/ocaml/stdlib/sys.mlp delete mode 100644 vendor/ocaml/stdlib/weak.ml delete mode 100644 vendor/ocaml/stdlib/weak.mli delete mode 100644 vendor/ocaml/super_packed.ml delete mode 100644 vendor/ocaml/testsuite/.ignore delete mode 100644 vendor/ocaml/testsuite/Makefile delete mode 100644 vendor/ocaml/testsuite/external/.ignore delete mode 100644 vendor/ocaml/testsuite/external/Makefile delete mode 100755 vendor/ocaml/testsuite/external/Patcher.sh delete mode 100644 vendor/ocaml/testsuite/external/TODO.txt delete mode 100644 vendor/ocaml/testsuite/external/boomerang-0.2.patch delete mode 100644 vendor/ocaml/testsuite/external/camlimages-4.0.1.patch delete mode 100644 vendor/ocaml/testsuite/external/camlp5-6.06.patch delete mode 100644 vendor/ocaml/testsuite/external/camlp5-6.08.patch delete mode 100644 vendor/ocaml/testsuite/external/camlp5-6.10.patch delete mode 100644 vendor/ocaml/testsuite/external/camlp5-git.patch delete mode 100644 vendor/ocaml/testsuite/external/camlpdf-0.5.patch delete mode 100644 vendor/ocaml/testsuite/external/camlzip-1.04.patch delete mode 100644 vendor/ocaml/testsuite/external/coq-8.3pl4.patch delete mode 100644 vendor/ocaml/testsuite/external/coq-8.4pl1.patch delete mode 100644 vendor/ocaml/testsuite/external/coq-8.4pl2.patch delete mode 100644 vendor/ocaml/testsuite/external/core-109.37.00.patch delete mode 100644 vendor/ocaml/testsuite/external/core-suite-108.00.01.patch delete mode 100644 vendor/ocaml/testsuite/external/extlib-1.5.2.patch delete mode 100644 vendor/ocaml/testsuite/external/frama-c-Nitrogen-20111001.patch delete mode 100644 vendor/ocaml/testsuite/external/frama-c-Oxygen-20120901.patch delete mode 100644 vendor/ocaml/testsuite/external/hevea-1.10.patch delete mode 100644 vendor/ocaml/testsuite/external/kaputt-1.2.patch delete mode 100644 vendor/ocaml/testsuite/external/lablgtk-2.14.2.patch delete mode 100644 vendor/ocaml/testsuite/external/lablgtk-2.16.0.patch delete mode 100644 vendor/ocaml/testsuite/external/lablgtkextras-1.1.patch delete mode 100644 vendor/ocaml/testsuite/external/lablgtkextras-1.3.patch delete mode 100644 vendor/ocaml/testsuite/external/lwt-2.4.0.patch delete mode 100644 vendor/ocaml/testsuite/external/menhir-20120123.patch delete mode 100644 vendor/ocaml/testsuite/external/mldonkey-3.1.2.patch delete mode 100644 vendor/ocaml/testsuite/external/oasis-common.patch delete mode 100644 vendor/ocaml/testsuite/external/obrowser-1.1.1.patch delete mode 100644 vendor/ocaml/testsuite/external/ocaml-bitstring-2.0.3.patch delete mode 100644 vendor/ocaml/testsuite/external/ocaml-mysql-1.0.4.patch.disabled delete mode 100644 vendor/ocaml/testsuite/external/ocamlnet-3.5.1.patch delete mode 100644 vendor/ocaml/testsuite/external/ocsigen-bundle-2.2.2.patch delete mode 100644 vendor/ocaml/testsuite/external/omake-0.9.8.6.patch delete mode 100644 vendor/ocaml/testsuite/external/sks-1.1.3.patch delete mode 100644 vendor/ocaml/testsuite/external/vsyml-2010-04-06.patch delete mode 100644 vendor/ocaml/testsuite/external/xml-light-2.2.patch delete mode 100644 vendor/ocaml/testsuite/interactive/lib-gc/Makefile delete mode 100644 vendor/ocaml/testsuite/interactive/lib-gc/alloc.ml delete mode 100644 vendor/ocaml/testsuite/interactive/lib-graph-2/Makefile delete mode 100644 vendor/ocaml/testsuite/interactive/lib-graph-2/graph_test.ml delete mode 100644 vendor/ocaml/testsuite/interactive/lib-graph-2/graph_test.reference delete mode 100644 vendor/ocaml/testsuite/interactive/lib-graph-3/Makefile delete mode 100644 vendor/ocaml/testsuite/interactive/lib-graph-3/sorts.ml delete mode 100644 vendor/ocaml/testsuite/interactive/lib-graph-3/sorts.reference delete mode 100644 vendor/ocaml/testsuite/interactive/lib-graph/Makefile delete mode 100644 vendor/ocaml/testsuite/interactive/lib-graph/graph_example.ml delete mode 100644 vendor/ocaml/testsuite/interactive/lib-graph/graph_example.reference delete mode 100644 vendor/ocaml/testsuite/interactive/lib-signals/Makefile delete mode 100644 vendor/ocaml/testsuite/interactive/lib-signals/signals.ml delete mode 100644 vendor/ocaml/testsuite/lib/Makefile delete mode 100644 vendor/ocaml/testsuite/lib/empty delete mode 100644 vendor/ocaml/testsuite/lib/testing.ml delete mode 100644 vendor/ocaml/testsuite/lib/testing.mli delete mode 100644 vendor/ocaml/testsuite/makefiles/Makefile.common delete mode 100644 vendor/ocaml/testsuite/makefiles/Makefile.okbad delete mode 100644 vendor/ocaml/testsuite/makefiles/Makefile.one delete mode 100644 vendor/ocaml/testsuite/makefiles/Makefile.several delete mode 100644 vendor/ocaml/testsuite/makefiles/Makefile.toplevel delete mode 100644 vendor/ocaml/testsuite/makefiles/summarize.awk delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/alpha.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/amd64.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/arith.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/arm.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/arm64.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/checkbound.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/fib.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/hppa.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/i386.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/i386nt.asm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/ia64.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/integr.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/lexcmm.mli delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/lexcmm.mll delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/m68k.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/main.c delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/main.ml delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/mainarith.c delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/mips.s delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/optargs.ml delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/parsecmm.mly delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/parsecmmaux.ml delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/parsecmmaux.mli delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/power-aix.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/power-elf.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/power-rhapsody.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/quicksort.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/quicksort2.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/soli.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/sparc.S delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/staticalloc.ml delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/tagged-fib.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/tagged-integr.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/tagged-quicksort.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/tagged-tak.cmm delete mode 100644 vendor/ocaml/testsuite/tests/asmcomp/tak.cmm delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace..reference delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace.a.reference delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace.b.reference delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace.c.reference delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace.d.reference delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace.ml delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace2.ml delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace2.reference delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace_deprecated.ml delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace_deprecated.reference delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace_slots.ml delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtrace_slots.reference delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtraces_and_finalizers.ml delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/backtraces_and_finalizers.reference delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/raw_backtrace.ml delete mode 100644 vendor/ocaml/testsuite/tests/backtrace/raw_backtrace.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-float/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/basic-float/float_record.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-float/float_record.mli delete mode 100644 vendor/ocaml/testsuite/tests/basic-float/tfloat_record.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-float/tfloat_record.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-io-2/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/basic-io-2/io.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-io-2/io.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-io-2/test-file-short-lines delete mode 100644 vendor/ocaml/testsuite/tests/basic-io/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/basic-io/wc.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-io/wc.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-manyargs/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/basic-manyargs/manyargs.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-manyargs/manyargs.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-manyargs/manyargsprim.c delete mode 100644 vendor/ocaml/testsuite/tests/basic-modules/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/basic-modules/main.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-modules/main.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-modules/offset.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/bounds.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/bounds.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/morematch.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/morematch.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/pr2719.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/pr2719.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/pr6216.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/pr6216.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/tbuffer.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/tbuffer.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/testrandom.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/testrandom.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/tformat.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/tformat.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/tprintf.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-more/tprintf.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-multdef/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/basic-multdef/multdef.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-multdef/multdef.mli delete mode 100644 vendor/ocaml/testsuite/tests/basic-multdef/usemultdef.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-multdef/usemultdef.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic-private/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/basic-private/length.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-private/length.mli delete mode 100644 vendor/ocaml/testsuite/tests/basic-private/tlength.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic-private/tlength.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/basic/arrays.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/arrays.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/bigints.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/bigints.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/boxedints.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/boxedints.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/constprop.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/constprop.mlp delete mode 100644 vendor/ocaml/testsuite/tests/basic/constprop.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/divint.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/divint.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/equality.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/equality.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/float.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/float.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/includestruct.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/includestruct.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/maps.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/maps.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/patmatch.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/patmatch.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/recvalues.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/recvalues.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/sets.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/sets.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/stringmatch.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/stringmatch.reference delete mode 100644 vendor/ocaml/testsuite/tests/basic/tailcalls.ml delete mode 100644 vendor/ocaml/testsuite/tests/basic/tailcalls.reference delete mode 100644 vendor/ocaml/testsuite/tests/callback/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/callback/callbackprim.c delete mode 100644 vendor/ocaml/testsuite/tests/callback/reference delete mode 100644 vendor/ocaml/testsuite/tests/callback/tcallback.ml delete mode 100644 vendor/ocaml/testsuite/tests/embedded/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/embedded/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/embedded/cmcaml.ml delete mode 100644 vendor/ocaml/testsuite/tests/embedded/cmmain.c delete mode 100644 vendor/ocaml/testsuite/tests/embedded/cmstub.c delete mode 100644 vendor/ocaml/testsuite/tests/embedded/program.reference delete mode 100644 vendor/ocaml/testsuite/tests/exotic-syntax/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/exotic-syntax/exotic.ml delete mode 100644 vendor/ocaml/testsuite/tests/exotic-syntax/exotic.reference delete mode 100644 vendor/ocaml/testsuite/tests/float-unboxing/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/float-unboxing/float_subst_boxed_number.ml delete mode 100644 vendor/ocaml/testsuite/tests/float-unboxing/float_subst_boxed_number.reference delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/deprecated_unsigned_printers.ml delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/deprecated_unsigned_printers.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/ignored_scan_counters.ml delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/ignored_scan_counters.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/invalid_formats.ml delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/invalid_formats.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/legacy_incompatible_flags.ml delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/legacy_unfinished_modifiers.ml delete mode 100644 vendor/ocaml/testsuite/tests/formats-transition/legacy_unfinished_modifiers.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/gc-roots/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/gc-roots/globroots.ml delete mode 100644 vendor/ocaml/testsuite/tests/gc-roots/globroots.reference delete mode 100644 vendor/ocaml/testsuite/tests/gc-roots/globrootsprim.c delete mode 100644 vendor/ocaml/testsuite/tests/letrec/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/letrec/backreferences.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/backreferences.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/class_1.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/class_1.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/class_2.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/class_2.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/evaluation_order_1.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/evaluation_order_1.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/evaluation_order_2.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/evaluation_order_2.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/evaluation_order_3.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/evaluation_order_3.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/float_block_1.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/float_block_1.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/float_block_2.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/float_block_2.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/lists.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/lists.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/mixing_value_closures_1.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/mixing_value_closures_1.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/mixing_value_closures_2.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/mixing_value_closures_2.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/mutual_functions.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/mutual_functions.reference delete mode 100644 vendor/ocaml/testsuite/tests/letrec/record_with.ml delete mode 100644 vendor/ocaml/testsuite/tests/letrec/record_with.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray-2/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray-2/bigarrf.f delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray-2/bigarrfml.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray-2/bigarrfml.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray-2/bigarrfstub.c delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray/bigarrays.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray/bigarrays.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray/fftba.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray/fftba.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray/pr5115.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-bigarray/pr5115.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-digest/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-digest/md5.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-digest/md5.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/custom.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/main.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/main.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/plug1.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/plug2.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/registry.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/static.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/stub1.c delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-bytecode/stub2.c delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-csharp/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-csharp/bytecode.reference delete mode 100755 vendor/ocaml/testsuite/tests/lib-dynlink-csharp/entry.c delete mode 100755 vendor/ocaml/testsuite/tests/lib-dynlink-csharp/main.cs delete mode 100755 vendor/ocaml/testsuite/tests/lib-dynlink-csharp/main.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-csharp/native.reference delete mode 100755 vendor/ocaml/testsuite/tests/lib-dynlink-csharp/plugin.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/Makefile delete mode 100755 vendor/ocaml/testsuite/tests/lib-dynlink-native/a.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/api.ml delete mode 100755 vendor/ocaml/testsuite/tests/lib-dynlink-native/b.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/bug.ml delete mode 100755 vendor/ocaml/testsuite/tests/lib-dynlink-native/c.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/factorial.c delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/main.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/pack_client.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/packed1.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/packed1_client.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/plugin.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/plugin.mli delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/plugin2.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/plugin4.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/plugin_ext.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/plugin_high_arity.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/plugin_ref.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/plugin_simple.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/plugin_thread.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/sub/api.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/sub/api.mli delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/sub/plugin.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-dynlink-native/sub/plugin3.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-format/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-format/pr6824.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-format/pr6824.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-format/tformat.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-format/tformat.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-hashtbl/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-hashtbl/hfun.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-hashtbl/hfun.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-hashtbl/htbl.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-hashtbl/htbl.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-marshal/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-marshal/intext.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-marshal/intext.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-marshal/intextaux.c delete mode 100644 vendor/ocaml/testsuite/tests/lib-num-2/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-num-2/pi_big_int.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-num-2/pi_big_int.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-num-2/pi_num.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-num-2/pi_num.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-num/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-num/end_test.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-num/end_test.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-num/test.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-num/test_big_ints.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-num/test_io.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-num/test_nats.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-num/test_nums.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-num/test_ratios.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-printf/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-printf/pr6534.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-printf/pr6534.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-printf/tprintf.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-printf/tprintf.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-random/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-random/rand.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-random/rand.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-scanf-2/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-scanf-2/reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-scanf-2/tscanf2_io.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-scanf-2/tscanf2_master.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-scanf-2/tscanf2_slave.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-scanf/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/lib-scanf/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-scanf/tscanf.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-scanf/tscanf.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-set/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-set/testmap.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-set/testmap.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-set/testset.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-set/testset.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-str/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-str/t01.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-str/t01.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-stream/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-stream/count_concat_bug.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-stream/count_concat_bug.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-systhreads/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-systhreads/testfork.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-systhreads/testfork.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-systhreads/testfork.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/close.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/close.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/sieve.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/sieve.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test-file-short-lines delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test1.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test1.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test1.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test2.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test2.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test3.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test3.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test3.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test3.runner delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test4.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test4.data delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test4.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test4.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test4.runner delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test5.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test5.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test5.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test5.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test5.runner delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test6.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test6.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test6.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test6.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test6.runner delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test7.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test7.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test7.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test7.runner delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test8.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test8.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test8.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test9.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test9.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test9.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/test9.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testA.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testA.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testA.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testexit.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testexit.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testexit.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testio.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testio.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsieve.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsieve.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsignal.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsignal.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsignal.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsignal.runner delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsignal2.checker delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsignal2.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsignal2.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsignal2.runner delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsocket.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsocket.precheck delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/testsocket.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/token1.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/token1.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/token2.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/token2.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/torture.data delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/torture.ml delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/torture.reference delete mode 100644 vendor/ocaml/testsuite/tests/lib-threads/torture.runner delete mode 100644 vendor/ocaml/testsuite/tests/match-exception-warnings/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/match-exception-warnings/exhaustiveness_warnings.ml delete mode 100644 vendor/ocaml/testsuite/tests/match-exception-warnings/exhaustiveness_warnings.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/allocation.ml delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/allocation.reference delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/exception_propagation.ml delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/exception_propagation.reference delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/match_failure.ml delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/match_failure.reference delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/nested_handlers.ml delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/nested_handlers.reference delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/raise_from_success_continuation.ml delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/raise_from_success_continuation.reference delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/streams.ml delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/streams.reference delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/tail_calls.ml delete mode 100644 vendor/ocaml/testsuite/tests/match-exception/tail_calls.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/equations.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/equations.mli delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/kb.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/kb.mli delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/kbmain.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/kbmain.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/orderings.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/orderings.mli delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/terms.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc-kb/terms.mli delete mode 100644 vendor/ocaml/testsuite/tests/misc-unsafe/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/misc-unsafe/almabench.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc-unsafe/almabench.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc-unsafe/fft.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc-unsafe/fft.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc-unsafe/quicksort.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc-unsafe/quicksort.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc-unsafe/soli.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc-unsafe/soli.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/misc/bdd.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/bdd.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/boyer.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/boyer.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/fib.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/fib.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/hamming.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/hamming.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/nucleic.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/nucleic.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/sieve.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/sieve.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/sorts.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/sorts.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/takc.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/takc.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/taku.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/taku.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/weaklifetime.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/weaklifetime.reference delete mode 100644 vendor/ocaml/testsuite/tests/misc/weaktest.ml delete mode 100644 vendor/ocaml/testsuite/tests/misc/weaktest.reference delete mode 100644 vendor/ocaml/testsuite/tests/prim-bigstring/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/prim-bigstring/bigstring_access.ml delete mode 100644 vendor/ocaml/testsuite/tests/prim-bigstring/bigstring_access.reference delete mode 100644 vendor/ocaml/testsuite/tests/prim-bigstring/string_access.ml delete mode 100644 vendor/ocaml/testsuite/tests/prim-bigstring/string_access.reference delete mode 100644 vendor/ocaml/testsuite/tests/prim-bswap/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/prim-bswap/bswap.ml delete mode 100644 vendor/ocaml/testsuite/tests/prim-bswap/bswap.reference delete mode 100644 vendor/ocaml/testsuite/tests/prim-revapply/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/prim-revapply/apply.ml delete mode 100644 vendor/ocaml/testsuite/tests/prim-revapply/apply.reference delete mode 100644 vendor/ocaml/testsuite/tests/prim-revapply/revapply.ml delete mode 100644 vendor/ocaml/testsuite/tests/prim-revapply/revapply.reference delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr5080-notes/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr5080-notes/pr5080_notes_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr5233/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr5233/pr5233.ml delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr5233/pr5233.reference delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr5757/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr5757/pr5757.ml delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr5757/pr5757.reference delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr6024/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr6024/pr6024.ml delete mode 100644 vendor/ocaml/testsuite/tests/regression/pr6024/pr6024.reference delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/stackoverflow.bytecode.checker delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/stackoverflow.bytecode.reference delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/stackoverflow.ml delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/stackoverflow.native.checker delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/stackoverflow.native.reference delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/syserror.bytecode.checker delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/syserror.bytecode.reference delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/syserror.ml delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/syserror.native.checker delete mode 100644 vendor/ocaml/testsuite/tests/runtime-errors/syserror.native.reference delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/basic/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/basic/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/basic/debuggee.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/basic/debuggee.reference delete mode 100755 vendor/ocaml/testsuite/tests/tool-debugger/basic/input_script delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/find-artifacts/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/find-artifacts/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/find-artifacts/debuggee.reference delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/find-artifacts/in/blah.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/find-artifacts/in/foo.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/find-artifacts/input_script delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/no_debug_event/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/no_debug_event/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/no_debug_event/a.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/no_debug_event/b.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/no_debug_event/input_script delete mode 100644 vendor/ocaml/testsuite/tests/tool-debugger/no_debug_event/noev.reference delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/gram_aux.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/grammar.mly delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/input delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/lexgen.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/main.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/main.reference delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/output.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/scan_aux.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/scanner.mll delete mode 100644 vendor/ocaml/testsuite/tests/tool-lexyacc/syntax.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/lib.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t000.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t010-const0.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t010-const1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t010-const2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t010-const3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t011-constint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t020.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t021-pushconst1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t021-pushconst2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t021-pushconst3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t022-pushconstint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t040-makeblock1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t040-makeblock2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t040-makeblock3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t041-makeblock.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t050-getglobal.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t050-pushgetglobal.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t051-getglobalfield.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t051-pushgetglobalfield.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t060-raise.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t070-branch.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t070-branchif.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t070-branchifnot.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t071-boolnot.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t080-eq.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t080-geint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t080-gtint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t080-leint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t080-ltint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t080-neq.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t090-acc0.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t090-acc1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t090-acc2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t090-acc3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t090-acc4.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t090-acc5.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t090-acc6.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t090-acc7.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t091-acc.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t092-pushacc.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t092-pushacc0.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t092-pushacc1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t092-pushacc2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t092-pushacc3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t092-pushacc4.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t092-pushacc5.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t092-pushacc6.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t092-pushacc7.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t093-pushacc.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t100-pushtrap.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t101-poptrap.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-addint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-andint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-asrint-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-asrint-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-divint-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-divint-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-divint-3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-lslint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-lsrint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-modint-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-modint-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-mulint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-negint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-offsetint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-orint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-subint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t110-xorint.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t120-getstringchar.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t121-setstringchar.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t130-getvectitem.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t130-vectlength.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t131-setvectitem.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t140-switch-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t140-switch-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t140-switch-3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t140-switch-4.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t141-switch-5.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t141-switch-6.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t141-switch-7.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t142-switch-8.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t142-switch-9.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t142-switch-A.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t150-push-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t150-push-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t160-closure.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t161-apply1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t162-return.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t163.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t164-apply2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t164-apply3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t165-apply.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t170-envacc2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t170-envacc3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t170-envacc4.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t171-envacc.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t172-pushenvacc1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t172-pushenvacc2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t172-pushenvacc3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t172-pushenvacc4.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t173-pushenvacc.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t180-appterm1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t180-appterm2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t180-appterm3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t181-appterm.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t190-makefloatblock-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t190-makefloatblock-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t190-makefloatblock-3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t191-vectlength.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t192-getfloatfield-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t192-getfloatfield-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t193-setfloatfield-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t193-setfloatfield-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t200-getfield0.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t200-getfield1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t200-getfield2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t200-getfield3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t201-getfield.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t210-setfield0.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t210-setfield1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t210-setfield2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t210-setfield3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t211-setfield.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t220-assign.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t230-check_signals.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t240-c_call1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t240-c_call2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t240-c_call3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t240-c_call4.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t240-c_call5.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t250-closurerec-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t250-closurerec-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t251-pushoffsetclosure0.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t251-pushoffsetclosure2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t251-pushoffsetclosurem2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t252-pushoffsetclosure.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t253-offsetclosure0.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t253-offsetclosure2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t253-offsetclosurem2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t254-offsetclosure.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t260-offsetref.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t270-push_retaddr.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t300-getmethod.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t301-object.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t310-alloc-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t310-alloc-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t320-gc-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t320-gc-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t320-gc-3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t330-compact-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t330-compact-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t330-compact-3.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t330-compact-4.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t340-weak.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t350-heapcheck.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t360-stacks-1.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocaml/t360-stacks-2.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocamldoc/.ignore delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocamldoc/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocamldoc/odoc_test.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocamldoc/t01.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocamldoc/t01.reference delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocamldoc/t02.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocamldoc/t02.reference delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocamldoc/t03.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-ocamldoc/t03.reference delete mode 100644 vendor/ocaml/testsuite/tests/tool-toplevel/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/tool-toplevel/tracing.ml delete mode 100644 vendor/ocaml/testsuite/tests/tool-toplevel/tracing.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-extensions/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-extensions/cast.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-extensions/cast.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-extensions/extensions.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-extensions/extensions.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-extensions/msg.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-extensions/msg.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-extensions/open_types.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-extensions/open_types.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-fstclassmod/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-fstclassmod/fstclassmod.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-fstclassmod/fstclassmod.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/didier.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/dynamic_frisch.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/dynamic_frisch.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/dynamic_frisch.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/omega07.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/omega07.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/omega07.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5332.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5332.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5689.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5689.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5689.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5785.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5785.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5848.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5848.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5906.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5906.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5948.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5948.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5981.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5981.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5985.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5985.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5989.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5989.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5997.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr5997.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6158.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6158.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6158.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6163.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6163.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6163.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6174.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6174.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6174.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6241.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6241.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6241.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6690.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6690.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6690.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6817.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/pr6817.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/term-conv.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/term-conv.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/term-conv.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/test.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/test.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/test.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/unify_mb.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/unify_mb.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/unify_mb.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/yallop_bugs.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/yallop_bugs.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-gadts/yallop_bugs.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-implicit_unpack/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-implicit_unpack/implicit_unpack.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-implicit_unpack/implicit_unpack.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-labels/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-labels/mixin.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-labels/mixin.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-labels/mixin2.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-labels/mixin2.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-labels/mixin3.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-labels/mixin3.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc-bugs/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc-bugs/pr6303_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/constraints.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/constraints.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/labels.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/labels.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/labels.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/occur_check.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/occur_check.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/polyvars.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/polyvars.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/polyvars.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/records.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/records.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/records.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/variant.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/variant.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/wellfounded.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/wellfounded.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-misc/wellfounded.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules-bugs/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules-bugs/gatien_baron_20131019_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules-bugs/pr5164_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules-bugs/pr5914_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules-bugs/pr6240_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules-bugs/pr6293_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules-bugs/pr6427_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules-bugs/pr6513_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules-bugs/pr6572_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/Test.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/Test.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/Test.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/a.mli delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/aliases.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/aliases.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/b.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/b2.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/b3.mli delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/d.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/firstclass.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/firstclass.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/generative.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/generative.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/pr5911.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-modules/pr5911.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/pr3968_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/pr4018_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/pr4435_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/pr4766_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/pr4824_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/pr4824a_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/pr5156_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/woodyatt_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects-bugs/yamagata021012_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/Exemples.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/Exemples.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/Exemples.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/Tests.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/Tests.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/Tests.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr5619_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr5619_bad.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr5619_bad.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr5858.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr5858.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr6123_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr6123_bad.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr6123_bad.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr6383.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-objects/pr6383.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-poly-bugs/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-poly-bugs/pr5322_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-poly-bugs/pr5673_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-poly-bugs/pr5673_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-poly/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-poly/poly.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-poly/poly.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-poly/poly.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs-2/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs-2/pr3918a.mli delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs-2/pr3918b.mli delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs-2/pr3918c.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs/pr4775_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs/pr4933_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs/pr5057_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs/pr5057a_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-polyvariants-bugs/privrowsabate_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-private-bugs/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-private-bugs/pr5026_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-private-bugs/pr5469_ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-private/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-private/private.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-private/private.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-private/private.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t01bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t02bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t03ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t04bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t05bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t06ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t07bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t08bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t09bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t10ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t11bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t12bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t13ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t14bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t15bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t16ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t17ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t18ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t19ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t20ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t21ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t22ok.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-recmod/t22ok.mli delete mode 100644 vendor/ocaml/testsuite/tests/typing-rectypes-bugs/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-rectypes-bugs/pr5343_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-rectypes-bugs/pr6174_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-rectypes-bugs/pr6870_bad.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-short-paths/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-short-paths/pr5918.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-short-paths/pr5918.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-short-paths/pr6836.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-short-paths/pr6836.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-short-paths/short-paths.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-short-paths/short-paths.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-signatures/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-signatures/els.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-signatures/els.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-signatures/pr6371.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-signatures/pr6371.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-sigsubst/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-sigsubst/sigsubst.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-sigsubst/sigsubst.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-typeparam/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-typeparam/newtype.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-typeparam/newtype.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/coercions.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/coercions.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/coercions.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/pr5892.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/pr5892.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/pr6872.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/pr6872.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/pr6872.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/records.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/records.ml.principal.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/records.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/unused_types.ml delete mode 100644 vendor/ocaml/testsuite/tests/typing-warnings/unused_types.ml.reference delete mode 100644 vendor/ocaml/testsuite/tests/utils/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/utils/edit_distance.ml delete mode 100644 vendor/ocaml/testsuite/tests/utils/edit_distance.reference delete mode 100644 vendor/ocaml/testsuite/tests/warnings/Makefile delete mode 100644 vendor/ocaml/testsuite/tests/warnings/w01.ml delete mode 100644 vendor/ocaml/testsuite/tests/warnings/w01.reference delete mode 100644 vendor/ocaml/testsuite/typing delete mode 100644 vendor/ocaml/tools/.depend delete mode 100644 vendor/ocaml/tools/.ignore delete mode 100644 vendor/ocaml/tools/Makefile delete mode 100644 vendor/ocaml/tools/Makefile.nt delete mode 100644 vendor/ocaml/tools/Makefile.shared delete mode 100644 vendor/ocaml/tools/addlabels.ml delete mode 100755 vendor/ocaml/tools/check-typo delete mode 100644 vendor/ocaml/tools/checkstack.c delete mode 100755 vendor/ocaml/tools/ci-build delete mode 100644 vendor/ocaml/tools/cleanup-header delete mode 100644 vendor/ocaml/tools/cmt2annot.ml delete mode 100644 vendor/ocaml/tools/cvt_emit.mll delete mode 100644 vendor/ocaml/tools/dumpobj.ml delete mode 100644 vendor/ocaml/tools/eqparsetree.ml delete mode 100644 vendor/ocaml/tools/lexer299.mll delete mode 100644 vendor/ocaml/tools/lexer301.mll delete mode 100644 vendor/ocaml/tools/magic delete mode 100644 vendor/ocaml/tools/make-opcodes delete mode 100755 vendor/ocaml/tools/make-package-macosx delete mode 100755 vendor/ocaml/tools/make-version-header.sh delete mode 100644 vendor/ocaml/tools/objinfo.ml delete mode 100644 vendor/ocaml/tools/objinfo_helper.c delete mode 100755 vendor/ocaml/tools/ocaml-objcopy-macosx delete mode 100644 vendor/ocaml/tools/ocaml299to3.ml delete mode 100644 vendor/ocaml/tools/ocamlcp.ml delete mode 100644 vendor/ocaml/tools/ocamldep.ml delete mode 100644 vendor/ocaml/tools/ocamlmklib.ml delete mode 100644 vendor/ocaml/tools/ocamlmktop.ml delete mode 100644 vendor/ocaml/tools/ocamlmktop.tpl delete mode 100644 vendor/ocaml/tools/ocamloptp.ml delete mode 100644 vendor/ocaml/tools/ocamlprof.ml delete mode 100755 vendor/ocaml/tools/ocamlsize delete mode 100644 vendor/ocaml/tools/primreq.ml delete mode 100644 vendor/ocaml/tools/profiling.ml delete mode 100644 vendor/ocaml/tools/profiling.mli delete mode 100644 vendor/ocaml/tools/read_cmt.ml delete mode 100644 vendor/ocaml/tools/scrapelabels.ml delete mode 100755 vendor/ocaml/tools/setignore delete mode 100644 vendor/ocaml/tools/tast_iter.ml delete mode 100644 vendor/ocaml/tools/tast_iter.mli delete mode 100644 vendor/ocaml/tools/untypeast.ml delete mode 100644 vendor/ocaml/tools/untypeast.mli delete mode 100644 vendor/ocaml/toplevel/expunge.ml delete mode 100644 vendor/ocaml/toplevel/genprintval.ml delete mode 100644 vendor/ocaml/toplevel/genprintval.mli delete mode 100644 vendor/ocaml/toplevel/opttopdirs.ml delete mode 100644 vendor/ocaml/toplevel/opttopdirs.mli delete mode 100644 vendor/ocaml/toplevel/opttoploop.ml delete mode 100644 vendor/ocaml/toplevel/opttoploop.mli delete mode 100644 vendor/ocaml/toplevel/opttopmain.ml delete mode 100644 vendor/ocaml/toplevel/opttopmain.mli delete mode 100644 vendor/ocaml/toplevel/opttopstart.ml delete mode 100644 vendor/ocaml/toplevel/topdirs.ml delete mode 100644 vendor/ocaml/toplevel/topdirs.mli delete mode 100644 vendor/ocaml/toplevel/toplevellib.mllib delete mode 100644 vendor/ocaml/toplevel/toploop.ml delete mode 100644 vendor/ocaml/toplevel/toploop.mli delete mode 100644 vendor/ocaml/toplevel/topmain.ml delete mode 100644 vendor/ocaml/toplevel/topmain.mli delete mode 100644 vendor/ocaml/toplevel/topstart.ml delete mode 100644 vendor/ocaml/toplevel/trace.ml delete mode 100644 vendor/ocaml/toplevel/trace.mli delete mode 100644 vendor/ocaml/typing/annot.mli delete mode 100644 vendor/ocaml/typing/btype.ml delete mode 100644 vendor/ocaml/typing/btype.mli delete mode 100644 vendor/ocaml/typing/cmi_format.ml delete mode 100644 vendor/ocaml/typing/cmi_format.mli delete mode 100644 vendor/ocaml/typing/cmt_format.ml delete mode 100644 vendor/ocaml/typing/cmt_format.mli delete mode 100644 vendor/ocaml/typing/ctype.ml delete mode 100644 vendor/ocaml/typing/ctype.mli delete mode 100644 vendor/ocaml/typing/datarepr.ml delete mode 100644 vendor/ocaml/typing/datarepr.mli delete mode 100644 vendor/ocaml/typing/env.ml delete mode 100644 vendor/ocaml/typing/env.mli delete mode 100644 vendor/ocaml/typing/envaux.ml delete mode 100644 vendor/ocaml/typing/envaux.mli delete mode 100644 vendor/ocaml/typing/ident.ml delete mode 100644 vendor/ocaml/typing/ident.mli delete mode 100644 vendor/ocaml/typing/includeclass.ml delete mode 100644 vendor/ocaml/typing/includeclass.mli delete mode 100644 vendor/ocaml/typing/includecore.ml delete mode 100644 vendor/ocaml/typing/includecore.mli delete mode 100644 vendor/ocaml/typing/includemod.ml delete mode 100644 vendor/ocaml/typing/includemod.mli delete mode 100644 vendor/ocaml/typing/mtype.ml delete mode 100644 vendor/ocaml/typing/mtype.mli delete mode 100644 vendor/ocaml/typing/oprint.ml delete mode 100644 vendor/ocaml/typing/oprint.mli delete mode 100644 vendor/ocaml/typing/outcometree.mli delete mode 100644 vendor/ocaml/typing/parmatch.ml delete mode 100644 vendor/ocaml/typing/parmatch.mli delete mode 100644 vendor/ocaml/typing/path.ml delete mode 100644 vendor/ocaml/typing/path.mli delete mode 100644 vendor/ocaml/typing/predef.ml delete mode 100644 vendor/ocaml/typing/predef.mli delete mode 100644 vendor/ocaml/typing/primitive.ml delete mode 100644 vendor/ocaml/typing/primitive.mli delete mode 100644 vendor/ocaml/typing/printtyp.ml delete mode 100644 vendor/ocaml/typing/printtyp.mli delete mode 100644 vendor/ocaml/typing/printtyped.ml delete mode 100644 vendor/ocaml/typing/printtyped.mli delete mode 100644 vendor/ocaml/typing/stypes.ml delete mode 100644 vendor/ocaml/typing/stypes.mli delete mode 100644 vendor/ocaml/typing/subst.ml delete mode 100644 vendor/ocaml/typing/subst.mli delete mode 100644 vendor/ocaml/typing/typeclass.ml delete mode 100644 vendor/ocaml/typing/typeclass.mli delete mode 100644 vendor/ocaml/typing/typecore.ml delete mode 100644 vendor/ocaml/typing/typecore.mli delete mode 100644 vendor/ocaml/typing/typedecl.ml delete mode 100644 vendor/ocaml/typing/typedecl.mli delete mode 100644 vendor/ocaml/typing/typedtree.ml delete mode 100644 vendor/ocaml/typing/typedtree.mli delete mode 100644 vendor/ocaml/typing/typedtreeIter.ml delete mode 100644 vendor/ocaml/typing/typedtreeIter.mli delete mode 100644 vendor/ocaml/typing/typedtreeMap.ml delete mode 100644 vendor/ocaml/typing/typedtreeMap.mli delete mode 100644 vendor/ocaml/typing/typemod.ml delete mode 100644 vendor/ocaml/typing/typemod.mli delete mode 100644 vendor/ocaml/typing/types.ml delete mode 100644 vendor/ocaml/typing/types.mli delete mode 100644 vendor/ocaml/typing/typetexp.ml delete mode 100644 vendor/ocaml/typing/typetexp.mli delete mode 100644 vendor/ocaml/utils/.ignore delete mode 100644 vendor/ocaml/utils/ccomp.ml delete mode 100644 vendor/ocaml/utils/ccomp.mli delete mode 100644 vendor/ocaml/utils/clflags.ml delete mode 100644 vendor/ocaml/utils/clflags.mli delete mode 100644 vendor/ocaml/utils/config.mlbuild delete mode 100644 vendor/ocaml/utils/config.mli delete mode 100644 vendor/ocaml/utils/config.mlp delete mode 100644 vendor/ocaml/utils/consistbl.ml delete mode 100644 vendor/ocaml/utils/consistbl.mli delete mode 100644 vendor/ocaml/utils/misc.ml delete mode 100644 vendor/ocaml/utils/misc.mli delete mode 100644 vendor/ocaml/utils/tbl.ml delete mode 100644 vendor/ocaml/utils/tbl.mli delete mode 100644 vendor/ocaml/utils/terminfo.ml delete mode 100644 vendor/ocaml/utils/terminfo.mli delete mode 100644 vendor/ocaml/utils/warnings.ml delete mode 100644 vendor/ocaml/utils/warnings.mli delete mode 100644 vendor/ocaml/yacc/.ignore delete mode 100644 vendor/ocaml/yacc/Makefile delete mode 100644 vendor/ocaml/yacc/Makefile.nt delete mode 100644 vendor/ocaml/yacc/closure.c delete mode 100644 vendor/ocaml/yacc/defs.h delete mode 100644 vendor/ocaml/yacc/error.c delete mode 100644 vendor/ocaml/yacc/lalr.c delete mode 100644 vendor/ocaml/yacc/lr0.c delete mode 100644 vendor/ocaml/yacc/main.c delete mode 100644 vendor/ocaml/yacc/mkpar.c delete mode 100644 vendor/ocaml/yacc/output.c delete mode 100644 vendor/ocaml/yacc/reader.c delete mode 100644 vendor/ocaml/yacc/skeleton.c delete mode 100644 vendor/ocaml/yacc/symtab.c delete mode 100644 vendor/ocaml/yacc/verbose.c delete mode 100644 vendor/ocaml/yacc/warshall.c diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..0dc1ec997 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "printWidth": 90, + "singleQuote": true, + "bracketSpacing": false, + "trailingComma": "all", + "jsxBracketSameLine": true +} diff --git a/Makefile b/Makefile index e805f2cc9..31d848001 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,6 @@ libs: #$(MAKE) -C jscomp/runtime -j8 all #$(MAKE) -C jscomp/others -j8 all #$(MAKE) -C jscomp/stdlib -j8 all - DEST=lib/ocaml RUNTIME=jscomp/runtime @@ -40,7 +39,5 @@ install: # $(RUNTIME)/js_typed_array.ml $(RUNTIME)/js_typed_array.cmi \ # $(STDLIB)/*.cm* $(STDLIB)/*.ml $(STDLIB)/*.mli \ # $(OTHERS)/*.ml $(OTHERS)/*.mli $(OTHERS)/*.cm* $(DEST) - cp -r $(OCAML)/lib/ocaml/caml $(DEST) - .PHONY: libs world diff --git a/bin/ninja.exe b/bin/ninja.exe deleted file mode 100755 index 43e0d6c52d356cc8646ef85675266848841b4a34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180756 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

9VgT_SFKNJ^<1yDHes;MO`;8; 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 xHaZ2JW4#h>o(wa)@#V?Dav`D|", + "esy": { + "build": [ + ["make", "world"], + ["make", "install"], + ["cp", "-rf", "#{self.target_dir / 'lib' }", "#{self.install}"], + ["cp", "-rf", "#{self.target_dir / 'vendor' }", "#{self.install}"], + ["cp", "-rf", "#{ocaml.lib / 'ocaml' / 'caml' }", "#{self.lib}"] + ], + "install": [], + "buildsInSource": true, + "exportedEnv": { + "bs_custom_resolution": { + "val": "true", + "scope": "global" + }, + "bs_platform__install": { + "val": "#{self.install}", + "scope": "global" + }, + "PATH": { + "val": "#{self.lib : $PATH}", + "scope": "global" + } + } + }, + "dependencies": { + "@esy-cross/ninja-build": "^1.8.2", + "@esy-ocaml/esy-installer": "^0.0.0", + "@esy-ocaml/substs": "^0.0.1", + "ocaml": "~4.6.1" + }, + "peerDependencies": { + "ocaml": "~4.6.1" + }, + "devDependencies": { + "@esy-ocaml/merlin": "*" + } +} diff --git a/jscomp/bsb/bsb_clean.ml b/jscomp/bsb/bsb_clean.ml index 462ae082e..a3e5a03a2 100644 --- a/jscomp/bsb/bsb_clean.ml +++ b/jscomp/bsb/bsb_clean.ml @@ -26,9 +26,9 @@ let (//) = Ext_path.combine -let ninja_clean ~nested bsc_dir proj_dir = - try - let cmd = bsc_dir // "ninja.exe" in +let ninja_clean ~nested bsc_dir proj_dir = + try + let cmd = bsc_dir // "ninja.exe" in let cwd = proj_dir // nested // Bsb_config.lib_bs in if Sys.file_exists cwd then let eid = diff --git a/jscomp/bsb/bsb_main.ml b/jscomp/bsb/bsb_main.ml index 0fc203b3c..0814282f2 100644 --- a/jscomp/bsb/bsb_main.ml +++ b/jscomp/bsb/bsb_main.ml @@ -226,7 +226,7 @@ let () = try begin let ocaml_dir = Bsb_build_util.get_ocaml_dir cwd in let vendor_ninja = bsc_dir // "ninja.exe" in - match Sys.argv with + match Sys.argv with (* Both of those are equivalent and the watcher will always pass in the `-backend` flag. *) | [| _; "-backend"; _ |] | [| _ |] -> (* specialize this path [bsb.exe] which is used in watcher *) diff --git a/lib/bsb.ml b/lib/bsb.ml index 6a815b02f..b6ee8bfec 100644 --- a/lib/bsb.ml +++ b/lib/bsb.ml @@ -6535,9 +6535,9 @@ end = struct let (//) = Ext_path.combine -let ninja_clean ~nested bsc_dir proj_dir = - try - let cmd = bsc_dir // "ninja.exe" in +let ninja_clean ~nested bsc_dir proj_dir = + try + let cmd = bsc_dir // "ninja.exe" in let cwd = proj_dir // nested // Bsb_config.lib_bs in if Sys.file_exists cwd then let eid = @@ -20438,7 +20438,7 @@ let () = try begin let ocaml_dir = Bsb_build_util.get_ocaml_dir cwd in let vendor_ninja = bsc_dir // "ninja.exe" in - match Sys.argv with + match Sys.argv with (* Both of those are equivalent and the watcher will always pass in the `-backend` flag. *) | [| _; "-backend"; _ |] | [| _ |] -> (* specialize this path [bsb.exe] which is used in watcher *) diff --git a/opam.in b/opam.in deleted file mode 100644 index 6d3bad7b2..000000000 --- a/opam.in +++ /dev/null @@ -1,14 +0,0 @@ -opam-version: "1.2" -name: "bsbnative" -version: "2.1.1" -license: "SEE LICENSE IN LICENSE" -homepage: "https://github.com/bucklescript/bucklescript#readme" -bug-reports: "https://github.com/bucklescript/bucklescript/issues" -dev-repo: "git+https://github.com/bucklescript/bucklescript.git" -authors: [ "Hongbo Zhang <>" ] -maintainer: "hongbo_zhang " -tags: [ "ocaml" "bucklescript" "stdlib" "functional programming" ] -build: [ - [ "./scripts/opam_install.sh" "%{sbin}%" ] -] -available: [ ocaml-version = "4.02.3" ] diff --git a/package.json b/package.json index 995decbe4..6fdc513ea 100644 --- a/package.json +++ b/package.json @@ -25,24 +25,24 @@ "test": "go build -o test.exe scripts/test.go && ./test.exe", "test-theme": "go run scripts/test.go -no-install-global -no-ounit -no-mocha -no-bsb", "test-bsb": "go run scripts/test.go -no-install-global -no-ounit -no-mocha -no-theme", - "test-ocaml": "go run scripts/test.go -no-install-global -no-mocha -no-theme -no-bsb", - "cover": "istanbul cover --report html ./node_modules/.bin/_mocha -- ./jscomp/test/**/*test.js && open coverage/index.html", - "coverage": "istanbul cover ./node_modules/.bin/_mocha --report lcovonly -- './jscomp/test/*test.js'", - "coveralls": "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info" + "test-ocaml": + "go run scripts/test.go -no-install-global -no-mocha -no-theme -no-bsb", + "cover": + "istanbul cover --report html ./node_modules/.bin/_mocha -- ./jscomp/test/**/*test.js && open coverage/index.html", + "coverage": + "istanbul cover ./node_modules/.bin/_mocha --report lcovonly -- './jscomp/test/*test.js'", + "coveralls": + "npm run-script coverage && node ./node_modules/.bin/coveralls < coverage/lcov.info" }, "name": "bs-platform", "version": "2.1.1", - "description": "bucklescript compiler, ocaml standard libary by bucklescript and its required runtime support", + "description": + "bucklescript compiler, ocaml standard libary by bucklescript and its required runtime support", "repository": { "type": "git", "url": "git+https://github.com/bucklescript/bucklescript.git" }, - "keywords": [ - "ocaml", - "bucklescript", - "stdlib", - "functional programming" - ], + "keywords": ["ocaml", "bucklescript", "stdlib", "functional programming"], "author": { "name": "Hongbo Zhang" }, @@ -57,28 +57,6 @@ "url": "https://github.com/bucklescript/bucklescript/issues" }, "homepage": "https://github.com/bucklescript/bucklescript#readme", - "esy": { - "build": [ - [ "node", "scripts/install.js" ], - [ "cp", "-r", "-f", "#{self.target_dir / 'lib' }", "#{self.install}" ], - [ "cp", "-r", "-f", "#{self.target_dir / 'vendor' }", "#{self.install}" ] - ], - "buildsInSource": true, - "exportedEnv": { - "bs_custom_resolution": { - "val": "true", - "scope": "global" - }, - "bs_platform__install": { - "val": "#{self.install}", - "scope": "global" - }, - "PATH": { - "val": "#{bs-platform.lib : $PATH}", - "scope": "global" - } - } - }, "opam": { "type": "binary", "installPath": "bin", @@ -99,11 +77,5 @@ "binaries": { "./bin/bsb.exe": "bsb" } - }, - "dependencies": { - "ocaml": "~4.6.1" - }, - "peerDependencies": { - "ocaml": "~4.6.1" } } diff --git a/vendor/ninja-build/COPYING b/vendor/ninja-build/COPYING deleted file mode 100644 index 131cb1da4..000000000 --- a/vendor/ninja-build/COPYING +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2010 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/ninja-build/ninja.darwin b/vendor/ninja-build/ninja.darwin deleted file mode 100755 index 491451902003aa5098d489ee071c087891ded3c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184804 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

fIVaq~PQeh3B@;wHt9;)6ocsUhPB<+&Ys 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

)!-u2%5$FkDdQD?4@tAKL? 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�*bml6ab2)S)W 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 z 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%0D5XOvI%DWG#U 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 z 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 SJ5Zaf? expanded variable value. - self.vars = {} - # Map of rule name => dict of rule attributes. - self.rules = { - 'phony': {} - } - - def comment(self, text): - return self.writer.comment(text) - - def newline(self): - return self.writer.newline() - - def variable(self, key, val): - # In bootstrap mode, we have no ninja process to catch /showIncludes - # output. - self.vars[key] = self._expand(val).replace('/showIncludes', '') - return self.writer.variable(key, val) - - def rule(self, name, **kwargs): - self.rules[name] = kwargs - return self.writer.rule(name, **kwargs) - - def build(self, outputs, rule, inputs=None, **kwargs): - ruleattr = self.rules[rule] - cmd = ruleattr.get('command') - if cmd is None: # A phony rule, for example. - return - - # Implement just enough of Ninja variable expansion etc. to - # make the bootstrap build work. - local_vars = { - 'in': self._expand_paths(inputs), - 'out': self._expand_paths(outputs) - } - for key, val in kwargs.get('variables', []): - local_vars[key] = ' '.join(ninja_syntax.as_list(val)) - - self._run_command(self._expand(cmd, local_vars)) - - return self.writer.build(outputs, rule, inputs, **kwargs) - - def default(self, paths): - return self.writer.default(paths) - - def _expand_paths(self, paths): - """Expand $vars in an array of paths, e.g. from a 'build' block.""" - paths = ninja_syntax.as_list(paths) - return ' '.join(map(self._shell_escape, (map(self._expand, paths)))) - - def _expand(self, str, local_vars={}): - """Expand $vars in a string.""" - return ninja_syntax.expand(str, self.vars, local_vars) - - def _shell_escape(self, path): - """Quote paths containing spaces.""" - return '"%s"' % path if ' ' in path else path - - def _run_command(self, cmdline): - """Run a subcommand, quietly. Prints the full command on error.""" - try: - if self.verbose: - print(cmdline) - subprocess.check_call(cmdline, shell=True) - except subprocess.CalledProcessError: - print('when running: ', cmdline) - raise - - -parser = OptionParser() -profilers = ['gmon', 'pprof'] -parser.add_option('--bootstrap', action='store_true', - help='bootstrap a ninja binary from nothing') -parser.add_option('--verbose', action='store_true', - help='enable verbose build') -parser.add_option('--platform', - help='target platform (' + - '/'.join(Platform.known_platforms()) + ')', - choices=Platform.known_platforms()) -parser.add_option('--host', - help='host platform (' + - '/'.join(Platform.known_platforms()) + ')', - choices=Platform.known_platforms()) -parser.add_option('--debug', action='store_true', - help='enable debugging extras',) -parser.add_option('--profile', metavar='TYPE', - choices=profilers, - help='enable profiling (' + '/'.join(profilers) + ')',) -parser.add_option('--with-gtest', metavar='PATH', help='ignored') -parser.add_option('--with-python', metavar='EXE', - help='use EXE as the Python interpreter', - default=os.path.basename(sys.executable)) -parser.add_option('--force-pselect', action='store_true', - help='ppoll() is used by default where available, ' - 'but some platforms may need to use pselect instead',) -(options, args) = parser.parse_args() -if args: - print('ERROR: extra unparsed command-line arguments:', args) - sys.exit(1) - -platform = Platform(options.platform) -if options.host: - host = Platform(options.host) -else: - host = platform - -BUILD_FILENAME = 'build.ninja' -ninja_writer = ninja_syntax.Writer(open(BUILD_FILENAME, 'w')) -n = ninja_writer - -if options.bootstrap: - # Make the build directory. - try: - os.mkdir('build') - except OSError: - pass - # Wrap ninja_writer with the Bootstrapper, which also executes the - # commands. - print('bootstrapping ninja...') - n = Bootstrap(n, verbose=options.verbose) - -n.comment('This file is used to build ninja itself.') -n.comment('It is generated by ' + os.path.basename(__file__) + '.') -n.newline() - -n.variable('ninja_required_version', '1.3') -n.newline() - -n.comment('The arguments passed to configure.py, for rerunning it.') -configure_args = sys.argv[1:] -if '--bootstrap' in configure_args: - configure_args.remove('--bootstrap') -n.variable('configure_args', ' '.join(configure_args)) -env_keys = set(['CXX', 'AR', 'CFLAGS', 'LDFLAGS']) -configure_env = dict((k, os.environ[k]) for k in os.environ if k in env_keys) -if configure_env: - config_str = ' '.join([k + '=' + pipes.quote(configure_env[k]) - for k in configure_env]) - n.variable('configure_env', config_str + '$ ') -n.newline() - -CXX = configure_env.get('CXX', 'g++') -objext = '.o' -if platform.is_msvc(): - CXX = 'cl' - objext = '.obj' - -def src(filename): - return os.path.join('$root', 'src', filename) -def built(filename): - return os.path.join('$builddir', filename) -def doc(filename): - return os.path.join('$root', 'doc', filename) -def cc(name, **kwargs): - return n.build(built(name + objext), 'cxx', src(name + '.c'), **kwargs) -def cxx(name, **kwargs): - return n.build(built(name + objext), 'cxx', src(name + '.cc'), **kwargs) -def binary(name): - if platform.is_windows(): - exe = name + '.exe' - n.build(name, 'phony', exe) - return exe - return name - -root = sourcedir -if root == os.getcwd(): - # In the common case where we're building directly in the source - # tree, simplify all the paths to just be cwd-relative. - root = '.' -n.variable('root', root) -n.variable('builddir', 'build') -n.variable('cxx', CXX) -if platform.is_msvc(): - n.variable('ar', 'link') -else: - n.variable('ar', configure_env.get('AR', 'ar')) - -if platform.is_msvc(): - cflags = ['/showIncludes', - '/nologo', # Don't print startup banner. - '/Zi', # Create pdb with debug info. - '/W4', # Highest warning level. - '/WX', # Warnings as errors. - '/wd4530', '/wd4100', '/wd4706', '/wd4244', - '/wd4512', '/wd4800', '/wd4702', '/wd4819', - # Disable warnings about constant conditional expressions. - '/wd4127', - # Disable warnings about passing "this" during initialization. - '/wd4355', - # Disable warnings about ignored typedef in DbgHelp.h - '/wd4091', - '/GR-', # Disable RTTI. - # Disable size_t -> int truncation warning. - # We never have strings or arrays larger than 2**31. - '/wd4267', - '/DNOMINMAX', '/D_CRT_SECURE_NO_WARNINGS', - '/D_HAS_EXCEPTIONS=0', - '/DNINJA_PYTHON="%s"' % options.with_python] - if platform.msvc_needs_fs(): - cflags.append('/FS') - ldflags = ['/DEBUG', '/libpath:$builddir'] - if not options.debug: - cflags += ['/Ox', '/DNDEBUG', '/GL'] - ldflags += ['/LTCG', '/OPT:REF', '/OPT:ICF'] -else: - cflags = ['-g', '-Wall', '-Wextra', - '-Wno-deprecated', - '-Wno-missing-field-initializers', - '-Wno-unused-parameter', - '-fno-rtti', - '-fno-exceptions', - '-fvisibility=hidden', '-pipe', - '-DNINJA_PYTHON="%s"' % options.with_python] - if options.debug: - cflags += ['-D_GLIBCXX_DEBUG', '-D_GLIBCXX_DEBUG_PEDANTIC'] - cflags.remove('-fno-rtti') # Needed for above pedanticness. - else: - cflags += ['-O2', '-DNDEBUG'] - try: - proc = subprocess.Popen( - [CXX, '-fdiagnostics-color', '-c', '-x', 'c++', '/dev/null', - '-o', '/dev/null'], - stdout=open(os.devnull, 'wb'), stderr=subprocess.STDOUT) - if proc.wait() == 0: - cflags += ['-fdiagnostics-color'] - except: - pass - if platform.is_mingw(): - cflags += ['-D_WIN32_WINNT=0x0501'] - ldflags = ['-L$builddir'] - if platform.uses_usr_local(): - cflags.append('-I/usr/local/include') - ldflags.append('-L/usr/local/lib') - -libs = [] - -if platform.is_mingw(): - cflags.remove('-fvisibility=hidden'); - ldflags.append('-static') -elif platform.is_solaris(): - cflags.remove('-fvisibility=hidden') -elif platform.is_aix(): - cflags.remove('-fvisibility=hidden') -elif platform.is_msvc(): - pass -else: - if options.profile == 'gmon': - cflags.append('-pg') - ldflags.append('-pg') - elif options.profile == 'pprof': - cflags.append('-fno-omit-frame-pointer') - libs.extend(['-Wl,--no-as-needed', '-lprofiler']) - -if platform.supports_ppoll() and not options.force_pselect: - cflags.append('-DUSE_PPOLL') -if platform.supports_ninja_browse(): - cflags.append('-DNINJA_HAVE_BROWSE') - -# Search for generated headers relative to build dir. -cflags.append('-I.') - -def shell_escape(str): - """Escape str such that it's interpreted as a single argument by - the shell.""" - - # This isn't complete, but it's just enough to make NINJA_PYTHON work. - if platform.is_windows(): - return str - if '"' in str: - return "'%s'" % str.replace("'", "\\'") - return str - -if 'CFLAGS' in configure_env: - cflags.append(configure_env['CFLAGS']) -n.variable('cflags', ' '.join(shell_escape(flag) for flag in cflags)) -if 'LDFLAGS' in configure_env: - ldflags.append(configure_env['LDFLAGS']) -n.variable('ldflags', ' '.join(shell_escape(flag) for flag in ldflags)) -n.newline() - -if platform.is_msvc(): - n.rule('cxx', - command='$cxx $cflags -c $in /Fo$out', - description='CXX $out', - deps='msvc' # /showIncludes is included in $cflags. - ) -else: - n.rule('cxx', - command='$cxx -MMD -MT $out -MF $out.d $cflags -c $in -o $out', - depfile='$out.d', - deps='gcc', - description='CXX $out') -n.newline() - -if host.is_msvc(): - n.rule('ar', - command='lib /nologo /ltcg /out:$out $in', - description='LIB $out') -elif host.is_mingw(): - n.rule('ar', - command='cmd /c $ar cqs $out.tmp $in && move /Y $out.tmp $out', - description='AR $out') -else: - n.rule('ar', - command='rm -f $out && $ar crs $out $in', - description='AR $out') -n.newline() - -if platform.is_msvc(): - n.rule('link', - command='$cxx $in $libs /nologo /link $ldflags /out:$out', - description='LINK $out') -else: - n.rule('link', - command='$cxx $ldflags -o $out $in $libs', - description='LINK $out') -n.newline() - -objs = [] - -if platform.supports_ninja_browse(): - n.comment('browse_py.h is used to inline browse.py.') - n.rule('inline', - command='"%s"' % src('inline.sh') + ' $varname < $in > $out', - description='INLINE $out') - n.build(built('browse_py.h'), 'inline', src('browse.py'), - implicit=src('inline.sh'), - variables=[('varname', 'kBrowsePy')]) - n.newline() - - objs += cxx('browse', order_only=built('browse_py.h')) - n.newline() - -n.comment('the depfile parser and ninja lexers are generated using re2c.') -def has_re2c(): - try: - proc = subprocess.Popen(['re2c', '-V'], stdout=subprocess.PIPE) - return int(proc.communicate()[0], 10) >= 1103 - except OSError: - return False -if has_re2c(): - n.rule('re2c', - command='re2c -b -i --no-generation-date -o $out $in', - description='RE2C $out') - # Generate the .cc files in the source directory so we can check them in. - n.build(src('depfile_parser.cc'), 're2c', src('depfile_parser.in.cc')) - n.build(src('lexer.cc'), 're2c', src('lexer.in.cc')) -else: - print("warning: A compatible version of re2c (>= 0.11.3) was not found; " - "changes to src/*.in.cc will not affect your build.") -n.newline() - -n.comment('Core source files all build into ninja library.') -for name in ['build', - 'build_log', - 'clean', - 'clparser', - 'debug_flags', - 'depfile_parser', - 'deps_log', - 'disk_interface', - 'edit_distance', - 'eval_env', - 'graph', - 'graphviz', - 'lexer', - 'line_printer', - 'manifest_parser', - 'metrics', - 'state', - 'string_piece_util', - 'util', - 'version']: - objs += cxx(name) -if platform.is_windows(): - for name in ['subprocess-win32', - 'includes_normalize-win32', - 'msvc_helper-win32', - 'msvc_helper_main-win32']: - objs += cxx(name) - if platform.is_msvc(): - objs += cxx('minidump-win32') - objs += cc('getopt') -else: - objs += cxx('subprocess-posix') -if platform.is_aix(): - objs += cc('getopt') -if platform.is_msvc(): - ninja_lib = n.build(built('ninja.lib'), 'ar', objs) -else: - ninja_lib = n.build(built('libninja.a'), 'ar', objs) -n.newline() - -if platform.is_msvc(): - libs.append('ninja.lib') -else: - libs.append('-lninja') - -if platform.is_aix(): - libs.append('-lperfstat') - -all_targets = [] - -n.comment('Main executable is library plus main() function.') -objs = cxx('ninja') -ninja = n.build(binary('ninja'), 'link', objs, implicit=ninja_lib, - variables=[('libs', libs)]) -n.newline() -all_targets += ninja - -if options.bootstrap: - # We've built the ninja binary. Don't run any more commands - # through the bootstrap executor, but continue writing the - # build.ninja file. - n = ninja_writer - -n.comment('Tests all build into ninja_test executable.') - -objs = [] - -for name in ['build_log_test', - 'build_test', - 'clean_test', - 'clparser_test', - 'depfile_parser_test', - 'deps_log_test', - 'disk_interface_test', - 'edit_distance_test', - 'graph_test', - 'lexer_test', - 'manifest_parser_test', - 'ninja_test', - 'state_test', - 'string_piece_util_test', - 'subprocess_test', - 'test', - 'util_test']: - objs += cxx(name) -if platform.is_windows(): - for name in ['includes_normalize_test', 'msvc_helper_test']: - objs += cxx(name) - -ninja_test = n.build(binary('ninja_test'), 'link', objs, implicit=ninja_lib, - variables=[('libs', libs)]) -n.newline() -all_targets += ninja_test - - -n.comment('Ancillary executables.') - -for name in ['build_log_perftest', - 'canon_perftest', - 'depfile_parser_perftest', - 'hash_collision_bench', - 'manifest_parser_perftest', - 'clparser_perftest']: - objs = cxx(name) - all_targets += n.build(binary(name), 'link', objs, - implicit=ninja_lib, variables=[('libs', libs)]) - -n.newline() - -n.comment('Generate a graph using the "graph" tool.') -n.rule('gendot', - command='./ninja -t graph all > $out') -n.rule('gengraph', - command='dot -Tpng $in > $out') -dot = n.build(built('graph.dot'), 'gendot', ['ninja', 'build.ninja']) -n.build('graph.png', 'gengraph', dot) -n.newline() - -n.comment('Generate the manual using asciidoc.') -n.rule('asciidoc', - command='asciidoc -b docbook -d book -o $out $in', - description='ASCIIDOC $out') -n.rule('xsltproc', - command='xsltproc --nonet doc/docbook.xsl $in > $out', - description='XSLTPROC $out') -docbookxml = n.build(built('manual.xml'), 'asciidoc', doc('manual.asciidoc')) -manual = n.build(doc('manual.html'), 'xsltproc', docbookxml, - implicit=[doc('style.css'), doc('docbook.xsl')]) -n.build('manual', 'phony', - order_only=manual) -n.newline() - -n.rule('dblatex', - command='dblatex -q -o $out -p doc/dblatex.xsl $in', - description='DBLATEX $out') -n.build(doc('manual.pdf'), 'dblatex', docbookxml, - implicit=[doc('dblatex.xsl')]) - -n.comment('Generate Doxygen.') -n.rule('doxygen', - command='doxygen $in', - description='DOXYGEN $in') -n.variable('doxygen_mainpage_generator', - src('gen_doxygen_mainpage.sh')) -n.rule('doxygen_mainpage', - command='$doxygen_mainpage_generator $in > $out', - description='DOXYGEN_MAINPAGE $out') -mainpage = n.build(built('doxygen_mainpage'), 'doxygen_mainpage', - ['README', 'COPYING'], - implicit=['$doxygen_mainpage_generator']) -n.build('doxygen', 'doxygen', doc('doxygen.config'), - implicit=mainpage) -n.newline() - -if not host.is_mingw(): - n.comment('Regenerate build files if build script changes.') - n.rule('configure', - command='${configure_env}%s $root/configure.py $configure_args' % - options.with_python, - generator=True) - n.build('build.ninja', 'configure', - implicit=['$root/configure.py', - os.path.normpath('$root/misc/ninja_syntax.py')]) - n.newline() - -n.default(ninja) -n.newline() - -if host.is_linux(): - n.comment('Packaging') - n.rule('rpmbuild', - command="misc/packaging/rpmbuild.sh", - description='Building rpms..') - n.build('rpm', 'rpmbuild') - n.newline() - -n.build('all', 'phony', all_targets) - -n.close() -print('wrote %s.' % BUILD_FILENAME) - -if options.bootstrap: - print('bootstrap complete. rebuilding...') - - rebuild_args = [] - - if platform.can_rebuild_in_place(): - rebuild_args.append('./ninja') - else: - if platform.is_windows(): - bootstrap_exe = 'ninja.bootstrap.exe' - final_exe = 'ninja.exe' - else: - bootstrap_exe = './ninja.bootstrap' - final_exe = './ninja' - - if os.path.exists(bootstrap_exe): - os.unlink(bootstrap_exe) - os.rename(final_exe, bootstrap_exe) - - rebuild_args.append(bootstrap_exe) - - if options.verbose: - rebuild_args.append('-v') - - subprocess.check_call(rebuild_args) diff --git a/vendor/ninja/doc/README.md b/vendor/ninja/doc/README.md deleted file mode 100644 index 6afe5d467..000000000 --- a/vendor/ninja/doc/README.md +++ /dev/null @@ -1,11 +0,0 @@ -This directory contains the Ninja manual and support files used in -building it. Here's a brief overview of how it works. - -The source text, `manual.asciidoc`, is written in the AsciiDoc format. -AsciiDoc can generate HTML but it doesn't look great; instead, we use -AsciiDoc to generate the Docbook XML format and then provide our own -Docbook XSL tweaks to produce HTML from that. - -In theory using AsciiDoc and DocBook allows us to produce nice PDF -documentation etc. In reality it's not clear anyone wants that, but the -build rules are in place to generate it if you install dblatex. diff --git a/vendor/ninja/doc/dblatex.xsl b/vendor/ninja/doc/dblatex.xsl deleted file mode 100644 index c0da21270..000000000 --- a/vendor/ninja/doc/dblatex.xsl +++ /dev/null @@ -1,7 +0,0 @@ - - - - 0 - 0 - diff --git a/vendor/ninja/doc/docbook.xsl b/vendor/ninja/doc/docbook.xsl deleted file mode 100644 index 19cc1263d..000000000 --- a/vendor/ninja/doc/docbook.xsl +++ /dev/null @@ -1,31 +0,0 @@ - - -]> - - - - - - - - - - - book toc - - - 0 - - - ul - - - diff --git a/vendor/ninja/doc/doxygen.config b/vendor/ninja/doc/doxygen.config deleted file mode 100644 index d933021e2..000000000 --- a/vendor/ninja/doc/doxygen.config +++ /dev/null @@ -1,1250 +0,0 @@ -# Doxyfile 1.4.5 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = "Ninja" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -# PROJECT_NUMBER = "0" - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = "doc/doxygen/" - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, -# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, -# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, -# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, -# Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# This tag can be used to specify the encoding used in the generated output. -# The encoding is not always determined by the language that is chosen, -# but also whether or not the output is meant for Windows or non-Windows users. -# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES -# forces the Windows encoding (this is the default for the Windows binary), -# whereas setting the tag to NO uses a Unix-style encoding (the default for -# all platforms other than Windows). - -# Obsolet option. -#USE_WINDOWS_ENCODING = YES - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = YES - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = src - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = src/ - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = YES - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -# Has become obsolete. -#DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 2 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to -# include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -# BUILTIN_STL_SUPPORT = NO - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = YES - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is YES. - -SHOW_DIRECTORIES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from the -# version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text " - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = src \ - build/doxygen_mainpage - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py - -FILE_PATTERNS = *.cc \ - *.h - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = src - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = *.cpp \ - *.cc \ - *.h \ - *.hh \ - INSTALL DEPENDENCIES CHANGELOG LICENSE LGPL - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = YES - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = src - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = YES - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 2 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. -HTML_HEADER = - - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = YES - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4 - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = YES - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = YES - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = YES - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = doc/doxygen/html/Ninja.TAGFILE - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = YES - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = YES - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = NO - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO -# UML_LOOK = YES - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -# Obsolet option. -#MAX_DOT_GRAPH_WIDTH = 1280 - -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -# Obsolet option. -#MAX_DOT_GRAPH_HEIGHT = 1024 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that a graph may be further truncated if the graph's -# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH -# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), -# the graph is not depth-constrained. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, which results in a white background. -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. -# JW -# DOT_MULTI_TARGETS = NO -DOT_MULTI_TARGETS = YES - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -# JW SEARCHENGINE = NO -SEARCHENGINE = YES diff --git a/vendor/ninja/doc/manual.asciidoc b/vendor/ninja/doc/manual.asciidoc deleted file mode 100644 index 17d607a32..000000000 --- a/vendor/ninja/doc/manual.asciidoc +++ /dev/null @@ -1,1006 +0,0 @@ -The Ninja build system -====================== -v1.8.2, Sep 2017 - - -Introduction ------------- - -Ninja is yet another build system. It takes as input the -interdependencies of files (typically source code and output -executables) and orchestrates building them, _quickly_. - -Ninja joins a sea of other build systems. Its distinguishing goal is -to be fast. It is born from -http://neugierig.org/software/chromium/notes/2011/02/ninja.html[my -work on the Chromium browser project], which has over 30,000 source -files and whose other build systems (including one built from custom -non-recursive Makefiles) would take ten seconds to start building -after changing one file. Ninja is under a second. - -Philosophical overview -~~~~~~~~~~~~~~~~~~~~~~ - -Where other build systems are high-level languages, Ninja aims to be -an assembler. - -Build systems get slow when they need to make decisions. When you are -in a edit-compile cycle you want it to be as fast as possible -- you -want the build system to do the minimum work necessary to figure out -what needs to be built immediately. - -Ninja contains the barest functionality necessary to describe -arbitrary dependency graphs. Its lack of syntax makes it impossible -to express complex decisions. - -Instead, Ninja is intended to be used with a separate program -generating its input files. The generator program (like the -`./configure` found in autotools projects) can analyze system -dependencies and make as many decisions as possible up front so that -incremental builds stay fast. Going beyond autotools, even build-time -decisions like "which compiler flags should I use?" or "should I -build a debug or release-mode binary?" belong in the `.ninja` file -generator. - -Design goals -~~~~~~~~~~~~ - -Here are the design goals of Ninja: - -* very fast (i.e., instant) incremental builds, even for very large - projects. - -* very little policy about how code is built. Different projects and - higher-level build systems have different opinions about how code - should be built; for example, should built objects live alongside - the sources or should all build output go into a separate directory? - Is there a "package" rule that builds a distributable package of - the project? Sidestep these decisions by trying to allow either to - be implemented, rather than choosing, even if that results in - more verbosity. - -* get dependencies correct, and in particular situations that are - difficult to get right with Makefiles (e.g. outputs need an implicit - dependency on the command line used to generate them; to build C - source code you need to use gcc's `-M` flags for header - dependencies). - -* when convenience and speed are in conflict, prefer speed. - -Some explicit _non-goals_: - -* convenient syntax for writing build files by hand. _You should - generate your ninja files using another program_. This is how we - can sidestep many policy decisions. - -* built-in rules. _Out of the box, Ninja has no rules for - e.g. compiling C code._ - -* build-time customization of the build. _Options belong in - the program that generates the ninja files_. - -* build-time decision-making ability such as conditionals or search - paths. _Making decisions is slow._ - -To restate, Ninja is faster than other build systems because it is -painfully simple. You must tell Ninja exactly what to do when you -create your project's `.ninja` files. - -Comparison to Make -~~~~~~~~~~~~~~~~~~ - -Ninja is closest in spirit and functionality to Make, relying on -simple dependencies between file timestamps. - -But fundamentally, make has a lot of _features_: suffix rules, -functions, built-in rules that e.g. search for RCS files when building -source. Make's language was designed to be written by humans. Many -projects find make alone adequate for their build problems. - -In contrast, Ninja has almost no features; just those necessary to get -builds correct while punting most complexity to generation of the -ninja input files. Ninja by itself is unlikely to be useful for most -projects. - -Here are some of the features Ninja adds to Make. (These sorts of -features can often be implemented using more complicated Makefiles, -but they are not part of make itself.) - -* Ninja has special support for discovering extra dependencies at build - time, making it easy to get <> - correct for C/C++ code. - -* A build edge may have multiple outputs. - -* Outputs implicitly depend on the command line that was used to generate - them, which means that changing e.g. compilation flags will cause - the outputs to rebuild. - -* Output directories are always implicitly created before running the - command that relies on them. - -* Rules can provide shorter descriptions of the command being run, so - you can print e.g. `CC foo.o` instead of a long command line while - building. - -* Builds are always run in parallel, based by default on the number of - CPUs your system has. Underspecified build dependencies will result - in incorrect builds. - -* Command output is always buffered. This means commands running in - parallel don't interleave their output, and when a command fails we - can print its failure output next to the full command line that - produced the failure. - - -Using Ninja for your project ----------------------------- - -Ninja currently works on Unix-like systems and Windows. It's seen the -most testing on Linux (and has the best performance there) but it runs -fine on Mac OS X and FreeBSD. - -If your project is small, Ninja's speed impact is likely unnoticeable. -(However, even for small projects it sometimes turns out that Ninja's -limited syntax forces simpler build rules that result in faster -builds.) Another way to say this is that if you're happy with the -edit-compile cycle time of your project already then Ninja won't help. - -There are many other build systems that are more user-friendly or -featureful than Ninja itself. For some recommendations: the Ninja -author found http://gittup.org/tup/[the tup build system] influential -in Ninja's design, and thinks https://github.com/apenwarr/redo[redo]'s -design is quite clever. - -Ninja's benefit comes from using it in conjunction with a smarter -meta-build system. - -http://code.google.com/p/gyp/[gyp]:: The meta-build system used to -generate build files for Google Chrome and related projects (v8, -node.js). gyp can generate Ninja files for all platforms supported by -Chrome. See the -https://chromium.googlesource.com/chromium/src/+/master/docs/ninja_build.md[Chromium Ninja documentation for more details]. - -https://cmake.org/[CMake]:: A widely used meta-build system that -can generate Ninja files on Linux as of CMake version 2.8.8. Newer versions -of CMake support generating Ninja files on Windows and Mac OS X too. - -https://github.com/ninja-build/ninja/wiki/List-of-generators-producing-ninja-build-files[others]:: Ninja ought to fit perfectly into other meta-build software -like http://industriousone.com/premake[premake]. If you do this work, -please let us know! - -Running Ninja -~~~~~~~~~~~~~ - -Run `ninja`. By default, it looks for a file named `build.ninja` in -the current directory and builds all out-of-date targets. You can -specify which targets (files) to build as command line arguments. - -There is also a special syntax `target^` for specifying a target -as the first output of some rule containing the source you put in -the command line, if one exists. For example, if you specify target as -`foo.c^` then `foo.o` will get built (assuming you have those targets -in your build files). - -`ninja -h` prints help output. Many of Ninja's flags intentionally -match those of Make; e.g `ninja -C build -j 20` changes into the -`build` directory and runs 20 build commands in parallel. (Note that -Ninja defaults to running commands in parallel anyway, so typically -you don't need to pass `-j`.) - - -Environment variables -~~~~~~~~~~~~~~~~~~~~~ - -Ninja supports one environment variable to control its behavior: -`NINJA_STATUS`, the progress status printed before the rule being run. - -Several placeholders are available: - -`%s`:: The number of started edges. -`%t`:: The total number of edges that must be run to complete the build. -`%p`:: The percentage of started edges. -`%r`:: The number of currently running edges. -`%u`:: The number of remaining edges to start. -`%f`:: The number of finished edges. -`%o`:: Overall rate of finished edges per second -`%c`:: Current rate of finished edges per second (average over builds -specified by `-j` or its default) -`%e`:: Elapsed time in seconds. _(Available since Ninja 1.2.)_ -`%%`:: A plain `%` character. - -The default progress status is `"[%f/%t] "` (note the trailing space -to separate from the build rule). Another example of possible progress status -could be `"[%u/%r/%f] "`. - -Extra tools -~~~~~~~~~~~ - -The `-t` flag on the Ninja command line runs some tools that we have -found useful during Ninja's development. The current tools are: - -[horizontal] -`query`:: dump the inputs and outputs of a given target. - -`browse`:: browse the dependency graph in a web browser. Clicking a -file focuses the view on that file, showing inputs and outputs. This -feature requires a Python installation. By default port 8000 is used -and a web browser will be opened. This can be changed as follows: -+ ----- -ninja -t browse --port=8000 --no-browser mytarget ----- -+ -`graph`:: output a file in the syntax used by `graphviz`, a automatic -graph layout tool. Use it like: -+ ----- -ninja -t graph mytarget | dot -Tpng -ograph.png ----- -+ -In the Ninja source tree, `ninja graph.png` -generates an image for Ninja itself. If no target is given generate a -graph for all root targets. - -`targets`:: output a list of targets either by rule or by depth. If used -like +ninja -t targets rule _name_+ it prints the list of targets -using the given rule to be built. If no rule is given, it prints the source -files (the leaves of the graph). If used like -+ninja -t targets depth _digit_+ it -prints the list of targets in a depth-first manner starting by the root -targets (the ones with no outputs). Indentation is used to mark dependencies. -If the depth is zero it prints all targets. If no arguments are provided -+ninja -t targets depth 1+ is assumed. In this mode targets may be listed -several times. If used like this +ninja -t targets all+ it -prints all the targets available without indentation and it is faster -than the _depth_ mode. - -`commands`:: given a list of targets, print a list of commands which, if -executed in order, may be used to rebuild those targets, assuming that all -output files are out of date. - -`clean`:: remove built files. By default it removes all built files -except for those created by the generator. Adding the `-g` flag also -removes built files created by the generator (see <>). Additional arguments are -targets, which removes the given targets and recursively all files -built for them. -+ -If used like +ninja -t clean -r _rules_+ it removes all files built using -the given rules. -+ -Files created but not referenced in the graph are not removed. This -tool takes in account the +-v+ and the +-n+ options (note that +-n+ -implies +-v+). - -`compdb`:: given a list of rules, each of which is expected to be a -C family language compiler rule whose first input is the name of the -source file, prints on standard output a compilation database in the -http://clang.llvm.org/docs/JSONCompilationDatabase.html[JSON format] expected -by the Clang tooling interface. -_Available since Ninja 1.2._ - -`deps`:: show all dependencies stored in the `.ninja_deps` file. When given a -target, show just the target's dependencies. _Available since Ninja 1.4._ - -`recompact`:: recompact the `.ninja_deps` file. _Available since Ninja 1.4._ - - -Writing your own Ninja files ----------------------------- - -The remainder of this manual is only useful if you are constructing -Ninja files yourself: for example, if you're writing a meta-build -system or supporting a new language. - -Conceptual overview -~~~~~~~~~~~~~~~~~~~ - -Ninja evaluates a graph of dependencies between files, and runs -whichever commands are necessary to make your build target up to date -as determined by file modification times. If you are familiar with -Make, Ninja is very similar. - -A build file (default name: `build.ninja`) provides a list of _rules_ --- short names for longer commands, like how to run the compiler -- -along with a list of _build_ statements saying how to build files -using the rules -- which rule to apply to which inputs to produce -which outputs. - -Conceptually, `build` statements describe the dependency graph of your -project, while `rule` statements describe how to generate the files -along a given edge of the graph. - -Syntax example -~~~~~~~~~~~~~~ - -Here's a basic `.ninja` file that demonstrates most of the syntax. -It will be used as an example for the following sections. - ---------------------------------- -cflags = -Wall - -rule cc - command = gcc $cflags -c $in -o $out - -build foo.o: cc foo.c ---------------------------------- - -Variables -~~~~~~~~~ -Despite the non-goal of being convenient to write by hand, to keep -build files readable (debuggable), Ninja supports declaring shorter -reusable names for strings. A declaration like the following - ----------------- -cflags = -g ----------------- - -can be used on the right side of an equals sign, dereferencing it with -a dollar sign, like this: - ----------------- -rule cc - command = gcc $cflags -c $in -o $out ----------------- - -Variables can also be referenced using curly braces like `${in}`. - -Variables might better be called "bindings", in that a given variable -cannot be changed, only shadowed. There is more on how shadowing works -later in this document. - -Rules -~~~~~ - -Rules declare a short name for a command line. They begin with a line -consisting of the `rule` keyword and a name for the rule. Then -follows an indented set of `variable = value` lines. - -The basic example above declares a new rule named `cc`, along with the -command to run. In the context of a rule, the `command` variable -defines the command to run, `$in` expands to the list of -input files (`foo.c`), and `$out` to the output files (`foo.o`) for the -command. A full list of special variables is provided in -<>. - -Build statements -~~~~~~~~~~~~~~~~ - -Build statements declare a relationship between input and output -files. They begin with the `build` keyword, and have the format -+build _outputs_: _rulename_ _inputs_+. Such a declaration says that -all of the output files are derived from the input files. When the -output files are missing or when the inputs change, Ninja will run the -rule to regenerate the outputs. - -The basic example above describes how to build `foo.o`, using the `cc` -rule. - -In the scope of a `build` block (including in the evaluation of its -associated `rule`), the variable `$in` is the list of inputs and the -variable `$out` is the list of outputs. - -A build statement may be followed by an indented set of `key = value` -pairs, much like a rule. These variables will shadow any variables -when evaluating the variables in the command. For example: - ----------------- -cflags = -Wall -Werror -rule cc - command = gcc $cflags -c $in -o $out - -# If left unspecified, builds get the outer $cflags. -build foo.o: cc foo.c - -# But you can shadow variables like cflags for a particular build. -build special.o: cc special.c - cflags = -Wall - -# The variable was only shadowed for the scope of special.o; -# Subsequent build lines get the outer (original) cflags. -build bar.o: cc bar.c - ----------------- - -For more discussion of how scoping works, consult <>. - -If you need more complicated information passed from the build -statement to the rule (for example, if the rule needs "the file -extension of the first input"), pass that through as an extra -variable, like how `cflags` is passed above. - -If the top-level Ninja file is specified as an output of any build -statement and it is out of date, Ninja will rebuild and reload it -before building the targets requested by the user. - -Generating Ninja files from code -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -`misc/ninja_syntax.py` in the Ninja distribution is a tiny Python -module to facilitate generating Ninja files. It allows you to make -Python calls like `ninja.rule(name='foo', command='bar', -depfile='$out.d')` and it will generate the appropriate syntax. Feel -free to just inline it into your project's build system if it's -useful. - - -More details ------------- - -The `phony` rule -~~~~~~~~~~~~~~~~ - -The special rule name `phony` can be used to create aliases for other -targets. For example: - ----------------- -build foo: phony some/file/in/a/faraway/subdir/foo ----------------- - -This makes `ninja foo` build the longer path. Semantically, the -`phony` rule is equivalent to a plain rule where the `command` does -nothing, but phony rules are handled specially in that they aren't -printed when run, logged (see below), nor do they contribute to the -command count printed as part of the build process. - -`phony` can also be used to create dummy targets for files which -may not exist at build time. If a phony build statement is written -without any dependencies, the target will be considered out of date if -it does not exist. Without a phony build statement, Ninja will report -an error if the file does not exist and is required by the build. - - -Default target statements -~~~~~~~~~~~~~~~~~~~~~~~~~ - -By default, if no targets are specified on the command line, Ninja -will build every output that is not named as an input elsewhere. -You can override this behavior using a default target statement. -A default target statement causes Ninja to build only a given subset -of output files if none are specified on the command line. - -Default target statements begin with the `default` keyword, and have -the format +default _targets_+. A default target statement must appear -after the build statement that declares the target as an output file. -They are cumulative, so multiple statements may be used to extend -the list of default targets. For example: - ----------------- -default foo bar -default baz ----------------- - -This causes Ninja to build the `foo`, `bar` and `baz` targets by -default. - - -[[ref_log]] -The Ninja log -~~~~~~~~~~~~~ - -For each built file, Ninja keeps a log of the command used to build -it. Using this log Ninja can know when an existing output was built -with a different command line than the build files specify (i.e., the -command line changed) and knows to rebuild the file. - -The log file is kept in the build root in a file called `.ninja_log`. -If you provide a variable named `builddir` in the outermost scope, -`.ninja_log` will be kept in that directory instead. - - -[[ref_versioning]] -Version compatibility -~~~~~~~~~~~~~~~~~~~~~ - -_Available since Ninja 1.2._ - -Ninja version labels follow the standard major.minor.patch format, -where the major version is increased on backwards-incompatible -syntax/behavioral changes and the minor version is increased on new -behaviors. Your `build.ninja` may declare a variable named -`ninja_required_version` that asserts the minimum Ninja version -required to use the generated file. For example, - ------ -ninja_required_version = 1.1 ------ - -declares that the build file relies on some feature that was -introduced in Ninja 1.1 (perhaps the `pool` syntax), and that -Ninja 1.1 or greater must be used to build. Unlike other Ninja -variables, this version requirement is checked immediately when -the variable is encountered in parsing, so it's best to put it -at the top of the build file. - -Ninja always warns if the major versions of Ninja and the -`ninja_required_version` don't match; a major version change hasn't -come up yet so it's difficult to predict what behavior might be -required. - -[[ref_headers]] -C/C++ header dependencies -~~~~~~~~~~~~~~~~~~~~~~~~~ - -To get C/C++ header dependencies (or any other build dependency that -works in a similar way) correct Ninja has some extra functionality. - -The problem with headers is that the full list of files that a given -source file depends on can only be discovered by the compiler: -different preprocessor defines and include paths cause different files -to be used. Some compilers can emit this information while building, -and Ninja can use that to get its dependencies perfect. - -Consider: if the file has never been compiled, it must be built anyway, -generating the header dependencies as a side effect. If any file is -later modified (even in a way that changes which headers it depends -on) the modification will cause a rebuild as well, keeping the -dependencies up to date. - -When loading these special dependencies, Ninja implicitly adds extra -build edges such that it is not an error if the listed dependency is -missing. This allows you to delete a header file and rebuild without -the build aborting due to a missing input. - -depfile -^^^^^^^ - -`gcc` (and other compilers like `clang`) support emitting dependency -information in the syntax of a Makefile. (Any command that can write -dependencies in this form can be used, not just `gcc`.) - -To bring this information into Ninja requires cooperation. On the -Ninja side, the `depfile` attribute on the `build` must point to a -path where this data is written. (Ninja only supports the limited -subset of the Makefile syntax emitted by compilers.) Then the command -must know to write dependencies into the `depfile` path. -Use it like in the following example: - ----- -rule cc - depfile = $out.d - command = gcc -MMD -MF $out.d [other gcc flags here] ----- - -The `-MMD` flag to `gcc` tells it to output header dependencies, and -the `-MF` flag tells it where to write them. - -deps -^^^^ - -_(Available since Ninja 1.3.)_ - -It turns out that for large projects (and particularly on Windows, -where the file system is slow) loading these dependency files on -startup is slow. - -Ninja 1.3 can instead process dependencies just after they're generated -and save a compacted form of the same information in a Ninja-internal -database. - -Ninja supports this processing in two forms. - -1. `deps = gcc` specifies that the tool outputs `gcc`-style dependencies - in the form of Makefiles. Adding this to the above example will - cause Ninja to process the `depfile` immediately after the - compilation finishes, then delete the `.d` file (which is only used - as a temporary). - -2. `deps = msvc` specifies that the tool outputs header dependencies - in the form produced by Visual Studio's compiler's - http://msdn.microsoft.com/en-us/library/hdkef6tk(v=vs.90).aspx[`/showIncludes` - flag]. Briefly, this means the tool outputs specially-formatted lines - to its stdout. Ninja then filters these lines from the displayed - output. No `depfile` attribute is necessary, but the localized string - in front of the the header file path. For instance - `msvc_deps_prefix = Note: including file: ` - for a English Visual Studio (the default). Should be globally defined. -+ ----- -msvc_deps_prefix = Note: including file: -rule cc - deps = msvc - command = cl /showIncludes -c $in /Fo$out ----- - -If the include directory directives are using absolute paths, your depfile -may result in a mixture of relative and absolute paths. Paths used by other -build rules need to match exactly. Therefore, it is recommended to use -relative paths in these cases. - -[[ref_pool]] -Pools -~~~~~ - -_Available since Ninja 1.1._ - -Pools allow you to allocate one or more rules or edges a finite number -of concurrent jobs which is more tightly restricted than the default -parallelism. - -This can be useful, for example, to restrict a particular expensive rule -(like link steps for huge executables), or to restrict particular build -statements which you know perform poorly when run concurrently. - -Each pool has a `depth` variable which is specified in the build file. -The pool is then referred to with the `pool` variable on either a rule -or a build statement. - -No matter what pools you specify, ninja will never run more concurrent jobs -than the default parallelism, or the number of jobs specified on the command -line (with `-j`). - ----------------- -# No more than 4 links at a time. -pool link_pool - depth = 4 - -# No more than 1 heavy object at a time. -pool heavy_object_pool - depth = 1 - -rule link - ... - pool = link_pool - -rule cc - ... - -# The link_pool is used here. Only 4 links will run concurrently. -build foo.exe: link input.obj - -# A build statement can be exempted from its rule's pool by setting an -# empty pool. This effectively puts the build statement back into the default -# pool, which has infinite depth. -build other.exe: link input.obj - pool = - -# A build statement can specify a pool directly. -# Only one of these builds will run at a time. -build heavy_object1.obj: cc heavy_obj1.cc - pool = heavy_object_pool -build heavy_object2.obj: cc heavy_obj2.cc - pool = heavy_object_pool - ----------------- - -The `console` pool -^^^^^^^^^^^^^^^^^^ - -_Available since Ninja 1.5._ - -There exists a pre-defined pool named `console` with a depth of 1. It has -the special property that any task in the pool has direct access to the -standard input, output and error streams provided to Ninja, which are -normally connected to the user's console (hence the name) but could be -redirected. This can be useful for interactive tasks or long-running tasks -which produce status updates on the console (such as test suites). - -While a task in the `console` pool is running, Ninja's regular output (such -as progress status and output from concurrent tasks) is buffered until -it completes. - -Ninja file reference --------------------- - -A file is a series of declarations. A declaration can be one of: - -1. A rule declaration, which begins with +rule _rulename_+, and - then has a series of indented lines defining variables. - -2. A build edge, which looks like +build _output1_ _output2_: - _rulename_ _input1_ _input2_+. + - Implicit dependencies may be tacked on the end with +| - _dependency1_ _dependency2_+. + - Order-only dependencies may be tacked on the end with +|| - _dependency1_ _dependency2_+. (See <>.) -+ -Implicit outputs _(available since Ninja 1.7)_ may be added before -the `:` with +| _output1_ _output2_+ and do not appear in `$out`. -(See <>.) - -3. Variable declarations, which look like +_variable_ = _value_+. - -4. Default target statements, which look like +default _target1_ _target2_+. - -5. References to more files, which look like +subninja _path_+ or - +include _path_+. The difference between these is explained below - <>. - -6. A pool declaration, which looks like +pool _poolname_+. Pools are explained - <>. - -Lexical syntax -~~~~~~~~~~~~~~ - -Ninja is mostly encoding agnostic, as long as the bytes Ninja cares -about (like slashes in paths) are ASCII. This means e.g. UTF-8 or -ISO-8859-1 input files ought to work. - -Comments begin with `#` and extend to the end of the line. - -Newlines are significant. Statements like `build foo bar` are a set -of space-separated tokens that end at the newline. Newlines and -spaces within a token must be escaped. - -There is only one escape character, `$`, and it has the following -behaviors: - -`$` followed by a newline:: escape the newline (continue the current line -across a line break). - -`$` followed by text:: a variable reference. - -`${varname}`:: alternate syntax for `$varname`. - -`$` followed by space:: a space. (This is only necessary in lists of -paths, where a space would otherwise separate filenames. See below.) - -`$:` :: a colon. (This is only necessary in `build` lines, where a colon -would otherwise terminate the list of outputs.) - -`$$`:: a literal `$`. - -A `build` or `default` statement is first parsed as a space-separated -list of filenames and then each name is expanded. This means that -spaces within a variable will result in spaces in the expanded -filename. - ----- -spaced = foo bar -build $spaced/baz other$ file: ... -# The above build line has two outputs: "foo bar/baz" and "other file". ----- - -In a `name = value` statement, whitespace at the beginning of a value -is always stripped. Whitespace at the beginning of a line after a -line continuation is also stripped. - ----- -two_words_with_one_space = foo $ - bar -one_word_with_no_space = foo$ - bar ----- - -Other whitespace is only significant if it's at the beginning of a -line. If a line is indented more than the previous one, it's -considered part of its parent's scope; if it is indented less than the -previous one, it closes the previous scope. - -[[ref_toplevel]] -Top-level variables -~~~~~~~~~~~~~~~~~~~ - -Two variables are significant when declared in the outermost file scope. - -`builddir`:: a directory for some Ninja output files. See <>. (You can also store other build output - in this directory.) - -`ninja_required_version`:: the minimum version of Ninja required to process - the build correctly. See <>. - - -[[ref_rule]] -Rule variables -~~~~~~~~~~~~~~ - -A `rule` block contains a list of `key = value` declarations that -affect the processing of the rule. Here is a full list of special -keys. - -`command` (_required_):: the command line to run. Each `rule` may - have only one `command` declaration. See <> for more details on quoting and executing multiple commands. - -`depfile`:: path to an optional `Makefile` that contains extra - _implicit dependencies_ (see <>). This is explicitly to support C/C++ header - dependencies; see <>. - -`deps`:: _(Available since Ninja 1.3.)_ if present, must be one of - `gcc` or `msvc` to specify special dependency processing. See - <>. The generated database is - stored as `.ninja_deps` in the `builddir`, see <>. - -`msvc_deps_prefix`:: _(Available since Ninja 1.5.)_ defines the string - which should be stripped from msvc's /showIncludes output. Only - needed when `deps = msvc` and no English Visual Studio version is used. - -`description`:: a short description of the command, used to pretty-print - the command as it's running. The `-v` flag controls whether to print - the full command or its description; if a command fails, the full command - line will always be printed before the command's output. - -`generator`:: if present, specifies that this rule is used to - re-invoke the generator program. Files built using `generator` - rules are treated specially in two ways: firstly, they will not be - rebuilt if the command line changes; and secondly, they are not - cleaned by default. - -`in`:: the space-separated list of files provided as inputs to the build line - referencing this `rule`, shell-quoted if it appears in commands. (`$in` is - provided solely for convenience; if you need some subset or variant of this - list of files, just construct a new variable with that list and use - that instead.) - -`in_newline`:: the same as `$in` except that multiple inputs are - separated by newlines rather than spaces. (For use with - `$rspfile_content`; this works around a bug in the MSVC linker where - it uses a fixed-size buffer for processing input.) - -`out`:: the space-separated list of files provided as outputs to the build line - referencing this `rule`, shell-quoted if it appears in commands. - -`restat`:: if present, causes Ninja to re-stat the command's outputs - after execution of the command. Each output whose modification time - the command did not change will be treated as though it had never - needed to be built. This may cause the output's reverse - dependencies to be removed from the list of pending build actions. - -`rspfile`, `rspfile_content`:: if present (both), Ninja will use a - response file for the given command, i.e. write the selected string - (`rspfile_content`) to the given file (`rspfile`) before calling the - command and delete the file after successful execution of the - command. -+ -This is particularly useful on Windows OS, where the maximal length of -a command line is limited and response files must be used instead. -+ -Use it like in the following example: -+ ----- -rule link - command = link.exe /OUT$out [usual link flags here] @$out.rsp - rspfile = $out.rsp - rspfile_content = $in - -build myapp.exe: link a.obj b.obj [possibly many other .obj files] ----- - -[[ref_rule_command]] -Interpretation of the `command` variable -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Fundamentally, command lines behave differently on Unixes and Windows. - -On Unixes, commands are arrays of arguments. The Ninja `command` -variable is passed directly to `sh -c`, which is then responsible for -interpreting that string into an argv array. Therefore the quoting -rules are those of the shell, and you can use all the normal shell -operators, like `&&` to chain multiple commands, or `VAR=value cmd` to -set environment variables. - -On Windows, commands are strings, so Ninja passes the `command` string -directly to `CreateProcess`. (In the common case of simply executing -a compiler this means there is less overhead.) Consequently the -quoting rules are deterimined by the called program, which on Windows -are usually provided by the C library. If you need shell -interpretation of the command (such as the use of `&&` to chain -multiple commands), make the command execute the Windows shell by -prefixing the command with `cmd /c`. - -[[ref_outputs]] -Build outputs -~~~~~~~~~~~~~ - -There are two types of build outputs which are subtly different. - -1. _Explicit outputs_, as listed in a build line. These are - available as the `$out` variable in the rule. -+ -This is the standard form of output to be used for e.g. the -object file of a compile command. - -2. _Implicit outputs_, as listed in a build line with the syntax +| - _out1_ _out2_+ + before the `:` of a build line _(available since - Ninja 1.7)_. The semantics are identical to explicit outputs, - the only difference is that implicit outputs don't show up in the - `$out` variable. -+ -This is for expressing outputs that don't show up on the -command line of the command. - -[[ref_dependencies]] -Build dependencies -~~~~~~~~~~~~~~~~~~ - -There are three types of build dependencies which are subtly different. - -1. _Explicit dependencies_, as listed in a build line. These are - available as the `$in` variable in the rule. Changes in these files - cause the output to be rebuilt; if these file are missing and - Ninja doesn't know how to build them, the build is aborted. -+ -This is the standard form of dependency to be used e.g. for the -source file of a compile command. - -2. _Implicit dependencies_, either as picked up from - a `depfile` attribute on a rule or from the syntax +| _dep1_ - _dep2_+ on the end of a build line. The semantics are identical to - explicit dependencies, the only difference is that implicit dependencies - don't show up in the `$in` variable. -+ -This is for expressing dependencies that don't show up on the -command line of the command; for example, for a rule that runs a -script, the script itself should be an implicit dependency, as -changes to the script should cause the output to rebuild. -+ -Note that dependencies as loaded through depfiles have slightly different -semantics, as described in the <>. - -3. _Order-only dependencies_, expressed with the syntax +|| _dep1_ - _dep2_+ on the end of a build line. When these are out of date, the - output is not rebuilt until they are built, but changes in order-only - dependencies alone do not cause the output to be rebuilt. -+ -Order-only dependencies can be useful for bootstrapping dependencies -that are only discovered during build time: for example, to generate a -header file before starting a subsequent compilation step. (Once the -header is used in compilation, a generated dependency file will then -express the implicit dependency.) - -File paths are compared as is, which means that an absolute path and a -relative path, pointing to the same file, are considered different by Ninja. - -Variable expansion -~~~~~~~~~~~~~~~~~~ - -Variables are expanded in paths (in a `build` or `default` statement) -and on the right side of a `name = value` statement. - -When a `name = value` statement is evaluated, its right-hand side is -expanded immediately (according to the below scoping rules), and -from then on `$name` expands to the static string as the result of the -expansion. It is never the case that you'll need to "double-escape" a -value to prevent it from getting expanded twice. - -All variables are expanded immediately as they're encountered in parsing, -with one important exception: variables in `rule` blocks are expanded -when the rule is _used_, not when it is declared. In the following -example, the `demo` rule prints "this is a demo of bar". - ----- -rule demo - command = echo "this is a demo of $foo" - -build out: demo - foo = bar ----- - -[[ref_scope]] -Evaluation and scoping -~~~~~~~~~~~~~~~~~~~~~~ - -Top-level variable declarations are scoped to the file they occur in. - -Rule declarations are also scoped to the file they occur in. -_(Available since Ninja 1.6)_ - -The `subninja` keyword, used to include another `.ninja` file, -introduces a new scope. The included `subninja` file may use the -variables and rules from the parent file, and shadow their values for the file's -scope, but it won't affect values of the variables in the parent. - -To include another `.ninja` file in the current scope, much like a C -`#include` statement, use `include` instead of `subninja`. - -Variable declarations indented in a `build` block are scoped to the -`build` block. The full lookup order for a variable expanded in a -`build` block (or the `rule` is uses) is: - -1. Special built-in variables (`$in`, `$out`). - -2. Build-level variables from the `build` block. - -3. Rule-level variables from the `rule` block (i.e. `$command`). - (Note from the above discussion on expansion that these are - expanded "late", and may make use of in-scope bindings like `$in`.) - -4. File-level variables from the file that the `build` line was in. - -5. Variables from the file that included that file using the - `subninja` keyword. diff --git a/vendor/ninja/doc/style.css b/vendor/ninja/doc/style.css deleted file mode 100644 index 9976c03ac..000000000 --- a/vendor/ninja/doc/style.css +++ /dev/null @@ -1,29 +0,0 @@ -body { - margin: 5ex 10ex; - max-width: 80ex; - line-height: 1.5; - font-family: sans-serif; -} -h1, h2, h3 { - font-weight: normal; -} -pre, code { - font-family: x, monospace; -} -pre { - padding: 1ex; - background: #eee; - border: solid 1px #ddd; - min-width: 0; - font-size: 90%; -} -code { - color: #007; -} -div.chapter { - margin-top: 4em; - border-top: solid 2px black; -} -p { - margin-top: 0; -} diff --git a/vendor/ninja/misc/afl-fuzz-tokens/kw_build b/vendor/ninja/misc/afl-fuzz-tokens/kw_build deleted file mode 100644 index c795b054e..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/kw_build +++ /dev/null @@ -1 +0,0 @@ -build \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/kw_default b/vendor/ninja/misc/afl-fuzz-tokens/kw_default deleted file mode 100644 index 331d858ce..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/kw_default +++ /dev/null @@ -1 +0,0 @@ -default \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/kw_include b/vendor/ninja/misc/afl-fuzz-tokens/kw_include deleted file mode 100644 index 2996fba35..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/kw_include +++ /dev/null @@ -1 +0,0 @@ -include \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/kw_pool b/vendor/ninja/misc/afl-fuzz-tokens/kw_pool deleted file mode 100644 index e783591ae..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/kw_pool +++ /dev/null @@ -1 +0,0 @@ -pool \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/kw_rule b/vendor/ninja/misc/afl-fuzz-tokens/kw_rule deleted file mode 100644 index 841e840f8..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/kw_rule +++ /dev/null @@ -1 +0,0 @@ -rule \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/kw_subninja b/vendor/ninja/misc/afl-fuzz-tokens/kw_subninja deleted file mode 100644 index c4fe0c78f..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/kw_subninja +++ /dev/null @@ -1 +0,0 @@ -subninja \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_a b/vendor/ninja/misc/afl-fuzz-tokens/misc_a deleted file mode 100644 index 2e65efe2a..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_a +++ /dev/null @@ -1 +0,0 @@ -a \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_b b/vendor/ninja/misc/afl-fuzz-tokens/misc_b deleted file mode 100644 index 63d8dbd40..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_b +++ /dev/null @@ -1 +0,0 @@ -b \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_colon b/vendor/ninja/misc/afl-fuzz-tokens/misc_colon deleted file mode 100644 index 22ded55aa..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_colon +++ /dev/null @@ -1 +0,0 @@ -: \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_cont b/vendor/ninja/misc/afl-fuzz-tokens/misc_cont deleted file mode 100644 index 857f13ad1..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_cont +++ /dev/null @@ -1 +0,0 @@ -$ diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_dollar b/vendor/ninja/misc/afl-fuzz-tokens/misc_dollar deleted file mode 100644 index 6f4f765ed..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_dollar +++ /dev/null @@ -1 +0,0 @@ -$ \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_eq b/vendor/ninja/misc/afl-fuzz-tokens/misc_eq deleted file mode 100644 index 851c75cc5..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_eq +++ /dev/null @@ -1 +0,0 @@ -= \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_indent b/vendor/ninja/misc/afl-fuzz-tokens/misc_indent deleted file mode 100644 index 136d06384..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_indent +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_pipe b/vendor/ninja/misc/afl-fuzz-tokens/misc_pipe deleted file mode 100644 index a3871d450..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_pipe +++ /dev/null @@ -1 +0,0 @@ -| \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_pipepipe b/vendor/ninja/misc/afl-fuzz-tokens/misc_pipepipe deleted file mode 100644 index 27cc728d6..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_pipepipe +++ /dev/null @@ -1 +0,0 @@ -|| \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz-tokens/misc_space b/vendor/ninja/misc/afl-fuzz-tokens/misc_space deleted file mode 100644 index 0519ecba6..000000000 --- a/vendor/ninja/misc/afl-fuzz-tokens/misc_space +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/vendor/ninja/misc/afl-fuzz/build.ninja b/vendor/ninja/misc/afl-fuzz/build.ninja deleted file mode 100644 index 52cd2f151..000000000 --- a/vendor/ninja/misc/afl-fuzz/build.ninja +++ /dev/null @@ -1,5 +0,0 @@ -rule b - command = clang -MMD -MF $out.d -o $out -c $in - description = building $out - -build a.o: b a.c diff --git a/vendor/ninja/misc/bash-completion b/vendor/ninja/misc/bash-completion deleted file mode 100644 index e604cd438..000000000 --- a/vendor/ninja/misc/bash-completion +++ /dev/null @@ -1,57 +0,0 @@ -# Copyright 2011 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Add the following to your .bashrc to tab-complete ninja targets -# . path/to/ninja/misc/bash-completion - -_ninja_target() { - local cur prev targets dir line targets_command OPTIND - - # When available, use bash_completion to: - # 1) Complete words when the cursor is in the middle of the word - # 2) Complete paths with files or directories, as appropriate - if _get_comp_words_by_ref cur prev &>/dev/null ; then - case $prev in - -f) - _filedir - return 0 - ;; - -C) - _filedir -d - return 0 - ;; - esac - else - cur="${COMP_WORDS[COMP_CWORD]}" - fi - - if [[ "$cur" == "--"* ]]; then - # there is currently only one argument that takes -- - COMPREPLY=($(compgen -P '--' -W 'version' -- "${cur:2}")) - else - dir="." - line=$(echo ${COMP_LINE} | cut -d" " -f 2-) - # filter out all non relevant arguments but keep C for dirs - while getopts :C:f:j:l:k:nvd:t: opt $line; do - case $opt in - # eval for tilde expansion - C) eval dir="$OPTARG" ;; - esac - done; - targets_command="eval ninja -C \"${dir}\" -t targets all 2>/dev/null | cut -d: -f1" - COMPREPLY=($(compgen -W '`${targets_command}`' -- "$cur")) - fi - return -} -complete -F _ninja_target ninja diff --git a/vendor/ninja/misc/inherited-fds.ninja b/vendor/ninja/misc/inherited-fds.ninja deleted file mode 100644 index 671155eb0..000000000 --- a/vendor/ninja/misc/inherited-fds.ninja +++ /dev/null @@ -1,23 +0,0 @@ -# This build file prints out a list of open file descriptors in -# Ninja subprocesses, to help verify we don't accidentally leak -# any. - -# Because one fd leak was in the code managing multiple subprocesses, -# this test brings up multiple subprocesses and then dumps the fd -# table of the last one. - -# Use like: ./ninja -f misc/inherited-fds.ninja - -rule sleep - command = sleep 10000 - -rule dump - command = sleep 1; ls -l /proc/self/fd; exit 1 - -build all: phony a b c d e - -build a: sleep -build b: sleep -build c: sleep -build d: sleep -build e: dump diff --git a/vendor/ninja/misc/long-slow-build.ninja b/vendor/ninja/misc/long-slow-build.ninja deleted file mode 100644 index 46af6bafb..000000000 --- a/vendor/ninja/misc/long-slow-build.ninja +++ /dev/null @@ -1,38 +0,0 @@ -# An input file for running a "slow" build. -# Use like: ninja -f misc/long-slow-build.ninja all - -rule sleep - command = sleep 1 - description = SLEEP $out - -build 0: sleep README -build 1: sleep README -build 2: sleep README -build 3: sleep README -build 4: sleep README -build 5: sleep README -build 6: sleep README -build 7: sleep README -build 8: sleep README -build 9: sleep README -build 10: sleep 0 -build 11: sleep 1 -build 12: sleep 2 -build 13: sleep 3 -build 14: sleep 4 -build 15: sleep 5 -build 16: sleep 6 -build 17: sleep 7 -build 18: sleep 8 -build 19: sleep 9 -build 20: sleep 10 -build 21: sleep 11 -build 22: sleep 12 -build 23: sleep 13 -build 24: sleep 14 -build 25: sleep 15 -build 26: sleep 16 -build 27: sleep 17 -build 28: sleep 18 -build 29: sleep 19 -build all: phony 20 21 22 23 24 25 26 27 28 29 diff --git a/vendor/ninja/misc/measure.py b/vendor/ninja/misc/measure.py deleted file mode 100755 index 8ce95e696..000000000 --- a/vendor/ninja/misc/measure.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2011 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""measure the runtime of a command by repeatedly running it. -""" - -from __future__ import print_function - -import time -import subprocess -import sys - -devnull = open('/dev/null', 'w') - -def run(cmd, repeat=10): - print('sampling:', end=' ') - sys.stdout.flush() - - samples = [] - for _ in range(repeat): - start = time.time() - subprocess.call(cmd, stdout=devnull, stderr=devnull) - end = time.time() - dt = (end - start) * 1000 - print('%dms' % int(dt), end=' ') - sys.stdout.flush() - samples.append(dt) - print() - - # We're interested in the 'pure' runtime of the code, which is - # conceptually the smallest time we'd see if we ran it enough times - # such that it got the perfect time slices / disk cache hits. - best = min(samples) - # Also print how varied the outputs were in an attempt to make it - # more obvious if something has gone terribly wrong. - err = sum(s - best for s in samples) / float(len(samples)) - print('estimate: %dms (mean err %.1fms)' % (best, err)) - -if __name__ == '__main__': - if len(sys.argv) < 2: - print('usage: measure.py command args...') - sys.exit(1) - run(cmd=sys.argv[1:]) diff --git a/vendor/ninja/misc/ninja-mode.el b/vendor/ninja/misc/ninja-mode.el deleted file mode 100644 index 639e5375b..000000000 --- a/vendor/ninja/misc/ninja-mode.el +++ /dev/null @@ -1,85 +0,0 @@ -;;; ninja-mode.el --- Major mode for editing .ninja files -*- lexical-binding: t -*- - -;; Package-Requires: ((emacs "24")) - -;; Copyright 2011 Google Inc. All Rights Reserved. -;; -;; Licensed under the Apache License, Version 2.0 (the "License"); -;; you may not use this file except in compliance with the License. -;; You may obtain a copy of the License at -;; -;; http://www.apache.org/licenses/LICENSE-2.0 -;; -;; Unless required by applicable law or agreed to in writing, software -;; distributed under the License is distributed on an "AS IS" BASIS, -;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -;; See the License for the specific language governing permissions and -;; limitations under the License. - -;;; Commentary: - -;; Simple emacs mode for editing .ninja files. -;; Just some syntax highlighting for now. - -;;; Code: - -(defvar ninja-keywords - `((,(concat "^" (regexp-opt '("rule" "build" "subninja" "include" - "pool" "default") - 'words)) - . font-lock-keyword-face) - ("\\([[:alnum:]_]+\\) =" 1 font-lock-variable-name-face) - ;; Variable expansion. - ("$[[:alnum:]_]+" . font-lock-variable-name-face) - ("${[[:alnum:]._]+}" . font-lock-variable-name-face) - ;; Rule names - ("rule +\\([[:alnum:]_.-]+\\)" 1 font-lock-function-name-face) - ;; Build Statement - highlight the rule used, - ;; allow for escaped $,: in outputs. - ("build +\\(?:[^:$\n]\\|$[:$]\\)+ *: *\\([[:alnum:]_.-]+\\)" - 1 font-lock-function-name-face))) - -(defvar ninja-mode-syntax-table - (let ((table (make-syntax-table))) - (modify-syntax-entry ?\" "." table) - table) - "Syntax table used in `ninja-mode'.") - -(defun ninja-syntax-propertize (start end) - (save-match-data - (goto-char start) - (while (search-forward "#" end t) - (let ((match-pos (match-beginning 0))) - (when (and - ;; Is it the first non-white character on the line? - (eq match-pos (save-excursion (back-to-indentation) (point))) - (save-excursion - (goto-char (line-end-position 0)) - (or - ;; If we're continuting the previous line, it's not a - ;; comment. - (not (eq ?$ (char-before))) - ;; Except if the previous line is a comment as well, as the - ;; continuation dollar is ignored then. - (nth 4 (syntax-ppss))))) - (put-text-property match-pos (1+ match-pos) 'syntax-table '(11)) - (let ((line-end (line-end-position))) - ;; Avoid putting properties past the end of the buffer. - ;; Otherwise we get an `args-out-of-range' error. - (unless (= line-end (1+ (buffer-size))) - (put-text-property line-end (1+ line-end) 'syntax-table '(12))))))))) - -;;;###autoload -(define-derived-mode ninja-mode prog-mode "ninja" - (set (make-local-variable 'comment-start) "#") - (set (make-local-variable 'parse-sexp-lookup-properties) t) - (set (make-local-variable 'syntax-propertize-function) #'ninja-syntax-propertize) - (setq font-lock-defaults '(ninja-keywords))) - -;; Run ninja-mode for files ending in .ninja. -;;;###autoload -(add-to-list 'auto-mode-alist '("\\.ninja$" . ninja-mode)) - -(provide 'ninja-mode) - -;;; ninja-mode.el ends here diff --git a/vendor/ninja/misc/ninja.vim b/vendor/ninja/misc/ninja.vim deleted file mode 100644 index 190d9ceb8..000000000 --- a/vendor/ninja/misc/ninja.vim +++ /dev/null @@ -1,83 +0,0 @@ -" ninja build file syntax. -" Language: ninja build file as described at -" http://ninja-build.org/manual.html -" Version: 1.4 -" Last Change: 2014/05/13 -" Maintainer: Nicolas Weber -" Version 1.4 of this script is in the upstream vim repository and will be -" included in the next vim release. If you change this, please send your change -" upstream. - -" ninja lexer and parser are at -" https://github.com/ninja-build/ninja/blob/master/src/lexer.in.cc -" https://github.com/ninja-build/ninja/blob/master/src/manifest_parser.cc - -if exists("b:current_syntax") - finish -endif - -let s:cpo_save = &cpo -set cpo&vim - -syn case match - -syn match ninjaComment /#.*/ contains=@Spell - -" Toplevel statements are the ones listed here and -" toplevel variable assignments (ident '=' value). -" lexer.in.cc, ReadToken() and manifest_parser.cc, Parse() -syn match ninjaKeyword "^build\>" -syn match ninjaKeyword "^rule\>" -syn match ninjaKeyword "^pool\>" -syn match ninjaKeyword "^default\>" -syn match ninjaKeyword "^include\>" -syn match ninjaKeyword "^subninja\>" - -" Both 'build' and 'rule' begin a variable scope that ends -" on the first line without indent. 'rule' allows only a -" limited set of magic variables, 'build' allows general -" let assignments. -" manifest_parser.cc, ParseRule() -syn region ninjaRule start="^rule" end="^\ze\S" contains=ALL transparent -syn keyword ninjaRuleCommand contained command deps depfile description generator - \ pool restat rspfile rspfile_content - -syn region ninjaPool start="^pool" end="^\ze\S" contains=ALL transparent -syn keyword ninjaPoolCommand contained depth - -" Strings are parsed as follows: -" lexer.in.cc, ReadEvalString() -" simple_varname = [a-zA-Z0-9_-]+; -" varname = [a-zA-Z0-9_.-]+; -" $$ -> $ -" $\n -> line continuation -" '$ ' -> escaped space -" $simple_varname -> variable -" ${varname} -> variable - -syn match ninjaDollar "\$\$" -syn match ninjaWrapLineOperator "\$$" -syn match ninjaSimpleVar "\$[a-zA-Z0-9_-]\+" -syn match ninjaVar "\${[a-zA-Z0-9_.-]\+}" - -" operators are: -" variable assignment = -" rule definition : -" implicit dependency | -" order-only dependency || -syn match ninjaOperator "\(=\|:\||\|||\)\ze\s" - -hi def link ninjaComment Comment -hi def link ninjaKeyword Keyword -hi def link ninjaRuleCommand Statement -hi def link ninjaPoolCommand Statement -hi def link ninjaDollar ninjaOperator -hi def link ninjaWrapLineOperator ninjaOperator -hi def link ninjaOperator Operator -hi def link ninjaSimpleVar ninjaVar -hi def link ninjaVar Identifier - -let b:current_syntax = "ninja" - -let &cpo = s:cpo_save -unlet s:cpo_save diff --git a/vendor/ninja/misc/ninja_syntax.py b/vendor/ninja/misc/ninja_syntax.py deleted file mode 100644 index 5c52ea23f..000000000 --- a/vendor/ninja/misc/ninja_syntax.py +++ /dev/null @@ -1,181 +0,0 @@ -#!/usr/bin/python - -"""Python module for generating .ninja files. - -Note that this is emphatically not a required piece of Ninja; it's -just a helpful utility for build-file-generation systems that already -use Python. -""" - -import re -import textwrap - -def escape_path(word): - return word.replace('$ ', '$$ ').replace(' ', '$ ').replace(':', '$:') - -class Writer(object): - def __init__(self, output, width=78): - self.output = output - self.width = width - - def newline(self): - self.output.write('\n') - - def comment(self, text, has_path=False): - for line in textwrap.wrap(text, self.width - 2, break_long_words=False, - break_on_hyphens=False): - self.output.write('# ' + line + '\n') - - def variable(self, key, value, indent=0): - if value is None: - return - if isinstance(value, list): - value = ' '.join(filter(None, value)) # Filter out empty strings. - self._line('%s = %s' % (key, value), indent) - - def pool(self, name, depth): - self._line('pool %s' % name) - self.variable('depth', depth, indent=1) - - def rule(self, name, command, description=None, depfile=None, - generator=False, pool=None, restat=False, rspfile=None, - rspfile_content=None, deps=None): - self._line('rule %s' % name) - self.variable('command', command, indent=1) - if description: - self.variable('description', description, indent=1) - if depfile: - self.variable('depfile', depfile, indent=1) - if generator: - self.variable('generator', '1', indent=1) - if pool: - self.variable('pool', pool, indent=1) - if restat: - self.variable('restat', '1', indent=1) - if rspfile: - self.variable('rspfile', rspfile, indent=1) - if rspfile_content: - self.variable('rspfile_content', rspfile_content, indent=1) - if deps: - self.variable('deps', deps, indent=1) - - def build(self, outputs, rule, inputs=None, implicit=None, order_only=None, - variables=None, implicit_outputs=None): - outputs = as_list(outputs) - out_outputs = [escape_path(x) for x in outputs] - all_inputs = [escape_path(x) for x in as_list(inputs)] - - if implicit: - implicit = [escape_path(x) for x in as_list(implicit)] - all_inputs.append('|') - all_inputs.extend(implicit) - if order_only: - order_only = [escape_path(x) for x in as_list(order_only)] - all_inputs.append('||') - all_inputs.extend(order_only) - if implicit_outputs: - implicit_outputs = [escape_path(x) - for x in as_list(implicit_outputs)] - out_outputs.append('|') - out_outputs.extend(implicit_outputs) - - self._line('build %s: %s' % (' '.join(out_outputs), - ' '.join([rule] + all_inputs))) - - if variables: - if isinstance(variables, dict): - iterator = iter(variables.items()) - else: - iterator = iter(variables) - - for key, val in iterator: - self.variable(key, val, indent=1) - - return outputs - - def include(self, path): - self._line('include %s' % path) - - def subninja(self, path): - self._line('subninja %s' % path) - - def default(self, paths): - self._line('default %s' % ' '.join(as_list(paths))) - - def _count_dollars_before_index(self, s, i): - """Returns the number of '$' characters right in front of s[i].""" - dollar_count = 0 - dollar_index = i - 1 - while dollar_index > 0 and s[dollar_index] == '$': - dollar_count += 1 - dollar_index -= 1 - return dollar_count - - def _line(self, text, indent=0): - """Write 'text' word-wrapped at self.width characters.""" - leading_space = ' ' * indent - while len(leading_space) + len(text) > self.width: - # The text is too wide; wrap if possible. - - # Find the rightmost space that would obey our width constraint and - # that's not an escaped space. - available_space = self.width - len(leading_space) - len(' $') - space = available_space - while True: - space = text.rfind(' ', 0, space) - if (space < 0 or - self._count_dollars_before_index(text, space) % 2 == 0): - break - - if space < 0: - # No such space; just use the first unescaped space we can find. - space = available_space - 1 - while True: - space = text.find(' ', space + 1) - if (space < 0 or - self._count_dollars_before_index(text, space) % 2 == 0): - break - if space < 0: - # Give up on breaking. - break - - self.output.write(leading_space + text[0:space] + ' $\n') - text = text[space+1:] - - # Subsequent lines are continuations, so indent them. - leading_space = ' ' * (indent+2) - - self.output.write(leading_space + text + '\n') - - def close(self): - self.output.close() - - -def as_list(input): - if input is None: - return [] - if isinstance(input, list): - return input - return [input] - - -def escape(string): - """Escape a string such that it can be embedded into a Ninja file without - further interpretation.""" - assert '\n' not in string, 'Ninja syntax does not allow newlines' - # We only have one special metacharacter: '$'. - return string.replace('$', '$$') - - -def expand(string, vars, local_vars={}): - """Expand a string containing $vars as Ninja would. - - Note: doesn't handle the full Ninja variable syntax, but it's enough - to make configure.py's use of it work. - """ - def exp(m): - var = m.group(1) - if var == '$': - return '$' - return local_vars.get(var, vars.get(var, '')) - return re.sub(r'\$(\$|\w*)', exp, string) diff --git a/vendor/ninja/misc/ninja_syntax_test.py b/vendor/ninja/misc/ninja_syntax_test.py deleted file mode 100755 index 07e3ed384..000000000 --- a/vendor/ninja/misc/ninja_syntax_test.py +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2011 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import unittest - -try: - from StringIO import StringIO -except ImportError: - from io import StringIO - -import ninja_syntax - -LONGWORD = 'a' * 10 -LONGWORDWITHSPACES = 'a'*5 + '$ ' + 'a'*5 -INDENT = ' ' - -class TestLineWordWrap(unittest.TestCase): - def setUp(self): - self.out = StringIO() - self.n = ninja_syntax.Writer(self.out, width=8) - - def test_single_long_word(self): - # We shouldn't wrap a single long word. - self.n._line(LONGWORD) - self.assertEqual(LONGWORD + '\n', self.out.getvalue()) - - def test_few_long_words(self): - # We should wrap a line where the second word is overlong. - self.n._line(' '.join(['x', LONGWORD, 'y'])) - self.assertEqual(' $\n'.join(['x', - INDENT + LONGWORD, - INDENT + 'y']) + '\n', - self.out.getvalue()) - - def test_comment_wrap(self): - # Filenames shoud not be wrapped - self.n.comment('Hello /usr/local/build-tools/bin') - self.assertEqual('# Hello\n# /usr/local/build-tools/bin\n', - self.out.getvalue()) - - def test_short_words_indented(self): - # Test that indent is taking into acount when breaking subsequent lines. - # The second line should not be ' to tree', as that's longer than the - # test layout width of 8. - self.n._line('line_one to tree') - self.assertEqual('''\ -line_one $ - to $ - tree -''', - self.out.getvalue()) - - def test_few_long_words_indented(self): - # Check wrapping in the presence of indenting. - self.n._line(' '.join(['x', LONGWORD, 'y']), indent=1) - self.assertEqual(' $\n'.join([' ' + 'x', - ' ' + INDENT + LONGWORD, - ' ' + INDENT + 'y']) + '\n', - self.out.getvalue()) - - def test_escaped_spaces(self): - self.n._line(' '.join(['x', LONGWORDWITHSPACES, 'y'])) - self.assertEqual(' $\n'.join(['x', - INDENT + LONGWORDWITHSPACES, - INDENT + 'y']) + '\n', - self.out.getvalue()) - - def test_fit_many_words(self): - self.n = ninja_syntax.Writer(self.out, width=78) - self.n._line('command = cd ../../chrome; python ../tools/grit/grit/format/repack.py ../out/Debug/obj/chrome/chrome_dll.gen/repack/theme_resources_large.pak ../out/Debug/gen/chrome/theme_resources_large.pak', 1) - self.assertEqual('''\ - command = cd ../../chrome; python ../tools/grit/grit/format/repack.py $ - ../out/Debug/obj/chrome/chrome_dll.gen/repack/theme_resources_large.pak $ - ../out/Debug/gen/chrome/theme_resources_large.pak -''', - self.out.getvalue()) - - def test_leading_space(self): - self.n = ninja_syntax.Writer(self.out, width=14) # force wrapping - self.n.variable('foo', ['', '-bar', '-somethinglong'], 0) - self.assertEqual('''\ -foo = -bar $ - -somethinglong -''', - self.out.getvalue()) - - def test_embedded_dollar_dollar(self): - self.n = ninja_syntax.Writer(self.out, width=15) # force wrapping - self.n.variable('foo', ['a$$b', '-somethinglong'], 0) - self.assertEqual('''\ -foo = a$$b $ - -somethinglong -''', - self.out.getvalue()) - - def test_two_embedded_dollar_dollars(self): - self.n = ninja_syntax.Writer(self.out, width=17) # force wrapping - self.n.variable('foo', ['a$$b', '-somethinglong'], 0) - self.assertEqual('''\ -foo = a$$b $ - -somethinglong -''', - self.out.getvalue()) - - def test_leading_dollar_dollar(self): - self.n = ninja_syntax.Writer(self.out, width=14) # force wrapping - self.n.variable('foo', ['$$b', '-somethinglong'], 0) - self.assertEqual('''\ -foo = $$b $ - -somethinglong -''', - self.out.getvalue()) - - def test_trailing_dollar_dollar(self): - self.n = ninja_syntax.Writer(self.out, width=14) # force wrapping - self.n.variable('foo', ['a$$', '-somethinglong'], 0) - self.assertEqual('''\ -foo = a$$ $ - -somethinglong -''', - self.out.getvalue()) - -class TestBuild(unittest.TestCase): - def setUp(self): - self.out = StringIO() - self.n = ninja_syntax.Writer(self.out) - - def test_variables_dict(self): - self.n.build('out', 'cc', 'in', variables={'name': 'value'}) - self.assertEqual('''\ -build out: cc in - name = value -''', - self.out.getvalue()) - - def test_variables_list(self): - self.n.build('out', 'cc', 'in', variables=[('name', 'value')]) - self.assertEqual('''\ -build out: cc in - name = value -''', - self.out.getvalue()) - - def test_implicit_outputs(self): - self.n.build('o', 'cc', 'i', implicit_outputs='io') - self.assertEqual('''\ -build o | io: cc i -''', - self.out.getvalue()) - -class TestExpand(unittest.TestCase): - def test_basic(self): - vars = {'x': 'X'} - self.assertEqual('foo', ninja_syntax.expand('foo', vars)) - - def test_var(self): - vars = {'xyz': 'XYZ'} - self.assertEqual('fooXYZ', ninja_syntax.expand('foo$xyz', vars)) - - def test_vars(self): - vars = {'x': 'X', 'y': 'YYY'} - self.assertEqual('XYYY', ninja_syntax.expand('$x$y', vars)) - - def test_space(self): - vars = {} - self.assertEqual('x y z', ninja_syntax.expand('x$ y$ z', vars)) - - def test_locals(self): - vars = {'x': 'a'} - local_vars = {'x': 'b'} - self.assertEqual('a', ninja_syntax.expand('$x', vars)) - self.assertEqual('b', ninja_syntax.expand('$x', vars, local_vars)) - - def test_double(self): - self.assertEqual('a b$c', ninja_syntax.expand('a$ b$$c', {})) - -if __name__ == '__main__': - unittest.main() diff --git a/vendor/ninja/misc/packaging/ninja.spec b/vendor/ninja/misc/packaging/ninja.spec deleted file mode 100644 index 05f5a079a..000000000 --- a/vendor/ninja/misc/packaging/ninja.spec +++ /dev/null @@ -1,42 +0,0 @@ -Summary: Ninja is a small build system with a focus on speed. -Name: ninja -Version: %{ver} -Release: %{rel}%{?dist} -Group: Development/Tools -License: Apache 2.0 -URL: https://github.com/ninja-build/ninja -Source0: %{name}-%{version}-%{rel}.tar.gz -BuildRoot: %{_tmppath}/%{name}-%{version}-%{rel} - -BuildRequires: asciidoc - -%description -Ninja is yet another build system. It takes as input the interdependencies of files (typically source code and output executables) and -orchestrates building them, quickly. - -Ninja joins a sea of other build systems. Its distinguishing goal is to be fast. It is born from my work on the Chromium browser project, -which has over 30,000 source files and whose other build systems (including one built from custom non-recursive Makefiles) can take ten -seconds to start building after changing one file. Ninja is under a second. - -%prep -%setup -q -n %{name}-%{version}-%{rel} - -%build -echo Building.. -./configure.py --bootstrap -./ninja manual - -%install -mkdir -p %{buildroot}%{_bindir} %{buildroot}%{_docdir} -cp -p ninja %{buildroot}%{_bindir}/ - -%files -%defattr(-, root, root) -%doc COPYING README doc/manual.html -%{_bindir}/* - -%clean -rm -rf %{buildroot} - -#The changelog is built automatically from Git history -%changelog diff --git a/vendor/ninja/misc/packaging/rpmbuild.sh b/vendor/ninja/misc/packaging/rpmbuild.sh deleted file mode 100755 index 9b74c6588..000000000 --- a/vendor/ninja/misc/packaging/rpmbuild.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -echo Building ninja RPMs.. -GITROOT=$(git rev-parse --show-toplevel) -cd $GITROOT - -VER=1.0 -REL=$(git rev-parse --short HEAD)git -RPMTOPDIR=$GITROOT/rpm-build -echo "Ver: $VER, Release: $REL" - -# Create tarball -mkdir -p $RPMTOPDIR/{SOURCES,SPECS} -git archive --format=tar --prefix=ninja-${VER}-${REL}/ HEAD | gzip -c > $RPMTOPDIR/SOURCES/ninja-${VER}-${REL}.tar.gz - -# Convert git log to RPM's ChangeLog format (shown with rpm -qp --changelog ) -sed -e "s/%{ver}/$VER/" -e "s/%{rel}/$REL/" misc/packaging/ninja.spec > $RPMTOPDIR/SPECS/ninja.spec -git log --format="* %cd %aN%n- (%h) %s%d%n" --date=local | sed -r 's/[0-9]+:[0-9]+:[0-9]+ //' >> $RPMTOPDIR/SPECS/ninja.spec - -# Build SRC and binary RPMs -rpmbuild --quiet \ - --define "_topdir $RPMTOPDIR" \ - --define "_rpmdir $PWD" \ - --define "_srcrpmdir $PWD" \ - --define '_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm' \ - -ba $RPMTOPDIR/SPECS/ninja.spec && - -rm -rf $RPMTOPDIR && -echo Done diff --git a/vendor/ninja/misc/write_fake_manifests.py b/vendor/ninja/misc/write_fake_manifests.py deleted file mode 100644 index b3594de0b..000000000 --- a/vendor/ninja/misc/write_fake_manifests.py +++ /dev/null @@ -1,272 +0,0 @@ -#!/usr/bin/env python - -"""Writes large manifest files, for manifest parser performance testing. - -The generated manifest files are (eerily) similar in appearance and size to the -ones used in the Chromium project. - -Usage: - python misc/write_fake_manifests.py outdir # Will run for about 5s. - -The program contains a hardcoded random seed, so it will generate the same -output every time it runs. By changing the seed, it's easy to generate many -different sets of manifest files. -""" - -import argparse -import contextlib -import os -import random -import sys - -import ninja_syntax - - -def paretoint(avg, alpha): - """Returns a random integer that's avg on average, following a power law. - alpha determines the shape of the power curve. alpha has to be larger - than 1. The closer alpha is to 1, the higher the variation of the returned - numbers.""" - return int(random.paretovariate(alpha) * avg / (alpha / (alpha - 1))) - - -# Based on http://neugierig.org/software/chromium/class-name-generator.html -def moar(avg_options, p_suffix): - kStart = ['render', 'web', 'browser', 'tab', 'content', 'extension', 'url', - 'file', 'sync', 'content', 'http', 'profile'] - kOption = ['view', 'host', 'holder', 'container', 'impl', 'ref', - 'delegate', 'widget', 'proxy', 'stub', 'context', - 'manager', 'master', 'watcher', 'service', 'file', 'data', - 'resource', 'device', 'info', 'provider', 'internals', 'tracker', - 'api', 'layer'] - kOS = ['win', 'mac', 'aura', 'linux', 'android', 'unittest', 'browsertest'] - num_options = min(paretoint(avg_options, alpha=4), 5) - # The original allows kOption to repeat as long as no consecutive options - # repeat. This version doesn't allow any option repetition. - name = [random.choice(kStart)] + random.sample(kOption, num_options) - if random.random() < p_suffix: - name.append(random.choice(kOS)) - return '_'.join(name) - - -class GenRandom(object): - def __init__(self, src_dir): - self.seen_names = set([None]) - self.seen_defines = set([None]) - self.src_dir = src_dir - - def _unique_string(self, seen, avg_options=1.3, p_suffix=0.1): - s = None - while s in seen: - s = moar(avg_options, p_suffix) - seen.add(s) - return s - - def _n_unique_strings(self, n): - seen = set([None]) - return [self._unique_string(seen, avg_options=3, p_suffix=0.4) - for _ in xrange(n)] - - def target_name(self): - return self._unique_string(p_suffix=0, seen=self.seen_names) - - def path(self): - return os.path.sep.join([ - self._unique_string(self.seen_names, avg_options=1, p_suffix=0) - for _ in xrange(1 + paretoint(0.6, alpha=4))]) - - def src_obj_pairs(self, path, name): - num_sources = paretoint(55, alpha=2) + 1 - return [(os.path.join(self.src_dir, path, s + '.cc'), - os.path.join('obj', path, '%s.%s.o' % (name, s))) - for s in self._n_unique_strings(num_sources)] - - def defines(self): - return [ - '-DENABLE_' + self._unique_string(self.seen_defines).upper() - for _ in xrange(paretoint(20, alpha=3))] - - -LIB, EXE = 0, 1 -class Target(object): - def __init__(self, gen, kind): - self.name = gen.target_name() - self.dir_path = gen.path() - self.ninja_file_path = os.path.join( - 'obj', self.dir_path, self.name + '.ninja') - self.src_obj_pairs = gen.src_obj_pairs(self.dir_path, self.name) - if kind == LIB: - self.output = os.path.join('lib' + self.name + '.a') - elif kind == EXE: - self.output = os.path.join(self.name) - self.defines = gen.defines() - self.deps = [] - self.kind = kind - self.has_compile_depends = random.random() < 0.4 - - -def write_target_ninja(ninja, target, src_dir): - compile_depends = None - if target.has_compile_depends: - compile_depends = os.path.join( - 'obj', target.dir_path, target.name + '.stamp') - ninja.build(compile_depends, 'stamp', target.src_obj_pairs[0][0]) - ninja.newline() - - ninja.variable('defines', target.defines) - ninja.variable('includes', '-I' + src_dir) - ninja.variable('cflags', ['-Wall', '-fno-rtti', '-fno-exceptions']) - ninja.newline() - - for src, obj in target.src_obj_pairs: - ninja.build(obj, 'cxx', src, implicit=compile_depends) - ninja.newline() - - deps = [dep.output for dep in target.deps] - libs = [dep.output for dep in target.deps if dep.kind == LIB] - if target.kind == EXE: - ninja.variable('libs', libs) - if sys.platform == "darwin": - ninja.variable('ldflags', '-Wl,-pie') - link = { LIB: 'alink', EXE: 'link'}[target.kind] - ninja.build(target.output, link, [obj for _, obj in target.src_obj_pairs], - implicit=deps) - - -def write_sources(target, root_dir): - need_main = target.kind == EXE - - includes = [] - - # Include siblings. - for cc_filename, _ in target.src_obj_pairs: - h_filename = os.path.basename(os.path.splitext(cc_filename)[0] + '.h') - includes.append(h_filename) - - # Include deps. - for dep in target.deps: - for cc_filename, _ in dep.src_obj_pairs: - h_filename = os.path.basename( - os.path.splitext(cc_filename)[0] + '.h') - includes.append("%s/%s" % (dep.dir_path, h_filename)) - - for cc_filename, _ in target.src_obj_pairs: - cc_path = os.path.join(root_dir, cc_filename) - h_path = os.path.splitext(cc_path)[0] + '.h' - namespace = os.path.basename(target.dir_path) - class_ = os.path.splitext(os.path.basename(cc_filename))[0] - try: - os.makedirs(os.path.dirname(cc_path)) - except OSError: - pass - - with open(h_path, 'w') as f: - f.write('namespace %s { struct %s { %s(); }; }' % (namespace, - class_, class_)) - with open(cc_path, 'w') as f: - for include in includes: - f.write('#include "%s"\n' % include) - f.write('\n') - f.write('namespace %s { %s::%s() {} }' % (namespace, - class_, class_)) - - if need_main: - f.write('int main(int argc, char **argv) {}\n') - need_main = False - -def write_master_ninja(master_ninja, targets): - """Writes master build.ninja file, referencing all given subninjas.""" - master_ninja.variable('cxx', 'c++') - master_ninja.variable('ld', '$cxx') - if sys.platform == 'darwin': - master_ninja.variable('alink', 'libtool -static') - else: - master_ninja.variable('alink', 'ar rcs') - master_ninja.newline() - - master_ninja.pool('link_pool', depth=4) - master_ninja.newline() - - master_ninja.rule('cxx', description='CXX $out', - command='$cxx -MMD -MF $out.d $defines $includes $cflags -c $in -o $out', - depfile='$out.d', deps='gcc') - master_ninja.rule('alink', description='ARCHIVE $out', - command='rm -f $out && $alink -o $out $in') - master_ninja.rule('link', description='LINK $out', pool='link_pool', - command='$ld $ldflags -o $out $in $libs') - master_ninja.rule('stamp', description='STAMP $out', command='touch $out') - master_ninja.newline() - - for target in targets: - master_ninja.subninja(target.ninja_file_path) - master_ninja.newline() - - master_ninja.comment('Short names for targets.') - for target in targets: - if target.name != target.output: - master_ninja.build(target.name, 'phony', target.output) - master_ninja.newline() - - master_ninja.build('all', 'phony', [target.output for target in targets]) - master_ninja.default('all') - - -@contextlib.contextmanager -def FileWriter(path): - """Context manager for a ninja_syntax object writing to a file.""" - try: - os.makedirs(os.path.dirname(path)) - except OSError: - pass - f = open(path, 'w') - yield ninja_syntax.Writer(f) - f.close() - - -def random_targets(num_targets, src_dir): - gen = GenRandom(src_dir) - - # N-1 static libraries, and 1 executable depending on all of them. - targets = [Target(gen, LIB) for i in xrange(num_targets - 1)] - for i in range(len(targets)): - targets[i].deps = [t for t in targets[0:i] if random.random() < 0.05] - - last_target = Target(gen, EXE) - last_target.deps = targets[:] - last_target.src_obj_pairs = last_target.src_obj_pairs[0:10] # Trim. - targets.append(last_target) - return targets - - -def main(): - parser = argparse.ArgumentParser() - parser.add_argument('-s', '--sources', nargs="?", const="src", - help='write sources to directory (relative to output directory)') - parser.add_argument('-t', '--targets', type=int, default=1500, - help='number of targets (default: 1500)') - parser.add_argument('-S', '--seed', type=int, help='random seed', - default=12345) - parser.add_argument('outdir', help='output directory') - args = parser.parse_args() - root_dir = args.outdir - - random.seed(args.seed) - - do_write_sources = args.sources is not None - src_dir = args.sources if do_write_sources else "src" - - targets = random_targets(args.targets, src_dir) - for target in targets: - with FileWriter(os.path.join(root_dir, target.ninja_file_path)) as n: - write_target_ninja(n, target, src_dir) - - if do_write_sources: - write_sources(target, root_dir) - - with FileWriter(os.path.join(root_dir, 'build.ninja')) as master_ninja: - master_ninja.width = 120 - write_master_ninja(master_ninja, targets) - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/vendor/ninja/misc/zsh-completion b/vendor/ninja/misc/zsh-completion deleted file mode 100644 index bf23face5..000000000 --- a/vendor/ninja/misc/zsh-completion +++ /dev/null @@ -1,72 +0,0 @@ -#compdef ninja -# Copyright 2011 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Add the following to your .zshrc to tab-complete ninja targets -# . path/to/ninja/misc/zsh-completion - -__get_targets() { - dir="." - if [ -n "${opt_args[-C]}" ]; - then - eval dir="${opt_args[-C]}" - fi - file="build.ninja" - if [ -n "${opt_args[-f]}" ]; - then - eval file="${opt_args[-f]}" - fi - targets_command="ninja -f \"${file}\" -C \"${dir}\" -t targets all" - eval ${targets_command} 2>/dev/null | cut -d: -f1 -} - -__get_tools() { - ninja -t list 2>/dev/null | while read -r a b; do echo $a; done | tail -n +2 -} - -__get_modes() { - ninja -d list 2>/dev/null | while read -r a b; do echo $a; done | tail -n +2 | sed '$d' -} - -__modes() { - local -a modes - modes=(${(fo)"$(__get_modes)"}) - _describe 'modes' modes -} - -__tools() { - local -a tools - tools=(${(fo)"$(__get_tools)"}) - _describe 'tools' tools -} - -__targets() { - local -a targets - targets=(${(fo)"$(__get_targets)"}) - _describe 'targets' targets -} - -_arguments \ - {-h,--help}'[Show help]' \ - '--version[Print ninja version]' \ - '-C+[Change to directory before doing anything else]:directories:_directories' \ - '-f+[Specify input build file (default=build.ninja)]:files:_files' \ - '-j+[Run N jobs in parallel (default=number of CPUs available)]:number of jobs' \ - '-l+[Do not start new jobs if the load average is greater than N]:number of jobs' \ - '-k+[Keep going until N jobs fail (default=1)]:number of jobs' \ - '-n[Dry run (do not run commands but act like they succeeded)]' \ - '-v[Show all command lines while building]' \ - '-d+[Enable debugging (use -d list to list modes)]:modes:__modes' \ - '-t+[Run a subtool (use -t list to list subtools)]:tools:__tools' \ - '*::targets:__targets' diff --git a/vendor/ninja/src/browse.cc b/vendor/ninja/src/browse.cc deleted file mode 100644 index 14900f846..000000000 --- a/vendor/ninja/src/browse.cc +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "browse.h" - -#include -#include -#include -#include - -#include "build/browse_py.h" - -void RunBrowsePython(State* state, const char* ninja_command, - const char* input_file, int argc, char* argv[]) { - // Fork off a Python process and have it run our code via its stdin. - // (Actually the Python process becomes the parent.) - int pipefd[2]; - if (pipe(pipefd) < 0) { - perror("ninja: pipe"); - return; - } - - pid_t pid = fork(); - if (pid < 0) { - perror("ninja: fork"); - return; - } - - if (pid > 0) { // Parent. - close(pipefd[1]); - do { - if (dup2(pipefd[0], 0) < 0) { - perror("ninja: dup2"); - break; - } - - std::vector command; - command.push_back(NINJA_PYTHON); - command.push_back("-"); - command.push_back("--ninja-command"); - command.push_back(ninja_command); - command.push_back("-f"); - command.push_back(input_file); - for (int i = 0; i < argc; i++) { - command.push_back(argv[i]); - } - command.push_back(NULL); - execvp(command[0], (char**)&command[0]); - perror("ninja: execvp"); - } while (false); - _exit(1); - } else { // Child. - close(pipefd[0]); - - // Write the script file into the stdin of the Python process. - ssize_t len = write(pipefd[1], kBrowsePy, sizeof(kBrowsePy)); - if (len < (ssize_t)sizeof(kBrowsePy)) - perror("ninja: write"); - close(pipefd[1]); - exit(0); - } -} diff --git a/vendor/ninja/src/browse.h b/vendor/ninja/src/browse.h deleted file mode 100644 index 8d6d28571..000000000 --- a/vendor/ninja/src/browse.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_BROWSE_H_ -#define NINJA_BROWSE_H_ - -struct State; - -/// Run in "browse" mode, which execs a Python webserver. -/// \a ninja_command is the command used to invoke ninja. -/// \a args are the number of arguments to be passed to the Python script. -/// \a argv are arguments to be passed to the Python script. -/// This function does not return if it runs successfully. -void RunBrowsePython(State* state, const char* ninja_command, - const char* input_file, int argc, char* argv[]); - -#endif // NINJA_BROWSE_H_ diff --git a/vendor/ninja/src/browse.py b/vendor/ninja/src/browse.py deleted file mode 100755 index 64a16f2a2..000000000 --- a/vendor/ninja/src/browse.py +++ /dev/null @@ -1,224 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2001 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -"""Simple web server for browsing dependency graph data. - -This script is inlined into the final executable and spawned by -it when needed. -""" - -from __future__ import print_function - -try: - import http.server as httpserver -except ImportError: - import BaseHTTPServer as httpserver -import argparse -import cgi -import os -import socket -import subprocess -import sys -import webbrowser -try: - from urllib.request import unquote -except ImportError: - from urllib2 import unquote -from collections import namedtuple - -Node = namedtuple('Node', ['inputs', 'rule', 'target', 'outputs']) - -# Ideally we'd allow you to navigate to a build edge or a build node, -# with appropriate views for each. But there's no way to *name* a build -# edge so we can only display nodes. -# -# For a given node, it has at most one input edge, which has n -# different inputs. This becomes node.inputs. (We leave out the -# outputs of the input edge due to what follows.) The node can have -# multiple dependent output edges. Rather than attempting to display -# those, they are summarized by taking the union of all their outputs. -# -# This means there's no single view that shows you all inputs and outputs -# of an edge. But I think it's less confusing than alternatives. - -def match_strip(line, prefix): - if not line.startswith(prefix): - return (False, line) - return (True, line[len(prefix):]) - -def html_escape(text): - return cgi.escape(text, quote=True) - -def parse(text): - lines = iter(text.split('\n')) - - target = None - rule = None - inputs = [] - outputs = [] - - try: - target = next(lines)[:-1] # strip trailing colon - - line = next(lines) - (match, rule) = match_strip(line, ' input: ') - if match: - (match, line) = match_strip(next(lines), ' ') - while match: - type = None - (match, line) = match_strip(line, '| ') - if match: - type = 'implicit' - (match, line) = match_strip(line, '|| ') - if match: - type = 'order-only' - inputs.append((line, type)) - (match, line) = match_strip(next(lines), ' ') - - match, _ = match_strip(line, ' outputs:') - if match: - (match, line) = match_strip(next(lines), ' ') - while match: - outputs.append(line) - (match, line) = match_strip(next(lines), ' ') - except StopIteration: - pass - - return Node(inputs, rule, target, outputs) - -def create_page(body): - return ''' - -''' + body - -def generate_html(node): - document = ['

%s

' % html_escape(node.target)] - - if node.inputs: - document.append('

target is built using rule %s of

' % - html_escape(node.rule)) - if len(node.inputs) > 0: - document.append('
') - - if node.outputs: - document.append('

dependent edges build:

') - document.append('
') - for output in sorted(node.outputs): - document.append('%s
' % - (html_escape(output), html_escape(output))) - document.append('
') - - return '\n'.join(document) - -def ninja_dump(target): - cmd = [args.ninja_command, '-f', args.f, '-t', 'query', target] - proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, - universal_newlines=True) - return proc.communicate() + (proc.returncode,) - -class RequestHandler(httpserver.BaseHTTPRequestHandler): - def do_GET(self): - assert self.path[0] == '/' - target = unquote(self.path[1:]) - - if target == '': - self.send_response(302) - self.send_header('Location', '?' + args.initial_target) - self.end_headers() - return - - if not target.startswith('?'): - self.send_response(404) - self.end_headers() - return - target = target[1:] - - ninja_output, ninja_error, exit_code = ninja_dump(target) - if exit_code == 0: - page_body = generate_html(parse(ninja_output.strip())) - else: - # Relay ninja's error message. - page_body = '

%s

' % html_escape(ninja_error) - - self.send_response(200) - self.end_headers() - self.wfile.write(create_page(page_body).encode('utf-8')) - - def log_message(self, format, *args): - pass # Swallow console spam. - -parser = argparse.ArgumentParser(prog='ninja -t browse') -parser.add_argument('--port', '-p', default=8000, type=int, - help='Port number to use (default %(default)d)') -parser.add_argument('--hostname', '-a', default='localhost', type=str, - help='Hostname to bind to (default %(default)s)') -parser.add_argument('--no-browser', action='store_true', - help='Do not open a webbrowser on startup.') - -parser.add_argument('--ninja-command', default='ninja', - help='Path to ninja binary (default %(default)s)') -parser.add_argument('-f', default='build.ninja', - help='Path to build.ninja file (default %(default)s)') -parser.add_argument('initial_target', default='all', nargs='?', - help='Initial target to show (default %(default)s)') - -args = parser.parse_args() -port = args.port -hostname = args.hostname -httpd = httpserver.HTTPServer((hostname,port), RequestHandler) -try: - if hostname == "": - hostname = socket.gethostname() - print('Web server running on %s:%d, ctl-C to abort...' % (hostname,port) ) - print('Web server pid %d' % os.getpid(), file=sys.stderr ) - if not args.no_browser: - webbrowser.open_new('http://%s:%s' % (hostname, port) ) - httpd.serve_forever() -except KeyboardInterrupt: - print() - pass # Swallow console spam. - - diff --git a/vendor/ninja/src/build.cc b/vendor/ninja/src/build.cc deleted file mode 100644 index 61ef0e849..000000000 --- a/vendor/ninja/src/build.cc +++ /dev/null @@ -1,929 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "build.h" - -#include -#include -#include -#include -#include - -#ifdef _WIN32 -#include -#include -#endif - -#if defined(__SVR4) && defined(__sun) -#include -#endif - -#include "build_log.h" -#include "clparser.h" -#include "debug_flags.h" -#include "depfile_parser.h" -#include "deps_log.h" -#include "disk_interface.h" -#include "graph.h" -#include "state.h" -#include "subprocess.h" -#include "util.h" - -namespace { - -/// A CommandRunner that doesn't actually run the commands. -struct DryRunCommandRunner : public CommandRunner { - virtual ~DryRunCommandRunner() {} - - // Overridden from CommandRunner: - virtual bool CanRunMore(); - virtual bool StartCommand(Edge* edge); - virtual bool WaitForCommand(Result* result); - - private: - queue finished_; -}; - -bool DryRunCommandRunner::CanRunMore() { - return true; -} - -bool DryRunCommandRunner::StartCommand(Edge* edge) { - finished_.push(edge); - return true; -} - -bool DryRunCommandRunner::WaitForCommand(Result* result) { - if (finished_.empty()) - return false; - - result->status = ExitSuccess; - result->edge = finished_.front(); - finished_.pop(); - return true; -} - -} // namespace - -BuildStatus::BuildStatus(const BuildConfig& config) - : config_(config), - start_time_millis_(GetTimeMillis()), - started_edges_(0), finished_edges_(0), total_edges_(0), - progress_status_format_(NULL), - overall_rate_(), current_rate_(config.parallelism) { - - // Don't do anything fancy in verbose mode. - if (config_.verbosity != BuildConfig::NORMAL) - printer_.set_smart_terminal(false); - - progress_status_format_ = getenv("NINJA_STATUS"); - if (!progress_status_format_) - progress_status_format_ = "[%f/%t] "; -} - -void BuildStatus::PlanHasTotalEdges(int total) { - total_edges_ = total; -} - -void BuildStatus::BuildEdgeStarted(Edge* edge) { - int start_time = (int)(GetTimeMillis() - start_time_millis_); - running_edges_.insert(make_pair(edge, start_time)); - ++started_edges_; - - if (edge->use_console() || printer_.is_smart_terminal()) - PrintStatus(edge, kEdgeStarted); - - if (edge->use_console()) - printer_.SetConsoleLocked(true); -} - -void BuildStatus::BuildEdgeFinished(Edge* edge, - bool success, - const string& output, - int* start_time, - int* end_time) { - int64_t now = GetTimeMillis(); - - ++finished_edges_; - - RunningEdgeMap::iterator i = running_edges_.find(edge); - *start_time = i->second; - *end_time = (int)(now - start_time_millis_); - running_edges_.erase(i); - - if (edge->use_console()) - printer_.SetConsoleLocked(false); - - if (config_.verbosity == BuildConfig::QUIET) - return; - - if (!edge->use_console()) - PrintStatus(edge, kEdgeFinished); - - // Print the command that is spewing before printing its output. - if (!success) { - string outputs; - for (vector::const_iterator o = edge->outputs_.begin(); - o != edge->outputs_.end(); ++o) - outputs += (*o)->path() + " "; - - printer_.PrintOnNewLine("FAILED: " + outputs + "\n"); - printer_.PrintOnNewLine(edge->EvaluateCommand() + "\n"); - } - - if (!output.empty()) { - // ninja sets stdout and stderr of subprocesses to a pipe, to be able to - // check if the output is empty. Some compilers, e.g. clang, check - // isatty(stderr) to decide if they should print colored output. - // To make it possible to use colored output with ninja, subprocesses should - // be run with a flag that forces them to always print color escape codes. - // To make sure these escape codes don't show up in a file if ninja's output - // is piped to a file, ninja strips ansi escape codes again if it's not - // writing to a |smart_terminal_|. - // (Launching subprocesses in pseudo ttys doesn't work because there are - // only a few hundred available on some systems, and ninja can launch - // thousands of parallel compile commands.) - // TODO: There should be a flag to disable escape code stripping. - string final_output; - if (!printer_.is_smart_terminal()) - final_output = StripAnsiEscapeCodes(output); - else - final_output = output; - -#ifdef _WIN32 - // Fix extra CR being added on Windows, writing out CR CR LF (#773) - _setmode(_fileno(stdout), _O_BINARY); // Begin Windows extra CR fix -#endif - - printer_.PrintOnNewLine(final_output); - -#ifdef _WIN32 - _setmode(_fileno(stdout), _O_TEXT); // End Windows extra CR fix -#endif - } -} - -void BuildStatus::BuildStarted() { - overall_rate_.Restart(); - current_rate_.Restart(); -} - -void BuildStatus::BuildFinished() { - printer_.SetConsoleLocked(false); - printer_.PrintOnNewLine(""); -} - -string BuildStatus::FormatProgressStatus( - const char* progress_status_format, EdgeStatus status) const { - string out; - char buf[32]; - int percent; - for (const char* s = progress_status_format; *s != '\0'; ++s) { - if (*s == '%') { - ++s; - switch (*s) { - case '%': - out.push_back('%'); - break; - - // Started edges. - case 's': - snprintf(buf, sizeof(buf), "%d", started_edges_); - out += buf; - break; - - // Total edges. - case 't': - snprintf(buf, sizeof(buf), "%d", total_edges_); - out += buf; - break; - - // Running edges. - case 'r': { - int running_edges = started_edges_ - finished_edges_; - // count the edge that just finished as a running edge - if (status == kEdgeFinished) - running_edges++; - snprintf(buf, sizeof(buf), "%d", running_edges); - out += buf; - break; - } - - // Unstarted edges. - case 'u': - snprintf(buf, sizeof(buf), "%d", total_edges_ - started_edges_); - out += buf; - break; - - // Finished edges. - case 'f': - snprintf(buf, sizeof(buf), "%d", finished_edges_); - out += buf; - break; - - // Overall finished edges per second. - case 'o': - overall_rate_.UpdateRate(finished_edges_); - SnprintfRate(overall_rate_.rate(), buf, "%.1f"); - out += buf; - break; - - // Current rate, average over the last '-j' jobs. - case 'c': - current_rate_.UpdateRate(finished_edges_); - SnprintfRate(current_rate_.rate(), buf, "%.1f"); - out += buf; - break; - - // Percentage - case 'p': - percent = (100 * finished_edges_) / total_edges_; - snprintf(buf, sizeof(buf), "%3i%%", percent); - out += buf; - break; - - case 'e': { - double elapsed = overall_rate_.Elapsed(); - snprintf(buf, sizeof(buf), "%.3f", elapsed); - out += buf; - break; - } - - default: - Fatal("unknown placeholder '%%%c' in $NINJA_STATUS", *s); - return ""; - } - } else { - out.push_back(*s); - } - } - - return out; -} - -void BuildStatus::PrintStatus(Edge* edge, EdgeStatus status) { - if (config_.verbosity == BuildConfig::QUIET) - return; - - bool force_full_command = config_.verbosity == BuildConfig::VERBOSE; - - string to_print = edge->GetBinding("description"); - if (to_print.empty() || force_full_command) - to_print = edge->GetBinding("command"); - - to_print = FormatProgressStatus(progress_status_format_, status) + to_print; - - printer_.Print(to_print, - force_full_command ? LinePrinter::FULL : LinePrinter::ELIDE); -} - -Plan::Plan() : command_edges_(0), wanted_edges_(0) {} - -void Plan::Reset() { - command_edges_ = 0; - wanted_edges_ = 0; - ready_.clear(); - want_.clear(); -} - -bool Plan::AddTarget(Node* node, string* err) { - return AddSubTarget(node, NULL, err); -} - -bool Plan::AddSubTarget(Node* node, Node* dependent, string* err) { - Edge* edge = node->in_edge(); - if (!edge) { // Leaf node. - if (node->dirty()) { - string referenced; - if (dependent) - referenced = ", needed by '" + dependent->path() + "',"; - *err = "'" + node->path() + "'" + referenced + " missing " - "and no known rule to make it"; - } - return false; - } - - if (edge->outputs_ready()) - return false; // Don't need to do anything. - - // If an entry in want_ does not already exist for edge, create an entry which - // maps to false, indicating that we do not want to build this entry itself. - pair::iterator, bool> want_ins = - want_.insert(make_pair(edge, false)); - bool& want = want_ins.first->second; - - // If we do need to build edge and we haven't already marked it as wanted, - // mark it now. - if (node->dirty() && !want) { - want = true; - ++wanted_edges_; - if (edge->AllInputsReady()) - ScheduleWork(edge); - if (!edge->is_phony()) - ++command_edges_; - } - - if (!want_ins.second) - return true; // We've already processed the inputs. - - for (vector::iterator i = edge->inputs_.begin(); - i != edge->inputs_.end(); ++i) { - if (!AddSubTarget(*i, node, err) && !err->empty()) - return false; - } - - return true; -} - -Edge* Plan::FindWork() { - if (ready_.empty()) - return NULL; - set::iterator e = ready_.begin(); - Edge* edge = *e; - ready_.erase(e); - return edge; -} - -void Plan::ScheduleWork(Edge* edge) { - set::iterator e = ready_.lower_bound(edge); - if (e != ready_.end() && !ready_.key_comp()(edge, *e)) { - // This edge has already been scheduled. We can get here again if an edge - // and one of its dependencies share an order-only input, or if a node - // duplicates an out edge (see https://github.com/ninja-build/ninja/pull/519). - // Avoid scheduling the work again. - return; - } - - Pool* pool = edge->pool(); - if (pool->ShouldDelayEdge()) { - pool->DelayEdge(edge); - pool->RetrieveReadyEdges(&ready_); - } else { - pool->EdgeScheduled(*edge); - ready_.insert(e, edge); - } -} - -void Plan::EdgeFinished(Edge* edge, EdgeResult result) { - map::iterator e = want_.find(edge); - assert(e != want_.end()); - bool directly_wanted = e->second; - - // See if this job frees up any delayed jobs. - if (directly_wanted) - edge->pool()->EdgeFinished(*edge); - edge->pool()->RetrieveReadyEdges(&ready_); - - // The rest of this function only applies to successful commands. - if (result != kEdgeSucceeded) - return; - - if (directly_wanted) - --wanted_edges_; - want_.erase(e); - edge->outputs_ready_ = true; - - // Check off any nodes we were waiting for with this edge. - for (vector::iterator o = edge->outputs_.begin(); - o != edge->outputs_.end(); ++o) { - NodeFinished(*o); - } -} - -void Plan::NodeFinished(Node* node) { - // See if we we want any edges from this node. - for (vector::const_iterator oe = node->out_edges().begin(); - oe != node->out_edges().end(); ++oe) { - map::iterator want_e = want_.find(*oe); - if (want_e == want_.end()) - continue; - - // See if the edge is now ready. - if ((*oe)->AllInputsReady()) { - if (want_e->second) { - ScheduleWork(*oe); - } else { - // We do not need to build this edge, but we might need to build one of - // its dependents. - EdgeFinished(*oe, kEdgeSucceeded); - } - } - } -} - -bool Plan::CleanNode(DependencyScan* scan, Node* node, string* err) { - node->set_dirty(false); - - for (vector::const_iterator oe = node->out_edges().begin(); - oe != node->out_edges().end(); ++oe) { - // Don't process edges that we don't actually want. - map::iterator want_e = want_.find(*oe); - if (want_e == want_.end() || !want_e->second) - continue; - - // Don't attempt to clean an edge if it failed to load deps. - if ((*oe)->deps_missing_) - continue; - - // If all non-order-only inputs for this edge are now clean, - // we might have changed the dirty state of the outputs. - vector::iterator - begin = (*oe)->inputs_.begin(), - end = (*oe)->inputs_.end() - (*oe)->order_only_deps_; - if (find_if(begin, end, mem_fun(&Node::dirty)) == end) { - // Recompute most_recent_input. - Node* most_recent_input = NULL; - for (vector::iterator i = begin; i != end; ++i) { - if (!most_recent_input || (*i)->mtime() > most_recent_input->mtime()) - most_recent_input = *i; - } - - // Now, this edge is dirty if any of the outputs are dirty. - // If the edge isn't dirty, clean the outputs and mark the edge as not - // wanted. - bool outputs_dirty = false; - if (!scan->RecomputeOutputsDirty(*oe, most_recent_input, - &outputs_dirty, err)) { - return false; - } - if (!outputs_dirty) { - for (vector::iterator o = (*oe)->outputs_.begin(); - o != (*oe)->outputs_.end(); ++o) { - if (!CleanNode(scan, *o, err)) - return false; - } - - want_e->second = false; - --wanted_edges_; - if (!(*oe)->is_phony()) - --command_edges_; - } - } - } - return true; -} - -void Plan::Dump() { - printf("pending: %d\n", (int)want_.size()); - for (map::iterator e = want_.begin(); e != want_.end(); ++e) { - if (e->second) - printf("want "); - e->first->Dump(); - } - printf("ready: %d\n", (int)ready_.size()); -} - -struct RealCommandRunner : public CommandRunner { - explicit RealCommandRunner(const BuildConfig& config) : config_(config) {} - virtual ~RealCommandRunner() {} - virtual bool CanRunMore(); - virtual bool StartCommand(Edge* edge); - virtual bool WaitForCommand(Result* result); - virtual vector GetActiveEdges(); - virtual void Abort(); - - const BuildConfig& config_; - SubprocessSet subprocs_; - map subproc_to_edge_; -}; - -vector RealCommandRunner::GetActiveEdges() { - vector edges; - for (map::iterator e = subproc_to_edge_.begin(); - e != subproc_to_edge_.end(); ++e) - edges.push_back(e->second); - return edges; -} - -void RealCommandRunner::Abort() { - subprocs_.Clear(); -} - -bool RealCommandRunner::CanRunMore() { - size_t subproc_number = - subprocs_.running_.size() + subprocs_.finished_.size(); - return (int)subproc_number < config_.parallelism - && ((subprocs_.running_.empty() || config_.max_load_average <= 0.0f) - || GetLoadAverage() < config_.max_load_average); -} - -bool RealCommandRunner::StartCommand(Edge* edge) { - string command = edge->EvaluateCommand(); - Subprocess* subproc = subprocs_.Add(command, edge->use_console()); - if (!subproc) - return false; - subproc_to_edge_.insert(make_pair(subproc, edge)); - - return true; -} - -bool RealCommandRunner::WaitForCommand(Result* result) { - Subprocess* subproc; - while ((subproc = subprocs_.NextFinished()) == NULL) { - bool interrupted = subprocs_.DoWork(); - if (interrupted) - return false; - } - - result->status = subproc->Finish(); - result->output = subproc->GetOutput(); - - map::iterator e = subproc_to_edge_.find(subproc); - result->edge = e->second; - subproc_to_edge_.erase(e); - - delete subproc; - return true; -} - -Builder::Builder(State* state, const BuildConfig& config, - BuildLog* build_log, DepsLog* deps_log, - DiskInterface* disk_interface) - : state_(state), config_(config), disk_interface_(disk_interface), - scan_(state, build_log, deps_log, disk_interface) { - status_ = new BuildStatus(config); -} - -Builder::~Builder() { - Cleanup(); -} - -void Builder::Cleanup() { - if (command_runner_.get()) { - vector active_edges = command_runner_->GetActiveEdges(); - command_runner_->Abort(); - - for (vector::iterator e = active_edges.begin(); - e != active_edges.end(); ++e) { - string depfile = (*e)->GetUnescapedDepfile(); - for (vector::iterator o = (*e)->outputs_.begin(); - o != (*e)->outputs_.end(); ++o) { - // Only delete this output if it was actually modified. This is - // important for things like the generator where we don't want to - // delete the manifest file if we can avoid it. But if the rule - // uses a depfile, always delete. (Consider the case where we - // need to rebuild an output because of a modified header file - // mentioned in a depfile, and the command touches its depfile - // but is interrupted before it touches its output file.) - string err; - TimeStamp new_mtime = disk_interface_->Stat((*o)->path(), &err); - if (new_mtime == -1) // Log and ignore Stat() errors. - Error("%s", err.c_str()); - if (!depfile.empty() || (*o)->mtime() != new_mtime) - disk_interface_->RemoveFile((*o)->path()); - } - if (!depfile.empty()) - disk_interface_->RemoveFile(depfile); - } - } -} - -Node* Builder::AddTarget(const string& name, string* err) { - Node* node = state_->LookupNode(name); - if (!node) { - *err = "unknown target: '" + name + "'"; - return NULL; - } - if (!AddTarget(node, err)) - return NULL; - return node; -} - -bool Builder::AddTarget(Node* node, string* err) { - if (!scan_.RecomputeDirty(node, err)) - return false; - - if (Edge* in_edge = node->in_edge()) { - if (in_edge->outputs_ready()) - return true; // Nothing to do. - } - - if (!plan_.AddTarget(node, err)) - return false; - - return true; -} - -bool Builder::AlreadyUpToDate() const { - return !plan_.more_to_do(); -} - -bool Builder::Build(string* err) { - assert(!AlreadyUpToDate()); - - status_->PlanHasTotalEdges(plan_.command_edge_count()); - int pending_commands = 0; - int failures_allowed = config_.failures_allowed; - - // Set up the command runner if we haven't done so already. - if (!command_runner_.get()) { - if (config_.dry_run) - command_runner_.reset(new DryRunCommandRunner); - else - command_runner_.reset(new RealCommandRunner(config_)); - } - - // We are about to start the build process. - status_->BuildStarted(); - - // This main loop runs the entire build process. - // It is structured like this: - // First, we attempt to start as many commands as allowed by the - // command runner. - // Second, we attempt to wait for / reap the next finished command. - while (plan_.more_to_do()) { - // See if we can start any more commands. - if (failures_allowed && command_runner_->CanRunMore()) { - if (Edge* edge = plan_.FindWork()) { - if (!StartEdge(edge, err)) { - Cleanup(); - status_->BuildFinished(); - return false; - } - - if (edge->is_phony()) { - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - } else { - ++pending_commands; - } - - // We made some progress; go back to the main loop. - continue; - } - } - - // See if we can reap any finished commands. - if (pending_commands) { - CommandRunner::Result result; - if (!command_runner_->WaitForCommand(&result) || - result.status == ExitInterrupted) { - Cleanup(); - status_->BuildFinished(); - *err = "interrupted by user"; - return false; - } - - --pending_commands; - if (!FinishCommand(&result, err)) { - Cleanup(); - status_->BuildFinished(); - return false; - } - - if (!result.success()) { - if (failures_allowed) - failures_allowed--; - } - - // We made some progress; start the main loop over. - continue; - } - - // If we get here, we cannot make any more progress. - status_->BuildFinished(); - if (failures_allowed == 0) { - if (config_.failures_allowed > 1) - *err = "subcommands failed"; - else - *err = "subcommand failed"; - } else if (failures_allowed < config_.failures_allowed) - *err = "cannot make progress due to previous errors"; - else - *err = "stuck [this is a bug]"; - - return false; - } - - status_->BuildFinished(); - return true; -} - -bool Builder::StartEdge(Edge* edge, string* err) { - METRIC_RECORD("StartEdge"); - if (edge->is_phony()) - return true; - - status_->BuildEdgeStarted(edge); - - // Create directories necessary for outputs. - // XXX: this will block; do we care? - for (vector::iterator o = edge->outputs_.begin(); - o != edge->outputs_.end(); ++o) { - if (!disk_interface_->MakeDirs((*o)->path())) - return false; - } - - // Create response file, if needed - // XXX: this may also block; do we care? - string rspfile = edge->GetUnescapedRspfile(); - if (!rspfile.empty()) { - string content = edge->GetBinding("rspfile_content"); - if (!disk_interface_->WriteFile(rspfile, content)) - return false; - } - - // start command computing and run it - if (!command_runner_->StartCommand(edge)) { - err->assign("command '" + edge->EvaluateCommand() + "' failed."); - return false; - } - - return true; -} - -bool Builder::FinishCommand(CommandRunner::Result* result, string* err) { - METRIC_RECORD("FinishCommand"); - - Edge* edge = result->edge; - - // First try to extract dependencies from the result, if any. - // This must happen first as it filters the command output (we want - // to filter /showIncludes output, even on compile failure) and - // extraction itself can fail, which makes the command fail from a - // build perspective. - vector deps_nodes; - string deps_type = edge->GetBinding("deps"); - const string deps_prefix = edge->GetBinding("msvc_deps_prefix"); - if (!deps_type.empty()) { - string extract_err; - if (!ExtractDeps(result, deps_type, deps_prefix, &deps_nodes, - &extract_err) && - result->success()) { - if (!result->output.empty()) - result->output.append("\n"); - result->output.append(extract_err); - result->status = ExitFailure; - } - } - - int start_time, end_time; - status_->BuildEdgeFinished(edge, result->success(), result->output, - &start_time, &end_time); - - // The rest of this function only applies to successful commands. - if (!result->success()) { - plan_.EdgeFinished(edge, Plan::kEdgeFailed); - return true; - } - - // Restat the edge outputs - TimeStamp output_mtime = 0; - bool restat = edge->GetBindingBool("restat"); - if (!config_.dry_run) { - bool node_cleaned = false; - - for (vector::iterator o = edge->outputs_.begin(); - o != edge->outputs_.end(); ++o) { - TimeStamp new_mtime = disk_interface_->Stat((*o)->path(), err); - if (new_mtime == -1) - return false; - if (new_mtime > output_mtime) - output_mtime = new_mtime; - if ((*o)->mtime() == new_mtime && restat) { - // The rule command did not change the output. Propagate the clean - // state through the build graph. - // Note that this also applies to nonexistent outputs (mtime == 0). - if (!plan_.CleanNode(&scan_, *o, err)) - return false; - node_cleaned = true; - } - } - - if (node_cleaned) { - TimeStamp restat_mtime = 0; - // If any output was cleaned, find the most recent mtime of any - // (existing) non-order-only input or the depfile. - for (vector::iterator i = edge->inputs_.begin(); - i != edge->inputs_.end() - edge->order_only_deps_; ++i) { - TimeStamp input_mtime = disk_interface_->Stat((*i)->path(), err); - if (input_mtime == -1) - return false; - if (input_mtime > restat_mtime) - restat_mtime = input_mtime; - } - - string depfile = edge->GetUnescapedDepfile(); - if (restat_mtime != 0 && deps_type.empty() && !depfile.empty()) { - TimeStamp depfile_mtime = disk_interface_->Stat(depfile, err); - if (depfile_mtime == -1) - return false; - if (depfile_mtime > restat_mtime) - restat_mtime = depfile_mtime; - } - - // The total number of edges in the plan may have changed as a result - // of a restat. - status_->PlanHasTotalEdges(plan_.command_edge_count()); - - output_mtime = restat_mtime; - } - } - - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - // Delete any left over response file. - string rspfile = edge->GetUnescapedRspfile(); - if (!rspfile.empty() && !g_keep_rsp) - disk_interface_->RemoveFile(rspfile); - - if (scan_.build_log()) { - if (!scan_.build_log()->RecordCommand(edge, start_time, end_time, - output_mtime)) { - *err = string("Error writing to build log: ") + strerror(errno); - return false; - } - } - - if (!deps_type.empty() && !config_.dry_run) { - assert(edge->outputs_.size() == 1 && "should have been rejected by parser"); - Node* out = edge->outputs_[0]; - TimeStamp deps_mtime = disk_interface_->Stat(out->path(), err); - if (deps_mtime == -1) - return false; - if (!scan_.deps_log()->RecordDeps(out, deps_mtime, deps_nodes)) { - *err = string("Error writing to deps log: ") + strerror(errno); - return false; - } - } - return true; -} - -bool Builder::ExtractDeps(CommandRunner::Result* result, - const string& deps_type, - const string& deps_prefix, - vector* deps_nodes, - string* err) { - if (deps_type == "msvc") { - CLParser parser; - string output; - if (!parser.Parse(result->output, deps_prefix, &output, err)) - return false; - result->output = output; - for (set::iterator i = parser.includes_.begin(); - i != parser.includes_.end(); ++i) { - // ~0 is assuming that with MSVC-parsed headers, it's ok to always make - // all backslashes (as some of the slashes will certainly be backslashes - // anyway). This could be fixed if necessary with some additional - // complexity in IncludesNormalize::Relativize. - deps_nodes->push_back(state_->GetNode(*i, ~0u)); - } - } else - if (deps_type == "gcc") { - string depfile = result->edge->GetUnescapedDepfile(); - if (depfile.empty()) { - *err = string("edge with deps=gcc but no depfile makes no sense"); - return false; - } - - // Read depfile content. Treat a missing depfile as empty. - string content; - switch (disk_interface_->ReadFile(depfile, &content, err)) { - case DiskInterface::Okay: - break; - case DiskInterface::NotFound: - err->clear(); - break; - case DiskInterface::OtherError: - return false; - } - if (content.empty()) - return true; - - DepfileParser deps; - if (!deps.Parse(&content, err)) - return false; - - // XXX check depfile matches expected output. - deps_nodes->reserve(deps.ins_.size()); - for (vector::iterator i = deps.ins_.begin(); - i != deps.ins_.end(); ++i) { - uint64_t slash_bits; - if (!CanonicalizePath(const_cast(i->str_), &i->len_, &slash_bits, - err)) - return false; - deps_nodes->push_back(state_->GetNode(*i, slash_bits)); - } - - if (!g_keep_depfile) { - if (disk_interface_->RemoveFile(depfile) < 0) { - *err = string("deleting depfile: ") + strerror(errno) + string("\n"); - return false; - } - } - } else { - Fatal("unknown deps type '%s'", deps_type.c_str()); - } - - return true; -} diff --git a/vendor/ninja/src/build.h b/vendor/ninja/src/build.h deleted file mode 100644 index 43786f1c9..000000000 --- a/vendor/ninja/src/build.h +++ /dev/null @@ -1,295 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_BUILD_H_ -#define NINJA_BUILD_H_ - -#include -#include -#include -#include -#include -#include -#include - -#include "graph.h" // XXX needed for DependencyScan; should rearrange. -#include "exit_status.h" -#include "line_printer.h" -#include "metrics.h" -#include "util.h" // int64_t - -struct BuildLog; -struct BuildStatus; -struct DiskInterface; -struct Edge; -struct Node; -struct State; - -/// Plan stores the state of a build plan: what we intend to build, -/// which steps we're ready to execute. -struct Plan { - Plan(); - - /// Add a target to our plan (including all its dependencies). - /// Returns false if we don't need to build this target; may - /// fill in |err| with an error message if there's a problem. - bool AddTarget(Node* node, string* err); - - // Pop a ready edge off the queue of edges to build. - // Returns NULL if there's no work to do. - Edge* FindWork(); - - /// Returns true if there's more work to be done. - bool more_to_do() const { return wanted_edges_ > 0 && command_edges_ > 0; } - - /// Dumps the current state of the plan. - void Dump(); - - enum EdgeResult { - kEdgeFailed, - kEdgeSucceeded - }; - - /// Mark an edge as done building (whether it succeeded or failed). - void EdgeFinished(Edge* edge, EdgeResult result); - - /// Clean the given node during the build. - /// Return false on error. - bool CleanNode(DependencyScan* scan, Node* node, string* err); - - /// Number of edges with commands to run. - int command_edge_count() const { return command_edges_; } - - /// Reset state. Clears want and ready sets. - void Reset(); - -private: - bool AddSubTarget(Node* node, Node* dependent, string* err); - void NodeFinished(Node* node); - - /// Submits a ready edge as a candidate for execution. - /// The edge may be delayed from running, for example if it's a member of a - /// currently-full pool. - void ScheduleWork(Edge* edge); - - /// Keep track of which edges we want to build in this plan. If this map does - /// not contain an entry for an edge, we do not want to build the entry or its - /// dependents. If an entry maps to false, we do not want to build it, but we - /// might want to build one of its dependents. If the entry maps to true, we - /// want to build it. - map want_; - - set ready_; - - /// Total number of edges that have commands (not phony). - int command_edges_; - - /// Total remaining number of wanted edges. - int wanted_edges_; -}; - -/// CommandRunner is an interface that wraps running the build -/// subcommands. This allows tests to abstract out running commands. -/// RealCommandRunner is an implementation that actually runs commands. -struct CommandRunner { - virtual ~CommandRunner() {} - virtual bool CanRunMore() = 0; - virtual bool StartCommand(Edge* edge) = 0; - - /// The result of waiting for a command. - struct Result { - Result() : edge(NULL) {} - Edge* edge; - ExitStatus status; - string output; - bool success() const { return status == ExitSuccess; } - }; - /// Wait for a command to complete, or return false if interrupted. - virtual bool WaitForCommand(Result* result) = 0; - - virtual vector GetActiveEdges() { return vector(); } - virtual void Abort() {} -}; - -/// Options (e.g. verbosity, parallelism) passed to a build. -struct BuildConfig { - BuildConfig() : verbosity(NORMAL), dry_run(false), parallelism(1), - failures_allowed(1), max_load_average(-0.0f) {} - - enum Verbosity { - NORMAL, - QUIET, // No output -- used when testing. - VERBOSE - }; - Verbosity verbosity; - bool dry_run; - int parallelism; - int failures_allowed; - /// The maximum load average we must not exceed. A negative value - /// means that we do not have any limit. - double max_load_average; -}; - -/// Builder wraps the build process: starting commands, updating status. -struct Builder { - Builder(State* state, const BuildConfig& config, - BuildLog* build_log, DepsLog* deps_log, - DiskInterface* disk_interface); - ~Builder(); - - /// Clean up after interrupted commands by deleting output files. - void Cleanup(); - - Node* AddTarget(const string& name, string* err); - - /// Add a target to the build, scanning dependencies. - /// @return false on error. - bool AddTarget(Node* target, string* err); - - /// Returns true if the build targets are already up to date. - bool AlreadyUpToDate() const; - - /// Run the build. Returns false on error. - /// It is an error to call this function when AlreadyUpToDate() is true. - bool Build(string* err); - - bool StartEdge(Edge* edge, string* err); - - /// Update status ninja logs following a command termination. - /// @return false if the build can not proceed further due to a fatal error. - bool FinishCommand(CommandRunner::Result* result, string* err); - - /// Used for tests. - void SetBuildLog(BuildLog* log) { - scan_.set_build_log(log); - } - - State* state_; - const BuildConfig& config_; - Plan plan_; - auto_ptr command_runner_; - BuildStatus* status_; - - private: - bool ExtractDeps(CommandRunner::Result* result, const string& deps_type, - const string& deps_prefix, vector* deps_nodes, - string* err); - - DiskInterface* disk_interface_; - DependencyScan scan_; - - // Unimplemented copy ctor and operator= ensure we don't copy the auto_ptr. - Builder(const Builder &other); // DO NOT IMPLEMENT - void operator=(const Builder &other); // DO NOT IMPLEMENT -}; - -/// Tracks the status of a build: completion fraction, printing updates. -struct BuildStatus { - explicit BuildStatus(const BuildConfig& config); - void PlanHasTotalEdges(int total); - void BuildEdgeStarted(Edge* edge); - void BuildEdgeFinished(Edge* edge, bool success, const string& output, - int* start_time, int* end_time); - void BuildStarted(); - void BuildFinished(); - - enum EdgeStatus { - kEdgeStarted, - kEdgeFinished, - }; - - /// Format the progress status string by replacing the placeholders. - /// See the user manual for more information about the available - /// placeholders. - /// @param progress_status_format The format of the progress status. - /// @param status The status of the edge. - string FormatProgressStatus(const char* progress_status_format, - EdgeStatus status) const; - - private: - void PrintStatus(Edge* edge, EdgeStatus status); - - const BuildConfig& config_; - - /// Time the build started. - int64_t start_time_millis_; - - int started_edges_, finished_edges_, total_edges_; - - /// Map of running edge to time the edge started running. - typedef map RunningEdgeMap; - RunningEdgeMap running_edges_; - - /// Prints progress output. - LinePrinter printer_; - - /// The custom progress status format to use. - const char* progress_status_format_; - - template - void SnprintfRate(double rate, char(&buf)[S], const char* format) const { - if (rate == -1) - snprintf(buf, S, "?"); - else - snprintf(buf, S, format, rate); - } - - struct RateInfo { - RateInfo() : rate_(-1) {} - - void Restart() { stopwatch_.Restart(); } - double Elapsed() const { return stopwatch_.Elapsed(); } - double rate() { return rate_; } - - void UpdateRate(int edges) { - if (edges && stopwatch_.Elapsed()) - rate_ = edges / stopwatch_.Elapsed(); - } - - private: - double rate_; - Stopwatch stopwatch_; - }; - - struct SlidingRateInfo { - SlidingRateInfo(int n) : rate_(-1), N(n), last_update_(-1) {} - - void Restart() { stopwatch_.Restart(); } - double rate() { return rate_; } - - void UpdateRate(int update_hint) { - if (update_hint == last_update_) - return; - last_update_ = update_hint; - - if (times_.size() == N) - times_.pop(); - times_.push(stopwatch_.Elapsed()); - if (times_.back() != times_.front()) - rate_ = times_.size() / (times_.back() - times_.front()); - } - - private: - double rate_; - Stopwatch stopwatch_; - const size_t N; - queue times_; - int last_update_; - }; - - mutable RateInfo overall_rate_; - mutable SlidingRateInfo current_rate_; -}; - -#endif // NINJA_BUILD_H_ diff --git a/vendor/ninja/src/build_log.cc b/vendor/ninja/src/build_log.cc deleted file mode 100644 index 333915af9..000000000 --- a/vendor/ninja/src/build_log.cc +++ /dev/null @@ -1,408 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// On AIX, inttypes.h gets indirectly included by build_log.h. -// It's easiest just to ask for the printf format macros right away. -#ifndef _WIN32 -#ifndef __STDC_FORMAT_MACROS -#define __STDC_FORMAT_MACROS -#endif -#endif - -#include "build_log.h" - -#include -#include -#include - -#ifndef _WIN32 -#include -#include -#endif - -#include "build.h" -#include "graph.h" -#include "metrics.h" -#include "util.h" - -// Implementation details: -// Each run's log appends to the log file. -// To load, we run through all log entries in series, throwing away -// older runs. -// Once the number of redundant entries exceeds a threshold, we write -// out a new file and replace the existing one with it. - -namespace { - -const char kFileSignature[] = "# ninja log v%d\n"; -const int kOldestSupportedVersion = 4; -const int kCurrentVersion = 5; - -// 64bit MurmurHash2, by Austin Appleby -#if defined(_MSC_VER) -#define BIG_CONSTANT(x) (x) -#else // defined(_MSC_VER) -#define BIG_CONSTANT(x) (x##LLU) -#endif // !defined(_MSC_VER) -inline -uint64_t MurmurHash64A(const void* key, size_t len) { - static const uint64_t seed = 0xDECAFBADDECAFBADull; - const uint64_t m = BIG_CONSTANT(0xc6a4a7935bd1e995); - const int r = 47; - uint64_t h = seed ^ (len * m); - const unsigned char* data = (const unsigned char*)key; - while (len >= 8) { - uint64_t k; - memcpy(&k, data, sizeof k); - k *= m; - k ^= k >> r; - k *= m; - h ^= k; - h *= m; - data += 8; - len -= 8; - } - switch (len & 7) - { - case 7: h ^= uint64_t(data[6]) << 48; - case 6: h ^= uint64_t(data[5]) << 40; - case 5: h ^= uint64_t(data[4]) << 32; - case 4: h ^= uint64_t(data[3]) << 24; - case 3: h ^= uint64_t(data[2]) << 16; - case 2: h ^= uint64_t(data[1]) << 8; - case 1: h ^= uint64_t(data[0]); - h *= m; - }; - h ^= h >> r; - h *= m; - h ^= h >> r; - return h; -} -#undef BIG_CONSTANT - - -} // namespace - -// static -uint64_t BuildLog::LogEntry::HashCommand(StringPiece command) { - return MurmurHash64A(command.str_, command.len_); -} - -BuildLog::LogEntry::LogEntry(const string& output) - : output(output) {} - -BuildLog::LogEntry::LogEntry(const string& output, uint64_t command_hash, - int start_time, int end_time, TimeStamp restat_mtime) - : output(output), command_hash(command_hash), - start_time(start_time), end_time(end_time), mtime(restat_mtime) -{} - -BuildLog::BuildLog() - : log_file_(NULL), needs_recompaction_(false) {} - -BuildLog::~BuildLog() { - Close(); -} - -bool BuildLog::OpenForWrite(const string& path, const BuildLogUser& user, - string* err) { - if (needs_recompaction_) { - if (!Recompact(path, user, err)) - return false; - } - - log_file_ = fopen(path.c_str(), "ab"); - if (!log_file_) { - *err = strerror(errno); - return false; - } - setvbuf(log_file_, NULL, _IOLBF, BUFSIZ); - SetCloseOnExec(fileno(log_file_)); - - // Opening a file in append mode doesn't set the file pointer to the file's - // end on Windows. Do that explicitly. - fseek(log_file_, 0, SEEK_END); - - if (ftell(log_file_) == 0) { - if (fprintf(log_file_, kFileSignature, kCurrentVersion) < 0) { - *err = strerror(errno); - return false; - } - } - - return true; -} - -bool BuildLog::RecordCommand(Edge* edge, int start_time, int end_time, - TimeStamp mtime) { - string command = edge->EvaluateCommand(true); - uint64_t command_hash = LogEntry::HashCommand(command); - for (vector::iterator out = edge->outputs_.begin(); - out != edge->outputs_.end(); ++out) { - const string& path = (*out)->path(); - Entries::iterator i = entries_.find(path); - LogEntry* log_entry; - if (i != entries_.end()) { - log_entry = i->second; - } else { - log_entry = new LogEntry(path); - entries_.insert(Entries::value_type(log_entry->output, log_entry)); - } - log_entry->command_hash = command_hash; - log_entry->start_time = start_time; - log_entry->end_time = end_time; - log_entry->mtime = mtime; - - if (log_file_) { - if (!WriteEntry(log_file_, *log_entry)) - return false; - } - } - return true; -} - -void BuildLog::Close() { - if (log_file_) - fclose(log_file_); - log_file_ = NULL; -} - -struct LineReader { - explicit LineReader(FILE* file) - : file_(file), buf_end_(buf_), line_start_(buf_), line_end_(NULL) { - memset(buf_, 0, sizeof(buf_)); - } - - // Reads a \n-terminated line from the file passed to the constructor. - // On return, *line_start points to the beginning of the next line, and - // *line_end points to the \n at the end of the line. If no newline is seen - // in a fixed buffer size, *line_end is set to NULL. Returns false on EOF. - bool ReadLine(char** line_start, char** line_end) { - if (line_start_ >= buf_end_ || !line_end_) { - // Buffer empty, refill. - size_t size_read = fread(buf_, 1, sizeof(buf_), file_); - if (!size_read) - return false; - line_start_ = buf_; - buf_end_ = buf_ + size_read; - } else { - // Advance to next line in buffer. - line_start_ = line_end_ + 1; - } - - line_end_ = (char*)memchr(line_start_, '\n', buf_end_ - line_start_); - if (!line_end_) { - // No newline. Move rest of data to start of buffer, fill rest. - size_t already_consumed = line_start_ - buf_; - size_t size_rest = (buf_end_ - buf_) - already_consumed; - memmove(buf_, line_start_, size_rest); - - size_t read = fread(buf_ + size_rest, 1, sizeof(buf_) - size_rest, file_); - buf_end_ = buf_ + size_rest + read; - line_start_ = buf_; - line_end_ = (char*)memchr(line_start_, '\n', buf_end_ - line_start_); - } - - *line_start = line_start_; - *line_end = line_end_; - return true; - } - - private: - FILE* file_; - char buf_[256 << 10]; - char* buf_end_; // Points one past the last valid byte in |buf_|. - - char* line_start_; - // Points at the next \n in buf_ after line_start, or NULL. - char* line_end_; -}; - -bool BuildLog::Load(const string& path, string* err) { - METRIC_RECORD(".ninja_log load"); - FILE* file = fopen(path.c_str(), "r"); - if (!file) { - if (errno == ENOENT) - return true; - *err = strerror(errno); - return false; - } - - int log_version = 0; - int unique_entry_count = 0; - int total_entry_count = 0; - - LineReader reader(file); - char* line_start = 0; - char* line_end = 0; - while (reader.ReadLine(&line_start, &line_end)) { - if (!log_version) { - sscanf(line_start, kFileSignature, &log_version); - - if (log_version < kOldestSupportedVersion) { - *err = ("build log version invalid, perhaps due to being too old; " - "starting over"); - fclose(file); - unlink(path.c_str()); - // Don't report this as a failure. An empty build log will cause - // us to rebuild the outputs anyway. - return true; - } - } - - // If no newline was found in this chunk, read the next. - if (!line_end) - continue; - - const char kFieldSeparator = '\t'; - - char* start = line_start; - char* end = (char*)memchr(start, kFieldSeparator, line_end - start); - if (!end) - continue; - *end = 0; - - int start_time = 0, end_time = 0; - TimeStamp restat_mtime = 0; - - start_time = atoi(start); - start = end + 1; - - end = (char*)memchr(start, kFieldSeparator, line_end - start); - if (!end) - continue; - *end = 0; - end_time = atoi(start); - start = end + 1; - - end = (char*)memchr(start, kFieldSeparator, line_end - start); - if (!end) - continue; - *end = 0; - restat_mtime = atol(start); - start = end + 1; - - end = (char*)memchr(start, kFieldSeparator, line_end - start); - if (!end) - continue; - string output = string(start, end - start); - - start = end + 1; - end = line_end; - - LogEntry* entry; - Entries::iterator i = entries_.find(output); - if (i != entries_.end()) { - entry = i->second; - } else { - entry = new LogEntry(output); - entries_.insert(Entries::value_type(entry->output, entry)); - ++unique_entry_count; - } - ++total_entry_count; - - entry->start_time = start_time; - entry->end_time = end_time; - entry->mtime = restat_mtime; - if (log_version >= 5) { - char c = *end; *end = '\0'; - entry->command_hash = (uint64_t)strtoull(start, NULL, 16); - *end = c; - } else { - entry->command_hash = LogEntry::HashCommand(StringPiece(start, - end - start)); - } - } - fclose(file); - - if (!line_start) { - return true; // file was empty - } - - // Decide whether it's time to rebuild the log: - // - if we're upgrading versions - // - if it's getting large - int kMinCompactionEntryCount = 100; - int kCompactionRatio = 3; - if (log_version < kCurrentVersion) { - needs_recompaction_ = true; - } else if (total_entry_count > kMinCompactionEntryCount && - total_entry_count > unique_entry_count * kCompactionRatio) { - needs_recompaction_ = true; - } - - return true; -} - -BuildLog::LogEntry* BuildLog::LookupByOutput(const string& path) { - Entries::iterator i = entries_.find(path); - if (i != entries_.end()) - return i->second; - return NULL; -} - -bool BuildLog::WriteEntry(FILE* f, const LogEntry& entry) { - return fprintf(f, "%d\t%d\t%d\t%s\t%" PRIx64 "\n", - entry.start_time, entry.end_time, entry.mtime, - entry.output.c_str(), entry.command_hash) > 0; -} - -bool BuildLog::Recompact(const string& path, const BuildLogUser& user, - string* err) { - METRIC_RECORD(".ninja_log recompact"); - - Close(); - string temp_path = path + ".recompact"; - FILE* f = fopen(temp_path.c_str(), "wb"); - if (!f) { - *err = strerror(errno); - return false; - } - - if (fprintf(f, kFileSignature, kCurrentVersion) < 0) { - *err = strerror(errno); - fclose(f); - return false; - } - - vector dead_outputs; - for (Entries::iterator i = entries_.begin(); i != entries_.end(); ++i) { - if (user.IsPathDead(i->first)) { - dead_outputs.push_back(i->first); - continue; - } - - if (!WriteEntry(f, *i->second)) { - *err = strerror(errno); - fclose(f); - return false; - } - } - - for (size_t i = 0; i < dead_outputs.size(); ++i) - entries_.erase(dead_outputs[i]); - - fclose(f); - if (unlink(path.c_str()) < 0) { - *err = strerror(errno); - return false; - } - - if (rename(temp_path.c_str(), path.c_str()) < 0) { - *err = strerror(errno); - return false; - } - - return true; -} diff --git a/vendor/ninja/src/build_log.h b/vendor/ninja/src/build_log.h deleted file mode 100644 index 5268fabb6..000000000 --- a/vendor/ninja/src/build_log.h +++ /dev/null @@ -1,93 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_BUILD_LOG_H_ -#define NINJA_BUILD_LOG_H_ - -#include -#include -using namespace std; - -#include "hash_map.h" -#include "timestamp.h" -#include "util.h" // uint64_t - -struct Edge; - -/// Can answer questions about the manifest for the BuildLog. -struct BuildLogUser { - /// Return if a given output is no longer part of the build manifest. - /// This is only called during recompaction and doesn't have to be fast. - virtual bool IsPathDead(StringPiece s) const = 0; -}; - -/// Store a log of every command ran for every build. -/// It has a few uses: -/// -/// 1) (hashes of) command lines for existing output files, so we know -/// when we need to rebuild due to the command changing -/// 2) timing information, perhaps for generating reports -/// 3) restat information -struct BuildLog { - BuildLog(); - ~BuildLog(); - - bool OpenForWrite(const string& path, const BuildLogUser& user, string* err); - bool RecordCommand(Edge* edge, int start_time, int end_time, - TimeStamp mtime = 0); - void Close(); - - /// Load the on-disk log. - bool Load(const string& path, string* err); - - struct LogEntry { - string output; - uint64_t command_hash; - int start_time; - int end_time; - TimeStamp mtime; - - static uint64_t HashCommand(StringPiece command); - - // Used by tests. - bool operator==(const LogEntry& o) { - return output == o.output && command_hash == o.command_hash && - start_time == o.start_time && end_time == o.end_time && - mtime == o.mtime; - } - - explicit LogEntry(const string& output); - LogEntry(const string& output, uint64_t command_hash, - int start_time, int end_time, TimeStamp restat_mtime); - }; - - /// Lookup a previously-run command by its output path. - LogEntry* LookupByOutput(const string& path); - - /// Serialize an entry into a log file. - bool WriteEntry(FILE* f, const LogEntry& entry); - - /// Rewrite the known log entries, throwing away old data. - bool Recompact(const string& path, const BuildLogUser& user, string* err); - - typedef ExternalStringHashMap::Type Entries; - const Entries& entries() const { return entries_; } - - private: - Entries entries_; - FILE* log_file_; - bool needs_recompaction_; -}; - -#endif // NINJA_BUILD_LOG_H_ diff --git a/vendor/ninja/src/build_log_perftest.cc b/vendor/ninja/src/build_log_perftest.cc deleted file mode 100644 index e471d138c..000000000 --- a/vendor/ninja/src/build_log_perftest.cc +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include - -#include "build_log.h" -#include "graph.h" -#include "manifest_parser.h" -#include "state.h" -#include "util.h" -#include "metrics.h" - -#ifndef _WIN32 -#include -#endif - -const char kTestFilename[] = "BuildLogPerfTest-tempfile"; - -struct NoDeadPaths : public BuildLogUser { - virtual bool IsPathDead(StringPiece) const { return false; } -}; - -bool WriteTestData(string* err) { - BuildLog log; - - NoDeadPaths no_dead_paths; - if (!log.OpenForWrite(kTestFilename, no_dead_paths, err)) - return false; - - /* - A histogram of command lengths in chromium. For example, 407 builds, - 1.4% of all builds, had commands longer than 32 bytes but shorter than 64. - 32 407 1.4% - 64 183 0.6% - 128 1461 5.1% - 256 791 2.8% - 512 1314 4.6% - 1024 6114 21.3% - 2048 11759 41.0% - 4096 2056 7.2% - 8192 4567 15.9% - 16384 13 0.0% - 32768 4 0.0% - 65536 5 0.0% - The average command length is 4.1 kB and there were 28674 commands in total, - which makes for a total log size of ~120 MB (also counting output filenames). - - Based on this, write 30000 many 4 kB long command lines. - */ - - // ManifestParser is the only object allowed to create Rules. - const size_t kRuleSize = 4000; - string long_rule_command = "gcc "; - for (int i = 0; long_rule_command.size() < kRuleSize; ++i) { - char buf[80]; - sprintf(buf, "-I../../and/arbitrary/but/fairly/long/path/suffixed/%d ", i); - long_rule_command += buf; - } - long_rule_command += "$in -o $out\n"; - - State state; - ManifestParser parser(&state, NULL); - if (!parser.ParseTest("rule cxx\n command = " + long_rule_command, err)) - return false; - - // Create build edges. Using ManifestParser is as fast as using the State api - // for edge creation, so just use that. - const int kNumCommands = 30000; - string build_rules; - for (int i = 0; i < kNumCommands; ++i) { - char buf[80]; - sprintf(buf, "build input%d.o: cxx input%d.cc\n", i, i); - build_rules += buf; - } - - if (!parser.ParseTest(build_rules, err)) - return false; - - for (int i = 0; i < kNumCommands; ++i) { - log.RecordCommand(state.edges_[i], - /*start_time=*/100 * i, - /*end_time=*/100 * i + 1, - /*mtime=*/0); - } - - return true; -} - -int main() { - vector times; - string err; - - if (!WriteTestData(&err)) { - fprintf(stderr, "Failed to write test data: %s\n", err.c_str()); - return 1; - } - - { - // Read once to warm up disk cache. - BuildLog log; - if (!log.Load(kTestFilename, &err)) { - fprintf(stderr, "Failed to read test data: %s\n", err.c_str()); - return 1; - } - } - const int kNumRepetitions = 5; - for (int i = 0; i < kNumRepetitions; ++i) { - int64_t start = GetTimeMillis(); - BuildLog log; - if (!log.Load(kTestFilename, &err)) { - fprintf(stderr, "Failed to read test data: %s\n", err.c_str()); - return 1; - } - int delta = (int)(GetTimeMillis() - start); - printf("%dms\n", delta); - times.push_back(delta); - } - - int min = times[0]; - int max = times[0]; - float total = 0; - for (size_t i = 0; i < times.size(); ++i) { - total += times[i]; - if (times[i] < min) - min = times[i]; - else if (times[i] > max) - max = times[i]; - } - - printf("min %dms max %dms avg %.1fms\n", - min, max, total / times.size()); - - unlink(kTestFilename); - - return 0; -} - diff --git a/vendor/ninja/src/build_log_test.cc b/vendor/ninja/src/build_log_test.cc deleted file mode 100644 index ad3038053..000000000 --- a/vendor/ninja/src/build_log_test.cc +++ /dev/null @@ -1,307 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "build_log.h" - -#include "util.h" -#include "test.h" - -#include -#ifdef _WIN32 -#include -#include -#else -#include -#include -#endif - -namespace { - -const char kTestFilename[] = "BuildLogTest-tempfile"; - -struct BuildLogTest : public StateTestWithBuiltinRules, public BuildLogUser { - virtual void SetUp() { - // In case a crashing test left a stale file behind. - unlink(kTestFilename); - } - virtual void TearDown() { - unlink(kTestFilename); - } - virtual bool IsPathDead(StringPiece s) const { return false; } -}; - -TEST_F(BuildLogTest, WriteRead) { - AssertParse(&state_, -"build out: cat mid\n" -"build mid: cat in\n"); - - BuildLog log1; - string err; - EXPECT_TRUE(log1.OpenForWrite(kTestFilename, *this, &err)); - ASSERT_EQ("", err); - log1.RecordCommand(state_.edges_[0], 15, 18); - log1.RecordCommand(state_.edges_[1], 20, 25); - log1.Close(); - - BuildLog log2; - EXPECT_TRUE(log2.Load(kTestFilename, &err)); - ASSERT_EQ("", err); - - ASSERT_EQ(2u, log1.entries().size()); - ASSERT_EQ(2u, log2.entries().size()); - BuildLog::LogEntry* e1 = log1.LookupByOutput("out"); - ASSERT_TRUE(e1); - BuildLog::LogEntry* e2 = log2.LookupByOutput("out"); - ASSERT_TRUE(e2); - ASSERT_TRUE(*e1 == *e2); - ASSERT_EQ(15, e1->start_time); - ASSERT_EQ("out", e1->output); -} - -TEST_F(BuildLogTest, FirstWriteAddsSignature) { - const char kExpectedVersion[] = "# ninja log vX\n"; - const size_t kVersionPos = strlen(kExpectedVersion) - 2; // Points at 'X'. - - BuildLog log; - string contents, err; - - EXPECT_TRUE(log.OpenForWrite(kTestFilename, *this, &err)); - ASSERT_EQ("", err); - log.Close(); - - ASSERT_EQ(0, ReadFile(kTestFilename, &contents, &err)); - ASSERT_EQ("", err); - if (contents.size() >= kVersionPos) - contents[kVersionPos] = 'X'; - EXPECT_EQ(kExpectedVersion, contents); - - // Opening the file anew shouldn't add a second version string. - EXPECT_TRUE(log.OpenForWrite(kTestFilename, *this, &err)); - ASSERT_EQ("", err); - log.Close(); - - contents.clear(); - ASSERT_EQ(0, ReadFile(kTestFilename, &contents, &err)); - ASSERT_EQ("", err); - if (contents.size() >= kVersionPos) - contents[kVersionPos] = 'X'; - EXPECT_EQ(kExpectedVersion, contents); -} - -TEST_F(BuildLogTest, DoubleEntry) { - FILE* f = fopen(kTestFilename, "wb"); - fprintf(f, "# ninja log v4\n"); - fprintf(f, "0\t1\t2\tout\tcommand abc\n"); - fprintf(f, "3\t4\t5\tout\tcommand def\n"); - fclose(f); - - string err; - BuildLog log; - EXPECT_TRUE(log.Load(kTestFilename, &err)); - ASSERT_EQ("", err); - - BuildLog::LogEntry* e = log.LookupByOutput("out"); - ASSERT_TRUE(e); - ASSERT_NO_FATAL_FAILURE(AssertHash("command def", e->command_hash)); -} - -TEST_F(BuildLogTest, Truncate) { - AssertParse(&state_, -"build out: cat mid\n" -"build mid: cat in\n"); - - { - BuildLog log1; - string err; - EXPECT_TRUE(log1.OpenForWrite(kTestFilename, *this, &err)); - ASSERT_EQ("", err); - log1.RecordCommand(state_.edges_[0], 15, 18); - log1.RecordCommand(state_.edges_[1], 20, 25); - log1.Close(); - } - - struct stat statbuf; - ASSERT_EQ(0, stat(kTestFilename, &statbuf)); - ASSERT_GT(statbuf.st_size, 0); - - // For all possible truncations of the input file, assert that we don't - // crash when parsing. - for (off_t size = statbuf.st_size; size > 0; --size) { - BuildLog log2; - string err; - EXPECT_TRUE(log2.OpenForWrite(kTestFilename, *this, &err)); - ASSERT_EQ("", err); - log2.RecordCommand(state_.edges_[0], 15, 18); - log2.RecordCommand(state_.edges_[1], 20, 25); - log2.Close(); - - ASSERT_TRUE(Truncate(kTestFilename, size, &err)); - - BuildLog log3; - err.clear(); - ASSERT_TRUE(log3.Load(kTestFilename, &err) || !err.empty()); - } -} - -TEST_F(BuildLogTest, ObsoleteOldVersion) { - FILE* f = fopen(kTestFilename, "wb"); - fprintf(f, "# ninja log v3\n"); - fprintf(f, "123 456 0 out command\n"); - fclose(f); - - string err; - BuildLog log; - EXPECT_TRUE(log.Load(kTestFilename, &err)); - ASSERT_NE(err.find("version"), string::npos); -} - -TEST_F(BuildLogTest, SpacesInOutputV4) { - FILE* f = fopen(kTestFilename, "wb"); - fprintf(f, "# ninja log v4\n"); - fprintf(f, "123\t456\t456\tout with space\tcommand\n"); - fclose(f); - - string err; - BuildLog log; - EXPECT_TRUE(log.Load(kTestFilename, &err)); - ASSERT_EQ("", err); - - BuildLog::LogEntry* e = log.LookupByOutput("out with space"); - ASSERT_TRUE(e); - ASSERT_EQ(123, e->start_time); - ASSERT_EQ(456, e->end_time); - ASSERT_EQ(456, e->mtime); - ASSERT_NO_FATAL_FAILURE(AssertHash("command", e->command_hash)); -} - -TEST_F(BuildLogTest, DuplicateVersionHeader) { - // Old versions of ninja accidentally wrote multiple version headers to the - // build log on Windows. This shouldn't crash, and the second version header - // should be ignored. - FILE* f = fopen(kTestFilename, "wb"); - fprintf(f, "# ninja log v4\n"); - fprintf(f, "123\t456\t456\tout\tcommand\n"); - fprintf(f, "# ninja log v4\n"); - fprintf(f, "456\t789\t789\tout2\tcommand2\n"); - fclose(f); - - string err; - BuildLog log; - EXPECT_TRUE(log.Load(kTestFilename, &err)); - ASSERT_EQ("", err); - - BuildLog::LogEntry* e = log.LookupByOutput("out"); - ASSERT_TRUE(e); - ASSERT_EQ(123, e->start_time); - ASSERT_EQ(456, e->end_time); - ASSERT_EQ(456, e->mtime); - ASSERT_NO_FATAL_FAILURE(AssertHash("command", e->command_hash)); - - e = log.LookupByOutput("out2"); - ASSERT_TRUE(e); - ASSERT_EQ(456, e->start_time); - ASSERT_EQ(789, e->end_time); - ASSERT_EQ(789, e->mtime); - ASSERT_NO_FATAL_FAILURE(AssertHash("command2", e->command_hash)); -} - -TEST_F(BuildLogTest, VeryLongInputLine) { - // Ninja's build log buffer is currently 256kB. Lines longer than that are - // silently ignored, but don't affect parsing of other lines. - FILE* f = fopen(kTestFilename, "wb"); - fprintf(f, "# ninja log v4\n"); - fprintf(f, "123\t456\t456\tout\tcommand start"); - for (size_t i = 0; i < (512 << 10) / strlen(" more_command"); ++i) - fputs(" more_command", f); - fprintf(f, "\n"); - fprintf(f, "456\t789\t789\tout2\tcommand2\n"); - fclose(f); - - string err; - BuildLog log; - EXPECT_TRUE(log.Load(kTestFilename, &err)); - ASSERT_EQ("", err); - - BuildLog::LogEntry* e = log.LookupByOutput("out"); - ASSERT_EQ(NULL, e); - - e = log.LookupByOutput("out2"); - ASSERT_TRUE(e); - ASSERT_EQ(456, e->start_time); - ASSERT_EQ(789, e->end_time); - ASSERT_EQ(789, e->mtime); - ASSERT_NO_FATAL_FAILURE(AssertHash("command2", e->command_hash)); -} - -TEST_F(BuildLogTest, MultiTargetEdge) { - AssertParse(&state_, -"build out out.d: cat\n"); - - BuildLog log; - log.RecordCommand(state_.edges_[0], 21, 22); - - ASSERT_EQ(2u, log.entries().size()); - BuildLog::LogEntry* e1 = log.LookupByOutput("out"); - ASSERT_TRUE(e1); - BuildLog::LogEntry* e2 = log.LookupByOutput("out.d"); - ASSERT_TRUE(e2); - ASSERT_EQ("out", e1->output); - ASSERT_EQ("out.d", e2->output); - ASSERT_EQ(21, e1->start_time); - ASSERT_EQ(21, e2->start_time); - ASSERT_EQ(22, e2->end_time); - ASSERT_EQ(22, e2->end_time); -} - -struct BuildLogRecompactTest : public BuildLogTest { - virtual bool IsPathDead(StringPiece s) const { return s == "out2"; } -}; - -TEST_F(BuildLogRecompactTest, Recompact) { - AssertParse(&state_, -"build out: cat in\n" -"build out2: cat in\n"); - - BuildLog log1; - string err; - EXPECT_TRUE(log1.OpenForWrite(kTestFilename, *this, &err)); - ASSERT_EQ("", err); - // Record the same edge several times, to trigger recompaction - // the next time the log is opened. - for (int i = 0; i < 200; ++i) - log1.RecordCommand(state_.edges_[0], 15, 18 + i); - log1.RecordCommand(state_.edges_[1], 21, 22); - log1.Close(); - - // Load... - BuildLog log2; - EXPECT_TRUE(log2.Load(kTestFilename, &err)); - ASSERT_EQ("", err); - ASSERT_EQ(2u, log2.entries().size()); - ASSERT_TRUE(log2.LookupByOutput("out")); - ASSERT_TRUE(log2.LookupByOutput("out2")); - // ...and force a recompaction. - EXPECT_TRUE(log2.OpenForWrite(kTestFilename, *this, &err)); - log2.Close(); - - // "out2" is dead, it should've been removed. - BuildLog log3; - EXPECT_TRUE(log2.Load(kTestFilename, &err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, log2.entries().size()); - ASSERT_TRUE(log2.LookupByOutput("out")); - ASSERT_FALSE(log2.LookupByOutput("out2")); -} - -} // anonymous namespace diff --git a/vendor/ninja/src/build_test.cc b/vendor/ninja/src/build_test.cc deleted file mode 100644 index 46ab33ef8..000000000 --- a/vendor/ninja/src/build_test.cc +++ /dev/null @@ -1,2310 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "build.h" - -#include - -#include "build_log.h" -#include "deps_log.h" -#include "graph.h" -#include "test.h" - -/// Fixture for tests involving Plan. -// Though Plan doesn't use State, it's useful to have one around -// to create Nodes and Edges. -struct PlanTest : public StateTestWithBuiltinRules { - Plan plan_; - - /// Because FindWork does not return Edges in any sort of predictable order, - // provide a means to get available Edges in order and in a format which is - // easy to write tests around. - void FindWorkSorted(deque* ret, int count) { - struct CompareEdgesByOutput { - static bool cmp(const Edge* a, const Edge* b) { - return a->outputs_[0]->path() < b->outputs_[0]->path(); - } - }; - - for (int i = 0; i < count; ++i) { - ASSERT_TRUE(plan_.more_to_do()); - Edge* edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ret->push_back(edge); - } - ASSERT_FALSE(plan_.FindWork()); - sort(ret->begin(), ret->end(), CompareEdgesByOutput::cmp); - } - - void TestPoolWithDepthOne(const char *test_case); -}; - -TEST_F(PlanTest, Basic) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat mid\n" -"build mid: cat in\n")); - GetNode("mid")->MarkDirty(); - GetNode("out")->MarkDirty(); - string err; - EXPECT_TRUE(plan_.AddTarget(GetNode("out"), &err)); - ASSERT_EQ("", err); - ASSERT_TRUE(plan_.more_to_do()); - - Edge* edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_EQ("in", edge->inputs_[0]->path()); - ASSERT_EQ("mid", edge->outputs_[0]->path()); - - ASSERT_FALSE(plan_.FindWork()); - - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_EQ("mid", edge->inputs_[0]->path()); - ASSERT_EQ("out", edge->outputs_[0]->path()); - - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - ASSERT_FALSE(plan_.more_to_do()); - edge = plan_.FindWork(); - ASSERT_EQ(0, edge); -} - -// Test that two outputs from one rule can be handled as inputs to the next. -TEST_F(PlanTest, DoubleOutputDirect) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat mid1 mid2\n" -"build mid1 mid2: cat in\n")); - GetNode("mid1")->MarkDirty(); - GetNode("mid2")->MarkDirty(); - GetNode("out")->MarkDirty(); - - string err; - EXPECT_TRUE(plan_.AddTarget(GetNode("out"), &err)); - ASSERT_EQ("", err); - ASSERT_TRUE(plan_.more_to_do()); - - Edge* edge; - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat in - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat mid1 mid2 - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_FALSE(edge); // done -} - -// Test that two outputs from one rule can eventually be routed to another. -TEST_F(PlanTest, DoubleOutputIndirect) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat b1 b2\n" -"build b1: cat a1\n" -"build b2: cat a2\n" -"build a1 a2: cat in\n")); - GetNode("a1")->MarkDirty(); - GetNode("a2")->MarkDirty(); - GetNode("b1")->MarkDirty(); - GetNode("b2")->MarkDirty(); - GetNode("out")->MarkDirty(); - string err; - EXPECT_TRUE(plan_.AddTarget(GetNode("out"), &err)); - ASSERT_EQ("", err); - ASSERT_TRUE(plan_.more_to_do()); - - Edge* edge; - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat in - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat a1 - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat a2 - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat b1 b2 - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_FALSE(edge); // done -} - -// Test that two edges from one output can both execute. -TEST_F(PlanTest, DoubleDependent) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat a1 a2\n" -"build a1: cat mid\n" -"build a2: cat mid\n" -"build mid: cat in\n")); - GetNode("mid")->MarkDirty(); - GetNode("a1")->MarkDirty(); - GetNode("a2")->MarkDirty(); - GetNode("out")->MarkDirty(); - - string err; - EXPECT_TRUE(plan_.AddTarget(GetNode("out"), &err)); - ASSERT_EQ("", err); - ASSERT_TRUE(plan_.more_to_do()); - - Edge* edge; - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat in - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat mid - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat mid - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); // cat a1 a2 - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_FALSE(edge); // done -} - -void PlanTest::TestPoolWithDepthOne(const char* test_case) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, test_case)); - GetNode("out1")->MarkDirty(); - GetNode("out2")->MarkDirty(); - string err; - EXPECT_TRUE(plan_.AddTarget(GetNode("out1"), &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(plan_.AddTarget(GetNode("out2"), &err)); - ASSERT_EQ("", err); - ASSERT_TRUE(plan_.more_to_do()); - - Edge* edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_EQ("in", edge->inputs_[0]->path()); - ASSERT_EQ("out1", edge->outputs_[0]->path()); - - // This will be false since poolcat is serialized - ASSERT_FALSE(plan_.FindWork()); - - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_EQ("in", edge->inputs_[0]->path()); - ASSERT_EQ("out2", edge->outputs_[0]->path()); - - ASSERT_FALSE(plan_.FindWork()); - - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - ASSERT_FALSE(plan_.more_to_do()); - edge = plan_.FindWork(); - ASSERT_EQ(0, edge); -} - -TEST_F(PlanTest, PoolWithDepthOne) { - TestPoolWithDepthOne( -"pool foobar\n" -" depth = 1\n" -"rule poolcat\n" -" command = cat $in > $out\n" -" pool = foobar\n" -"build out1: poolcat in\n" -"build out2: poolcat in\n"); -} - -TEST_F(PlanTest, ConsolePool) { - TestPoolWithDepthOne( -"rule poolcat\n" -" command = cat $in > $out\n" -" pool = console\n" -"build out1: poolcat in\n" -"build out2: poolcat in\n"); -} - -TEST_F(PlanTest, PoolsWithDepthTwo) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"pool foobar\n" -" depth = 2\n" -"pool bazbin\n" -" depth = 2\n" -"rule foocat\n" -" command = cat $in > $out\n" -" pool = foobar\n" -"rule bazcat\n" -" command = cat $in > $out\n" -" pool = bazbin\n" -"build out1: foocat in\n" -"build out2: foocat in\n" -"build out3: foocat in\n" -"build outb1: bazcat in\n" -"build outb2: bazcat in\n" -"build outb3: bazcat in\n" -" pool =\n" -"build allTheThings: cat out1 out2 out3 outb1 outb2 outb3\n" -)); - // Mark all the out* nodes dirty - for (int i = 0; i < 3; ++i) { - GetNode("out" + string(1, '1' + static_cast(i)))->MarkDirty(); - GetNode("outb" + string(1, '1' + static_cast(i)))->MarkDirty(); - } - GetNode("allTheThings")->MarkDirty(); - - string err; - EXPECT_TRUE(plan_.AddTarget(GetNode("allTheThings"), &err)); - ASSERT_EQ("", err); - - deque edges; - FindWorkSorted(&edges, 5); - - for (int i = 0; i < 4; ++i) { - Edge *edge = edges[i]; - ASSERT_EQ("in", edge->inputs_[0]->path()); - string base_name(i < 2 ? "out" : "outb"); - ASSERT_EQ(base_name + string(1, '1' + (i % 2)), edge->outputs_[0]->path()); - } - - // outb3 is exempt because it has an empty pool - Edge* edge = edges[4]; - ASSERT_TRUE(edge); - ASSERT_EQ("in", edge->inputs_[0]->path()); - ASSERT_EQ("outb3", edge->outputs_[0]->path()); - - // finish out1 - plan_.EdgeFinished(edges.front(), Plan::kEdgeSucceeded); - edges.pop_front(); - - // out3 should be available - Edge* out3 = plan_.FindWork(); - ASSERT_TRUE(out3); - ASSERT_EQ("in", out3->inputs_[0]->path()); - ASSERT_EQ("out3", out3->outputs_[0]->path()); - - ASSERT_FALSE(plan_.FindWork()); - - plan_.EdgeFinished(out3, Plan::kEdgeSucceeded); - - ASSERT_FALSE(plan_.FindWork()); - - for (deque::iterator it = edges.begin(); it != edges.end(); ++it) { - plan_.EdgeFinished(*it, Plan::kEdgeSucceeded); - } - - Edge* last = plan_.FindWork(); - ASSERT_TRUE(last); - ASSERT_EQ("allTheThings", last->outputs_[0]->path()); - - plan_.EdgeFinished(last, Plan::kEdgeSucceeded); - - ASSERT_FALSE(plan_.more_to_do()); - ASSERT_FALSE(plan_.FindWork()); -} - -TEST_F(PlanTest, PoolWithRedundantEdges) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "pool compile\n" - " depth = 1\n" - "rule gen_foo\n" - " command = touch foo.cpp\n" - "rule gen_bar\n" - " command = touch bar.cpp\n" - "rule echo\n" - " command = echo $out > $out\n" - "build foo.cpp.obj: echo foo.cpp || foo.cpp\n" - " pool = compile\n" - "build bar.cpp.obj: echo bar.cpp || bar.cpp\n" - " pool = compile\n" - "build libfoo.a: echo foo.cpp.obj bar.cpp.obj\n" - "build foo.cpp: gen_foo\n" - "build bar.cpp: gen_bar\n" - "build all: phony libfoo.a\n")); - GetNode("foo.cpp")->MarkDirty(); - GetNode("foo.cpp.obj")->MarkDirty(); - GetNode("bar.cpp")->MarkDirty(); - GetNode("bar.cpp.obj")->MarkDirty(); - GetNode("libfoo.a")->MarkDirty(); - GetNode("all")->MarkDirty(); - string err; - EXPECT_TRUE(plan_.AddTarget(GetNode("all"), &err)); - ASSERT_EQ("", err); - ASSERT_TRUE(plan_.more_to_do()); - - Edge* edge = NULL; - - deque initial_edges; - FindWorkSorted(&initial_edges, 2); - - edge = initial_edges[1]; // Foo first - ASSERT_EQ("foo.cpp", edge->outputs_[0]->path()); - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_FALSE(plan_.FindWork()); - ASSERT_EQ("foo.cpp", edge->inputs_[0]->path()); - ASSERT_EQ("foo.cpp", edge->inputs_[1]->path()); - ASSERT_EQ("foo.cpp.obj", edge->outputs_[0]->path()); - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = initial_edges[0]; // Now for bar - ASSERT_EQ("bar.cpp", edge->outputs_[0]->path()); - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_FALSE(plan_.FindWork()); - ASSERT_EQ("bar.cpp", edge->inputs_[0]->path()); - ASSERT_EQ("bar.cpp", edge->inputs_[1]->path()); - ASSERT_EQ("bar.cpp.obj", edge->outputs_[0]->path()); - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_FALSE(plan_.FindWork()); - ASSERT_EQ("foo.cpp.obj", edge->inputs_[0]->path()); - ASSERT_EQ("bar.cpp.obj", edge->inputs_[1]->path()); - ASSERT_EQ("libfoo.a", edge->outputs_[0]->path()); - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_FALSE(plan_.FindWork()); - ASSERT_EQ("libfoo.a", edge->inputs_[0]->path()); - ASSERT_EQ("all", edge->outputs_[0]->path()); - plan_.EdgeFinished(edge, Plan::kEdgeSucceeded); - - edge = plan_.FindWork(); - ASSERT_FALSE(edge); - ASSERT_FALSE(plan_.more_to_do()); -} - -TEST_F(PlanTest, PoolWithFailingEdge) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "pool foobar\n" - " depth = 1\n" - "rule poolcat\n" - " command = cat $in > $out\n" - " pool = foobar\n" - "build out1: poolcat in\n" - "build out2: poolcat in\n")); - GetNode("out1")->MarkDirty(); - GetNode("out2")->MarkDirty(); - string err; - EXPECT_TRUE(plan_.AddTarget(GetNode("out1"), &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(plan_.AddTarget(GetNode("out2"), &err)); - ASSERT_EQ("", err); - ASSERT_TRUE(plan_.more_to_do()); - - Edge* edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_EQ("in", edge->inputs_[0]->path()); - ASSERT_EQ("out1", edge->outputs_[0]->path()); - - // This will be false since poolcat is serialized - ASSERT_FALSE(plan_.FindWork()); - - plan_.EdgeFinished(edge, Plan::kEdgeFailed); - - edge = plan_.FindWork(); - ASSERT_TRUE(edge); - ASSERT_EQ("in", edge->inputs_[0]->path()); - ASSERT_EQ("out2", edge->outputs_[0]->path()); - - ASSERT_FALSE(plan_.FindWork()); - - plan_.EdgeFinished(edge, Plan::kEdgeFailed); - - ASSERT_TRUE(plan_.more_to_do()); // Jobs have failed - edge = plan_.FindWork(); - ASSERT_EQ(0, edge); -} - -/// Fake implementation of CommandRunner, useful for tests. -struct FakeCommandRunner : public CommandRunner { - explicit FakeCommandRunner(VirtualFileSystem* fs) : - last_command_(NULL), fs_(fs) {} - - // CommandRunner impl - virtual bool CanRunMore(); - virtual bool StartCommand(Edge* edge); - virtual bool WaitForCommand(Result* result); - virtual vector GetActiveEdges(); - virtual void Abort(); - - vector commands_ran_; - Edge* last_command_; - VirtualFileSystem* fs_; -}; - -struct BuildTest : public StateTestWithBuiltinRules, public BuildLogUser { - BuildTest() : config_(MakeConfig()), command_runner_(&fs_), - builder_(&state_, config_, NULL, NULL, &fs_), - status_(config_) { - } - - virtual void SetUp() { - StateTestWithBuiltinRules::SetUp(); - - builder_.command_runner_.reset(&command_runner_); - AssertParse(&state_, -"build cat1: cat in1\n" -"build cat2: cat in1 in2\n" -"build cat12: cat cat1 cat2\n"); - - fs_.Create("in1", ""); - fs_.Create("in2", ""); - } - - ~BuildTest() { - builder_.command_runner_.release(); - } - - virtual bool IsPathDead(StringPiece s) const { return false; } - - /// Rebuild target in the 'working tree' (fs_). - /// State of command_runner_ and logs contents (if specified) ARE MODIFIED. - /// Handy to check for NOOP builds, and higher-level rebuild tests. - void RebuildTarget(const string& target, const char* manifest, - const char* log_path = NULL, const char* deps_path = NULL, - State* state = NULL); - - // Mark a path dirty. - void Dirty(const string& path); - - BuildConfig MakeConfig() { - BuildConfig config; - config.verbosity = BuildConfig::QUIET; - return config; - } - - BuildConfig config_; - FakeCommandRunner command_runner_; - VirtualFileSystem fs_; - Builder builder_; - - BuildStatus status_; -}; - -void BuildTest::RebuildTarget(const string& target, const char* manifest, - const char* log_path, const char* deps_path, - State* state) { - State local_state, *pstate = &local_state; - if (state) - pstate = state; - ASSERT_NO_FATAL_FAILURE(AddCatRule(pstate)); - AssertParse(pstate, manifest); - - string err; - BuildLog build_log, *pbuild_log = NULL; - if (log_path) { - ASSERT_TRUE(build_log.Load(log_path, &err)); - ASSERT_TRUE(build_log.OpenForWrite(log_path, *this, &err)); - ASSERT_EQ("", err); - pbuild_log = &build_log; - } - - DepsLog deps_log, *pdeps_log = NULL; - if (deps_path) { - ASSERT_TRUE(deps_log.Load(deps_path, pstate, &err)); - ASSERT_TRUE(deps_log.OpenForWrite(deps_path, &err)); - ASSERT_EQ("", err); - pdeps_log = &deps_log; - } - - Builder builder(pstate, config_, pbuild_log, pdeps_log, &fs_); - EXPECT_TRUE(builder.AddTarget(target, &err)); - - command_runner_.commands_ran_.clear(); - builder.command_runner_.reset(&command_runner_); - if (!builder.AlreadyUpToDate()) { - bool build_res = builder.Build(&err); - EXPECT_TRUE(build_res); - } - builder.command_runner_.release(); -} - -bool FakeCommandRunner::CanRunMore() { - // Only run one at a time. - return last_command_ == NULL; -} - -bool FakeCommandRunner::StartCommand(Edge* edge) { - assert(!last_command_); - commands_ran_.push_back(edge->EvaluateCommand()); - if (edge->rule().name() == "cat" || - edge->rule().name() == "cat_rsp" || - edge->rule().name() == "cat_rsp_out" || - edge->rule().name() == "cc" || - edge->rule().name() == "touch" || - edge->rule().name() == "touch-interrupt" || - edge->rule().name() == "touch-fail-tick2") { - for (vector::iterator out = edge->outputs_.begin(); - out != edge->outputs_.end(); ++out) { - fs_->Create((*out)->path(), ""); - } - } else if (edge->rule().name() == "true" || - edge->rule().name() == "fail" || - edge->rule().name() == "interrupt" || - edge->rule().name() == "console") { - // Don't do anything. - } else { - printf("unknown command\n"); - return false; - } - - last_command_ = edge; - return true; -} - -bool FakeCommandRunner::WaitForCommand(Result* result) { - if (!last_command_) - return false; - - Edge* edge = last_command_; - result->edge = edge; - - if (edge->rule().name() == "interrupt" || - edge->rule().name() == "touch-interrupt") { - result->status = ExitInterrupted; - return true; - } - - if (edge->rule().name() == "console") { - if (edge->use_console()) - result->status = ExitSuccess; - else - result->status = ExitFailure; - last_command_ = NULL; - return true; - } - - if (edge->rule().name() == "fail" || - (edge->rule().name() == "touch-fail-tick2" && fs_->now_ == 2)) - result->status = ExitFailure; - else - result->status = ExitSuccess; - last_command_ = NULL; - return true; -} - -vector FakeCommandRunner::GetActiveEdges() { - vector edges; - if (last_command_) - edges.push_back(last_command_); - return edges; -} - -void FakeCommandRunner::Abort() { - last_command_ = NULL; -} - -void BuildTest::Dirty(const string& path) { - Node* node = GetNode(path); - node->MarkDirty(); - - // If it's an input file, mark that we've already stat()ed it and - // it's missing. - if (!node->in_edge()) - node->MarkMissing(); -} - -TEST_F(BuildTest, NoWork) { - string err; - EXPECT_TRUE(builder_.AlreadyUpToDate()); -} - -TEST_F(BuildTest, OneStep) { - // Given a dirty target with one ready input, - // we should rebuild the target. - Dirty("cat1"); - string err; - EXPECT_TRUE(builder_.AddTarget("cat1", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - EXPECT_EQ("cat in1 > cat1", command_runner_.commands_ran_[0]); -} - -TEST_F(BuildTest, OneStep2) { - // Given a target with one dirty input, - // we should rebuild the target. - Dirty("cat1"); - string err; - EXPECT_TRUE(builder_.AddTarget("cat1", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - EXPECT_EQ("cat in1 > cat1", command_runner_.commands_ran_[0]); -} - -TEST_F(BuildTest, TwoStep) { - string err; - EXPECT_TRUE(builder_.AddTarget("cat12", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - ASSERT_EQ(3u, command_runner_.commands_ran_.size()); - // Depending on how the pointers work out, we could've ran - // the first two commands in either order. - EXPECT_TRUE((command_runner_.commands_ran_[0] == "cat in1 > cat1" && - command_runner_.commands_ran_[1] == "cat in1 in2 > cat2") || - (command_runner_.commands_ran_[1] == "cat in1 > cat1" && - command_runner_.commands_ran_[0] == "cat in1 in2 > cat2")); - - EXPECT_EQ("cat cat1 cat2 > cat12", command_runner_.commands_ran_[2]); - - fs_.Tick(); - - // Modifying in2 requires rebuilding one intermediate file - // and the final file. - fs_.Create("in2", ""); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("cat12", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(5u, command_runner_.commands_ran_.size()); - EXPECT_EQ("cat in1 in2 > cat2", command_runner_.commands_ran_[3]); - EXPECT_EQ("cat cat1 cat2 > cat12", command_runner_.commands_ran_[4]); -} - -TEST_F(BuildTest, TwoOutputs) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule touch\n" -" command = touch $out\n" -"build out1 out2: touch in.txt\n")); - - fs_.Create("in.txt", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - EXPECT_EQ("touch out1 out2", command_runner_.commands_ran_[0]); -} - -TEST_F(BuildTest, ImplicitOutput) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule touch\n" -" command = touch $out $out.imp\n" -"build out | out.imp: touch in.txt\n")); - fs_.Create("in.txt", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("out.imp", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - EXPECT_EQ("touch out out.imp", command_runner_.commands_ran_[0]); -} - -// Test case from -// https://github.com/ninja-build/ninja/issues/148 -TEST_F(BuildTest, MultiOutIn) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule touch\n" -" command = touch $out\n" -"build in1 otherfile: touch in\n" -"build out: touch in | in1\n")); - - fs_.Create("in", ""); - fs_.Tick(); - fs_.Create("in1", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("out", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); -} - -TEST_F(BuildTest, Chain) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build c2: cat c1\n" -"build c3: cat c2\n" -"build c4: cat c3\n" -"build c5: cat c4\n")); - - fs_.Create("c1", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("c5", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - ASSERT_EQ(4u, command_runner_.commands_ran_.size()); - - err.clear(); - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("c5", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.AlreadyUpToDate()); - - fs_.Tick(); - - fs_.Create("c3", ""); - err.clear(); - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("c5", &err)); - ASSERT_EQ("", err); - EXPECT_FALSE(builder_.AlreadyUpToDate()); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); // 3->4, 4->5 -} - -TEST_F(BuildTest, MissingInput) { - // Input is referenced by build file, but no rule for it. - string err; - Dirty("in1"); - EXPECT_FALSE(builder_.AddTarget("cat1", &err)); - EXPECT_EQ("'in1', needed by 'cat1', missing and no known rule to make it", - err); -} - -TEST_F(BuildTest, MissingTarget) { - // Target is not referenced by build file. - string err; - EXPECT_FALSE(builder_.AddTarget("meow", &err)); - EXPECT_EQ("unknown target: 'meow'", err); -} - -TEST_F(BuildTest, MakeDirs) { - string err; - -#ifdef _WIN32 - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "build subdir\\dir2\\file: cat in1\n")); -#else - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "build subdir/dir2/file: cat in1\n")); -#endif - EXPECT_TRUE(builder_.AddTarget("subdir/dir2/file", &err)); - - EXPECT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(2u, fs_.directories_made_.size()); - EXPECT_EQ("subdir", fs_.directories_made_[0]); - EXPECT_EQ("subdir/dir2", fs_.directories_made_[1]); -} - -TEST_F(BuildTest, DepFileMissing) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n command = cc $in\n depfile = $out.d\n" -"build fo$ o.o: cc foo.c\n")); - fs_.Create("foo.c", ""); - - EXPECT_TRUE(builder_.AddTarget("fo o.o", &err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, fs_.files_read_.size()); - EXPECT_EQ("fo o.o.d", fs_.files_read_[0]); -} - -TEST_F(BuildTest, DepFileOK) { - string err; - int orig_edges = state_.edges_.size(); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n command = cc $in\n depfile = $out.d\n" -"build foo.o: cc foo.c\n")); - Edge* edge = state_.edges_.back(); - - fs_.Create("foo.c", ""); - GetNode("bar.h")->MarkDirty(); // Mark bar.h as missing. - fs_.Create("foo.o.d", "foo.o: blah.h bar.h\n"); - EXPECT_TRUE(builder_.AddTarget("foo.o", &err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, fs_.files_read_.size()); - EXPECT_EQ("foo.o.d", fs_.files_read_[0]); - - // Expect three new edges: one generating foo.o, and two more from - // loading the depfile. - ASSERT_EQ(orig_edges + 3, (int)state_.edges_.size()); - // Expect our edge to now have three inputs: foo.c and two headers. - ASSERT_EQ(3u, edge->inputs_.size()); - - // Expect the command line we generate to only use the original input. - ASSERT_EQ("cc foo.c", edge->EvaluateCommand()); -} - -TEST_F(BuildTest, DepFileParseError) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n command = cc $in\n depfile = $out.d\n" -"build foo.o: cc foo.c\n")); - fs_.Create("foo.c", ""); - fs_.Create("foo.o.d", "randomtext\n"); - EXPECT_FALSE(builder_.AddTarget("foo.o", &err)); - EXPECT_EQ("foo.o.d: expected ':' in depfile", err); -} - -TEST_F(BuildTest, EncounterReadyTwice) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule touch\n" -" command = touch $out\n" -"build c: touch\n" -"build b: touch || c\n" -"build a: touch | b || c\n")); - - vector c_out = GetNode("c")->out_edges(); - ASSERT_EQ(2u, c_out.size()); - EXPECT_EQ("b", c_out[0]->outputs_[0]->path()); - EXPECT_EQ("a", c_out[1]->outputs_[0]->path()); - - fs_.Create("b", ""); - EXPECT_TRUE(builder_.AddTarget("a", &err)); - ASSERT_EQ("", err); - - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildTest, OrderOnlyDeps) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n command = cc $in\n depfile = $out.d\n" -"build foo.o: cc foo.c || otherfile\n")); - Edge* edge = state_.edges_.back(); - - fs_.Create("foo.c", ""); - fs_.Create("otherfile", ""); - fs_.Create("foo.o.d", "foo.o: blah.h bar.h\n"); - EXPECT_TRUE(builder_.AddTarget("foo.o", &err)); - ASSERT_EQ("", err); - - // One explicit, two implicit, one order only. - ASSERT_EQ(4u, edge->inputs_.size()); - EXPECT_EQ(2, edge->implicit_deps_); - EXPECT_EQ(1, edge->order_only_deps_); - // Verify the inputs are in the order we expect - // (explicit then implicit then orderonly). - EXPECT_EQ("foo.c", edge->inputs_[0]->path()); - EXPECT_EQ("blah.h", edge->inputs_[1]->path()); - EXPECT_EQ("bar.h", edge->inputs_[2]->path()); - EXPECT_EQ("otherfile", edge->inputs_[3]->path()); - - // Expect the command line we generate to only use the original input. - ASSERT_EQ("cc foo.c", edge->EvaluateCommand()); - - // explicit dep dirty, expect a rebuild. - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - - fs_.Tick(); - - // Recreate the depfile, as it should have been deleted by the build. - fs_.Create("foo.o.d", "foo.o: blah.h bar.h\n"); - - // implicit dep dirty, expect a rebuild. - fs_.Create("blah.h", ""); - fs_.Create("bar.h", ""); - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("foo.o", &err)); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - - fs_.Tick(); - - // Recreate the depfile, as it should have been deleted by the build. - fs_.Create("foo.o.d", "foo.o: blah.h bar.h\n"); - - // order only dep dirty, no rebuild. - fs_.Create("otherfile", ""); - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("foo.o", &err)); - EXPECT_EQ("", err); - EXPECT_TRUE(builder_.AlreadyUpToDate()); - - // implicit dep missing, expect rebuild. - fs_.RemoveFile("bar.h"); - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("foo.o", &err)); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildTest, RebuildOrderOnlyDeps) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n command = cc $in\n" -"rule true\n command = true\n" -"build oo.h: cc oo.h.in\n" -"build foo.o: cc foo.c || oo.h\n")); - - fs_.Create("foo.c", ""); - fs_.Create("oo.h.in", ""); - - // foo.o and order-only dep dirty, build both. - EXPECT_TRUE(builder_.AddTarget("foo.o", &err)); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); - - // all clean, no rebuild. - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("foo.o", &err)); - EXPECT_EQ("", err); - EXPECT_TRUE(builder_.AlreadyUpToDate()); - - // order-only dep missing, build it only. - fs_.RemoveFile("oo.h"); - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("foo.o", &err)); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - ASSERT_EQ("cc oo.h.in", command_runner_.commands_ran_[0]); - - fs_.Tick(); - - // order-only dep dirty, build it only. - fs_.Create("oo.h.in", ""); - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("foo.o", &err)); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - ASSERT_EQ("cc oo.h.in", command_runner_.commands_ran_[0]); -} - -#ifdef _WIN32 -TEST_F(BuildTest, DepFileCanonicalize) { - string err; - int orig_edges = state_.edges_.size(); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n command = cc $in\n depfile = $out.d\n" -"build gen/stuff\\things/foo.o: cc x\\y/z\\foo.c\n")); - Edge* edge = state_.edges_.back(); - - fs_.Create("x/y/z/foo.c", ""); - GetNode("bar.h")->MarkDirty(); // Mark bar.h as missing. - // Note, different slashes from manifest. - fs_.Create("gen/stuff\\things/foo.o.d", - "gen\\stuff\\things\\foo.o: blah.h bar.h\n"); - EXPECT_TRUE(builder_.AddTarget("gen/stuff/things/foo.o", &err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, fs_.files_read_.size()); - // The depfile path does not get Canonicalize as it seems unnecessary. - EXPECT_EQ("gen/stuff\\things/foo.o.d", fs_.files_read_[0]); - - // Expect three new edges: one generating foo.o, and two more from - // loading the depfile. - ASSERT_EQ(orig_edges + 3, (int)state_.edges_.size()); - // Expect our edge to now have three inputs: foo.c and two headers. - ASSERT_EQ(3u, edge->inputs_.size()); - - // Expect the command line we generate to only use the original input, and - // using the slashes from the manifest. - ASSERT_EQ("cc x\\y/z\\foo.c", edge->EvaluateCommand()); -} -#endif - -TEST_F(BuildTest, Phony) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat bar.cc\n" -"build all: phony out\n")); - fs_.Create("bar.cc", ""); - - EXPECT_TRUE(builder_.AddTarget("all", &err)); - ASSERT_EQ("", err); - - // Only one command to run, because phony runs no command. - EXPECT_FALSE(builder_.AlreadyUpToDate()); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildTest, PhonyNoWork) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat bar.cc\n" -"build all: phony out\n")); - fs_.Create("bar.cc", ""); - fs_.Create("out", ""); - - EXPECT_TRUE(builder_.AddTarget("all", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.AlreadyUpToDate()); -} - -// Test a self-referencing phony. Ideally this should not work, but -// ninja 1.7 and below tolerated and CMake 2.8.12.x and 3.0.x both -// incorrectly produce it. We tolerate it for compatibility. -TEST_F(BuildTest, PhonySelfReference) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build a: phony a\n")); - - EXPECT_TRUE(builder_.AddTarget("a", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.AlreadyUpToDate()); -} - -TEST_F(BuildTest, Fail) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule fail\n" -" command = fail\n" -"build out1: fail\n")); - - string err; - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - ASSERT_EQ("", err); - - EXPECT_FALSE(builder_.Build(&err)); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - ASSERT_EQ("subcommand failed", err); -} - -TEST_F(BuildTest, SwallowFailures) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule fail\n" -" command = fail\n" -"build out1: fail\n" -"build out2: fail\n" -"build out3: fail\n" -"build all: phony out1 out2 out3\n")); - - // Swallow two failures, die on the third. - config_.failures_allowed = 3; - - string err; - EXPECT_TRUE(builder_.AddTarget("all", &err)); - ASSERT_EQ("", err); - - EXPECT_FALSE(builder_.Build(&err)); - ASSERT_EQ(3u, command_runner_.commands_ran_.size()); - ASSERT_EQ("subcommands failed", err); -} - -TEST_F(BuildTest, SwallowFailuresLimit) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule fail\n" -" command = fail\n" -"build out1: fail\n" -"build out2: fail\n" -"build out3: fail\n" -"build final: cat out1 out2 out3\n")); - - // Swallow ten failures; we should stop before building final. - config_.failures_allowed = 11; - - string err; - EXPECT_TRUE(builder_.AddTarget("final", &err)); - ASSERT_EQ("", err); - - EXPECT_FALSE(builder_.Build(&err)); - ASSERT_EQ(3u, command_runner_.commands_ran_.size()); - ASSERT_EQ("cannot make progress due to previous errors", err); -} - -TEST_F(BuildTest, SwallowFailuresPool) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"pool failpool\n" -" depth = 1\n" -"rule fail\n" -" command = fail\n" -" pool = failpool\n" -"build out1: fail\n" -"build out2: fail\n" -"build out3: fail\n" -"build final: cat out1 out2 out3\n")); - - // Swallow ten failures; we should stop before building final. - config_.failures_allowed = 11; - - string err; - EXPECT_TRUE(builder_.AddTarget("final", &err)); - ASSERT_EQ("", err); - - EXPECT_FALSE(builder_.Build(&err)); - ASSERT_EQ(3u, command_runner_.commands_ran_.size()); - ASSERT_EQ("cannot make progress due to previous errors", err); -} - -TEST_F(BuildTest, PoolEdgesReadyButNotWanted) { - fs_.Create("x", ""); - - const char* manifest = - "pool some_pool\n" - " depth = 4\n" - "rule touch\n" - " command = touch $out\n" - " pool = some_pool\n" - "rule cc\n" - " command = touch grit\n" - "\n" - "build B.d.stamp: cc | x\n" - "build C.stamp: touch B.d.stamp\n" - "build final.stamp: touch || C.stamp\n"; - - RebuildTarget("final.stamp", manifest); - - fs_.RemoveFile("B.d.stamp"); - - State save_state; - RebuildTarget("final.stamp", manifest, NULL, NULL, &save_state); - EXPECT_GE(save_state.LookupPool("some_pool")->current_use(), 0); -} - -struct BuildWithLogTest : public BuildTest { - BuildWithLogTest() { - builder_.SetBuildLog(&build_log_); - } - - BuildLog build_log_; -}; - -TEST_F(BuildWithLogTest, NotInLogButOnDisk) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n" -" command = cc\n" -"build out1: cc in\n")); - - // Create input/output that would be considered up to date when - // not considering the command line hash. - fs_.Create("in", ""); - fs_.Create("out1", ""); - string err; - - // Because it's not in the log, it should not be up-to-date until - // we build again. - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - EXPECT_FALSE(builder_.AlreadyUpToDate()); - - command_runner_.commands_ran_.clear(); - state_.Reset(); - - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_TRUE(builder_.AlreadyUpToDate()); -} - -TEST_F(BuildWithLogTest, RebuildAfterFailure) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule touch-fail-tick2\n" -" command = touch-fail-tick2\n" -"build out1: touch-fail-tick2 in\n")); - - string err; - - fs_.Create("in", ""); - - // Run once successfully to get out1 in the log - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - EXPECT_EQ(1u, command_runner_.commands_ran_.size()); - - command_runner_.commands_ran_.clear(); - state_.Reset(); - builder_.Cleanup(); - builder_.plan_.Reset(); - - fs_.Tick(); - fs_.Create("in", ""); - - // Run again with a failure that updates the output file timestamp - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - EXPECT_FALSE(builder_.Build(&err)); - EXPECT_EQ("subcommand failed", err); - EXPECT_EQ(1u, command_runner_.commands_ran_.size()); - - command_runner_.commands_ran_.clear(); - state_.Reset(); - builder_.Cleanup(); - builder_.plan_.Reset(); - - fs_.Tick(); - - // Run again, should rerun even though the output file is up to date on disk - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - EXPECT_FALSE(builder_.AlreadyUpToDate()); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ(1u, command_runner_.commands_ran_.size()); - EXPECT_EQ("", err); -} - -TEST_F(BuildWithLogTest, RebuildWithNoInputs) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule touch\n" -" command = touch\n" -"build out1: touch\n" -"build out2: touch in\n")); - - string err; - - fs_.Create("in", ""); - - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - EXPECT_TRUE(builder_.AddTarget("out2", &err)); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - EXPECT_EQ(2u, command_runner_.commands_ran_.size()); - - command_runner_.commands_ran_.clear(); - state_.Reset(); - - fs_.Tick(); - - fs_.Create("in", ""); - - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - EXPECT_TRUE(builder_.AddTarget("out2", &err)); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - EXPECT_EQ(1u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildWithLogTest, RestatTest) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule true\n" -" command = true\n" -" restat = 1\n" -"rule cc\n" -" command = cc\n" -" restat = 1\n" -"build out1: cc in\n" -"build out2: true out1\n" -"build out3: cat out2\n")); - - fs_.Create("out1", ""); - fs_.Create("out2", ""); - fs_.Create("out3", ""); - - fs_.Tick(); - - fs_.Create("in", ""); - - // Do a pre-build so that there's commands in the log for the outputs, - // otherwise, the lack of an entry in the build log will cause out3 to rebuild - // regardless of restat. - string err; - EXPECT_TRUE(builder_.AddTarget("out3", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - EXPECT_EQ("[3/3]", builder_.status_->FormatProgressStatus("[%s/%t]", - BuildStatus::kEdgeStarted)); - command_runner_.commands_ran_.clear(); - state_.Reset(); - - fs_.Tick(); - - fs_.Create("in", ""); - // "cc" touches out1, so we should build out2. But because "true" does not - // touch out2, we should cancel the build of out3. - EXPECT_TRUE(builder_.AddTarget("out3", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); - - // If we run again, it should be a no-op, because the build log has recorded - // that we've already built out2 with an input timestamp of 2 (from out1). - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("out3", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.AlreadyUpToDate()); - - fs_.Tick(); - - fs_.Create("in", ""); - - // The build log entry should not, however, prevent us from rebuilding out2 - // if out1 changes. - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("out3", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildWithLogTest, RestatMissingFile) { - // If a restat rule doesn't create its output, and the output didn't - // exist before the rule was run, consider that behavior equivalent - // to a rule that doesn't modify its existent output file. - - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule true\n" -" command = true\n" -" restat = 1\n" -"rule cc\n" -" command = cc\n" -"build out1: true in\n" -"build out2: cc out1\n")); - - fs_.Create("in", ""); - fs_.Create("out2", ""); - - // Do a pre-build so that there's commands in the log for the outputs, - // otherwise, the lack of an entry in the build log will cause out2 to rebuild - // regardless of restat. - string err; - EXPECT_TRUE(builder_.AddTarget("out2", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - command_runner_.commands_ran_.clear(); - state_.Reset(); - - fs_.Tick(); - fs_.Create("in", ""); - fs_.Create("out2", ""); - - // Run a build, expect only the first command to run. - // It doesn't touch its output (due to being the "true" command), so - // we shouldn't run the dependent build. - EXPECT_TRUE(builder_.AddTarget("out2", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildWithLogTest, RestatSingleDependentOutputDirty) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "rule true\n" - " command = true\n" - " restat = 1\n" - "rule touch\n" - " command = touch\n" - "build out1: true in\n" - "build out2 out3: touch out1\n" - "build out4: touch out2\n" - )); - - // Create the necessary files - fs_.Create("in", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("out4", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(3u, command_runner_.commands_ran_.size()); - - fs_.Tick(); - fs_.Create("in", ""); - fs_.RemoveFile("out3"); - - // Since "in" is missing, out1 will be built. Since "out3" is missing, - // out2 and out3 will be built even though "in" is not touched when built. - // Then, since out2 is rebuilt, out4 should be rebuilt -- the restat on the - // "true" rule should not lead to the "touch" edge writing out2 and out3 being - // cleard. - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("out4", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ("", err); - ASSERT_EQ(3u, command_runner_.commands_ran_.size()); -} - -// Test scenario, in which an input file is removed, but output isn't changed -// https://github.com/ninja-build/ninja/issues/295 -TEST_F(BuildWithLogTest, RestatMissingInput) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "rule true\n" - " command = true\n" - " depfile = $out.d\n" - " restat = 1\n" - "rule cc\n" - " command = cc\n" - "build out1: true in\n" - "build out2: cc out1\n")); - - // Create all necessary files - fs_.Create("in", ""); - - // The implicit dependencies and the depfile itself - // are newer than the output - TimeStamp restat_mtime = fs_.Tick(); - fs_.Create("out1.d", "out1: will.be.deleted restat.file\n"); - fs_.Create("will.be.deleted", ""); - fs_.Create("restat.file", ""); - - // Run the build, out1 and out2 get built - string err; - EXPECT_TRUE(builder_.AddTarget("out2", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); - - // See that an entry in the logfile is created, capturing - // the right mtime - BuildLog::LogEntry* log_entry = build_log_.LookupByOutput("out1"); - ASSERT_TRUE(NULL != log_entry); - ASSERT_EQ(restat_mtime, log_entry->mtime); - - // Now remove a file, referenced from depfile, so that target becomes - // dirty, but the output does not change - fs_.RemoveFile("will.be.deleted"); - - // Trigger the build again - only out1 gets built - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("out2", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - - // Check that the logfile entry remains correctly set - log_entry = build_log_.LookupByOutput("out1"); - ASSERT_TRUE(NULL != log_entry); - ASSERT_EQ(restat_mtime, log_entry->mtime); -} - -struct BuildDryRun : public BuildWithLogTest { - BuildDryRun() { - config_.dry_run = true; - } -}; - -TEST_F(BuildDryRun, AllCommandsShown) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule true\n" -" command = true\n" -" restat = 1\n" -"rule cc\n" -" command = cc\n" -" restat = 1\n" -"build out1: cc in\n" -"build out2: true out1\n" -"build out3: cat out2\n")); - - fs_.Create("out1", ""); - fs_.Create("out2", ""); - fs_.Create("out3", ""); - - fs_.Tick(); - - fs_.Create("in", ""); - - // "cc" touches out1, so we should build out2. But because "true" does not - // touch out2, we should cancel the build of out3. - string err; - EXPECT_TRUE(builder_.AddTarget("out3", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ(3u, command_runner_.commands_ran_.size()); -} - -// Test that RSP files are created when & where appropriate and deleted after -// successful execution. -TEST_F(BuildTest, RspFileSuccess) -{ - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "rule cat_rsp\n" - " command = cat $rspfile > $out\n" - " rspfile = $rspfile\n" - " rspfile_content = $long_command\n" - "rule cat_rsp_out\n" - " command = cat $rspfile > $out\n" - " rspfile = $out.rsp\n" - " rspfile_content = $long_command\n" - "build out1: cat in\n" - "build out2: cat_rsp in\n" - " rspfile = out 2.rsp\n" - " long_command = Some very long command\n" - "build out$ 3: cat_rsp_out in\n" - " long_command = Some very long command\n")); - - fs_.Create("out1", ""); - fs_.Create("out2", ""); - fs_.Create("out 3", ""); - - fs_.Tick(); - - fs_.Create("in", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.AddTarget("out2", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.AddTarget("out 3", &err)); - ASSERT_EQ("", err); - - size_t files_created = fs_.files_created_.size(); - size_t files_removed = fs_.files_removed_.size(); - - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ(3u, command_runner_.commands_ran_.size()); - - // The RSP files were created - ASSERT_EQ(files_created + 2, fs_.files_created_.size()); - ASSERT_EQ(1u, fs_.files_created_.count("out 2.rsp")); - ASSERT_EQ(1u, fs_.files_created_.count("out 3.rsp")); - - // The RSP files were removed - ASSERT_EQ(files_removed + 2, fs_.files_removed_.size()); - ASSERT_EQ(1u, fs_.files_removed_.count("out 2.rsp")); - ASSERT_EQ(1u, fs_.files_removed_.count("out 3.rsp")); -} - -// Test that RSP file is created but not removed for commands, which fail -TEST_F(BuildTest, RspFileFailure) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "rule fail\n" - " command = fail\n" - " rspfile = $rspfile\n" - " rspfile_content = $long_command\n" - "build out: fail in\n" - " rspfile = out.rsp\n" - " long_command = Another very long command\n")); - - fs_.Create("out", ""); - fs_.Tick(); - fs_.Create("in", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("out", &err)); - ASSERT_EQ("", err); - - size_t files_created = fs_.files_created_.size(); - size_t files_removed = fs_.files_removed_.size(); - - EXPECT_FALSE(builder_.Build(&err)); - ASSERT_EQ("subcommand failed", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - - // The RSP file was created - ASSERT_EQ(files_created + 1, fs_.files_created_.size()); - ASSERT_EQ(1u, fs_.files_created_.count("out.rsp")); - - // The RSP file was NOT removed - ASSERT_EQ(files_removed, fs_.files_removed_.size()); - ASSERT_EQ(0u, fs_.files_removed_.count("out.rsp")); - - // The RSP file contains what it should - ASSERT_EQ("Another very long command", fs_.files_["out.rsp"].contents); -} - -// Test that contents of the RSP file behaves like a regular part of -// command line, i.e. triggers a rebuild if changed -TEST_F(BuildWithLogTest, RspFileCmdLineChange) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "rule cat_rsp\n" - " command = cat $rspfile > $out\n" - " rspfile = $rspfile\n" - " rspfile_content = $long_command\n" - "build out: cat_rsp in\n" - " rspfile = out.rsp\n" - " long_command = Original very long command\n")); - - fs_.Create("out", ""); - fs_.Tick(); - fs_.Create("in", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("out", &err)); - ASSERT_EQ("", err); - - // 1. Build for the 1st time (-> populate log) - EXPECT_TRUE(builder_.Build(&err)); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - - // 2. Build again (no change) - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("out", &err)); - EXPECT_EQ("", err); - ASSERT_TRUE(builder_.AlreadyUpToDate()); - - // 3. Alter the entry in the logfile - // (to simulate a change in the command line between 2 builds) - BuildLog::LogEntry* log_entry = build_log_.LookupByOutput("out"); - ASSERT_TRUE(NULL != log_entry); - ASSERT_NO_FATAL_FAILURE(AssertHash( - "cat out.rsp > out;rspfile=Original very long command", - log_entry->command_hash)); - log_entry->command_hash++; // Change the command hash to something else. - // Now expect the target to be rebuilt - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("out", &err)); - EXPECT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ(1u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildTest, InterruptCleanup) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule interrupt\n" -" command = interrupt\n" -"rule touch-interrupt\n" -" command = touch-interrupt\n" -"build out1: interrupt in1\n" -"build out2: touch-interrupt in2\n")); - - fs_.Create("out1", ""); - fs_.Create("out2", ""); - fs_.Tick(); - fs_.Create("in1", ""); - fs_.Create("in2", ""); - - // An untouched output of an interrupted command should be retained. - string err; - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - EXPECT_EQ("", err); - EXPECT_FALSE(builder_.Build(&err)); - EXPECT_EQ("interrupted by user", err); - builder_.Cleanup(); - EXPECT_GT(fs_.Stat("out1", &err), 0); - err = ""; - - // A touched output of an interrupted command should be deleted. - EXPECT_TRUE(builder_.AddTarget("out2", &err)); - EXPECT_EQ("", err); - EXPECT_FALSE(builder_.Build(&err)); - EXPECT_EQ("interrupted by user", err); - builder_.Cleanup(); - EXPECT_EQ(0, fs_.Stat("out2", &err)); -} - -TEST_F(BuildTest, StatFailureAbortsBuild) { - const string kTooLongToStat(400, 'i'); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -("build " + kTooLongToStat + ": cat in\n").c_str())); - fs_.Create("in", ""); - - // This simulates a stat failure: - fs_.files_[kTooLongToStat].mtime = -1; - fs_.files_[kTooLongToStat].stat_error = "stat failed"; - - string err; - EXPECT_FALSE(builder_.AddTarget(kTooLongToStat, &err)); - EXPECT_EQ("stat failed", err); -} - -TEST_F(BuildTest, PhonyWithNoInputs) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build nonexistent: phony\n" -"build out1: cat || nonexistent\n" -"build out2: cat nonexistent\n")); - fs_.Create("out1", ""); - fs_.Create("out2", ""); - - // out1 should be up to date even though its input is dirty, because its - // order-only dependency has nothing to do. - string err; - EXPECT_TRUE(builder_.AddTarget("out1", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.AlreadyUpToDate()); - - // out2 should still be out of date though, because its input is dirty. - err.clear(); - command_runner_.commands_ran_.clear(); - state_.Reset(); - EXPECT_TRUE(builder_.AddTarget("out2", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildTest, DepsGccWithEmptyDepfileErrorsOut) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n" -" command = cc\n" -" deps = gcc\n" -"build out: cc\n")); - Dirty("out"); - - string err; - EXPECT_TRUE(builder_.AddTarget("out", &err)); - ASSERT_EQ("", err); - EXPECT_FALSE(builder_.AlreadyUpToDate()); - - EXPECT_FALSE(builder_.Build(&err)); - ASSERT_EQ("subcommand failed", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildTest, StatusFormatElapsed) { - status_.BuildStarted(); - // Before any task is done, the elapsed time must be zero. - EXPECT_EQ("[%/e0.000]", - status_.FormatProgressStatus("[%%/e%e]", - BuildStatus::kEdgeStarted)); -} - -TEST_F(BuildTest, StatusFormatReplacePlaceholder) { - EXPECT_EQ("[%/s0/t0/r0/u0/f0]", - status_.FormatProgressStatus("[%%/s%s/t%t/r%r/u%u/f%f]", - BuildStatus::kEdgeStarted)); -} - -TEST_F(BuildTest, FailedDepsParse) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build bad_deps.o: cat in1\n" -" deps = gcc\n" -" depfile = in1.d\n")); - - string err; - EXPECT_TRUE(builder_.AddTarget("bad_deps.o", &err)); - ASSERT_EQ("", err); - - // These deps will fail to parse, as they should only have one - // path to the left of the colon. - fs_.Create("in1.d", "AAA BBB"); - - EXPECT_FALSE(builder_.Build(&err)); - EXPECT_EQ("subcommand failed", err); -} - -/// Tests of builds involving deps logs necessarily must span -/// multiple builds. We reuse methods on BuildTest but not the -/// builder_ it sets up, because we want pristine objects for -/// each build. -struct BuildWithDepsLogTest : public BuildTest { - BuildWithDepsLogTest() {} - - virtual void SetUp() { - BuildTest::SetUp(); - - temp_dir_.CreateAndEnter("BuildWithDepsLogTest"); - } - - virtual void TearDown() { - temp_dir_.Cleanup(); - } - - ScopedTempDir temp_dir_; - - /// Shadow parent class builder_ so we don't accidentally use it. - void* builder_; -}; - -/// Run a straightforwad build where the deps log is used. -TEST_F(BuildWithDepsLogTest, Straightforward) { - string err; - // Note: in1 was created by the superclass SetUp(). - const char* manifest = - "build out: cat in1\n" - " deps = gcc\n" - " depfile = in1.d\n"; - { - State state; - ASSERT_NO_FATAL_FAILURE(AddCatRule(&state)); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - // Run the build once, everything should be ok. - DepsLog deps_log; - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - ASSERT_EQ("", err); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - EXPECT_TRUE(builder.AddTarget("out", &err)); - ASSERT_EQ("", err); - fs_.Create("in1.d", "out: in2"); - EXPECT_TRUE(builder.Build(&err)); - EXPECT_EQ("", err); - - // The deps file should have been removed. - EXPECT_EQ(0, fs_.Stat("in1.d", &err)); - // Recreate it for the next step. - fs_.Create("in1.d", "out: in2"); - deps_log.Close(); - builder.command_runner_.release(); - } - - { - State state; - ASSERT_NO_FATAL_FAILURE(AddCatRule(&state)); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - // Touch the file only mentioned in the deps. - fs_.Tick(); - fs_.Create("in2", ""); - - // Run the build again. - DepsLog deps_log; - ASSERT_TRUE(deps_log.Load("ninja_deps", &state, &err)); - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - command_runner_.commands_ran_.clear(); - EXPECT_TRUE(builder.AddTarget("out", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder.Build(&err)); - EXPECT_EQ("", err); - - // We should have rebuilt the output due to in2 being - // out of date. - EXPECT_EQ(1u, command_runner_.commands_ran_.size()); - - builder.command_runner_.release(); - } -} - -/// Verify that obsolete dependency info causes a rebuild. -/// 1) Run a successful build where everything has time t, record deps. -/// 2) Move input/output to time t+1 -- despite files in alignment, -/// should still need to rebuild due to deps at older time. -TEST_F(BuildWithDepsLogTest, ObsoleteDeps) { - string err; - // Note: in1 was created by the superclass SetUp(). - const char* manifest = - "build out: cat in1\n" - " deps = gcc\n" - " depfile = in1.d\n"; - { - // Run an ordinary build that gathers dependencies. - fs_.Create("in1", ""); - fs_.Create("in1.d", "out: "); - - State state; - ASSERT_NO_FATAL_FAILURE(AddCatRule(&state)); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - // Run the build once, everything should be ok. - DepsLog deps_log; - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - ASSERT_EQ("", err); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - EXPECT_TRUE(builder.AddTarget("out", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder.Build(&err)); - EXPECT_EQ("", err); - - deps_log.Close(); - builder.command_runner_.release(); - } - - // Push all files one tick forward so that only the deps are out - // of date. - fs_.Tick(); - fs_.Create("in1", ""); - fs_.Create("out", ""); - - // The deps file should have been removed, so no need to timestamp it. - EXPECT_EQ(0, fs_.Stat("in1.d", &err)); - - { - State state; - ASSERT_NO_FATAL_FAILURE(AddCatRule(&state)); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - DepsLog deps_log; - ASSERT_TRUE(deps_log.Load("ninja_deps", &state, &err)); - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - command_runner_.commands_ran_.clear(); - EXPECT_TRUE(builder.AddTarget("out", &err)); - ASSERT_EQ("", err); - - // Recreate the deps file here because the build expects them to exist. - fs_.Create("in1.d", "out: "); - - EXPECT_TRUE(builder.Build(&err)); - EXPECT_EQ("", err); - - // We should have rebuilt the output due to the deps being - // out of date. - EXPECT_EQ(1u, command_runner_.commands_ran_.size()); - - builder.command_runner_.release(); - } -} - -TEST_F(BuildWithDepsLogTest, DepsIgnoredInDryRun) { - const char* manifest = - "build out: cat in1\n" - " deps = gcc\n" - " depfile = in1.d\n"; - - fs_.Create("out", ""); - fs_.Tick(); - fs_.Create("in1", ""); - - State state; - ASSERT_NO_FATAL_FAILURE(AddCatRule(&state)); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - // The deps log is NULL in dry runs. - config_.dry_run = true; - Builder builder(&state, config_, NULL, NULL, &fs_); - builder.command_runner_.reset(&command_runner_); - command_runner_.commands_ran_.clear(); - - string err; - EXPECT_TRUE(builder.AddTarget("out", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder.Build(&err)); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); - - builder.command_runner_.release(); -} - -/// Check that a restat rule generating a header cancels compilations correctly. -TEST_F(BuildTest, RestatDepfileDependency) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule true\n" -" command = true\n" // Would be "write if out-of-date" in reality. -" restat = 1\n" -"build header.h: true header.in\n" -"build out: cat in1\n" -" depfile = in1.d\n")); - - fs_.Create("header.h", ""); - fs_.Create("in1.d", "out: header.h"); - fs_.Tick(); - fs_.Create("header.in", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("out", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); -} - -/// Check that a restat rule generating a header cancels compilations correctly, -/// depslog case. -TEST_F(BuildWithDepsLogTest, RestatDepfileDependencyDepsLog) { - string err; - // Note: in1 was created by the superclass SetUp(). - const char* manifest = - "rule true\n" - " command = true\n" // Would be "write if out-of-date" in reality. - " restat = 1\n" - "build header.h: true header.in\n" - "build out: cat in1\n" - " deps = gcc\n" - " depfile = in1.d\n"; - { - State state; - ASSERT_NO_FATAL_FAILURE(AddCatRule(&state)); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - // Run the build once, everything should be ok. - DepsLog deps_log; - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - ASSERT_EQ("", err); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - EXPECT_TRUE(builder.AddTarget("out", &err)); - ASSERT_EQ("", err); - fs_.Create("in1.d", "out: header.h"); - EXPECT_TRUE(builder.Build(&err)); - EXPECT_EQ("", err); - - deps_log.Close(); - builder.command_runner_.release(); - } - - { - State state; - ASSERT_NO_FATAL_FAILURE(AddCatRule(&state)); - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - // Touch the input of the restat rule. - fs_.Tick(); - fs_.Create("header.in", ""); - - // Run the build again. - DepsLog deps_log; - ASSERT_TRUE(deps_log.Load("ninja_deps", &state, &err)); - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - command_runner_.commands_ran_.clear(); - EXPECT_TRUE(builder.AddTarget("out", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder.Build(&err)); - EXPECT_EQ("", err); - - // Rule "true" should have run again, but the build of "out" should have - // been cancelled due to restat propagating through the depfile header. - EXPECT_EQ(1u, command_runner_.commands_ran_.size()); - - builder.command_runner_.release(); - } -} - -TEST_F(BuildWithDepsLogTest, DepFileOKDepsLog) { - string err; - const char* manifest = - "rule cc\n command = cc $in\n depfile = $out.d\n deps = gcc\n" - "build fo$ o.o: cc foo.c\n"; - - fs_.Create("foo.c", ""); - - { - State state; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - // Run the build once, everything should be ok. - DepsLog deps_log; - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - ASSERT_EQ("", err); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - EXPECT_TRUE(builder.AddTarget("fo o.o", &err)); - ASSERT_EQ("", err); - fs_.Create("fo o.o.d", "fo\\ o.o: blah.h bar.h\n"); - EXPECT_TRUE(builder.Build(&err)); - EXPECT_EQ("", err); - - deps_log.Close(); - builder.command_runner_.release(); - } - - { - State state; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - DepsLog deps_log; - ASSERT_TRUE(deps_log.Load("ninja_deps", &state, &err)); - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - ASSERT_EQ("", err); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - - Edge* edge = state.edges_.back(); - - state.GetNode("bar.h", 0)->MarkDirty(); // Mark bar.h as missing. - EXPECT_TRUE(builder.AddTarget("fo o.o", &err)); - ASSERT_EQ("", err); - - // Expect three new edges: one generating fo o.o, and two more from - // loading the depfile. - ASSERT_EQ(3u, state.edges_.size()); - // Expect our edge to now have three inputs: foo.c and two headers. - ASSERT_EQ(3u, edge->inputs_.size()); - - // Expect the command line we generate to only use the original input. - ASSERT_EQ("cc foo.c", edge->EvaluateCommand()); - - deps_log.Close(); - builder.command_runner_.release(); - } -} - -#ifdef _WIN32 -TEST_F(BuildWithDepsLogTest, DepFileDepsLogCanonicalize) { - string err; - const char* manifest = - "rule cc\n command = cc $in\n depfile = $out.d\n deps = gcc\n" - "build a/b\\c\\d/e/fo$ o.o: cc x\\y/z\\foo.c\n"; - - fs_.Create("x/y/z/foo.c", ""); - - { - State state; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - // Run the build once, everything should be ok. - DepsLog deps_log; - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - ASSERT_EQ("", err); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - EXPECT_TRUE(builder.AddTarget("a/b/c/d/e/fo o.o", &err)); - ASSERT_EQ("", err); - // Note, different slashes from manifest. - fs_.Create("a/b\\c\\d/e/fo o.o.d", - "a\\b\\c\\d\\e\\fo\\ o.o: blah.h bar.h\n"); - EXPECT_TRUE(builder.Build(&err)); - EXPECT_EQ("", err); - - deps_log.Close(); - builder.command_runner_.release(); - } - - { - State state; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, manifest)); - - DepsLog deps_log; - ASSERT_TRUE(deps_log.Load("ninja_deps", &state, &err)); - ASSERT_TRUE(deps_log.OpenForWrite("ninja_deps", &err)); - ASSERT_EQ("", err); - - Builder builder(&state, config_, NULL, &deps_log, &fs_); - builder.command_runner_.reset(&command_runner_); - - Edge* edge = state.edges_.back(); - - state.GetNode("bar.h", 0)->MarkDirty(); // Mark bar.h as missing. - EXPECT_TRUE(builder.AddTarget("a/b/c/d/e/fo o.o", &err)); - ASSERT_EQ("", err); - - // Expect three new edges: one generating fo o.o, and two more from - // loading the depfile. - ASSERT_EQ(3u, state.edges_.size()); - // Expect our edge to now have three inputs: foo.c and two headers. - ASSERT_EQ(3u, edge->inputs_.size()); - - // Expect the command line we generate to only use the original input. - // Note, slashes from manifest, not .d. - ASSERT_EQ("cc x\\y/z\\foo.c", edge->EvaluateCommand()); - - deps_log.Close(); - builder.command_runner_.release(); - } -} -#endif - -/// Check that a restat rule doesn't clear an edge if the depfile is missing. -/// Follows from: https://github.com/ninja-build/ninja/issues/603 -TEST_F(BuildTest, RestatMissingDepfile) { -const char* manifest = -"rule true\n" -" command = true\n" // Would be "write if out-of-date" in reality. -" restat = 1\n" -"build header.h: true header.in\n" -"build out: cat header.h\n" -" depfile = out.d\n"; - - fs_.Create("header.h", ""); - fs_.Tick(); - fs_.Create("out", ""); - fs_.Create("header.in", ""); - - // Normally, only 'header.h' would be rebuilt, as - // its rule doesn't touch the output and has 'restat=1' set. - // But we are also missing the depfile for 'out', - // which should force its command to run anyway! - RebuildTarget("out", manifest); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); -} - -/// Check that a restat rule doesn't clear an edge if the deps are missing. -/// https://github.com/ninja-build/ninja/issues/603 -TEST_F(BuildWithDepsLogTest, RestatMissingDepfileDepslog) { - string err; - const char* manifest = -"rule true\n" -" command = true\n" // Would be "write if out-of-date" in reality. -" restat = 1\n" -"build header.h: true header.in\n" -"build out: cat header.h\n" -" deps = gcc\n" -" depfile = out.d\n"; - - // Build once to populate ninja deps logs from out.d - fs_.Create("header.in", ""); - fs_.Create("out.d", "out: header.h"); - fs_.Create("header.h", ""); - - RebuildTarget("out", manifest, "build_log", "ninja_deps"); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); - - // Sanity: this rebuild should be NOOP - RebuildTarget("out", manifest, "build_log", "ninja_deps"); - ASSERT_EQ(0u, command_runner_.commands_ran_.size()); - - // Touch 'header.in', blank dependencies log (create a different one). - // Building header.h triggers 'restat' outputs cleanup. - // Validate that out is rebuilt netherless, as deps are missing. - fs_.Tick(); - fs_.Create("header.in", ""); - - // (switch to a new blank deps_log "ninja_deps2") - RebuildTarget("out", manifest, "build_log", "ninja_deps2"); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); - - // Sanity: this build should be NOOP - RebuildTarget("out", manifest, "build_log", "ninja_deps2"); - ASSERT_EQ(0u, command_runner_.commands_ran_.size()); - - // Check that invalidating deps by target timestamp also works here - // Repeat the test but touch target instead of blanking the log. - fs_.Tick(); - fs_.Create("header.in", ""); - fs_.Create("out", ""); - RebuildTarget("out", manifest, "build_log", "ninja_deps2"); - ASSERT_EQ(2u, command_runner_.commands_ran_.size()); - - // And this build should be NOOP again - RebuildTarget("out", manifest, "build_log", "ninja_deps2"); - ASSERT_EQ(0u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildTest, WrongOutputInDepfileCausesRebuild) { - string err; - const char* manifest = -"rule cc\n" -" command = cc $in\n" -" depfile = $out.d\n" -"build foo.o: cc foo.c\n"; - - fs_.Create("foo.c", ""); - fs_.Create("foo.o", ""); - fs_.Create("header.h", ""); - fs_.Create("foo.o.d", "bar.o.d: header.h\n"); - - RebuildTarget("foo.o", manifest, "build_log", "ninja_deps"); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); -} - -TEST_F(BuildTest, Console) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule console\n" -" command = console\n" -" pool = console\n" -"build cons: console in.txt\n")); - - fs_.Create("in.txt", ""); - - string err; - EXPECT_TRUE(builder_.AddTarget("cons", &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(builder_.Build(&err)); - EXPECT_EQ("", err); - ASSERT_EQ(1u, command_runner_.commands_ran_.size()); -} diff --git a/vendor/ninja/src/canon_perftest.cc b/vendor/ninja/src/canon_perftest.cc deleted file mode 100644 index 03f4a2f1f..000000000 --- a/vendor/ninja/src/canon_perftest.cc +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include - -#include "util.h" -#include "metrics.h" - -const char kPath[] = - "../../third_party/WebKit/Source/WebCore/" - "platform/leveldb/LevelDBWriteBatch.cpp"; - -int main() { - vector times; - string err; - - char buf[200]; - size_t len = strlen(kPath); - strcpy(buf, kPath); - - for (int j = 0; j < 5; ++j) { - const int kNumRepetitions = 2000000; - int64_t start = GetTimeMillis(); - uint64_t slash_bits; - for (int i = 0; i < kNumRepetitions; ++i) { - CanonicalizePath(buf, &len, &slash_bits, &err); - } - int delta = (int)(GetTimeMillis() - start); - times.push_back(delta); - } - - int min = times[0]; - int max = times[0]; - float total = 0; - for (size_t i = 0; i < times.size(); ++i) { - total += times[i]; - if (times[i] < min) - min = times[i]; - else if (times[i] > max) - max = times[i]; - } - - printf("min %dms max %dms avg %.1fms\n", - min, max, total / times.size()); -} diff --git a/vendor/ninja/src/clean.cc b/vendor/ninja/src/clean.cc deleted file mode 100644 index 1d6ba9e96..000000000 --- a/vendor/ninja/src/clean.cc +++ /dev/null @@ -1,263 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "clean.h" - -#include -#include - -#include "disk_interface.h" -#include "graph.h" -#include "state.h" -#include "util.h" - -Cleaner::Cleaner(State* state, const BuildConfig& config) - : state_(state), - config_(config), - removed_(), - cleaned_(), - cleaned_files_count_(0), - disk_interface_(new RealDiskInterface), - status_(0) { -} - -Cleaner::Cleaner(State* state, - const BuildConfig& config, - DiskInterface* disk_interface) - : state_(state), - config_(config), - removed_(), - cleaned_(), - cleaned_files_count_(0), - disk_interface_(disk_interface), - status_(0) { -} - -int Cleaner::RemoveFile(const string& path) { - return disk_interface_->RemoveFile(path); -} - -bool Cleaner::FileExists(const string& path) { - string err; - TimeStamp mtime = disk_interface_->Stat(path, &err); - if (mtime == -1) - Error("%s", err.c_str()); - return mtime > 0; // Treat Stat() errors as "file does not exist". -} - -void Cleaner::Report(const string& path) { - ++cleaned_files_count_; - if (IsVerbose()) - printf("Remove %s\n", path.c_str()); -} - -void Cleaner::Remove(const string& path) { - if (!IsAlreadyRemoved(path)) { - removed_.insert(path); - if (config_.dry_run) { - if (FileExists(path)) - Report(path); - } else { - int ret = RemoveFile(path); - if (ret == 0) - Report(path); - else if (ret == -1) - status_ = 1; - } - } -} - -bool Cleaner::IsAlreadyRemoved(const string& path) { - set::iterator i = removed_.find(path); - return (i != removed_.end()); -} - -void Cleaner::RemoveEdgeFiles(Edge* edge) { - string depfile = edge->GetUnescapedDepfile(); - if (!depfile.empty()) - Remove(depfile); - - string rspfile = edge->GetUnescapedRspfile(); - if (!rspfile.empty()) - Remove(rspfile); -} - -void Cleaner::PrintHeader() { - if (config_.verbosity == BuildConfig::QUIET) - return; - printf("Cleaning..."); - if (IsVerbose()) - printf("\n"); - else - printf(" "); -} - -void Cleaner::PrintFooter() { - if (config_.verbosity == BuildConfig::QUIET) - return; - printf("%d files.\n", cleaned_files_count_); -} - -int Cleaner::CleanAll(bool generator) { - Reset(); - PrintHeader(); - for (vector::iterator e = state_->edges_.begin(); - e != state_->edges_.end(); ++e) { - // Do not try to remove phony targets - if ((*e)->is_phony()) - continue; - // Do not remove generator's files unless generator specified. - if (!generator && (*e)->GetBindingBool("generator")) - continue; - for (vector::iterator out_node = (*e)->outputs_.begin(); - out_node != (*e)->outputs_.end(); ++out_node) { - Remove((*out_node)->path()); - } - - RemoveEdgeFiles(*e); - } - PrintFooter(); - return status_; -} - -void Cleaner::DoCleanTarget(Node* target) { - if (Edge* e = target->in_edge()) { - // Do not try to remove phony targets - if (!e->is_phony()) { - Remove(target->path()); - RemoveEdgeFiles(e); - } - for (vector::iterator n = e->inputs_.begin(); n != e->inputs_.end(); - ++n) { - Node* next = *n; - // call DoCleanTarget recursively if this node has not been visited - if (cleaned_.count(next) == 0) { - DoCleanTarget(next); - } - } - } - - // mark this target to be cleaned already - cleaned_.insert(target); -} - -int Cleaner::CleanTarget(Node* target) { - assert(target); - - Reset(); - PrintHeader(); - DoCleanTarget(target); - PrintFooter(); - return status_; -} - -int Cleaner::CleanTarget(const char* target) { - assert(target); - - Reset(); - Node* node = state_->LookupNode(target); - if (node) { - CleanTarget(node); - } else { - Error("unknown target '%s'", target); - status_ = 1; - } - return status_; -} - -int Cleaner::CleanTargets(int target_count, char* targets[]) { - Reset(); - PrintHeader(); - for (int i = 0; i < target_count; ++i) { - const char* target_name = targets[i]; - Node* target = state_->LookupNode(target_name); - if (target) { - if (IsVerbose()) - printf("Target %s\n", target_name); - DoCleanTarget(target); - } else { - Error("unknown target '%s'", target_name); - status_ = 1; - } - } - PrintFooter(); - return status_; -} - -void Cleaner::DoCleanRule(const Rule* rule) { - assert(rule); - - for (vector::iterator e = state_->edges_.begin(); - e != state_->edges_.end(); ++e) { - if ((*e)->rule().name() == rule->name()) { - for (vector::iterator out_node = (*e)->outputs_.begin(); - out_node != (*e)->outputs_.end(); ++out_node) { - Remove((*out_node)->path()); - RemoveEdgeFiles(*e); - } - } - } -} - -int Cleaner::CleanRule(const Rule* rule) { - assert(rule); - - Reset(); - PrintHeader(); - DoCleanRule(rule); - PrintFooter(); - return status_; -} - -int Cleaner::CleanRule(const char* rule) { - assert(rule); - - Reset(); - const Rule* r = state_->bindings_.LookupRule(rule); - if (r) { - CleanRule(r); - } else { - Error("unknown rule '%s'", rule); - status_ = 1; - } - return status_; -} - -int Cleaner::CleanRules(int rule_count, char* rules[]) { - assert(rules); - - Reset(); - PrintHeader(); - for (int i = 0; i < rule_count; ++i) { - const char* rule_name = rules[i]; - const Rule* rule = state_->bindings_.LookupRule(rule_name); - if (rule) { - if (IsVerbose()) - printf("Rule %s\n", rule_name); - DoCleanRule(rule); - } else { - Error("unknown rule '%s'", rule_name); - status_ = 1; - } - } - PrintFooter(); - return status_; -} - -void Cleaner::Reset() { - status_ = 0; - cleaned_files_count_ = 0; - removed_.clear(); - cleaned_.clear(); -} diff --git a/vendor/ninja/src/clean.h b/vendor/ninja/src/clean.h deleted file mode 100644 index 19432ab2d..000000000 --- a/vendor/ninja/src/clean.h +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_CLEAN_H_ -#define NINJA_CLEAN_H_ - -#include -#include - -#include "build.h" - -using namespace std; - -struct State; -struct Node; -struct Rule; -struct DiskInterface; - -struct Cleaner { - /// Build a cleaner object with a real disk interface. - Cleaner(State* state, const BuildConfig& config); - - /// Build a cleaner object with the given @a disk_interface - /// (Useful for testing). - Cleaner(State* state, - const BuildConfig& config, - DiskInterface* disk_interface); - - /// Clean the given @a target and all the file built for it. - /// @return non-zero if an error occurs. - int CleanTarget(Node* target); - /// Clean the given target @a target. - /// @return non-zero if an error occurs. - int CleanTarget(const char* target); - /// Clean the given target @a targets. - /// @return non-zero if an error occurs. - int CleanTargets(int target_count, char* targets[]); - - /// Clean all built files, except for files created by generator rules. - /// @param generator If set, also clean files created by generator rules. - /// @return non-zero if an error occurs. - int CleanAll(bool generator = false); - - /// Clean all the file built with the given rule @a rule. - /// @return non-zero if an error occurs. - int CleanRule(const Rule* rule); - /// Clean the file produced by the given @a rule. - /// @return non-zero if an error occurs. - int CleanRule(const char* rule); - /// Clean the file produced by the given @a rules. - /// @return non-zero if an error occurs. - int CleanRules(int rule_count, char* rules[]); - - /// @return the number of file cleaned. - int cleaned_files_count() const { - return cleaned_files_count_; - } - - /// @return whether the cleaner is in verbose mode. - bool IsVerbose() const { - return (config_.verbosity != BuildConfig::QUIET - && (config_.verbosity == BuildConfig::VERBOSE || config_.dry_run)); - } - - private: - /// Remove the file @a path. - /// @return whether the file has been removed. - int RemoveFile(const string& path); - /// @returns whether the file @a path exists. - bool FileExists(const string& path); - void Report(const string& path); - - /// Remove the given @a path file only if it has not been already removed. - void Remove(const string& path); - /// @return whether the given @a path has already been removed. - bool IsAlreadyRemoved(const string& path); - /// Remove the depfile and rspfile for an Edge. - void RemoveEdgeFiles(Edge* edge); - - /// Helper recursive method for CleanTarget(). - void DoCleanTarget(Node* target); - void PrintHeader(); - void PrintFooter(); - void DoCleanRule(const Rule* rule); - void Reset(); - - State* state_; - const BuildConfig& config_; - set removed_; - set cleaned_; - int cleaned_files_count_; - DiskInterface* disk_interface_; - int status_; -}; - -#endif // NINJA_CLEAN_H_ diff --git a/vendor/ninja/src/clean_test.cc b/vendor/ninja/src/clean_test.cc deleted file mode 100644 index 395343b31..000000000 --- a/vendor/ninja/src/clean_test.cc +++ /dev/null @@ -1,407 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "clean.h" -#include "build.h" - -#include "test.h" - -struct CleanTest : public StateTestWithBuiltinRules { - VirtualFileSystem fs_; - BuildConfig config_; - virtual void SetUp() { - config_.verbosity = BuildConfig::QUIET; - } -}; - -TEST_F(CleanTest, CleanAll) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build in1: cat src1\n" -"build out1: cat in1\n" -"build in2: cat src2\n" -"build out2: cat in2\n")); - fs_.Create("in1", ""); - fs_.Create("out1", ""); - fs_.Create("in2", ""); - fs_.Create("out2", ""); - - Cleaner cleaner(&state_, config_, &fs_); - - ASSERT_EQ(0, cleaner.cleaned_files_count()); - EXPECT_EQ(0, cleaner.CleanAll()); - EXPECT_EQ(4, cleaner.cleaned_files_count()); - EXPECT_EQ(4u, fs_.files_removed_.size()); - - // Check they are removed. - string err; - EXPECT_EQ(0, fs_.Stat("in1", &err)); - EXPECT_EQ(0, fs_.Stat("out1", &err)); - EXPECT_EQ(0, fs_.Stat("in2", &err)); - EXPECT_EQ(0, fs_.Stat("out2", &err)); - fs_.files_removed_.clear(); - - EXPECT_EQ(0, cleaner.CleanAll()); - EXPECT_EQ(0, cleaner.cleaned_files_count()); - EXPECT_EQ(0u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanAllDryRun) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build in1: cat src1\n" -"build out1: cat in1\n" -"build in2: cat src2\n" -"build out2: cat in2\n")); - fs_.Create("in1", ""); - fs_.Create("out1", ""); - fs_.Create("in2", ""); - fs_.Create("out2", ""); - - config_.dry_run = true; - Cleaner cleaner(&state_, config_, &fs_); - - ASSERT_EQ(0, cleaner.cleaned_files_count()); - EXPECT_EQ(0, cleaner.CleanAll()); - EXPECT_EQ(4, cleaner.cleaned_files_count()); - EXPECT_EQ(0u, fs_.files_removed_.size()); - - // Check they are not removed. - string err; - EXPECT_LT(0, fs_.Stat("in1", &err)); - EXPECT_LT(0, fs_.Stat("out1", &err)); - EXPECT_LT(0, fs_.Stat("in2", &err)); - EXPECT_LT(0, fs_.Stat("out2", &err)); - fs_.files_removed_.clear(); - - EXPECT_EQ(0, cleaner.CleanAll()); - EXPECT_EQ(4, cleaner.cleaned_files_count()); - EXPECT_EQ(0u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanTarget) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build in1: cat src1\n" -"build out1: cat in1\n" -"build in2: cat src2\n" -"build out2: cat in2\n")); - fs_.Create("in1", ""); - fs_.Create("out1", ""); - fs_.Create("in2", ""); - fs_.Create("out2", ""); - - Cleaner cleaner(&state_, config_, &fs_); - - ASSERT_EQ(0, cleaner.cleaned_files_count()); - ASSERT_EQ(0, cleaner.CleanTarget("out1")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(2u, fs_.files_removed_.size()); - - // Check they are removed. - string err; - EXPECT_EQ(0, fs_.Stat("in1", &err)); - EXPECT_EQ(0, fs_.Stat("out1", &err)); - EXPECT_LT(0, fs_.Stat("in2", &err)); - EXPECT_LT(0, fs_.Stat("out2", &err)); - fs_.files_removed_.clear(); - - ASSERT_EQ(0, cleaner.CleanTarget("out1")); - EXPECT_EQ(0, cleaner.cleaned_files_count()); - EXPECT_EQ(0u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanTargetDryRun) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build in1: cat src1\n" -"build out1: cat in1\n" -"build in2: cat src2\n" -"build out2: cat in2\n")); - fs_.Create("in1", ""); - fs_.Create("out1", ""); - fs_.Create("in2", ""); - fs_.Create("out2", ""); - - config_.dry_run = true; - Cleaner cleaner(&state_, config_, &fs_); - - ASSERT_EQ(0, cleaner.cleaned_files_count()); - ASSERT_EQ(0, cleaner.CleanTarget("out1")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(0u, fs_.files_removed_.size()); - - // Check they are not removed. - string err; - EXPECT_LT(0, fs_.Stat("in1", &err)); - EXPECT_LT(0, fs_.Stat("out1", &err)); - EXPECT_LT(0, fs_.Stat("in2", &err)); - EXPECT_LT(0, fs_.Stat("out2", &err)); - fs_.files_removed_.clear(); - - ASSERT_EQ(0, cleaner.CleanTarget("out1")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(0u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanRule) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cat_e\n" -" command = cat -e $in > $out\n" -"build in1: cat_e src1\n" -"build out1: cat in1\n" -"build in2: cat_e src2\n" -"build out2: cat in2\n")); - fs_.Create("in1", ""); - fs_.Create("out1", ""); - fs_.Create("in2", ""); - fs_.Create("out2", ""); - - Cleaner cleaner(&state_, config_, &fs_); - - ASSERT_EQ(0, cleaner.cleaned_files_count()); - ASSERT_EQ(0, cleaner.CleanRule("cat_e")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(2u, fs_.files_removed_.size()); - - // Check they are removed. - string err; - EXPECT_EQ(0, fs_.Stat("in1", &err)); - EXPECT_LT(0, fs_.Stat("out1", &err)); - EXPECT_EQ(0, fs_.Stat("in2", &err)); - EXPECT_LT(0, fs_.Stat("out2", &err)); - fs_.files_removed_.clear(); - - ASSERT_EQ(0, cleaner.CleanRule("cat_e")); - EXPECT_EQ(0, cleaner.cleaned_files_count()); - EXPECT_EQ(0u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanRuleDryRun) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cat_e\n" -" command = cat -e $in > $out\n" -"build in1: cat_e src1\n" -"build out1: cat in1\n" -"build in2: cat_e src2\n" -"build out2: cat in2\n")); - fs_.Create("in1", ""); - fs_.Create("out1", ""); - fs_.Create("in2", ""); - fs_.Create("out2", ""); - - config_.dry_run = true; - Cleaner cleaner(&state_, config_, &fs_); - - ASSERT_EQ(0, cleaner.cleaned_files_count()); - ASSERT_EQ(0, cleaner.CleanRule("cat_e")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(0u, fs_.files_removed_.size()); - - // Check they are not removed. - string err; - EXPECT_LT(0, fs_.Stat("in1", &err)); - EXPECT_LT(0, fs_.Stat("out1", &err)); - EXPECT_LT(0, fs_.Stat("in2", &err)); - EXPECT_LT(0, fs_.Stat("out2", &err)); - fs_.files_removed_.clear(); - - ASSERT_EQ(0, cleaner.CleanRule("cat_e")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(0u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanRuleGenerator) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule regen\n" -" command = cat $in > $out\n" -" generator = 1\n" -"build out1: cat in1\n" -"build out2: regen in2\n")); - fs_.Create("out1", ""); - fs_.Create("out2", ""); - - Cleaner cleaner(&state_, config_, &fs_); - EXPECT_EQ(0, cleaner.CleanAll()); - EXPECT_EQ(1, cleaner.cleaned_files_count()); - EXPECT_EQ(1u, fs_.files_removed_.size()); - - fs_.Create("out1", ""); - - EXPECT_EQ(0, cleaner.CleanAll(/*generator=*/true)); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(2u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanDepFile) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n" -" command = cc $in > $out\n" -" depfile = $out.d\n" -"build out1: cc in1\n")); - fs_.Create("out1", ""); - fs_.Create("out1.d", ""); - - Cleaner cleaner(&state_, config_, &fs_); - EXPECT_EQ(0, cleaner.CleanAll()); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(2u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanDepFileOnCleanTarget) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n" -" command = cc $in > $out\n" -" depfile = $out.d\n" -"build out1: cc in1\n")); - fs_.Create("out1", ""); - fs_.Create("out1.d", ""); - - Cleaner cleaner(&state_, config_, &fs_); - EXPECT_EQ(0, cleaner.CleanTarget("out1")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(2u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanDepFileOnCleanRule) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n" -" command = cc $in > $out\n" -" depfile = $out.d\n" -"build out1: cc in1\n")); - fs_.Create("out1", ""); - fs_.Create("out1.d", ""); - - Cleaner cleaner(&state_, config_, &fs_); - EXPECT_EQ(0, cleaner.CleanRule("cc")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(2u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanRspFile) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc\n" -" command = cc $in > $out\n" -" rspfile = $rspfile\n" -" rspfile_content=$in\n" -"build out1: cc in1\n" -" rspfile = cc1.rsp\n")); - fs_.Create("out1", ""); - fs_.Create("cc1.rsp", ""); - - Cleaner cleaner(&state_, config_, &fs_); - EXPECT_EQ(0, cleaner.CleanAll()); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_EQ(2u, fs_.files_removed_.size()); -} - -TEST_F(CleanTest, CleanRsp) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cat_rsp \n" -" command = cat $rspfile > $out\n" -" rspfile = $rspfile\n" -" rspfile_content = $in\n" -"build in1: cat src1\n" -"build out1: cat in1\n" -"build in2: cat_rsp src2\n" -" rspfile=in2.rsp\n" -"build out2: cat_rsp in2\n" -" rspfile=out2.rsp\n" -)); - fs_.Create("in1", ""); - fs_.Create("out1", ""); - fs_.Create("in2.rsp", ""); - fs_.Create("out2.rsp", ""); - fs_.Create("in2", ""); - fs_.Create("out2", ""); - - Cleaner cleaner(&state_, config_, &fs_); - ASSERT_EQ(0, cleaner.cleaned_files_count()); - ASSERT_EQ(0, cleaner.CleanTarget("out1")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - ASSERT_EQ(0, cleaner.CleanTarget("in2")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - ASSERT_EQ(0, cleaner.CleanRule("cat_rsp")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - - EXPECT_EQ(6u, fs_.files_removed_.size()); - - // Check they are removed. - string err; - EXPECT_EQ(0, fs_.Stat("in1", &err)); - EXPECT_EQ(0, fs_.Stat("out1", &err)); - EXPECT_EQ(0, fs_.Stat("in2", &err)); - EXPECT_EQ(0, fs_.Stat("out2", &err)); - EXPECT_EQ(0, fs_.Stat("in2.rsp", &err)); - EXPECT_EQ(0, fs_.Stat("out2.rsp", &err)); -} - -TEST_F(CleanTest, CleanFailure) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, - "build dir: cat src1\n")); - fs_.MakeDir("dir"); - Cleaner cleaner(&state_, config_, &fs_); - EXPECT_NE(0, cleaner.CleanAll()); -} - -TEST_F(CleanTest, CleanPhony) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build phony: phony t1 t2\n" -"build t1: cat\n" -"build t2: cat\n")); - - fs_.Create("phony", ""); - fs_.Create("t1", ""); - fs_.Create("t2", ""); - - // Check that CleanAll does not remove "phony". - Cleaner cleaner(&state_, config_, &fs_); - EXPECT_EQ(0, cleaner.CleanAll()); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_LT(0, fs_.Stat("phony", &err)); - - fs_.Create("t1", ""); - fs_.Create("t2", ""); - - // Check that CleanTarget does not remove "phony". - EXPECT_EQ(0, cleaner.CleanTarget("phony")); - EXPECT_EQ(2, cleaner.cleaned_files_count()); - EXPECT_LT(0, fs_.Stat("phony", &err)); -} - -TEST_F(CleanTest, CleanDepFileAndRspFileWithSpaces) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule cc_dep\n" -" command = cc $in > $out\n" -" depfile = $out.d\n" -"rule cc_rsp\n" -" command = cc $in > $out\n" -" rspfile = $out.rsp\n" -" rspfile_content = $in\n" -"build out$ 1: cc_dep in$ 1\n" -"build out$ 2: cc_rsp in$ 1\n" -)); - fs_.Create("out 1", ""); - fs_.Create("out 2", ""); - fs_.Create("out 1.d", ""); - fs_.Create("out 2.rsp", ""); - - Cleaner cleaner(&state_, config_, &fs_); - EXPECT_EQ(0, cleaner.CleanAll()); - EXPECT_EQ(4, cleaner.cleaned_files_count()); - EXPECT_EQ(4u, fs_.files_removed_.size()); - - string err; - EXPECT_EQ(0, fs_.Stat("out 1", &err)); - EXPECT_EQ(0, fs_.Stat("out 2", &err)); - EXPECT_EQ(0, fs_.Stat("out 1.d", &err)); - EXPECT_EQ(0, fs_.Stat("out 2.rsp", &err)); -} diff --git a/vendor/ninja/src/clparser.cc b/vendor/ninja/src/clparser.cc deleted file mode 100644 index 7994c06f4..000000000 --- a/vendor/ninja/src/clparser.cc +++ /dev/null @@ -1,126 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "clparser.h" - -#include -#include -#include - -#include "metrics.h" -#include "string_piece_util.h" - -#ifdef _WIN32 -#include "includes_normalize.h" -#include "string_piece.h" -#else -#include "util.h" -#endif - -namespace { - -/// Return true if \a input ends with \a needle. -bool EndsWith(const string& input, const string& needle) { - return (input.size() >= needle.size() && - input.substr(input.size() - needle.size()) == needle); -} - -} // anonymous namespace - -// static -string CLParser::FilterShowIncludes(const string& line, - const string& deps_prefix) { - const string kDepsPrefixEnglish = "Note: including file: "; - const char* in = line.c_str(); - const char* end = in + line.size(); - const string& prefix = deps_prefix.empty() ? kDepsPrefixEnglish : deps_prefix; - if (end - in > (int)prefix.size() && - memcmp(in, prefix.c_str(), (int)prefix.size()) == 0) { - in += prefix.size(); - while (*in == ' ') - ++in; - return line.substr(in - line.c_str()); - } - return ""; -} - -// static -bool CLParser::IsSystemInclude(string path) { - transform(path.begin(), path.end(), path.begin(), ToLowerASCII); - // TODO: this is a heuristic, perhaps there's a better way? - return (path.find("program files") != string::npos || - path.find("microsoft visual studio") != string::npos); -} - -// static -bool CLParser::FilterInputFilename(string line) { - transform(line.begin(), line.end(), line.begin(), ToLowerASCII); - // TODO: other extensions, like .asm? - return EndsWith(line, ".c") || - EndsWith(line, ".cc") || - EndsWith(line, ".cxx") || - EndsWith(line, ".cpp"); -} - -// static -bool CLParser::Parse(const string& output, const string& deps_prefix, - string* filtered_output, string* err) { - METRIC_RECORD("CLParser::Parse"); - - // Loop over all lines in the output to process them. - assert(&output != filtered_output); - size_t start = 0; -#ifdef _WIN32 - IncludesNormalize normalizer("."); -#endif - - while (start < output.size()) { - size_t end = output.find_first_of("\r\n", start); - if (end == string::npos) - end = output.size(); - string line = output.substr(start, end - start); - - string include = FilterShowIncludes(line, deps_prefix); - if (!include.empty()) { - string normalized; -#ifdef _WIN32 - if (!normalizer.Normalize(include, &normalized, err)) - return false; -#else - // TODO: should this make the path relative to cwd? - normalized = include; - uint64_t slash_bits; - if (!CanonicalizePath(&normalized, &slash_bits, err)) - return false; -#endif - if (!IsSystemInclude(normalized)) - includes_.insert(normalized); - } else if (FilterInputFilename(line)) { - // Drop it. - // TODO: if we support compiling multiple output files in a single - // cl.exe invocation, we should stash the filename. - } else { - filtered_output->append(line); - filtered_output->append("\n"); - } - - if (end < output.size() && output[end] == '\r') - ++end; - if (end < output.size() && output[end] == '\n') - ++end; - start = end; - } - - return true; -} diff --git a/vendor/ninja/src/clparser.h b/vendor/ninja/src/clparser.h deleted file mode 100644 index e597e7ebc..000000000 --- a/vendor/ninja/src/clparser.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright 2015 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_CLPARSER_H_ -#define NINJA_CLPARSER_H_ - -#include -#include -using namespace std; - -/// Visual Studio's cl.exe requires some massaging to work with Ninja; -/// for example, it emits include information on stderr in a funny -/// format when building with /showIncludes. This class parses this -/// output. -struct CLParser { - /// Parse a line of cl.exe output and extract /showIncludes info. - /// If a dependency is extracted, returns a nonempty string. - /// Exposed for testing. - static string FilterShowIncludes(const string& line, - const string& deps_prefix); - - /// Return true if a mentioned include file is a system path. - /// Filtering these out reduces dependency information considerably. - static bool IsSystemInclude(string path); - - /// Parse a line of cl.exe output and return true if it looks like - /// it's printing an input filename. This is a heuristic but it appears - /// to be the best we can do. - /// Exposed for testing. - static bool FilterInputFilename(string line); - - /// Parse the full output of cl, filling filtered_output with the text that - /// should be printed (if any). Returns true on success, or false with err - /// filled. output must not be the same object as filtered_object. - bool Parse(const string& output, const string& deps_prefix, - string* filtered_output, string* err); - - set includes_; -}; - -#endif // NINJA_CLPARSER_H_ diff --git a/vendor/ninja/src/clparser_perftest.cc b/vendor/ninja/src/clparser_perftest.cc deleted file mode 100644 index 7ac52302b..000000000 --- a/vendor/ninja/src/clparser_perftest.cc +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include - -#include "clparser.h" -#include "metrics.h" - -int main(int argc, char* argv[]) { - // Output of /showIncludes from #include - string perf_testdata = - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\iostream\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\istream\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\ostream\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\ios\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xlocnum\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\climits\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\yvals.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xkeycheck.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\crtdefs.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\sal.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\ConcurrencySal.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vadefs.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\use_ansi.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\limits.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\cmath\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\math.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xtgmath.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xtr1common\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\cstdlib\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\stdlib.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_malloc.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_search.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\stddef.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_wstdlib.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\cstdio\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\stdio.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_wstdio.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_stdio_config.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\streambuf\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xiosbase\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xlocale\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\cstring\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\string.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_memory.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_memcpy_s.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\errno.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime_string.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_wstring.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\stdexcept\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\exception\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\type_traits\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xstddef\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\cstddef\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\initializer_list\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\malloc.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime_exception.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\eh.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_terminate.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xstring\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xmemory0\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\cstdint\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\stdint.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\limits\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\ymath.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\cfloat\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\float.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\cwchar\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\wchar.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_wconio.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_wctype.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_wdirect.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_wio.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_share.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_wprocess.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\corecrt_wtime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\sys/stat.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\sys/types.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\new\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime_new.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xutility\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\utility\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\iosfwd\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\crtdbg.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime_new_debug.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xatomic0.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\intrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\setjmp.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\immintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\wmmintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\nmmintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\smmintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\tmmintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\pmmintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\emmintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xmmintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\mmintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\ammintrin.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\mm3dnow.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\typeinfo\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime_typeinfo.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\vcruntime.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xlocinfo\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xlocinfo.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\ctype.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\locale.h\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\xfacet\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\system_error\r\n" - "Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE\\cerrno\r\n" - "Note: including file: C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt\\share.h\r\n"; - - for (int limit = 1 << 10; limit < (1<<20); limit *= 2) { - int64_t start = GetTimeMillis(); - for (int rep = 0; rep < limit; ++rep) { - string output; - string err; - - CLParser parser; - if (!parser.Parse(perf_testdata, "", &output, &err)) { - printf("%s\n", err.c_str()); - return 1; - } - } - int64_t end = GetTimeMillis(); - - if (end - start > 2000) { - int delta_ms = (int)(end - start); - printf("Parse %d times in %dms avg %.1fus\n", - limit, delta_ms, float(delta_ms * 1000) / limit); - break; - } - } - - return 0; -} diff --git a/vendor/ninja/src/clparser_test.cc b/vendor/ninja/src/clparser_test.cc deleted file mode 100644 index 1549ab1cb..000000000 --- a/vendor/ninja/src/clparser_test.cc +++ /dev/null @@ -1,117 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "clparser.h" - -#include "test.h" -#include "util.h" - -TEST(CLParserTest, ShowIncludes) { - ASSERT_EQ("", CLParser::FilterShowIncludes("", "")); - - ASSERT_EQ("", CLParser::FilterShowIncludes("Sample compiler output", "")); - ASSERT_EQ("c:\\Some Files\\foobar.h", - CLParser::FilterShowIncludes("Note: including file: " - "c:\\Some Files\\foobar.h", "")); - ASSERT_EQ("c:\\initspaces.h", - CLParser::FilterShowIncludes("Note: including file: " - "c:\\initspaces.h", "")); - ASSERT_EQ("c:\\initspaces.h", - CLParser::FilterShowIncludes("Non-default prefix: inc file: " - "c:\\initspaces.h", - "Non-default prefix: inc file:")); -} - -TEST(CLParserTest, FilterInputFilename) { - ASSERT_TRUE(CLParser::FilterInputFilename("foobar.cc")); - ASSERT_TRUE(CLParser::FilterInputFilename("foo bar.cc")); - ASSERT_TRUE(CLParser::FilterInputFilename("baz.c")); - ASSERT_TRUE(CLParser::FilterInputFilename("FOOBAR.CC")); - - ASSERT_FALSE(CLParser::FilterInputFilename( - "src\\cl_helper.cc(166) : fatal error C1075: end " - "of file found ...")); -} - -TEST(CLParserTest, ParseSimple) { - CLParser parser; - string output, err; - ASSERT_TRUE(parser.Parse( - "foo\r\n" - "Note: inc file prefix: foo.h\r\n" - "bar\r\n", - "Note: inc file prefix:", &output, &err)); - - ASSERT_EQ("foo\nbar\n", output); - ASSERT_EQ(1u, parser.includes_.size()); - ASSERT_EQ("foo.h", *parser.includes_.begin()); -} - -TEST(CLParserTest, ParseFilenameFilter) { - CLParser parser; - string output, err; - ASSERT_TRUE(parser.Parse( - "foo.cc\r\n" - "cl: warning\r\n", - "", &output, &err)); - ASSERT_EQ("cl: warning\n", output); -} - -TEST(CLParserTest, ParseSystemInclude) { - CLParser parser; - string output, err; - ASSERT_TRUE(parser.Parse( - "Note: including file: c:\\Program Files\\foo.h\r\n" - "Note: including file: d:\\Microsoft Visual Studio\\bar.h\r\n" - "Note: including file: path.h\r\n", - "", &output, &err)); - // We should have dropped the first two includes because they look like - // system headers. - ASSERT_EQ("", output); - ASSERT_EQ(1u, parser.includes_.size()); - ASSERT_EQ("path.h", *parser.includes_.begin()); -} - -TEST(CLParserTest, DuplicatedHeader) { - CLParser parser; - string output, err; - ASSERT_TRUE(parser.Parse( - "Note: including file: foo.h\r\n" - "Note: including file: bar.h\r\n" - "Note: including file: foo.h\r\n", - "", &output, &err)); - // We should have dropped one copy of foo.h. - ASSERT_EQ("", output); - ASSERT_EQ(2u, parser.includes_.size()); -} - -TEST(CLParserTest, DuplicatedHeaderPathConverted) { - CLParser parser; - string output, err; - - // This isn't inline in the Parse() call below because the #ifdef in - // a macro expansion would confuse MSVC2013's preprocessor. - const char kInput[] = - "Note: including file: sub/./foo.h\r\n" - "Note: including file: bar.h\r\n" -#ifdef _WIN32 - "Note: including file: sub\\foo.h\r\n"; -#else - "Note: including file: sub/foo.h\r\n"; -#endif - ASSERT_TRUE(parser.Parse(kInput, "", &output, &err)); - // We should have dropped one copy of foo.h. - ASSERT_EQ("", output); - ASSERT_EQ(2u, parser.includes_.size()); -} diff --git a/vendor/ninja/src/debug_flags.cc b/vendor/ninja/src/debug_flags.cc deleted file mode 100644 index 44b14c483..000000000 --- a/vendor/ninja/src/debug_flags.cc +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -bool g_explaining = false; - -bool g_keep_depfile = false; - -bool g_keep_rsp = false; - -bool g_experimental_statcache = true; diff --git a/vendor/ninja/src/debug_flags.h b/vendor/ninja/src/debug_flags.h deleted file mode 100644 index e08a43b43..000000000 --- a/vendor/ninja/src/debug_flags.h +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_EXPLAIN_H_ -#define NINJA_EXPLAIN_H_ - -#include - -#define EXPLAIN(fmt, ...) { \ - if (g_explaining) \ - fprintf(stderr, "ninja explain: " fmt "\n", __VA_ARGS__); \ -} - -extern bool g_explaining; - -extern bool g_keep_depfile; - -extern bool g_keep_rsp; - -extern bool g_experimental_statcache; - -#endif // NINJA_EXPLAIN_H_ diff --git a/vendor/ninja/src/depfile_parser.cc b/vendor/ninja/src/depfile_parser.cc deleted file mode 100644 index 7cee89210..000000000 --- a/vendor/ninja/src/depfile_parser.cc +++ /dev/null @@ -1,242 +0,0 @@ -/* Generated by re2c 0.13.5 */ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "depfile_parser.h" - -// A note on backslashes in Makefiles, from reading the docs: -// Backslash-newline is the line continuation character. -// Backslash-# escapes a # (otherwise meaningful as a comment start). -// Backslash-% escapes a % (otherwise meaningful as a special). -// Finally, quoting the GNU manual, "Backslashes that are not in danger -// of quoting ‘%’ characters go unmolested." -// How do you end a line with a backslash? The netbsd Make docs suggest -// reading the result of a shell command echoing a backslash! -// -// Rather than implement all of above, we do a simpler thing here: -// Backslashes escape a set of characters (see "escapes" defined below), -// otherwise they are passed through verbatim. -// If anyone actually has depfiles that rely on the more complicated -// behavior we can adjust this. -bool DepfileParser::Parse(string* content, string* err) { - // in: current parser input point. - // end: end of input. - // parsing_targets: whether we are parsing targets or dependencies. - char* in = &(*content)[0]; - char* end = in + content->size(); - bool parsing_targets = true; - while (in < end) { - // out: current output point (typically same as in, but can fall behind - // as we de-escape backslashes). - char* out = in; - // filename: start of the current parsed filename. - char* filename = out; - for (;;) { - // start: beginning of the current parsed span. - const char* start = in; - - { - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, - 128, 128, 0, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 128, 0, 0, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 0, 0, 128, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 0, 128, 128, 0, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - }; - - yych = *in; - if (yych <= '=') { - if (yych <= '$') { - if (yych <= ' ') { - if (yych <= 0x00) goto yy7; - goto yy9; - } else { - if (yych <= '!') goto yy5; - if (yych <= '#') goto yy9; - goto yy4; - } - } else { - if (yych <= '*') { - if (yych <= '\'') goto yy9; - if (yych <= ')') goto yy5; - goto yy9; - } else { - if (yych <= ':') goto yy5; - if (yych <= '<') goto yy9; - goto yy5; - } - } - } else { - if (yych <= '_') { - if (yych <= '[') { - if (yych <= '?') goto yy9; - if (yych <= 'Z') goto yy5; - goto yy9; - } else { - if (yych <= '\\') goto yy2; - if (yych <= '^') goto yy9; - goto yy5; - } - } else { - if (yych <= '|') { - if (yych <= '`') goto yy9; - if (yych <= '{') goto yy5; - goto yy9; - } else { - if (yych == 0x7F) goto yy9; - goto yy5; - } - } - } -yy2: - ++in; - if ((yych = *in) <= '"') { - if (yych <= '\f') { - if (yych <= 0x00) goto yy3; - if (yych != '\n') goto yy14; - } else { - if (yych <= '\r') goto yy3; - if (yych == ' ') goto yy16; - goto yy14; - } - } else { - if (yych <= 'Z') { - if (yych <= '#') goto yy16; - if (yych == '*') goto yy16; - goto yy14; - } else { - if (yych <= '\\') goto yy16; - if (yych == '|') goto yy16; - goto yy14; - } - } -yy3: - { - // For any other character (e.g. whitespace), swallow it here, - // allowing the outer logic to loop around again. - break; - } -yy4: - yych = *++in; - if (yych == '$') goto yy12; - goto yy3; -yy5: - ++in; - yych = *in; - goto yy11; -yy6: - { - // Got a span of plain text. - int len = (int)(in - start); - // Need to shift it over if we're overwriting backslashes. - if (out < start) - memmove(out, start, len); - out += len; - continue; - } -yy7: - ++in; - { - break; - } -yy9: - yych = *++in; - goto yy3; -yy10: - ++in; - yych = *in; -yy11: - if (yybm[0+yych] & 128) { - goto yy10; - } - goto yy6; -yy12: - ++in; - { - // De-escape dollar character. - *out++ = '$'; - continue; - } -yy14: - ++in; - { - // Let backslash before other characters through verbatim. - *out++ = '\\'; - *out++ = yych; - continue; - } -yy16: - ++in; - { - // De-escape backslashed character. - *out++ = yych; - continue; - } - } - - } - - int len = (int)(out - filename); - const bool is_target = parsing_targets; - if (len > 0 && filename[len - 1] == ':') { - len--; // Strip off trailing colon, if any. - parsing_targets = false; - } - - if (len == 0) - continue; - - if (!is_target) { - ins_.push_back(StringPiece(filename, len)); - } else if (!out_.str_) { - out_ = StringPiece(filename, len); - } else if (out_ != StringPiece(filename, len)) { - *err = "depfile has multiple output paths"; - return false; - } - } - if (parsing_targets) { - *err = "expected ':' in depfile"; - return false; - } - return true; -} diff --git a/vendor/ninja/src/depfile_parser.h b/vendor/ninja/src/depfile_parser.h deleted file mode 100644 index 1e6ebb579..000000000 --- a/vendor/ninja/src/depfile_parser.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_DEPFILE_PARSER_H_ -#define NINJA_DEPFILE_PARSER_H_ - -#include -#include -using namespace std; - -#include "string_piece.h" - -/// Parser for the dependency information emitted by gcc's -M flags. -struct DepfileParser { - /// Parse an input file. Input must be NUL-terminated. - /// Warning: may mutate the content in-place and parsed StringPieces are - /// pointers within it. - bool Parse(string* content, string* err); - - StringPiece out_; - vector ins_; -}; - -#endif // NINJA_DEPFILE_PARSER_H_ diff --git a/vendor/ninja/src/depfile_parser.in.cc b/vendor/ninja/src/depfile_parser.in.cc deleted file mode 100644 index 98c1621d4..000000000 --- a/vendor/ninja/src/depfile_parser.in.cc +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "depfile_parser.h" - -// A note on backslashes in Makefiles, from reading the docs: -// Backslash-newline is the line continuation character. -// Backslash-# escapes a # (otherwise meaningful as a comment start). -// Backslash-% escapes a % (otherwise meaningful as a special). -// Finally, quoting the GNU manual, "Backslashes that are not in danger -// of quoting ‘%’ characters go unmolested." -// How do you end a line with a backslash? The netbsd Make docs suggest -// reading the result of a shell command echoing a backslash! -// -// Rather than implement all of above, we do a simpler thing here: -// Backslashes escape a set of characters (see "escapes" defined below), -// otherwise they are passed through verbatim. -// If anyone actually has depfiles that rely on the more complicated -// behavior we can adjust this. -bool DepfileParser::Parse(string* content, string* err) { - // in: current parser input point. - // end: end of input. - // parsing_targets: whether we are parsing targets or dependencies. - char* in = &(*content)[0]; - char* end = in + content->size(); - bool parsing_targets = true; - while (in < end) { - // out: current output point (typically same as in, but can fall behind - // as we de-escape backslashes). - char* out = in; - // filename: start of the current parsed filename. - char* filename = out; - for (;;) { - // start: beginning of the current parsed span. - const char* start = in; - /*!re2c - re2c:define:YYCTYPE = "unsigned char"; - re2c:define:YYCURSOR = in; - re2c:define:YYLIMIT = end; - - re2c:yyfill:enable = 0; - - re2c:indent:top = 2; - re2c:indent:string = " "; - - nul = "\000"; - escape = [ \\#*[|]; - - '\\' escape { - // De-escape backslashed character. - *out++ = yych; - continue; - } - '$$' { - // De-escape dollar character. - *out++ = '$'; - continue; - } - '\\' [^\000\r\n] { - // Let backslash before other characters through verbatim. - *out++ = '\\'; - *out++ = yych; - continue; - } - [a-zA-Z0-9+,/_:.~()}{@=!\x80-\xFF-]+ { - // Got a span of plain text. - int len = (int)(in - start); - // Need to shift it over if we're overwriting backslashes. - if (out < start) - memmove(out, start, len); - out += len; - continue; - } - nul { - break; - } - [^] { - // For any other character (e.g. whitespace), swallow it here, - // allowing the outer logic to loop around again. - break; - } - */ - } - - int len = (int)(out - filename); - const bool is_target = parsing_targets; - if (len > 0 && filename[len - 1] == ':') { - len--; // Strip off trailing colon, if any. - parsing_targets = false; - } - - if (len == 0) - continue; - - if (!is_target) { - ins_.push_back(StringPiece(filename, len)); - } else if (!out_.str_) { - out_ = StringPiece(filename, len); - } else if (out_ != StringPiece(filename, len)) { - *err = "depfile has multiple output paths"; - return false; - } - } - if (parsing_targets) { - *err = "expected ':' in depfile"; - return false; - } - return true; -} diff --git a/vendor/ninja/src/depfile_parser_perftest.cc b/vendor/ninja/src/depfile_parser_perftest.cc deleted file mode 100644 index b21522168..000000000 --- a/vendor/ninja/src/depfile_parser_perftest.cc +++ /dev/null @@ -1,77 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include - -#include "depfile_parser.h" -#include "util.h" -#include "metrics.h" - -int main(int argc, char* argv[]) { - if (argc < 2) { - printf("usage: %s \n", argv[0]); - return 1; - } - - vector times; - for (int i = 1; i < argc; ++i) { - const char* filename = argv[i]; - - for (int limit = 1 << 10; limit < (1<<20); limit *= 2) { - int64_t start = GetTimeMillis(); - for (int rep = 0; rep < limit; ++rep) { - string buf; - string err; - if (ReadFile(filename, &buf, &err) < 0) { - printf("%s: %s\n", filename, err.c_str()); - return 1; - } - - DepfileParser parser; - if (!parser.Parse(&buf, &err)) { - printf("%s: %s\n", filename, err.c_str()); - return 1; - } - } - int64_t end = GetTimeMillis(); - - if (end - start > 100) { - int delta = (int)(end - start); - float time = delta*1000 / (float)limit; - printf("%s: %.1fus\n", filename, time); - times.push_back(time); - break; - } - } - } - - if (!times.empty()) { - float min = times[0]; - float max = times[0]; - float total = 0; - for (size_t i = 0; i < times.size(); ++i) { - total += times[i]; - if (times[i] < min) - min = times[i]; - else if (times[i] > max) - max = times[i]; - } - - printf("min %.1fus max %.1fus avg %.1fus\n", - min, max, total / times.size()); - } - - return 0; -} diff --git a/vendor/ninja/src/depfile_parser_test.cc b/vendor/ninja/src/depfile_parser_test.cc deleted file mode 100644 index ee798f823..000000000 --- a/vendor/ninja/src/depfile_parser_test.cc +++ /dev/null @@ -1,157 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "depfile_parser.h" - -#include "test.h" - -struct DepfileParserTest : public testing::Test { - bool Parse(const char* input, string* err); - - DepfileParser parser_; - string input_; -}; - -bool DepfileParserTest::Parse(const char* input, string* err) { - input_ = input; - return parser_.Parse(&input_, err); -} - -TEST_F(DepfileParserTest, Basic) { - string err; - EXPECT_TRUE(Parse( -"build/ninja.o: ninja.cc ninja.h eval_env.h manifest_parser.h\n", - &err)); - ASSERT_EQ("", err); - EXPECT_EQ("build/ninja.o", parser_.out_.AsString()); - EXPECT_EQ(4u, parser_.ins_.size()); -} - -TEST_F(DepfileParserTest, EarlyNewlineAndWhitespace) { - string err; - EXPECT_TRUE(Parse( -" \\\n" -" out: in\n", - &err)); - ASSERT_EQ("", err); -} - -TEST_F(DepfileParserTest, Continuation) { - string err; - EXPECT_TRUE(Parse( -"foo.o: \\\n" -" bar.h baz.h\n", - &err)); - ASSERT_EQ("", err); - EXPECT_EQ("foo.o", parser_.out_.AsString()); - EXPECT_EQ(2u, parser_.ins_.size()); -} - -TEST_F(DepfileParserTest, CarriageReturnContinuation) { - string err; - EXPECT_TRUE(Parse( -"foo.o: \\\r\n" -" bar.h baz.h\r\n", - &err)); - ASSERT_EQ("", err); - EXPECT_EQ("foo.o", parser_.out_.AsString()); - EXPECT_EQ(2u, parser_.ins_.size()); -} - -TEST_F(DepfileParserTest, BackSlashes) { - string err; - EXPECT_TRUE(Parse( -"Project\\Dir\\Build\\Release8\\Foo\\Foo.res : \\\n" -" Dir\\Library\\Foo.rc \\\n" -" Dir\\Library\\Version\\Bar.h \\\n" -" Dir\\Library\\Foo.ico \\\n" -" Project\\Thing\\Bar.tlb \\\n", - &err)); - ASSERT_EQ("", err); - EXPECT_EQ("Project\\Dir\\Build\\Release8\\Foo\\Foo.res", - parser_.out_.AsString()); - EXPECT_EQ(4u, parser_.ins_.size()); -} - -TEST_F(DepfileParserTest, Spaces) { - string err; - EXPECT_TRUE(Parse( -"a\\ bc\\ def: a\\ b c d", - &err)); - ASSERT_EQ("", err); - EXPECT_EQ("a bc def", - parser_.out_.AsString()); - ASSERT_EQ(3u, parser_.ins_.size()); - EXPECT_EQ("a b", - parser_.ins_[0].AsString()); - EXPECT_EQ("c", - parser_.ins_[1].AsString()); - EXPECT_EQ("d", - parser_.ins_[2].AsString()); -} - -TEST_F(DepfileParserTest, Escapes) { - // Put backslashes before a variety of characters, see which ones make - // it through. - string err; - EXPECT_TRUE(Parse( -"\\!\\@\\#$$\\%\\^\\&\\\\:", - &err)); - ASSERT_EQ("", err); - EXPECT_EQ("\\!\\@#$\\%\\^\\&\\", - parser_.out_.AsString()); - ASSERT_EQ(0u, parser_.ins_.size()); -} - -TEST_F(DepfileParserTest, SpecialChars) { - // See filenames like istreambuf.iterator_op!= in - // https://github.com/google/libcxx/tree/master/test/iterators/stream.iterators/istreambuf.iterator/ - string err; - EXPECT_TRUE(Parse( -"C:/Program\\ Files\\ (x86)/Microsoft\\ crtdefs.h: \n" -" en@quot.header~ t+t-x!=1 \n" -" openldap/slapd.d/cn=config/cn=schema/cn={0}core.ldif\n" -" Fu\303\244ball", - &err)); - ASSERT_EQ("", err); - EXPECT_EQ("C:/Program Files (x86)/Microsoft crtdefs.h", - parser_.out_.AsString()); - ASSERT_EQ(4u, parser_.ins_.size()); - EXPECT_EQ("en@quot.header~", - parser_.ins_[0].AsString()); - EXPECT_EQ("t+t-x!=1", - parser_.ins_[1].AsString()); - EXPECT_EQ("openldap/slapd.d/cn=config/cn=schema/cn={0}core.ldif", - parser_.ins_[2].AsString()); - EXPECT_EQ("Fu\303\244ball", - parser_.ins_[3].AsString()); -} - -TEST_F(DepfileParserTest, UnifyMultipleOutputs) { - // check that multiple duplicate targets are properly unified - string err; - EXPECT_TRUE(Parse("foo foo: x y z", &err)); - ASSERT_EQ("foo", parser_.out_.AsString()); - ASSERT_EQ(3u, parser_.ins_.size()); - EXPECT_EQ("x", parser_.ins_[0].AsString()); - EXPECT_EQ("y", parser_.ins_[1].AsString()); - EXPECT_EQ("z", parser_.ins_[2].AsString()); -} - -TEST_F(DepfileParserTest, RejectMultipleDifferentOutputs) { - // check that multiple different outputs are rejected by the parser - string err; - EXPECT_FALSE(Parse("foo bar: x y z", &err)); - ASSERT_EQ("depfile has multiple output paths", err); -} diff --git a/vendor/ninja/src/deps_log.cc b/vendor/ninja/src/deps_log.cc deleted file mode 100644 index 89c60232b..000000000 --- a/vendor/ninja/src/deps_log.cc +++ /dev/null @@ -1,410 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "deps_log.h" - -#include -#include -#include -#include -#ifndef _WIN32 -#include -#endif - -#include "graph.h" -#include "metrics.h" -#include "state.h" -#include "util.h" - -// The version is stored as 4 bytes after the signature and also serves as a -// byte order mark. Signature and version combined are 16 bytes long. -const char kFileSignature[] = "# ninjadeps\n"; -const int kCurrentVersion = 3; - -// Record size is currently limited to less than the full 32 bit, due to -// internal buffers having to have this size. -const unsigned kMaxRecordSize = (1 << 19) - 1; - -DepsLog::~DepsLog() { - Close(); -} - -bool DepsLog::OpenForWrite(const string& path, string* err) { - if (needs_recompaction_) { - if (!Recompact(path, err)) - return false; - } - - file_ = fopen(path.c_str(), "ab"); - if (!file_) { - *err = strerror(errno); - return false; - } - // Set the buffer size to this and flush the file buffer after every record - // to make sure records aren't written partially. - setvbuf(file_, NULL, _IOFBF, kMaxRecordSize + 1); - SetCloseOnExec(fileno(file_)); - - // Opening a file in append mode doesn't set the file pointer to the file's - // end on Windows. Do that explicitly. - fseek(file_, 0, SEEK_END); - - if (ftell(file_) == 0) { - if (fwrite(kFileSignature, sizeof(kFileSignature) - 1, 1, file_) < 1) { - *err = strerror(errno); - return false; - } - if (fwrite(&kCurrentVersion, 4, 1, file_) < 1) { - *err = strerror(errno); - return false; - } - } - if (fflush(file_) != 0) { - *err = strerror(errno); - return false; - } - return true; -} - -bool DepsLog::RecordDeps(Node* node, TimeStamp mtime, - const vector& nodes) { - return RecordDeps(node, mtime, nodes.size(), - nodes.empty() ? NULL : (Node**)&nodes.front()); -} - -bool DepsLog::RecordDeps(Node* node, TimeStamp mtime, - int node_count, Node** nodes) { - // Track whether there's any new data to be recorded. - bool made_change = false; - - // Assign ids to all nodes that are missing one. - if (node->id() < 0) { - if (!RecordId(node)) - return false; - made_change = true; - } - for (int i = 0; i < node_count; ++i) { - if (nodes[i]->id() < 0) { - if (!RecordId(nodes[i])) - return false; - made_change = true; - } - } - - // See if the new data is different than the existing data, if any. - if (!made_change) { - Deps* deps = GetDeps(node); - if (!deps || - deps->mtime != mtime || - deps->node_count != node_count) { - made_change = true; - } else { - for (int i = 0; i < node_count; ++i) { - if (deps->nodes[i] != nodes[i]) { - made_change = true; - break; - } - } - } - } - - // Don't write anything if there's no new info. - if (!made_change) - return true; - - // Update on-disk representation. - unsigned size = 4 * (1 + 1 + node_count); - if (size > kMaxRecordSize) { - errno = ERANGE; - return false; - } - size |= 0x80000000; // Deps record: set high bit. - if (fwrite(&size, 4, 1, file_) < 1) - return false; - int id = node->id(); - if (fwrite(&id, 4, 1, file_) < 1) - return false; - int timestamp = mtime; - if (fwrite(×tamp, 4, 1, file_) < 1) - return false; - for (int i = 0; i < node_count; ++i) { - id = nodes[i]->id(); - if (fwrite(&id, 4, 1, file_) < 1) - return false; - } - if (fflush(file_) != 0) - return false; - - // Update in-memory representation. - Deps* deps = new Deps(mtime, node_count); - for (int i = 0; i < node_count; ++i) - deps->nodes[i] = nodes[i]; - UpdateDeps(node->id(), deps); - - return true; -} - -void DepsLog::Close() { - if (file_) - fclose(file_); - file_ = NULL; -} - -bool DepsLog::Load(const string& path, State* state, string* err) { - METRIC_RECORD(".ninja_deps load"); - char buf[kMaxRecordSize + 1]; - FILE* f = fopen(path.c_str(), "rb"); - if (!f) { - if (errno == ENOENT) - return true; - *err = strerror(errno); - return false; - } - - bool valid_header = true; - int version = 0; - if (!fgets(buf, sizeof(buf), f) || fread(&version, 4, 1, f) < 1) - valid_header = false; - // Note: For version differences, this should migrate to the new format. - // But the v1 format could sometimes (rarely) end up with invalid data, so - // don't migrate v1 to v3 to force a rebuild. (v2 only existed for a few days, - // and there was no release with it, so pretend that it never happened.) - if (!valid_header || strcmp(buf, kFileSignature) != 0 || - version != kCurrentVersion) { - if (version == 1) - *err = "deps log version change; rebuilding"; - else - *err = "bad deps log signature or version; starting over"; - fclose(f); - unlink(path.c_str()); - // Don't report this as a failure. An empty deps log will cause - // us to rebuild the outputs anyway. - return true; - } - - long offset; - bool read_failed = false; - int unique_dep_record_count = 0; - int total_dep_record_count = 0; - for (;;) { - offset = ftell(f); - - unsigned size; - if (fread(&size, 4, 1, f) < 1) { - if (!feof(f)) - read_failed = true; - break; - } - bool is_deps = (size >> 31) != 0; - size = size & 0x7FFFFFFF; - - if (fread(buf, size, 1, f) < 1 || size > kMaxRecordSize) { - read_failed = true; - break; - } - - if (is_deps) { - assert(size % 4 == 0); - int* deps_data = reinterpret_cast(buf); - int out_id = deps_data[0]; - int mtime = deps_data[1]; - deps_data += 2; - int deps_count = (size / 4) - 2; - - Deps* deps = new Deps(mtime, deps_count); - for (int i = 0; i < deps_count; ++i) { - assert(deps_data[i] < (int)nodes_.size()); - assert(nodes_[deps_data[i]]); - deps->nodes[i] = nodes_[deps_data[i]]; - } - - total_dep_record_count++; - if (!UpdateDeps(out_id, deps)) - ++unique_dep_record_count; - } else { - int path_size = size - 4; - assert(path_size > 0); // CanonicalizePath() rejects empty paths. - // There can be up to 3 bytes of padding. - if (buf[path_size - 1] == '\0') --path_size; - if (buf[path_size - 1] == '\0') --path_size; - if (buf[path_size - 1] == '\0') --path_size; - StringPiece subpath(buf, path_size); - // It is not necessary to pass in a correct slash_bits here. It will - // either be a Node that's in the manifest (in which case it will already - // have a correct slash_bits that GetNode will look up), or it is an - // implicit dependency from a .d which does not affect the build command - // (and so need not have its slashes maintained). - Node* node = state->GetNode(subpath, 0); - - // Check that the expected index matches the actual index. This can only - // happen if two ninja processes write to the same deps log concurrently. - // (This uses unary complement to make the checksum look less like a - // dependency record entry.) - unsigned checksum = *reinterpret_cast(buf + size - 4); - int expected_id = ~checksum; - int id = nodes_.size(); - if (id != expected_id) { - read_failed = true; - break; - } - - assert(node->id() < 0); - node->set_id(id); - nodes_.push_back(node); - } - } - - if (read_failed) { - // An error occurred while loading; try to recover by truncating the - // file to the last fully-read record. - if (ferror(f)) { - *err = strerror(ferror(f)); - } else { - *err = "premature end of file"; - } - fclose(f); - - if (!Truncate(path, offset, err)) - return false; - - // The truncate succeeded; we'll just report the load error as a - // warning because the build can proceed. - *err += "; recovering"; - return true; - } - - fclose(f); - - // Rebuild the log if there are too many dead records. - int kMinCompactionEntryCount = 1000; - int kCompactionRatio = 3; - if (total_dep_record_count > kMinCompactionEntryCount && - total_dep_record_count > unique_dep_record_count * kCompactionRatio) { - needs_recompaction_ = true; - } - - return true; -} - -DepsLog::Deps* DepsLog::GetDeps(Node* node) { - // Abort if the node has no id (never referenced in the deps) or if - // there's no deps recorded for the node. - if (node->id() < 0 || node->id() >= (int)deps_.size()) - return NULL; - return deps_[node->id()]; -} - -bool DepsLog::Recompact(const string& path, string* err) { - METRIC_RECORD(".ninja_deps recompact"); - - Close(); - string temp_path = path + ".recompact"; - - // OpenForWrite() opens for append. Make sure it's not appending to a - // left-over file from a previous recompaction attempt that crashed somehow. - unlink(temp_path.c_str()); - - DepsLog new_log; - if (!new_log.OpenForWrite(temp_path, err)) - return false; - - // Clear all known ids so that new ones can be reassigned. The new indices - // will refer to the ordering in new_log, not in the current log. - for (vector::iterator i = nodes_.begin(); i != nodes_.end(); ++i) - (*i)->set_id(-1); - - // Write out all deps again. - for (int old_id = 0; old_id < (int)deps_.size(); ++old_id) { - Deps* deps = deps_[old_id]; - if (!deps) continue; // If nodes_[old_id] is a leaf, it has no deps. - - if (!IsDepsEntryLiveFor(nodes_[old_id])) - continue; - - if (!new_log.RecordDeps(nodes_[old_id], deps->mtime, - deps->node_count, deps->nodes)) { - new_log.Close(); - return false; - } - } - - new_log.Close(); - - // All nodes now have ids that refer to new_log, so steal its data. - deps_.swap(new_log.deps_); - nodes_.swap(new_log.nodes_); - - if (unlink(path.c_str()) < 0) { - *err = strerror(errno); - return false; - } - - if (rename(temp_path.c_str(), path.c_str()) < 0) { - *err = strerror(errno); - return false; - } - - return true; -} - -bool DepsLog::IsDepsEntryLiveFor(Node* node) { - // Skip entries that don't have in-edges or whose edges don't have a - // "deps" attribute. They were in the deps log from previous builds, but - // the the files they were for were removed from the build and their deps - // entries are no longer needed. - // (Without the check for "deps", a chain of two or more nodes that each - // had deps wouldn't be collected in a single recompaction.) - return node->in_edge() && !node->in_edge()->GetBinding("deps").empty(); -} - -bool DepsLog::UpdateDeps(int out_id, Deps* deps) { - if (out_id >= (int)deps_.size()) - deps_.resize(out_id + 1); - - bool delete_old = deps_[out_id] != NULL; - if (delete_old) - delete deps_[out_id]; - deps_[out_id] = deps; - return delete_old; -} - -bool DepsLog::RecordId(Node* node) { - int path_size = node->path().size(); - int padding = (4 - path_size % 4) % 4; // Pad path to 4 byte boundary. - - unsigned size = path_size + padding + 4; - if (size > kMaxRecordSize) { - errno = ERANGE; - return false; - } - if (fwrite(&size, 4, 1, file_) < 1) - return false; - if (fwrite(node->path().data(), path_size, 1, file_) < 1) { - assert(node->path().size() > 0); - return false; - } - if (padding && fwrite("\0\0", padding, 1, file_) < 1) - return false; - int id = nodes_.size(); - unsigned checksum = ~(unsigned)id; - if (fwrite(&checksum, 4, 1, file_) < 1) - return false; - if (fflush(file_) != 0) - return false; - - node->set_id(id); - nodes_.push_back(node); - - return true; -} diff --git a/vendor/ninja/src/deps_log.h b/vendor/ninja/src/deps_log.h deleted file mode 100644 index cec0257ce..000000000 --- a/vendor/ninja/src/deps_log.h +++ /dev/null @@ -1,121 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_DEPS_LOG_H_ -#define NINJA_DEPS_LOG_H_ - -#include -#include -using namespace std; - -#include - -#include "timestamp.h" - -struct Node; -struct State; - -/// As build commands run they can output extra dependency information -/// (e.g. header dependencies for C source) dynamically. DepsLog collects -/// that information at build time and uses it for subsequent builds. -/// -/// The on-disk format is based on two primary design constraints: -/// - it must be written to as a stream (during the build, which may be -/// interrupted); -/// - it can be read all at once on startup. (Alternative designs, where -/// it contains indexing information, were considered and discarded as -/// too complicated to implement; if the file is small than reading it -/// fully on startup is acceptable.) -/// Here are some stats from the Windows Chrome dependency files, to -/// help guide the design space. The total text in the files sums to -/// 90mb so some compression is warranted to keep load-time fast. -/// There's about 10k files worth of dependencies that reference about -/// 40k total paths totalling 2mb of unique strings. -/// -/// Based on these stats, here's the current design. -/// The file is structured as version header followed by a sequence of records. -/// Each record is either a path string or a dependency list. -/// Numbering the path strings in file order gives them dense integer ids. -/// A dependency list maps an output id to a list of input ids. -/// -/// Concretely, a record is: -/// four bytes record length, high bit indicates record type -/// (but max record sizes are capped at 512kB) -/// path records contain the string name of the path, followed by up to 3 -/// padding bytes to align on 4 byte boundaries, followed by the -/// one's complement of the expected index of the record (to detect -/// concurrent writes of multiple ninja processes to the log). -/// dependency records are an array of 4-byte integers -/// [output path id, output path mtime, input path id, input path id...] -/// (The mtime is compared against the on-disk output path mtime -/// to verify the stored data is up-to-date.) -/// If two records reference the same output the latter one in the file -/// wins, allowing updates to just be appended to the file. A separate -/// repacking step can run occasionally to remove dead records. -struct DepsLog { - DepsLog() : needs_recompaction_(false), file_(NULL) {} - ~DepsLog(); - - // Writing (build-time) interface. - bool OpenForWrite(const string& path, string* err); - bool RecordDeps(Node* node, TimeStamp mtime, const vector& nodes); - bool RecordDeps(Node* node, TimeStamp mtime, int node_count, Node** nodes); - void Close(); - - // Reading (startup-time) interface. - struct Deps { - Deps(int mtime, int node_count) - : mtime(mtime), node_count(node_count), nodes(new Node*[node_count]) {} - ~Deps() { delete [] nodes; } - int mtime; - int node_count; - Node** nodes; - }; - bool Load(const string& path, State* state, string* err); - Deps* GetDeps(Node* node); - - /// Rewrite the known log entries, throwing away old data. - bool Recompact(const string& path, string* err); - - /// Returns if the deps entry for a node is still reachable from the manifest. - /// - /// The deps log can contain deps entries for files that were built in the - /// past but are no longer part of the manifest. This function returns if - /// this is the case for a given node. This function is slow, don't call - /// it from code that runs on every build. - bool IsDepsEntryLiveFor(Node* node); - - /// Used for tests. - const vector& nodes() const { return nodes_; } - const vector& deps() const { return deps_; } - - private: - // Updates the in-memory representation. Takes ownership of |deps|. - // Returns true if a prior deps record was deleted. - bool UpdateDeps(int out_id, Deps* deps); - // Write a node name record, assigning it an id. - bool RecordId(Node* node); - - bool needs_recompaction_; - FILE* file_; - - /// Maps id -> Node. - vector nodes_; - /// Maps id -> deps of that id. - vector deps_; - - friend struct DepsLogTest; -}; - -#endif // NINJA_DEPS_LOG_H_ diff --git a/vendor/ninja/src/deps_log_test.cc b/vendor/ninja/src/deps_log_test.cc deleted file mode 100644 index 89f7be159..000000000 --- a/vendor/ninja/src/deps_log_test.cc +++ /dev/null @@ -1,479 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "deps_log.h" - -#include -#ifndef _WIN32 -#include -#endif - -#include "graph.h" -#include "util.h" -#include "test.h" - -namespace { - -const char kTestFilename[] = "DepsLogTest-tempfile"; - -struct DepsLogTest : public testing::Test { - virtual void SetUp() { - // In case a crashing test left a stale file behind. - unlink(kTestFilename); - } - virtual void TearDown() { - unlink(kTestFilename); - } -}; - -TEST_F(DepsLogTest, WriteRead) { - State state1; - DepsLog log1; - string err; - EXPECT_TRUE(log1.OpenForWrite(kTestFilename, &err)); - ASSERT_EQ("", err); - - { - vector deps; - deps.push_back(state1.GetNode("foo.h", 0)); - deps.push_back(state1.GetNode("bar.h", 0)); - log1.RecordDeps(state1.GetNode("out.o", 0), 1, deps); - - deps.clear(); - deps.push_back(state1.GetNode("foo.h", 0)); - deps.push_back(state1.GetNode("bar2.h", 0)); - log1.RecordDeps(state1.GetNode("out2.o", 0), 2, deps); - - DepsLog::Deps* log_deps = log1.GetDeps(state1.GetNode("out.o", 0)); - ASSERT_TRUE(log_deps); - ASSERT_EQ(1, log_deps->mtime); - ASSERT_EQ(2, log_deps->node_count); - ASSERT_EQ("foo.h", log_deps->nodes[0]->path()); - ASSERT_EQ("bar.h", log_deps->nodes[1]->path()); - } - - log1.Close(); - - State state2; - DepsLog log2; - EXPECT_TRUE(log2.Load(kTestFilename, &state2, &err)); - ASSERT_EQ("", err); - - ASSERT_EQ(log1.nodes().size(), log2.nodes().size()); - for (int i = 0; i < (int)log1.nodes().size(); ++i) { - Node* node1 = log1.nodes()[i]; - Node* node2 = log2.nodes()[i]; - ASSERT_EQ(i, node1->id()); - ASSERT_EQ(node1->id(), node2->id()); - } - - // Spot-check the entries in log2. - DepsLog::Deps* log_deps = log2.GetDeps(state2.GetNode("out2.o", 0)); - ASSERT_TRUE(log_deps); - ASSERT_EQ(2, log_deps->mtime); - ASSERT_EQ(2, log_deps->node_count); - ASSERT_EQ("foo.h", log_deps->nodes[0]->path()); - ASSERT_EQ("bar2.h", log_deps->nodes[1]->path()); -} - -TEST_F(DepsLogTest, LotsOfDeps) { - const int kNumDeps = 100000; // More than 64k. - - State state1; - DepsLog log1; - string err; - EXPECT_TRUE(log1.OpenForWrite(kTestFilename, &err)); - ASSERT_EQ("", err); - - { - vector deps; - for (int i = 0; i < kNumDeps; ++i) { - char buf[32]; - sprintf(buf, "file%d.h", i); - deps.push_back(state1.GetNode(buf, 0)); - } - log1.RecordDeps(state1.GetNode("out.o", 0), 1, deps); - - DepsLog::Deps* log_deps = log1.GetDeps(state1.GetNode("out.o", 0)); - ASSERT_EQ(kNumDeps, log_deps->node_count); - } - - log1.Close(); - - State state2; - DepsLog log2; - EXPECT_TRUE(log2.Load(kTestFilename, &state2, &err)); - ASSERT_EQ("", err); - - DepsLog::Deps* log_deps = log2.GetDeps(state2.GetNode("out.o", 0)); - ASSERT_EQ(kNumDeps, log_deps->node_count); -} - -// Verify that adding the same deps twice doesn't grow the file. -TEST_F(DepsLogTest, DoubleEntry) { - // Write some deps to the file and grab its size. - int file_size; - { - State state; - DepsLog log; - string err; - EXPECT_TRUE(log.OpenForWrite(kTestFilename, &err)); - ASSERT_EQ("", err); - - vector deps; - deps.push_back(state.GetNode("foo.h", 0)); - deps.push_back(state.GetNode("bar.h", 0)); - log.RecordDeps(state.GetNode("out.o", 0), 1, deps); - log.Close(); - - struct stat st; - ASSERT_EQ(0, stat(kTestFilename, &st)); - file_size = (int)st.st_size; - ASSERT_GT(file_size, 0); - } - - // Now reload the file, and readd the same deps. - { - State state; - DepsLog log; - string err; - EXPECT_TRUE(log.Load(kTestFilename, &state, &err)); - - EXPECT_TRUE(log.OpenForWrite(kTestFilename, &err)); - ASSERT_EQ("", err); - - vector deps; - deps.push_back(state.GetNode("foo.h", 0)); - deps.push_back(state.GetNode("bar.h", 0)); - log.RecordDeps(state.GetNode("out.o", 0), 1, deps); - log.Close(); - - struct stat st; - ASSERT_EQ(0, stat(kTestFilename, &st)); - int file_size_2 = (int)st.st_size; - ASSERT_EQ(file_size, file_size_2); - } -} - -// Verify that adding the new deps works and can be compacted away. -TEST_F(DepsLogTest, Recompact) { - const char kManifest[] = -"rule cc\n" -" command = cc\n" -" deps = gcc\n" -"build out.o: cc\n" -"build other_out.o: cc\n"; - - // Write some deps to the file and grab its size. - int file_size; - { - State state; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, kManifest)); - DepsLog log; - string err; - ASSERT_TRUE(log.OpenForWrite(kTestFilename, &err)); - ASSERT_EQ("", err); - - vector deps; - deps.push_back(state.GetNode("foo.h", 0)); - deps.push_back(state.GetNode("bar.h", 0)); - log.RecordDeps(state.GetNode("out.o", 0), 1, deps); - - deps.clear(); - deps.push_back(state.GetNode("foo.h", 0)); - deps.push_back(state.GetNode("baz.h", 0)); - log.RecordDeps(state.GetNode("other_out.o", 0), 1, deps); - - log.Close(); - - struct stat st; - ASSERT_EQ(0, stat(kTestFilename, &st)); - file_size = (int)st.st_size; - ASSERT_GT(file_size, 0); - } - - // Now reload the file, and add slighly different deps. - int file_size_2; - { - State state; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, kManifest)); - DepsLog log; - string err; - ASSERT_TRUE(log.Load(kTestFilename, &state, &err)); - - ASSERT_TRUE(log.OpenForWrite(kTestFilename, &err)); - ASSERT_EQ("", err); - - vector deps; - deps.push_back(state.GetNode("foo.h", 0)); - log.RecordDeps(state.GetNode("out.o", 0), 1, deps); - log.Close(); - - struct stat st; - ASSERT_EQ(0, stat(kTestFilename, &st)); - file_size_2 = (int)st.st_size; - // The file should grow to record the new deps. - ASSERT_GT(file_size_2, file_size); - } - - // Now reload the file, verify the new deps have replaced the old, then - // recompact. - int file_size_3; - { - State state; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state, kManifest)); - DepsLog log; - string err; - ASSERT_TRUE(log.Load(kTestFilename, &state, &err)); - - Node* out = state.GetNode("out.o", 0); - DepsLog::Deps* deps = log.GetDeps(out); - ASSERT_TRUE(deps); - ASSERT_EQ(1, deps->mtime); - ASSERT_EQ(1, deps->node_count); - ASSERT_EQ("foo.h", deps->nodes[0]->path()); - - Node* other_out = state.GetNode("other_out.o", 0); - deps = log.GetDeps(other_out); - ASSERT_TRUE(deps); - ASSERT_EQ(1, deps->mtime); - ASSERT_EQ(2, deps->node_count); - ASSERT_EQ("foo.h", deps->nodes[0]->path()); - ASSERT_EQ("baz.h", deps->nodes[1]->path()); - - ASSERT_TRUE(log.Recompact(kTestFilename, &err)); - - // The in-memory deps graph should still be valid after recompaction. - deps = log.GetDeps(out); - ASSERT_TRUE(deps); - ASSERT_EQ(1, deps->mtime); - ASSERT_EQ(1, deps->node_count); - ASSERT_EQ("foo.h", deps->nodes[0]->path()); - ASSERT_EQ(out, log.nodes()[out->id()]); - - deps = log.GetDeps(other_out); - ASSERT_TRUE(deps); - ASSERT_EQ(1, deps->mtime); - ASSERT_EQ(2, deps->node_count); - ASSERT_EQ("foo.h", deps->nodes[0]->path()); - ASSERT_EQ("baz.h", deps->nodes[1]->path()); - ASSERT_EQ(other_out, log.nodes()[other_out->id()]); - - // The file should have shrunk a bit for the smaller deps. - struct stat st; - ASSERT_EQ(0, stat(kTestFilename, &st)); - file_size_3 = (int)st.st_size; - ASSERT_LT(file_size_3, file_size_2); - } - - // Now reload the file and recompact with an empty manifest. The previous - // entries should be removed. - { - State state; - // Intentionally not parsing kManifest here. - DepsLog log; - string err; - ASSERT_TRUE(log.Load(kTestFilename, &state, &err)); - - Node* out = state.GetNode("out.o", 0); - DepsLog::Deps* deps = log.GetDeps(out); - ASSERT_TRUE(deps); - ASSERT_EQ(1, deps->mtime); - ASSERT_EQ(1, deps->node_count); - ASSERT_EQ("foo.h", deps->nodes[0]->path()); - - Node* other_out = state.GetNode("other_out.o", 0); - deps = log.GetDeps(other_out); - ASSERT_TRUE(deps); - ASSERT_EQ(1, deps->mtime); - ASSERT_EQ(2, deps->node_count); - ASSERT_EQ("foo.h", deps->nodes[0]->path()); - ASSERT_EQ("baz.h", deps->nodes[1]->path()); - - ASSERT_TRUE(log.Recompact(kTestFilename, &err)); - - // The previous entries should have been removed. - deps = log.GetDeps(out); - ASSERT_FALSE(deps); - - deps = log.GetDeps(other_out); - ASSERT_FALSE(deps); - - // The .h files pulled in via deps should no longer have ids either. - ASSERT_EQ(-1, state.LookupNode("foo.h")->id()); - ASSERT_EQ(-1, state.LookupNode("baz.h")->id()); - - // The file should have shrunk more. - struct stat st; - ASSERT_EQ(0, stat(kTestFilename, &st)); - int file_size_4 = (int)st.st_size; - ASSERT_LT(file_size_4, file_size_3); - } -} - -// Verify that invalid file headers cause a new build. -TEST_F(DepsLogTest, InvalidHeader) { - const char *kInvalidHeaders[] = { - "", // Empty file. - "# ninjad", // Truncated first line. - "# ninjadeps\n", // No version int. - "# ninjadeps\n\001\002", // Truncated version int. - "# ninjadeps\n\001\002\003\004" // Invalid version int. - }; - for (size_t i = 0; i < sizeof(kInvalidHeaders) / sizeof(kInvalidHeaders[0]); - ++i) { - FILE* deps_log = fopen(kTestFilename, "wb"); - ASSERT_TRUE(deps_log != NULL); - ASSERT_EQ( - strlen(kInvalidHeaders[i]), - fwrite(kInvalidHeaders[i], 1, strlen(kInvalidHeaders[i]), deps_log)); - ASSERT_EQ(0 ,fclose(deps_log)); - - string err; - DepsLog log; - State state; - ASSERT_TRUE(log.Load(kTestFilename, &state, &err)); - EXPECT_EQ("bad deps log signature or version; starting over", err); - } -} - -// Simulate what happens when loading a truncated log file. -TEST_F(DepsLogTest, Truncated) { - // Create a file with some entries. - { - State state; - DepsLog log; - string err; - EXPECT_TRUE(log.OpenForWrite(kTestFilename, &err)); - ASSERT_EQ("", err); - - vector deps; - deps.push_back(state.GetNode("foo.h", 0)); - deps.push_back(state.GetNode("bar.h", 0)); - log.RecordDeps(state.GetNode("out.o", 0), 1, deps); - - deps.clear(); - deps.push_back(state.GetNode("foo.h", 0)); - deps.push_back(state.GetNode("bar2.h", 0)); - log.RecordDeps(state.GetNode("out2.o", 0), 2, deps); - - log.Close(); - } - - // Get the file size. - struct stat st; - ASSERT_EQ(0, stat(kTestFilename, &st)); - - // Try reloading at truncated sizes. - // Track how many nodes/deps were found; they should decrease with - // smaller sizes. - int node_count = 5; - int deps_count = 2; - for (int size = (int)st.st_size; size > 0; --size) { - string err; - ASSERT_TRUE(Truncate(kTestFilename, size, &err)); - - State state; - DepsLog log; - EXPECT_TRUE(log.Load(kTestFilename, &state, &err)); - if (!err.empty()) { - // At some point the log will be so short as to be unparseable. - break; - } - - ASSERT_GE(node_count, (int)log.nodes().size()); - node_count = log.nodes().size(); - - // Count how many non-NULL deps entries there are. - int new_deps_count = 0; - for (vector::const_iterator i = log.deps().begin(); - i != log.deps().end(); ++i) { - if (*i) - ++new_deps_count; - } - ASSERT_GE(deps_count, new_deps_count); - deps_count = new_deps_count; - } -} - -// Run the truncation-recovery logic. -TEST_F(DepsLogTest, TruncatedRecovery) { - // Create a file with some entries. - { - State state; - DepsLog log; - string err; - EXPECT_TRUE(log.OpenForWrite(kTestFilename, &err)); - ASSERT_EQ("", err); - - vector deps; - deps.push_back(state.GetNode("foo.h", 0)); - deps.push_back(state.GetNode("bar.h", 0)); - log.RecordDeps(state.GetNode("out.o", 0), 1, deps); - - deps.clear(); - deps.push_back(state.GetNode("foo.h", 0)); - deps.push_back(state.GetNode("bar2.h", 0)); - log.RecordDeps(state.GetNode("out2.o", 0), 2, deps); - - log.Close(); - } - - // Shorten the file, corrupting the last record. - { - struct stat st; - ASSERT_EQ(0, stat(kTestFilename, &st)); - string err; - ASSERT_TRUE(Truncate(kTestFilename, st.st_size - 2, &err)); - } - - // Load the file again, add an entry. - { - State state; - DepsLog log; - string err; - EXPECT_TRUE(log.Load(kTestFilename, &state, &err)); - ASSERT_EQ("premature end of file; recovering", err); - err.clear(); - - // The truncated entry should've been discarded. - EXPECT_EQ(NULL, log.GetDeps(state.GetNode("out2.o", 0))); - - EXPECT_TRUE(log.OpenForWrite(kTestFilename, &err)); - ASSERT_EQ("", err); - - // Add a new entry. - vector deps; - deps.push_back(state.GetNode("foo.h", 0)); - deps.push_back(state.GetNode("bar2.h", 0)); - log.RecordDeps(state.GetNode("out2.o", 0), 3, deps); - - log.Close(); - } - - // Load the file a third time to verify appending after a mangled - // entry doesn't break things. - { - State state; - DepsLog log; - string err; - EXPECT_TRUE(log.Load(kTestFilename, &state, &err)); - - // The truncated entry should exist. - DepsLog::Deps* deps = log.GetDeps(state.GetNode("out2.o", 0)); - ASSERT_TRUE(deps); - } -} - -} // anonymous namespace diff --git a/vendor/ninja/src/disk_interface.cc b/vendor/ninja/src/disk_interface.cc deleted file mode 100644 index 28530b19d..000000000 --- a/vendor/ninja/src/disk_interface.cc +++ /dev/null @@ -1,264 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "disk_interface.h" - -#include - -#include -#include -#include -#include -#include - -#ifdef _WIN32 -#include -#include -#include // _mkdir -#endif - -#include "metrics.h" -#include "util.h" - -namespace { - -string DirName(const string& path) { -#ifdef _WIN32 - const char kPathSeparators[] = "\\/"; -#else - const char kPathSeparators[] = "/"; -#endif - string::size_type slash_pos = path.find_last_of(kPathSeparators); - if (slash_pos == string::npos) - return string(); // Nothing to do. - const char* const kEnd = kPathSeparators + strlen(kPathSeparators); - while (slash_pos > 0 && - std::find(kPathSeparators, kEnd, path[slash_pos - 1]) != kEnd) - --slash_pos; - return path.substr(0, slash_pos); -} - -int MakeDir(const string& path) { -#ifdef _WIN32 - return _mkdir(path.c_str()); -#else - return mkdir(path.c_str(), 0777); -#endif -} - -#ifdef _WIN32 -TimeStamp TimeStampFromFileTime(const FILETIME& filetime) { - // FILETIME is in 100-nanosecond increments since the Windows epoch. - // We don't much care about epoch correctness but we do want the - // resulting value to fit in an integer. - uint64_t mtime = ((uint64_t)filetime.dwHighDateTime << 32) | - ((uint64_t)filetime.dwLowDateTime); - mtime /= 1000000000LL / 100; // 100ns -> s. - mtime -= 12622770400LL; // 1600 epoch -> 2000 epoch (subtract 400 years). - return (TimeStamp)mtime; -} - -TimeStamp StatSingleFile(const string& path, string* err) { - WIN32_FILE_ATTRIBUTE_DATA attrs; - if (!GetFileAttributesEx(path.c_str(), GetFileExInfoStandard, &attrs)) { - DWORD win_err = GetLastError(); - if (win_err == ERROR_FILE_NOT_FOUND || win_err == ERROR_PATH_NOT_FOUND) - return 0; - *err = "GetFileAttributesEx(" + path + "): " + GetLastErrorString(); - return -1; - } - return TimeStampFromFileTime(attrs.ftLastWriteTime); -} - -bool IsWindows7OrLater() { - OSVERSIONINFOEX version_info = - { sizeof(OSVERSIONINFOEX), 6, 1, 0, 0, {0}, 0, 0, 0, 0, 0}; - DWORDLONG comparison = 0; - VER_SET_CONDITION(comparison, VER_MAJORVERSION, VER_GREATER_EQUAL); - VER_SET_CONDITION(comparison, VER_MINORVERSION, VER_GREATER_EQUAL); - return VerifyVersionInfo( - &version_info, VER_MAJORVERSION | VER_MINORVERSION, comparison); -} - -bool StatAllFilesInDir(const string& dir, map* stamps, - string* err) { - // FindExInfoBasic is 30% faster than FindExInfoStandard. - static bool can_use_basic_info = IsWindows7OrLater(); - // This is not in earlier SDKs. - const FINDEX_INFO_LEVELS kFindExInfoBasic = - static_cast(1); - FINDEX_INFO_LEVELS level = - can_use_basic_info ? kFindExInfoBasic : FindExInfoStandard; - WIN32_FIND_DATAA ffd; - HANDLE find_handle = FindFirstFileExA((dir + "\\*").c_str(), level, &ffd, - FindExSearchNameMatch, NULL, 0); - - if (find_handle == INVALID_HANDLE_VALUE) { - DWORD win_err = GetLastError(); - if (win_err == ERROR_FILE_NOT_FOUND || win_err == ERROR_PATH_NOT_FOUND) - return true; - *err = "FindFirstFileExA(" + dir + "): " + GetLastErrorString(); - return false; - } - do { - string lowername = ffd.cFileName; - transform(lowername.begin(), lowername.end(), lowername.begin(), ::tolower); - stamps->insert(make_pair(lowername, - TimeStampFromFileTime(ffd.ftLastWriteTime))); - } while (FindNextFileA(find_handle, &ffd)); - FindClose(find_handle); - return true; -} -#endif // _WIN32 - -} // namespace - -// DiskInterface --------------------------------------------------------------- - -bool DiskInterface::MakeDirs(const string& path) { - string dir = DirName(path); - if (dir.empty()) - return true; // Reached root; assume it's there. - string err; - TimeStamp mtime = Stat(dir, &err); - if (mtime < 0) { - Error("%s", err.c_str()); - return false; - } - if (mtime > 0) - return true; // Exists already; we're done. - - // Directory doesn't exist. Try creating its parent first. - bool success = MakeDirs(dir); - if (!success) - return false; - return MakeDir(dir); -} - -// RealDiskInterface ----------------------------------------------------------- - -TimeStamp RealDiskInterface::Stat(const string& path, string* err) const { - METRIC_RECORD("node stat"); -#ifdef _WIN32 - // MSDN: "Naming Files, Paths, and Namespaces" - // http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx - if (!path.empty() && path[0] != '\\' && path.size() > MAX_PATH) { - ostringstream err_stream; - err_stream << "Stat(" << path << "): Filename longer than " << MAX_PATH - << " characters"; - *err = err_stream.str(); - return -1; - } - if (!use_cache_) - return StatSingleFile(path, err); - - string dir = DirName(path); - string base(path.substr(dir.size() ? dir.size() + 1 : 0)); - - transform(dir.begin(), dir.end(), dir.begin(), ::tolower); - transform(base.begin(), base.end(), base.begin(), ::tolower); - - Cache::iterator ci = cache_.find(dir); - if (ci == cache_.end()) { - ci = cache_.insert(make_pair(dir, DirCache())).first; - if (!StatAllFilesInDir(dir.empty() ? "." : dir, &ci->second, err)) { - cache_.erase(ci); - return -1; - } - } - DirCache::iterator di = ci->second.find(base); - return di != ci->second.end() ? di->second : 0; -#else - struct stat st; - if (stat(path.c_str(), &st) < 0) { - if (errno == ENOENT || errno == ENOTDIR) - return 0; - *err = "stat(" + path + "): " + strerror(errno); - return -1; - } - // Some users (Flatpak) set mtime to 0, this should be harmless - // and avoids conflicting with our return value of 0 meaning - // that it doesn't exist. - if (st.st_mtime == 0) - return 1; - return st.st_mtime; -#endif -} - -bool RealDiskInterface::WriteFile(const string& path, const string& contents) { - FILE* fp = fopen(path.c_str(), "w"); - if (fp == NULL) { - Error("WriteFile(%s): Unable to create file. %s", - path.c_str(), strerror(errno)); - return false; - } - - if (fwrite(contents.data(), 1, contents.length(), fp) < contents.length()) { - Error("WriteFile(%s): Unable to write to the file. %s", - path.c_str(), strerror(errno)); - fclose(fp); - return false; - } - - if (fclose(fp) == EOF) { - Error("WriteFile(%s): Unable to close the file. %s", - path.c_str(), strerror(errno)); - return false; - } - - return true; -} - -bool RealDiskInterface::MakeDir(const string& path) { - if (::MakeDir(path) < 0) { - if (errno == EEXIST) { - return true; - } - Error("mkdir(%s): %s", path.c_str(), strerror(errno)); - return false; - } - return true; -} - -FileReader::Status RealDiskInterface::ReadFile(const string& path, - string* contents, - string* err) { - switch (::ReadFile(path, contents, err)) { - case 0: return Okay; - case -ENOENT: return NotFound; - default: return OtherError; - } -} - -int RealDiskInterface::RemoveFile(const string& path) { - if (remove(path.c_str()) < 0) { - switch (errno) { - case ENOENT: - return 1; - default: - Error("remove(%s): %s", path.c_str(), strerror(errno)); - return -1; - } - } else { - return 0; - } -} - -void RealDiskInterface::AllowStatCache(bool allow) { -#ifdef _WIN32 - use_cache_ = allow; - if (!use_cache_) - cache_.clear(); -#endif -} diff --git a/vendor/ninja/src/disk_interface.h b/vendor/ninja/src/disk_interface.h deleted file mode 100644 index 145e0892f..000000000 --- a/vendor/ninja/src/disk_interface.h +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_DISK_INTERFACE_H_ -#define NINJA_DISK_INTERFACE_H_ - -#include -#include -using namespace std; - -#include "timestamp.h" - -/// Interface for reading files from disk. See DiskInterface for details. -/// This base offers the minimum interface needed just to read files. -struct FileReader { - virtual ~FileReader() {} - - /// Result of ReadFile. - enum Status { - Okay, - NotFound, - OtherError - }; - - /// Read and store in given string. On success, return Okay. - /// On error, return another Status and fill |err|. - virtual Status ReadFile(const string& path, string* contents, - string* err) = 0; -}; - -/// Interface for accessing the disk. -/// -/// Abstract so it can be mocked out for tests. The real implementation -/// is RealDiskInterface. -struct DiskInterface: public FileReader { - /// stat() a file, returning the mtime, or 0 if missing and -1 on - /// other errors. - virtual TimeStamp Stat(const string& path, string* err) const = 0; - - /// Create a directory, returning false on failure. - virtual bool MakeDir(const string& path) = 0; - - /// Create a file, with the specified name and contents - /// Returns true on success, false on failure - virtual bool WriteFile(const string& path, const string& contents) = 0; - - /// Remove the file named @a path. It behaves like 'rm -f path' so no errors - /// are reported if it does not exists. - /// @returns 0 if the file has been removed, - /// 1 if the file does not exist, and - /// -1 if an error occurs. - virtual int RemoveFile(const string& path) = 0; - - /// Create all the parent directories for path; like mkdir -p - /// `basename path`. - bool MakeDirs(const string& path); -}; - -/// Implementation of DiskInterface that actually hits the disk. -struct RealDiskInterface : public DiskInterface { - RealDiskInterface() -#ifdef _WIN32 - : use_cache_(false) -#endif - {} - virtual ~RealDiskInterface() {} - virtual TimeStamp Stat(const string& path, string* err) const; - virtual bool MakeDir(const string& path); - virtual bool WriteFile(const string& path, const string& contents); - virtual Status ReadFile(const string& path, string* contents, string* err); - virtual int RemoveFile(const string& path); - - /// Whether stat information can be cached. Only has an effect on Windows. - void AllowStatCache(bool allow); - - private: -#ifdef _WIN32 - /// Whether stat information can be cached. - bool use_cache_; - - typedef map DirCache; - // TODO: Neither a map nor a hashmap seems ideal here. If the statcache - // works out, come up with a better data structure. - typedef map Cache; - mutable Cache cache_; -#endif -}; - -#endif // NINJA_DISK_INTERFACE_H_ diff --git a/vendor/ninja/src/disk_interface_test.cc b/vendor/ninja/src/disk_interface_test.cc deleted file mode 100644 index d7fb8f8eb..000000000 --- a/vendor/ninja/src/disk_interface_test.cc +++ /dev/null @@ -1,311 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include -#ifdef _WIN32 -#include -#include -#endif - -#include "disk_interface.h" -#include "graph.h" -#include "test.h" - -namespace { - -struct DiskInterfaceTest : public testing::Test { - virtual void SetUp() { - // These tests do real disk accesses, so create a temp dir. - temp_dir_.CreateAndEnter("Ninja-DiskInterfaceTest"); - } - - virtual void TearDown() { - temp_dir_.Cleanup(); - } - - bool Touch(const char* path) { - FILE *f = fopen(path, "w"); - if (!f) - return false; - return fclose(f) == 0; - } - - ScopedTempDir temp_dir_; - RealDiskInterface disk_; -}; - -TEST_F(DiskInterfaceTest, StatMissingFile) { - string err; - EXPECT_EQ(0, disk_.Stat("nosuchfile", &err)); - EXPECT_EQ("", err); - - // On Windows, the errno for a file in a nonexistent directory - // is different. - EXPECT_EQ(0, disk_.Stat("nosuchdir/nosuchfile", &err)); - EXPECT_EQ("", err); - - // On POSIX systems, the errno is different if a component of the - // path prefix is not a directory. - ASSERT_TRUE(Touch("notadir")); - EXPECT_EQ(0, disk_.Stat("notadir/nosuchfile", &err)); - EXPECT_EQ("", err); -} - -TEST_F(DiskInterfaceTest, StatBadPath) { - string err; -#ifdef _WIN32 - string bad_path("cc:\\foo"); - EXPECT_EQ(-1, disk_.Stat(bad_path, &err)); - EXPECT_NE("", err); -#else - string too_long_name(512, 'x'); - EXPECT_EQ(-1, disk_.Stat(too_long_name, &err)); - EXPECT_NE("", err); -#endif -} - -TEST_F(DiskInterfaceTest, StatExistingFile) { - string err; - ASSERT_TRUE(Touch("file")); - EXPECT_GT(disk_.Stat("file", &err), 1); - EXPECT_EQ("", err); -} - -TEST_F(DiskInterfaceTest, StatExistingDir) { - string err; - ASSERT_TRUE(disk_.MakeDir("subdir")); - ASSERT_TRUE(disk_.MakeDir("subdir/subsubdir")); - EXPECT_GT(disk_.Stat(".", &err), 1); - EXPECT_EQ("", err); - EXPECT_GT(disk_.Stat("subdir", &err), 1); - EXPECT_EQ("", err); - EXPECT_GT(disk_.Stat("subdir/subsubdir", &err), 1); - EXPECT_EQ("", err); - - EXPECT_EQ(disk_.Stat("subdir", &err), - disk_.Stat("subdir/.", &err)); - EXPECT_EQ(disk_.Stat("subdir", &err), - disk_.Stat("subdir/subsubdir/..", &err)); - EXPECT_EQ(disk_.Stat("subdir/subsubdir", &err), - disk_.Stat("subdir/subsubdir/.", &err)); -} - -#ifdef _WIN32 -TEST_F(DiskInterfaceTest, StatCache) { - string err; - disk_.AllowStatCache(true); - - ASSERT_TRUE(Touch("file1")); - ASSERT_TRUE(Touch("fiLE2")); - ASSERT_TRUE(disk_.MakeDir("subdir")); - ASSERT_TRUE(disk_.MakeDir("subdir/subsubdir")); - ASSERT_TRUE(Touch("subdir\\subfile1")); - ASSERT_TRUE(Touch("subdir\\SUBFILE2")); - ASSERT_TRUE(Touch("subdir\\SUBFILE3")); - - EXPECT_GT(disk_.Stat("FIle1", &err), 1); - EXPECT_EQ("", err); - EXPECT_GT(disk_.Stat("file1", &err), 1); - EXPECT_EQ("", err); - - EXPECT_GT(disk_.Stat("subdir/subfile2", &err), 1); - EXPECT_EQ("", err); - EXPECT_GT(disk_.Stat("sUbdir\\suBFile1", &err), 1); - EXPECT_EQ("", err); - - EXPECT_GT(disk_.Stat(".", &err), 1); - EXPECT_EQ("", err); - EXPECT_GT(disk_.Stat("subdir", &err), 1); - EXPECT_EQ("", err); - EXPECT_GT(disk_.Stat("subdir/subsubdir", &err), 1); - EXPECT_EQ("", err); - - EXPECT_EQ(disk_.Stat("subdir", &err), - disk_.Stat("subdir/.", &err)); - EXPECT_EQ("", err); - EXPECT_EQ(disk_.Stat("subdir", &err), - disk_.Stat("subdir/subsubdir/..", &err)); - EXPECT_EQ("", err); - EXPECT_EQ(disk_.Stat("subdir/subsubdir", &err), - disk_.Stat("subdir/subsubdir/.", &err)); - EXPECT_EQ("", err); - - // Test error cases. - string bad_path("cc:\\foo"); - EXPECT_EQ(-1, disk_.Stat(bad_path, &err)); - EXPECT_NE("", err); err.clear(); - EXPECT_EQ(-1, disk_.Stat(bad_path, &err)); - EXPECT_NE("", err); err.clear(); - EXPECT_EQ(0, disk_.Stat("nosuchfile", &err)); - EXPECT_EQ("", err); - EXPECT_EQ(0, disk_.Stat("nosuchdir/nosuchfile", &err)); - EXPECT_EQ("", err); -} -#endif - -TEST_F(DiskInterfaceTest, ReadFile) { - string err; - std::string content; - ASSERT_EQ(DiskInterface::NotFound, - disk_.ReadFile("foobar", &content, &err)); - EXPECT_EQ("", content); - EXPECT_NE("", err); // actual value is platform-specific - err.clear(); - - const char* kTestFile = "testfile"; - FILE* f = fopen(kTestFile, "wb"); - ASSERT_TRUE(f); - const char* kTestContent = "test content\nok"; - fprintf(f, "%s", kTestContent); - ASSERT_EQ(0, fclose(f)); - - ASSERT_EQ(DiskInterface::Okay, - disk_.ReadFile(kTestFile, &content, &err)); - EXPECT_EQ(kTestContent, content); - EXPECT_EQ("", err); -} - -TEST_F(DiskInterfaceTest, MakeDirs) { - string path = "path/with/double//slash/"; - EXPECT_TRUE(disk_.MakeDirs(path.c_str())); - FILE* f = fopen((path + "a_file").c_str(), "w"); - EXPECT_TRUE(f); - EXPECT_EQ(0, fclose(f)); -#ifdef _WIN32 - string path2 = "another\\with\\back\\\\slashes\\"; - EXPECT_TRUE(disk_.MakeDirs(path2.c_str())); - FILE* f2 = fopen((path2 + "a_file").c_str(), "w"); - EXPECT_TRUE(f2); - EXPECT_EQ(0, fclose(f2)); -#endif -} - -TEST_F(DiskInterfaceTest, RemoveFile) { - const char* kFileName = "file-to-remove"; - ASSERT_TRUE(Touch(kFileName)); - EXPECT_EQ(0, disk_.RemoveFile(kFileName)); - EXPECT_EQ(1, disk_.RemoveFile(kFileName)); - EXPECT_EQ(1, disk_.RemoveFile("does not exist")); -} - -struct StatTest : public StateTestWithBuiltinRules, - public DiskInterface { - StatTest() : scan_(&state_, NULL, NULL, this) {} - - // DiskInterface implementation. - virtual TimeStamp Stat(const string& path, string* err) const; - virtual bool WriteFile(const string& path, const string& contents) { - assert(false); - return true; - } - virtual bool MakeDir(const string& path) { - assert(false); - return false; - } - virtual Status ReadFile(const string& path, string* contents, string* err) { - assert(false); - return NotFound; - } - virtual int RemoveFile(const string& path) { - assert(false); - return 0; - } - - DependencyScan scan_; - map mtimes_; - mutable vector stats_; -}; - -TimeStamp StatTest::Stat(const string& path, string* err) const { - stats_.push_back(path); - map::const_iterator i = mtimes_.find(path); - if (i == mtimes_.end()) - return 0; // File not found. - return i->second; -} - -TEST_F(StatTest, Simple) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat in\n")); - - Node* out = GetNode("out"); - string err; - EXPECT_TRUE(out->Stat(this, &err)); - EXPECT_EQ("", err); - ASSERT_EQ(1u, stats_.size()); - scan_.RecomputeDirty(out, NULL); - ASSERT_EQ(2u, stats_.size()); - ASSERT_EQ("out", stats_[0]); - ASSERT_EQ("in", stats_[1]); -} - -TEST_F(StatTest, TwoStep) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat mid\n" -"build mid: cat in\n")); - - Node* out = GetNode("out"); - string err; - EXPECT_TRUE(out->Stat(this, &err)); - EXPECT_EQ("", err); - ASSERT_EQ(1u, stats_.size()); - scan_.RecomputeDirty(out, NULL); - ASSERT_EQ(3u, stats_.size()); - ASSERT_EQ("out", stats_[0]); - ASSERT_TRUE(GetNode("out")->dirty()); - ASSERT_EQ("mid", stats_[1]); - ASSERT_TRUE(GetNode("mid")->dirty()); - ASSERT_EQ("in", stats_[2]); -} - -TEST_F(StatTest, Tree) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat mid1 mid2\n" -"build mid1: cat in11 in12\n" -"build mid2: cat in21 in22\n")); - - Node* out = GetNode("out"); - string err; - EXPECT_TRUE(out->Stat(this, &err)); - EXPECT_EQ("", err); - ASSERT_EQ(1u, stats_.size()); - scan_.RecomputeDirty(out, NULL); - ASSERT_EQ(1u + 6u, stats_.size()); - ASSERT_EQ("mid1", stats_[1]); - ASSERT_TRUE(GetNode("mid1")->dirty()); - ASSERT_EQ("in11", stats_[2]); -} - -TEST_F(StatTest, Middle) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat mid\n" -"build mid: cat in\n")); - - mtimes_["in"] = 1; - mtimes_["mid"] = 0; // missing - mtimes_["out"] = 1; - - Node* out = GetNode("out"); - string err; - EXPECT_TRUE(out->Stat(this, &err)); - EXPECT_EQ("", err); - ASSERT_EQ(1u, stats_.size()); - scan_.RecomputeDirty(out, NULL); - ASSERT_FALSE(GetNode("in")->dirty()); - ASSERT_TRUE(GetNode("mid")->dirty()); - ASSERT_TRUE(GetNode("out")->dirty()); -} - -} // namespace diff --git a/vendor/ninja/src/edit_distance.cc b/vendor/ninja/src/edit_distance.cc deleted file mode 100644 index 3bb62b858..000000000 --- a/vendor/ninja/src/edit_distance.cc +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "edit_distance.h" - -#include -#include - -int EditDistance(const StringPiece& s1, - const StringPiece& s2, - bool allow_replacements, - int max_edit_distance) { - // The algorithm implemented below is the "classic" - // dynamic-programming algorithm for computing the Levenshtein - // distance, which is described here: - // - // http://en.wikipedia.org/wiki/Levenshtein_distance - // - // Although the algorithm is typically described using an m x n - // array, only one row plus one element are used at a time, so this - // implementation just keeps one vector for the row. To update one entry, - // only the entries to the left, top, and top-left are needed. The left - // entry is in row[x-1], the top entry is what's in row[x] from the last - // iteration, and the top-left entry is stored in previous. - int m = s1.len_; - int n = s2.len_; - - vector row(n + 1); - for (int i = 1; i <= n; ++i) - row[i] = i; - - for (int y = 1; y <= m; ++y) { - row[0] = y; - int best_this_row = row[0]; - - int previous = y - 1; - for (int x = 1; x <= n; ++x) { - int old_row = row[x]; - if (allow_replacements) { - row[x] = min(previous + (s1.str_[y - 1] == s2.str_[x - 1] ? 0 : 1), - min(row[x - 1], row[x]) + 1); - } - else { - if (s1.str_[y - 1] == s2.str_[x - 1]) - row[x] = previous; - else - row[x] = min(row[x - 1], row[x]) + 1; - } - previous = old_row; - best_this_row = min(best_this_row, row[x]); - } - - if (max_edit_distance && best_this_row > max_edit_distance) - return max_edit_distance + 1; - } - - return row[n]; -} diff --git a/vendor/ninja/src/edit_distance.h b/vendor/ninja/src/edit_distance.h deleted file mode 100644 index 45ae4aecd..000000000 --- a/vendor/ninja/src/edit_distance.h +++ /dev/null @@ -1,25 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_EDIT_DISTANCE_H_ -#define NINJA_EDIT_DISTANCE_H_ - -#include "string_piece.h" - -int EditDistance(const StringPiece& s1, - const StringPiece& s2, - bool allow_replacements = true, - int max_edit_distance = 0); - -#endif // NINJA_EDIT_DISTANCE_H_ diff --git a/vendor/ninja/src/edit_distance_test.cc b/vendor/ninja/src/edit_distance_test.cc deleted file mode 100644 index 9dc0f827a..000000000 --- a/vendor/ninja/src/edit_distance_test.cc +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "edit_distance.h" - -#include "test.h" - -TEST(EditDistanceTest, TestEmpty) { - EXPECT_EQ(5, EditDistance("", "ninja")); - EXPECT_EQ(5, EditDistance("ninja", "")); - EXPECT_EQ(0, EditDistance("", "")); -} - -TEST(EditDistanceTest, TestMaxDistance) { - const bool allow_replacements = true; - for (int max_distance = 1; max_distance < 7; ++max_distance) { - EXPECT_EQ(max_distance + 1, - EditDistance("abcdefghijklmnop", "ponmlkjihgfedcba", - allow_replacements, max_distance)); - } -} - -TEST(EditDistanceTest, TestAllowReplacements) { - bool allow_replacements = true; - EXPECT_EQ(1, EditDistance("ninja", "njnja", allow_replacements)); - EXPECT_EQ(1, EditDistance("njnja", "ninja", allow_replacements)); - - allow_replacements = false; - EXPECT_EQ(2, EditDistance("ninja", "njnja", allow_replacements)); - EXPECT_EQ(2, EditDistance("njnja", "ninja", allow_replacements)); -} - -TEST(EditDistanceTest, TestBasics) { - EXPECT_EQ(0, EditDistance("browser_tests", "browser_tests")); - EXPECT_EQ(1, EditDistance("browser_test", "browser_tests")); - EXPECT_EQ(1, EditDistance("browser_tests", "browser_test")); -} diff --git a/vendor/ninja/src/eval_env.cc b/vendor/ninja/src/eval_env.cc deleted file mode 100644 index 8817a8732..000000000 --- a/vendor/ninja/src/eval_env.cc +++ /dev/null @@ -1,132 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include - -#include "eval_env.h" - -string BindingEnv::LookupVariable(const string& var) { - map::iterator i = bindings_.find(var); - if (i != bindings_.end()) - return i->second; - if (parent_) - return parent_->LookupVariable(var); - return ""; -} - -void BindingEnv::AddBinding(const string& key, const string& val) { - bindings_[key] = val; -} - -void BindingEnv::AddRule(const Rule* rule) { - assert(LookupRuleCurrentScope(rule->name()) == NULL); - rules_[rule->name()] = rule; -} - -const Rule* BindingEnv::LookupRuleCurrentScope(const string& rule_name) { - map::iterator i = rules_.find(rule_name); - if (i == rules_.end()) - return NULL; - return i->second; -} - -const Rule* BindingEnv::LookupRule(const string& rule_name) { - map::iterator i = rules_.find(rule_name); - if (i != rules_.end()) - return i->second; - if (parent_) - return parent_->LookupRule(rule_name); - return NULL; -} - -void Rule::AddBinding(const string& key, const EvalString& val) { - bindings_[key] = val; -} - -const EvalString* Rule::GetBinding(const string& key) const { - Bindings::const_iterator i = bindings_.find(key); - if (i == bindings_.end()) - return NULL; - return &i->second; -} - -// static -bool Rule::IsReservedBinding(const string& var) { - return var == "command" || - var == "depfile" || - var == "description" || - var == "deps" || - var == "generator" || - var == "pool" || - var == "restat" || - var == "rspfile" || - var == "rspfile_content" || - var == "msvc_deps_prefix"; -} - -const map& BindingEnv::GetRules() const { - return rules_; -} - -string BindingEnv::LookupWithFallback(const string& var, - const EvalString* eval, - Env* env) { - map::iterator i = bindings_.find(var); - if (i != bindings_.end()) - return i->second; - - if (eval) - return eval->Evaluate(env); - - if (parent_) - return parent_->LookupVariable(var); - - return ""; -} - -string EvalString::Evaluate(Env* env) const { - string result; - for (TokenList::const_iterator i = parsed_.begin(); i != parsed_.end(); ++i) { - if (i->second == RAW) - result.append(i->first); - else - result.append(env->LookupVariable(i->first)); - } - return result; -} - -void EvalString::AddText(StringPiece text) { - // Add it to the end of an existing RAW token if possible. - if (!parsed_.empty() && parsed_.back().second == RAW) { - parsed_.back().first.append(text.str_, text.len_); - } else { - parsed_.push_back(make_pair(text.AsString(), RAW)); - } -} -void EvalString::AddSpecial(StringPiece text) { - parsed_.push_back(make_pair(text.AsString(), SPECIAL)); -} - -string EvalString::Serialize() const { - string result; - for (TokenList::const_iterator i = parsed_.begin(); - i != parsed_.end(); ++i) { - result.append("["); - if (i->second == SPECIAL) - result.append("$"); - result.append(i->first); - result.append("]"); - } - return result; -} diff --git a/vendor/ninja/src/eval_env.h b/vendor/ninja/src/eval_env.h deleted file mode 100644 index 999ce42d1..000000000 --- a/vendor/ninja/src/eval_env.h +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_EVAL_ENV_H_ -#define NINJA_EVAL_ENV_H_ - -#include -#include -#include -using namespace std; - -#include "string_piece.h" - -struct Rule; - -/// An interface for a scope for variable (e.g. "$foo") lookups. -struct Env { - virtual ~Env() {} - virtual string LookupVariable(const string& var) = 0; -}; - -/// A tokenized string that contains variable references. -/// Can be evaluated relative to an Env. -struct EvalString { - string Evaluate(Env* env) const; - - void Clear() { parsed_.clear(); } - bool empty() const { return parsed_.empty(); } - - void AddText(StringPiece text); - void AddSpecial(StringPiece text); - - /// Construct a human-readable representation of the parsed state, - /// for use in tests. - string Serialize() const; - -private: - enum TokenType { RAW, SPECIAL }; - typedef vector > TokenList; - TokenList parsed_; -}; - -/// An invokable build command and associated metadata (description, etc.). -struct Rule { - explicit Rule(const string& name) : name_(name) {} - - const string& name() const { return name_; } - - void AddBinding(const string& key, const EvalString& val); - - static bool IsReservedBinding(const string& var); - - const EvalString* GetBinding(const string& key) const; - - private: - // Allow the parsers to reach into this object and fill out its fields. - friend struct ManifestParser; - - string name_; - typedef map Bindings; - Bindings bindings_; -}; - -/// An Env which contains a mapping of variables to values -/// as well as a pointer to a parent scope. -struct BindingEnv : public Env { - BindingEnv() : parent_(NULL) {} - explicit BindingEnv(BindingEnv* parent) : parent_(parent) {} - - virtual ~BindingEnv() {} - virtual string LookupVariable(const string& var); - - void AddRule(const Rule* rule); - const Rule* LookupRule(const string& rule_name); - const Rule* LookupRuleCurrentScope(const string& rule_name); - const map& GetRules() const; - - void AddBinding(const string& key, const string& val); - - /// This is tricky. Edges want lookup scope to go in this order: - /// 1) value set on edge itself (edge_->env_) - /// 2) value set on rule, with expansion in the edge's scope - /// 3) value set on enclosing scope of edge (edge_->env_->parent_) - /// This function takes as parameters the necessary info to do (2). - string LookupWithFallback(const string& var, const EvalString* eval, - Env* env); - -private: - map bindings_; - map rules_; - BindingEnv* parent_; -}; - -#endif // NINJA_EVAL_ENV_H_ diff --git a/vendor/ninja/src/exit_status.h b/vendor/ninja/src/exit_status.h deleted file mode 100644 index a714ece79..000000000 --- a/vendor/ninja/src/exit_status.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_EXIT_STATUS_H_ -#define NINJA_EXIT_STATUS_H_ - -enum ExitStatus { - ExitSuccess, - ExitFailure, - ExitInterrupted -}; - -#endif // NINJA_EXIT_STATUS_H_ diff --git a/vendor/ninja/src/gen_doxygen_mainpage.sh b/vendor/ninja/src/gen_doxygen_mainpage.sh deleted file mode 100755 index d1599477e..000000000 --- a/vendor/ninja/src/gen_doxygen_mainpage.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/sh - -# Copyright 2011 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -o errexit -set -o nounset - -STATUS=0 - -# Print each of its arguments on stderr (one per line) prefixed by the -# basename of this script. -stderr() -{ - local me=$(basename "$0") - local i - for i - do - echo >&2 "$me: $i" - done -} - -# Print each of its arguments on stderr (one per line) prefixed by the -# basename of this script and 'error'. -error() -{ - local i - for i - do - stderr "error: $i" - done - STATUS=1 -} - -generate_header() -{ - cat <&2 "usage: $0 inputs..." - exit 1 -fi - -generate_header -for i in "$@" -do - include_file "$i" -done -generate_footer - -exit $STATUS diff --git a/vendor/ninja/src/getopt.c b/vendor/ninja/src/getopt.c deleted file mode 100644 index 0c2ef356e..000000000 --- a/vendor/ninja/src/getopt.c +++ /dev/null @@ -1,410 +0,0 @@ -/**************************************************************************** - -getopt.c - Read command line options - -AUTHOR: Gregory Pietsch -CREATED Fri Jan 10 21:13:05 1997 - -DESCRIPTION: - -The getopt() function parses the command line arguments. Its arguments argc -and argv are the argument count and array as passed to the main() function -on program invocation. The argument optstring is a list of available option -characters. If such a character is followed by a colon (`:'), the option -takes an argument, which is placed in optarg. If such a character is -followed by two colons, the option takes an optional argument, which is -placed in optarg. If the option does not take an argument, optarg is NULL. - -The external variable optind is the index of the next array element of argv -to be processed; it communicates from one call to the next which element to -process. - -The getopt_long() function works like getopt() except that it also accepts -long options started by two dashes `--'. If these take values, it is either -in the form - ---arg=value - - or - ---arg value - -It takes the additional arguments longopts which is a pointer to the first -element of an array of type GETOPT_LONG_OPTION_T. The last element of the -array has to be filled with NULL for the name field. - -The longind pointer points to the index of the current long option relative -to longopts if it is non-NULL. - -The getopt() function returns the option character if the option was found -successfully, `:' if there was a missing parameter for one of the options, -`?' for an unknown option character, and EOF for the end of the option list. - -The getopt_long() function's return value is described in the header file. - -The function getopt_long_only() is identical to getopt_long(), except that a -plus sign `+' can introduce long options as well as `--'. - -The following describes how to deal with options that follow non-option -argv-elements. - -If the caller did not specify anything, the default is REQUIRE_ORDER if the -environment variable POSIXLY_CORRECT is defined, PERMUTE otherwise. - -REQUIRE_ORDER means don't recognize them as options; stop option processing -when the first non-option is seen. This is what Unix does. This mode of -operation is selected by either setting the environment variable -POSIXLY_CORRECT, or using `+' as the first character of the optstring -parameter. - -PERMUTE is the default. We permute the contents of ARGV as we scan, so that -eventually all the non-options are at the end. This allows options to be -given in any order, even with programs that were not written to expect this. - -RETURN_IN_ORDER is an option available to programs that were written to -expect options and other argv-elements in any order and that care about the -ordering of the two. We describe each non-option argv-element as if it were -the argument of an option with character code 1. Using `-' as the first -character of the optstring parameter selects this mode of operation. - -The special argument `--' forces an end of option-scanning regardless of the -value of ordering. In the case of RETURN_IN_ORDER, only `--' can cause -getopt() and friends to return EOF with optind != argc. - -COPYRIGHT NOTICE AND DISCLAIMER: - -Copyright (C) 1997 Gregory Pietsch - -This file and the accompanying getopt.h header file are hereby placed in the -public domain without restrictions. Just give the author credit, don't -claim you wrote it or prevent anyone else from using it. - -Gregory Pietsch's current e-mail address: -gpietsch@comcast.net -****************************************************************************/ - -/* include files */ -#include -#include -#include -#ifndef GETOPT_H -#include "getopt.h" -#endif - -/* macros */ - -/* types */ -typedef enum GETOPT_ORDERING_T -{ - PERMUTE, - RETURN_IN_ORDER, - REQUIRE_ORDER -} GETOPT_ORDERING_T; - -/* globally-defined variables */ -char *optarg = NULL; -int optind = 0; -int opterr = 1; -int optopt = '?'; - -/* functions */ - -/* reverse_argv_elements: reverses num elements starting at argv */ -static void -reverse_argv_elements (char **argv, int num) -{ - int i; - char *tmp; - - for (i = 0; i < (num >> 1); i++) - { - tmp = argv[i]; - argv[i] = argv[num - i - 1]; - argv[num - i - 1] = tmp; - } -} - -/* permute: swap two blocks of argv-elements given their lengths */ -static void -permute (char **argv, int len1, int len2) -{ - reverse_argv_elements (argv, len1); - reverse_argv_elements (argv, len1 + len2); - reverse_argv_elements (argv, len2); -} - -/* is_option: is this argv-element an option or the end of the option list? */ -static int -is_option (char *argv_element, int only) -{ - return ((argv_element == NULL) - || (argv_element[0] == '-') || (only && argv_element[0] == '+')); -} - -/* getopt_internal: the function that does all the dirty work */ -static int -getopt_internal (int argc, char **argv, char *shortopts, - GETOPT_LONG_OPTION_T * longopts, int *longind, int only) -{ - GETOPT_ORDERING_T ordering = PERMUTE; - static size_t optwhere = 0; - size_t permute_from = 0; - int num_nonopts = 0; - int optindex = 0; - size_t match_chars = 0; - char *possible_arg = NULL; - int longopt_match = -1; - int has_arg = -1; - char *cp = NULL; - int arg_next = 0; - - /* first, deal with silly parameters and easy stuff */ - if (argc == 0 || argv == NULL || (shortopts == NULL && longopts == NULL)) - return (optopt = '?'); - if (optind >= argc || argv[optind] == NULL) - return EOF; - if (strcmp (argv[optind], "--") == 0) - { - optind++; - return EOF; - } - /* if this is our first time through */ - if (optind == 0) - optind = optwhere = 1; - - /* define ordering */ - if (shortopts != NULL && (*shortopts == '-' || *shortopts == '+')) - { - ordering = (*shortopts == '-') ? RETURN_IN_ORDER : REQUIRE_ORDER; - shortopts++; - } - else - ordering = (getenv ("POSIXLY_CORRECT") != NULL) ? REQUIRE_ORDER : PERMUTE; - - /* - * based on ordering, find our next option, if we're at the beginning of - * one - */ - if (optwhere == 1) - { - switch (ordering) - { - case PERMUTE: - permute_from = optind; - num_nonopts = 0; - while (!is_option (argv[optind], only)) - { - optind++; - num_nonopts++; - } - if (argv[optind] == NULL) - { - /* no more options */ - optind = permute_from; - return EOF; - } - else if (strcmp (argv[optind], "--") == 0) - { - /* no more options, but have to get `--' out of the way */ - permute (argv + permute_from, num_nonopts, 1); - optind = permute_from + 1; - return EOF; - } - break; - case RETURN_IN_ORDER: - if (!is_option (argv[optind], only)) - { - optarg = argv[optind++]; - return (optopt = 1); - } - break; - case REQUIRE_ORDER: - if (!is_option (argv[optind], only)) - return EOF; - break; - } - } - /* we've got an option, so parse it */ - - /* first, is it a long option? */ - if (longopts != NULL - && (memcmp (argv[optind], "--", 2) == 0 - || (only && argv[optind][0] == '+')) && optwhere == 1) - { - /* handle long options */ - if (memcmp (argv[optind], "--", 2) == 0) - optwhere = 2; - longopt_match = -1; - possible_arg = strchr (argv[optind] + optwhere, '='); - if (possible_arg == NULL) - { - /* no =, so next argv might be arg */ - match_chars = strlen (argv[optind]); - possible_arg = argv[optind] + match_chars; - match_chars = match_chars - optwhere; - } - else - match_chars = (possible_arg - argv[optind]) - optwhere; - for (optindex = 0; longopts[optindex].name != NULL; optindex++) - { - if (memcmp (argv[optind] + optwhere, - longopts[optindex].name, match_chars) == 0) - { - /* do we have an exact match? */ - if (match_chars == strlen (longopts[optindex].name)) - { - longopt_match = optindex; - break; - } - /* do any characters match? */ - else - { - if (longopt_match < 0) - longopt_match = optindex; - else - { - /* we have ambiguous options */ - if (opterr) - fprintf (stderr, "%s: option `%s' is ambiguous " - "(could be `--%s' or `--%s')\n", - argv[0], - argv[optind], - longopts[longopt_match].name, - longopts[optindex].name); - return (optopt = '?'); - } - } - } - } - if (longopt_match >= 0) - has_arg = longopts[longopt_match].has_arg; - } - /* if we didn't find a long option, is it a short option? */ - if (longopt_match < 0 && shortopts != NULL) - { - cp = strchr (shortopts, argv[optind][optwhere]); - if (cp == NULL) - { - /* couldn't find option in shortopts */ - if (opterr) - fprintf (stderr, - "%s: invalid option -- `-%c'\n", - argv[0], argv[optind][optwhere]); - optwhere++; - if (argv[optind][optwhere] == '\0') - { - optind++; - optwhere = 1; - } - return (optopt = '?'); - } - has_arg = ((cp[1] == ':') - ? ((cp[2] == ':') ? OPTIONAL_ARG : required_argument) : no_argument); - possible_arg = argv[optind] + optwhere + 1; - optopt = *cp; - } - /* get argument and reset optwhere */ - arg_next = 0; - switch (has_arg) - { - case OPTIONAL_ARG: - if (*possible_arg == '=') - possible_arg++; - if (*possible_arg != '\0') - { - optarg = possible_arg; - optwhere = 1; - } - else - optarg = NULL; - break; - case required_argument: - if (*possible_arg == '=') - possible_arg++; - if (*possible_arg != '\0') - { - optarg = possible_arg; - optwhere = 1; - } - else if (optind + 1 >= argc) - { - if (opterr) - { - fprintf (stderr, "%s: argument required for option `", argv[0]); - if (longopt_match >= 0) - fprintf (stderr, "--%s'\n", longopts[longopt_match].name); - else - fprintf (stderr, "-%c'\n", *cp); - } - optind++; - return (optopt = ':'); - } - else - { - optarg = argv[optind + 1]; - arg_next = 1; - optwhere = 1; - } - break; - case no_argument: - if (longopt_match < 0) - { - optwhere++; - if (argv[optind][optwhere] == '\0') - optwhere = 1; - } - else - optwhere = 1; - optarg = NULL; - break; - } - - /* do we have to permute or otherwise modify optind? */ - if (ordering == PERMUTE && optwhere == 1 && num_nonopts != 0) - { - permute (argv + permute_from, num_nonopts, 1 + arg_next); - optind = permute_from + 1 + arg_next; - } - else if (optwhere == 1) - optind = optind + 1 + arg_next; - - /* finally return */ - if (longopt_match >= 0) - { - if (longind != NULL) - *longind = longopt_match; - if (longopts[longopt_match].flag != NULL) - { - *(longopts[longopt_match].flag) = longopts[longopt_match].val; - return 0; - } - else - return longopts[longopt_match].val; - } - else - return optopt; -} - -#ifndef _AIX -int -getopt (int argc, char **argv, char *optstring) -{ - return getopt_internal (argc, argv, optstring, NULL, NULL, 0); -} -#endif - -int -getopt_long (int argc, char **argv, const char *shortopts, - const GETOPT_LONG_OPTION_T * longopts, int *longind) -{ - return getopt_internal (argc, argv, (char*)shortopts, (GETOPT_LONG_OPTION_T*)longopts, longind, 0); -} - -int -getopt_long_only (int argc, char **argv, const char *shortopts, - const GETOPT_LONG_OPTION_T * longopts, int *longind) -{ - return getopt_internal (argc, argv, (char*)shortopts, (GETOPT_LONG_OPTION_T*)longopts, longind, 1); -} - -/* end of file GETOPT.C */ diff --git a/vendor/ninja/src/getopt.h b/vendor/ninja/src/getopt.h deleted file mode 100644 index 965dc2900..000000000 --- a/vendor/ninja/src/getopt.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef GETOPT_H -#define GETOPT_H - -/* include files needed by this include file */ - -/* macros defined by this include file */ -#define no_argument 0 -#define required_argument 1 -#define OPTIONAL_ARG 2 - -/* types defined by this include file */ - -/* GETOPT_LONG_OPTION_T: The type of long option */ -typedef struct GETOPT_LONG_OPTION_T -{ - const char *name; /* the name of the long option */ - int has_arg; /* one of the above macros */ - int *flag; /* determines if getopt_long() returns a - * value for a long option; if it is - * non-NULL, 0 is returned as a function - * value and the value of val is stored in - * the area pointed to by flag. Otherwise, - * val is returned. */ - int val; /* determines the value to return if flag is - * NULL. */ -} GETOPT_LONG_OPTION_T; - -typedef GETOPT_LONG_OPTION_T option; - -#ifdef __cplusplus -extern "C" -{ -#endif - - /* externally-defined variables */ - extern char *optarg; - extern int optind; - extern int opterr; - extern int optopt; - - /* function prototypes */ -#ifndef _AIX - int getopt (int argc, char **argv, char *optstring); -#endif - int getopt_long (int argc, char **argv, const char *shortopts, - const GETOPT_LONG_OPTION_T * longopts, int *longind); - int getopt_long_only (int argc, char **argv, const char *shortopts, - const GETOPT_LONG_OPTION_T * longopts, int *longind); - -#ifdef __cplusplus -}; - -#endif - -#endif /* GETOPT_H */ - -/* END OF FILE getopt.h */ diff --git a/vendor/ninja/src/graph.cc b/vendor/ninja/src/graph.cc deleted file mode 100644 index ce4ea774f..000000000 --- a/vendor/ninja/src/graph.cc +++ /dev/null @@ -1,589 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "graph.h" - -#include -#include - -#include "build_log.h" -#include "debug_flags.h" -#include "depfile_parser.h" -#include "deps_log.h" -#include "disk_interface.h" -#include "manifest_parser.h" -#include "metrics.h" -#include "state.h" -#include "util.h" - -bool Node::Stat(DiskInterface* disk_interface, string* err) { - return (mtime_ = disk_interface->Stat(path_, err)) != -1; -} - -bool DependencyScan::RecomputeDirty(Node* node, string* err) { - vector stack; - return RecomputeDirty(node, &stack, err); -} - -bool DependencyScan::RecomputeDirty(Node* node, vector* stack, - string* err) { - Edge* edge = node->in_edge(); - if (!edge) { - // If we already visited this leaf node then we are done. - if (node->status_known()) - return true; - // This node has no in-edge; it is dirty if it is missing. - if (!node->StatIfNecessary(disk_interface_, err)) - return false; - if (!node->exists()) - EXPLAIN("%s has no in-edge and is missing", node->path().c_str()); - node->set_dirty(!node->exists()); - return true; - } - - // If we already finished this edge then we are done. - if (edge->mark_ == Edge::VisitDone) - return true; - - // If we encountered this edge earlier in the call stack we have a cycle. - if (!VerifyDAG(node, stack, err)) - return false; - - // Mark the edge temporarily while in the call stack. - edge->mark_ = Edge::VisitInStack; - stack->push_back(node); - - bool dirty = false; - edge->outputs_ready_ = true; - edge->deps_missing_ = false; - - // Load output mtimes so we can compare them to the most recent input below. - for (vector::iterator o = edge->outputs_.begin(); - o != edge->outputs_.end(); ++o) { - if (!(*o)->StatIfNecessary(disk_interface_, err)) - return false; - } - - if (!dep_loader_.LoadDeps(edge, err)) { - if (!err->empty()) - return false; - // Failed to load dependency info: rebuild to regenerate it. - // LoadDeps() did EXPLAIN() already, no need to do it here. - dirty = edge->deps_missing_ = true; - } - - // Visit all inputs; we're dirty if any of the inputs are dirty. - Node* most_recent_input = NULL; - for (vector::iterator i = edge->inputs_.begin(); - i != edge->inputs_.end(); ++i) { - // Visit this input. - if (!RecomputeDirty(*i, stack, err)) - return false; - - // If an input is not ready, neither are our outputs. - if (Edge* in_edge = (*i)->in_edge()) { - if (!in_edge->outputs_ready_) - edge->outputs_ready_ = false; - } - - if (!edge->is_order_only(i - edge->inputs_.begin())) { - // If a regular input is dirty (or missing), we're dirty. - // Otherwise consider mtime. - if ((*i)->dirty()) { - EXPLAIN("%s is dirty", (*i)->path().c_str()); - dirty = true; - } else { - if (!most_recent_input || (*i)->mtime() > most_recent_input->mtime()) { - most_recent_input = *i; - } - } - } - } - - // We may also be dirty due to output state: missing outputs, out of - // date outputs, etc. Visit all outputs and determine whether they're dirty. - if (!dirty) - if (!RecomputeOutputsDirty(edge, most_recent_input, &dirty, err)) - return false; - - // Finally, visit each output and update their dirty state if necessary. - for (vector::iterator o = edge->outputs_.begin(); - o != edge->outputs_.end(); ++o) { - if (dirty) - (*o)->MarkDirty(); - } - - // If an edge is dirty, its outputs are normally not ready. (It's - // possible to be clean but still not be ready in the presence of - // order-only inputs.) - // But phony edges with no inputs have nothing to do, so are always - // ready. - if (dirty && !(edge->is_phony() && edge->inputs_.empty())) - edge->outputs_ready_ = false; - - // Mark the edge as finished during this walk now that it will no longer - // be in the call stack. - edge->mark_ = Edge::VisitDone; - assert(stack->back() == node); - stack->pop_back(); - - return true; -} - -bool DependencyScan::VerifyDAG(Node* node, vector* stack, string* err) { - Edge* edge = node->in_edge(); - assert(edge != NULL); - - // If we have no temporary mark on the edge then we do not yet have a cycle. - if (edge->mark_ != Edge::VisitInStack) - return true; - - // We have this edge earlier in the call stack. Find it. - vector::iterator start = stack->begin(); - while (start != stack->end() && (*start)->in_edge() != edge) - ++start; - assert(start != stack->end()); - - // Make the cycle clear by reporting its start as the node at its end - // instead of some other output of the starting edge. For example, - // running 'ninja b' on - // build a b: cat c - // build c: cat a - // should report a -> c -> a instead of b -> c -> a. - *start = node; - - // Construct the error message rejecting the cycle. - *err = "dependency cycle: "; - for (vector::const_iterator i = start; i != stack->end(); ++i) { - err->append((*i)->path()); - err->append(" -> "); - } - err->append((*start)->path()); - - if ((start + 1) == stack->end() && edge->maybe_phonycycle_diagnostic()) { - // The manifest parser would have filtered out the self-referencing - // input if it were not configured to allow the error. - err->append(" [-w phonycycle=err]"); - } - - return false; -} - -bool DependencyScan::RecomputeOutputsDirty(Edge* edge, Node* most_recent_input, - bool* outputs_dirty, string* err) { - string command = edge->EvaluateCommand(/*incl_rsp_file=*/true); - for (vector::iterator o = edge->outputs_.begin(); - o != edge->outputs_.end(); ++o) { - if (RecomputeOutputDirty(edge, most_recent_input, command, *o)) { - *outputs_dirty = true; - return true; - } - } - return true; -} - -bool DependencyScan::RecomputeOutputDirty(Edge* edge, - Node* most_recent_input, - const string& command, - Node* output) { - if (edge->is_phony()) { - // Phony edges don't write any output. Outputs are only dirty if - // there are no inputs and we're missing the output. - if (edge->inputs_.empty() && !output->exists()) { - EXPLAIN("output %s of phony edge with no inputs doesn't exist", - output->path().c_str()); - return true; - } - return false; - } - - BuildLog::LogEntry* entry = 0; - - // Dirty if we're missing the output. - if (!output->exists()) { - EXPLAIN("output %s doesn't exist", output->path().c_str()); - return true; - } - - // Dirty if the output is older than the input. - if (most_recent_input && output->mtime() < most_recent_input->mtime()) { - TimeStamp output_mtime = output->mtime(); - - // If this is a restat rule, we may have cleaned the output with a restat - // rule in a previous run and stored the most recent input mtime in the - // build log. Use that mtime instead, so that the file will only be - // considered dirty if an input was modified since the previous run. - bool used_restat = false; - if (edge->GetBindingBool("restat") && build_log() && - (entry = build_log()->LookupByOutput(output->path()))) { - output_mtime = entry->mtime; - used_restat = true; - } - - if (output_mtime < most_recent_input->mtime()) { - EXPLAIN("%soutput %s older than most recent input %s " - "(%d vs %d)", - used_restat ? "restat of " : "", output->path().c_str(), - most_recent_input->path().c_str(), - output_mtime, most_recent_input->mtime()); - return true; - } - } - - if (build_log()) { - bool generator = edge->GetBindingBool("generator"); - if (entry || (entry = build_log()->LookupByOutput(output->path()))) { - if (!generator && - BuildLog::LogEntry::HashCommand(command) != entry->command_hash) { - // May also be dirty due to the command changing since the last build. - // But if this is a generator rule, the command changing does not make us - // dirty. - EXPLAIN("command line changed for %s", output->path().c_str()); - return true; - } - if (most_recent_input && entry->mtime < most_recent_input->mtime()) { - // May also be dirty due to the mtime in the log being older than the - // mtime of the most recent input. This can occur even when the mtime - // on disk is newer if a previous run wrote to the output file but - // exited with an error or was interrupted. - EXPLAIN("recorded mtime of %s older than most recent input %s (%d vs %d)", - output->path().c_str(), most_recent_input->path().c_str(), - entry->mtime, most_recent_input->mtime()); - return true; - } - } - if (!entry && !generator) { - EXPLAIN("command line not found in log for %s", output->path().c_str()); - return true; - } - } - - return false; -} - -bool Edge::AllInputsReady() const { - for (vector::const_iterator i = inputs_.begin(); - i != inputs_.end(); ++i) { - if ((*i)->in_edge() && !(*i)->in_edge()->outputs_ready()) - return false; - } - return true; -} - -/// An Env for an Edge, providing $in and $out. -struct EdgeEnv : public Env { - enum EscapeKind { kShellEscape, kDoNotEscape }; - - EdgeEnv(Edge* edge, EscapeKind escape) - : edge_(edge), escape_in_out_(escape), recursive_(false) {} - virtual string LookupVariable(const string& var); - - /// Given a span of Nodes, construct a list of paths suitable for a command - /// line. - string MakePathList(vector::iterator begin, - vector::iterator end, - char sep); - - private: - vector lookups_; - Edge* edge_; - EscapeKind escape_in_out_; - bool recursive_; -}; - -string EdgeEnv::LookupVariable(const string& var) { - if (var == "in" || var == "in_newline") { - int explicit_deps_count = edge_->inputs_.size() - edge_->implicit_deps_ - - edge_->order_only_deps_; - return MakePathList(edge_->inputs_.begin(), - edge_->inputs_.begin() + explicit_deps_count, - var == "in" ? ' ' : '\n'); - } else if (var == "out") { - int explicit_outs_count = edge_->outputs_.size() - edge_->implicit_outs_; - return MakePathList(edge_->outputs_.begin(), - edge_->outputs_.begin() + explicit_outs_count, - ' '); - } - - if (recursive_) { - vector::const_iterator it; - if ((it = find(lookups_.begin(), lookups_.end(), var)) != lookups_.end()) { - string cycle; - for (; it != lookups_.end(); ++it) - cycle.append(*it + " -> "); - cycle.append(var); - Fatal(("cycle in rule variables: " + cycle).c_str()); - } - } - - // See notes on BindingEnv::LookupWithFallback. - const EvalString* eval = edge_->rule_->GetBinding(var); - if (recursive_ && eval) - lookups_.push_back(var); - - // In practice, variables defined on rules never use another rule variable. - // For performance, only start checking for cycles after the first lookup. - recursive_ = true; - return edge_->env_->LookupWithFallback(var, eval, this); -} - -string EdgeEnv::MakePathList(vector::iterator begin, - vector::iterator end, - char sep) { - string result; - for (vector::iterator i = begin; i != end; ++i) { - if (!result.empty()) - result.push_back(sep); - const string& path = (*i)->PathDecanonicalized(); - if (escape_in_out_ == kShellEscape) { -#if _WIN32 - GetWin32EscapedString(path, &result); -#else - GetShellEscapedString(path, &result); -#endif - } else { - result.append(path); - } - } - return result; -} - -string Edge::EvaluateCommand(bool incl_rsp_file) { - string command = GetBinding("command"); - if (incl_rsp_file) { - string rspfile_content = GetBinding("rspfile_content"); - if (!rspfile_content.empty()) - command += ";rspfile=" + rspfile_content; - } - return command; -} - -string Edge::GetBinding(const string& key) { - EdgeEnv env(this, EdgeEnv::kShellEscape); - return env.LookupVariable(key); -} - -bool Edge::GetBindingBool(const string& key) { - return !GetBinding(key).empty(); -} - -string Edge::GetUnescapedDepfile() { - EdgeEnv env(this, EdgeEnv::kDoNotEscape); - return env.LookupVariable("depfile"); -} - -string Edge::GetUnescapedRspfile() { - EdgeEnv env(this, EdgeEnv::kDoNotEscape); - return env.LookupVariable("rspfile"); -} - -void Edge::Dump(const char* prefix) const { - printf("%s[ ", prefix); - for (vector::const_iterator i = inputs_.begin(); - i != inputs_.end() && *i != NULL; ++i) { - printf("%s ", (*i)->path().c_str()); - } - printf("--%s-> ", rule_->name().c_str()); - for (vector::const_iterator i = outputs_.begin(); - i != outputs_.end() && *i != NULL; ++i) { - printf("%s ", (*i)->path().c_str()); - } - if (pool_) { - if (!pool_->name().empty()) { - printf("(in pool '%s')", pool_->name().c_str()); - } - } else { - printf("(null pool?)"); - } - printf("] 0x%p\n", this); -} - -bool Edge::is_phony() const { - return rule_ == &State::kPhonyRule; -} - -bool Edge::use_console() const { - return pool() == &State::kConsolePool; -} - -bool Edge::maybe_phonycycle_diagnostic() const { - // CMake 2.8.12.x and 3.0.x produced self-referencing phony rules - // of the form "build a: phony ... a ...". Restrict our - // "phonycycle" diagnostic option to the form it used. - return is_phony() && outputs_.size() == 1 && implicit_outs_ == 0 && - implicit_deps_ == 0; -} - -// static -string Node::PathDecanonicalized(const string& path, uint64_t slash_bits) { - string result = path; -#ifdef _WIN32 - uint64_t mask = 1; - for (char* c = &result[0]; (c = strchr(c, '/')) != NULL;) { - if (slash_bits & mask) - *c = '\\'; - c++; - mask <<= 1; - } -#endif - return result; -} - -void Node::Dump(const char* prefix) const { - printf("%s <%s 0x%p> mtime: %d%s, (:%s), ", - prefix, path().c_str(), this, - mtime(), mtime() ? "" : " (:missing)", - dirty() ? " dirty" : " clean"); - if (in_edge()) { - in_edge()->Dump("in-edge: "); - } else { - printf("no in-edge\n"); - } - printf(" out edges:\n"); - for (vector::const_iterator e = out_edges().begin(); - e != out_edges().end() && *e != NULL; ++e) { - (*e)->Dump(" +- "); - } -} - -bool ImplicitDepLoader::LoadDeps(Edge* edge, string* err) { - string deps_type = edge->GetBinding("deps"); - if (!deps_type.empty()) - return LoadDepsFromLog(edge, err); - - string depfile = edge->GetUnescapedDepfile(); - if (!depfile.empty()) - return LoadDepFile(edge, depfile, err); - - // No deps to load. - return true; -} - -bool ImplicitDepLoader::LoadDepFile(Edge* edge, const string& path, - string* err) { - METRIC_RECORD("depfile load"); - // Read depfile content. Treat a missing depfile as empty. - string content; - switch (disk_interface_->ReadFile(path, &content, err)) { - case DiskInterface::Okay: - break; - case DiskInterface::NotFound: - err->clear(); - break; - case DiskInterface::OtherError: - *err = "loading '" + path + "': " + *err; - return false; - } - // On a missing depfile: return false and empty *err. - if (content.empty()) { - EXPLAIN("depfile '%s' is missing", path.c_str()); - return false; - } - - DepfileParser depfile; - string depfile_err; - if (!depfile.Parse(&content, &depfile_err)) { - *err = path + ": " + depfile_err; - return false; - } - - uint64_t unused; - if (!CanonicalizePath(const_cast(depfile.out_.str_), - &depfile.out_.len_, &unused, err)) { - *err = path + ": " + *err; - return false; - } - - // Check that this depfile matches the edge's output, if not return false to - // mark the edge as dirty. - Node* first_output = edge->outputs_[0]; - StringPiece opath = StringPiece(first_output->path()); - if (opath != depfile.out_) { - EXPLAIN("expected depfile '%s' to mention '%s', got '%s'", path.c_str(), - first_output->path().c_str(), depfile.out_.AsString().c_str()); - return false; - } - - // Preallocate space in edge->inputs_ to be filled in below. - vector::iterator implicit_dep = - PreallocateSpace(edge, depfile.ins_.size()); - - // Add all its in-edges. - for (vector::iterator i = depfile.ins_.begin(); - i != depfile.ins_.end(); ++i, ++implicit_dep) { - uint64_t slash_bits; - if (!CanonicalizePath(const_cast(i->str_), &i->len_, &slash_bits, - err)) - return false; - - Node* node = state_->GetNode(*i, slash_bits); - *implicit_dep = node; - node->AddOutEdge(edge); - CreatePhonyInEdge(node); - } - - return true; -} - -bool ImplicitDepLoader::LoadDepsFromLog(Edge* edge, string* err) { - // NOTE: deps are only supported for single-target edges. - Node* output = edge->outputs_[0]; - DepsLog::Deps* deps = deps_log_->GetDeps(output); - if (!deps) { - EXPLAIN("deps for '%s' are missing", output->path().c_str()); - return false; - } - - // Deps are invalid if the output is newer than the deps. - if (output->mtime() > deps->mtime) { - EXPLAIN("stored deps info out of date for '%s' (%d vs %d)", - output->path().c_str(), deps->mtime, output->mtime()); - return false; - } - - vector::iterator implicit_dep = - PreallocateSpace(edge, deps->node_count); - for (int i = 0; i < deps->node_count; ++i, ++implicit_dep) { - Node* node = deps->nodes[i]; - *implicit_dep = node; - node->AddOutEdge(edge); - CreatePhonyInEdge(node); - } - return true; -} - -vector::iterator ImplicitDepLoader::PreallocateSpace(Edge* edge, - int count) { - edge->inputs_.insert(edge->inputs_.end() - edge->order_only_deps_, - (size_t)count, 0); - edge->implicit_deps_ += count; - return edge->inputs_.end() - edge->order_only_deps_ - count; -} - -void ImplicitDepLoader::CreatePhonyInEdge(Node* node) { - if (node->in_edge()) - return; - - Edge* phony_edge = state_->AddEdge(&State::kPhonyRule); - node->set_in_edge(phony_edge); - phony_edge->outputs_.push_back(node); - - // RecomputeDirty might not be called for phony_edge if a previous call - // to RecomputeDirty had caused the file to be stat'ed. Because previous - // invocations of RecomputeDirty would have seen this node without an - // input edge (and therefore ready), we have to set outputs_ready_ to true - // to avoid a potential stuck build. If we do call RecomputeDirty for - // this node, it will simply set outputs_ready_ to the correct value. - phony_edge->outputs_ready_ = true; -} diff --git a/vendor/ninja/src/graph.h b/vendor/ninja/src/graph.h deleted file mode 100644 index a8f0641d5..000000000 --- a/vendor/ninja/src/graph.h +++ /dev/null @@ -1,294 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_GRAPH_H_ -#define NINJA_GRAPH_H_ - -#include -#include -using namespace std; - -#include "eval_env.h" -#include "timestamp.h" -#include "util.h" - -struct BuildLog; -struct DiskInterface; -struct DepsLog; -struct Edge; -struct Node; -struct Pool; -struct State; - -/// Information about a node in the dependency graph: the file, whether -/// it's dirty, mtime, etc. -struct Node { - Node(const string& path, uint64_t slash_bits) - : path_(path), - slash_bits_(slash_bits), - mtime_(-1), - dirty_(false), - in_edge_(NULL), - id_(-1) {} - - /// Return false on error. - bool Stat(DiskInterface* disk_interface, string* err); - - /// Return false on error. - bool StatIfNecessary(DiskInterface* disk_interface, string* err) { - if (status_known()) - return true; - return Stat(disk_interface, err); - } - - /// Mark as not-yet-stat()ed and not dirty. - void ResetState() { - mtime_ = -1; - dirty_ = false; - } - - /// Mark the Node as already-stat()ed and missing. - void MarkMissing() { - mtime_ = 0; - } - - bool exists() const { - return mtime_ != 0; - } - - bool status_known() const { - return mtime_ != -1; - } - - const string& path() const { return path_; } - /// Get |path()| but use slash_bits to convert back to original slash styles. - string PathDecanonicalized() const { - return PathDecanonicalized(path_, slash_bits_); - } - static string PathDecanonicalized(const string& path, - uint64_t slash_bits); - uint64_t slash_bits() const { return slash_bits_; } - - TimeStamp mtime() const { return mtime_; } - - bool dirty() const { return dirty_; } - void set_dirty(bool dirty) { dirty_ = dirty; } - void MarkDirty() { dirty_ = true; } - - Edge* in_edge() const { return in_edge_; } - void set_in_edge(Edge* edge) { in_edge_ = edge; } - - int id() const { return id_; } - void set_id(int id) { id_ = id; } - - const vector& out_edges() const { return out_edges_; } - void AddOutEdge(Edge* edge) { out_edges_.push_back(edge); } - - void Dump(const char* prefix="") const; - -private: - string path_; - - /// Set bits starting from lowest for backslashes that were normalized to - /// forward slashes by CanonicalizePath. See |PathDecanonicalized|. - uint64_t slash_bits_; - - /// Possible values of mtime_: - /// -1: file hasn't been examined - /// 0: we looked, and file doesn't exist - /// >0: actual file's mtime - TimeStamp mtime_; - - /// Dirty is true when the underlying file is out-of-date. - /// But note that Edge::outputs_ready_ is also used in judging which - /// edges to build. - bool dirty_; - - /// The Edge that produces this Node, or NULL when there is no - /// known edge to produce it. - Edge* in_edge_; - - /// All Edges that use this Node as an input. - vector out_edges_; - - /// A dense integer id for the node, assigned and used by DepsLog. - int id_; -}; - -/// An edge in the dependency graph; links between Nodes using Rules. -struct Edge { - enum VisitMark { - VisitNone, - VisitInStack, - VisitDone - }; - - Edge() : rule_(NULL), pool_(NULL), env_(NULL), mark_(VisitNone), - outputs_ready_(false), deps_missing_(false), - implicit_deps_(0), order_only_deps_(0), implicit_outs_(0) {} - - /// Return true if all inputs' in-edges are ready. - bool AllInputsReady() const; - - /// Expand all variables in a command and return it as a string. - /// If incl_rsp_file is enabled, the string will also contain the - /// full contents of a response file (if applicable) - string EvaluateCommand(bool incl_rsp_file = false); - - /// Returns the shell-escaped value of |key|. - string GetBinding(const string& key); - bool GetBindingBool(const string& key); - - /// Like GetBinding("depfile"), but without shell escaping. - string GetUnescapedDepfile(); - /// Like GetBinding("rspfile"), but without shell escaping. - string GetUnescapedRspfile(); - - void Dump(const char* prefix="") const; - - const Rule* rule_; - Pool* pool_; - vector inputs_; - vector outputs_; - BindingEnv* env_; - VisitMark mark_; - bool outputs_ready_; - bool deps_missing_; - - const Rule& rule() const { return *rule_; } - Pool* pool() const { return pool_; } - int weight() const { return 1; } - bool outputs_ready() const { return outputs_ready_; } - - // There are three types of inputs. - // 1) explicit deps, which show up as $in on the command line; - // 2) implicit deps, which the target depends on implicitly (e.g. C headers), - // and changes in them cause the target to rebuild; - // 3) order-only deps, which are needed before the target builds but which - // don't cause the target to rebuild. - // These are stored in inputs_ in that order, and we keep counts of - // #2 and #3 when we need to access the various subsets. - int implicit_deps_; - int order_only_deps_; - bool is_implicit(size_t index) { - return index >= inputs_.size() - order_only_deps_ - implicit_deps_ && - !is_order_only(index); - } - bool is_order_only(size_t index) { - return index >= inputs_.size() - order_only_deps_; - } - - // There are two types of outputs. - // 1) explicit outs, which show up as $out on the command line; - // 2) implicit outs, which the target generates but are not part of $out. - // These are stored in outputs_ in that order, and we keep a count of - // #2 to use when we need to access the various subsets. - int implicit_outs_; - bool is_implicit_out(size_t index) const { - return index >= outputs_.size() - implicit_outs_; - } - - bool is_phony() const; - bool use_console() const; - bool maybe_phonycycle_diagnostic() const; -}; - - -/// ImplicitDepLoader loads implicit dependencies, as referenced via the -/// "depfile" attribute in build files. -struct ImplicitDepLoader { - ImplicitDepLoader(State* state, DepsLog* deps_log, - DiskInterface* disk_interface) - : state_(state), disk_interface_(disk_interface), deps_log_(deps_log) {} - - /// Load implicit dependencies for \a edge. - /// @return false on error (without filling \a err if info is just missing - // or out of date). - bool LoadDeps(Edge* edge, string* err); - - DepsLog* deps_log() const { - return deps_log_; - } - - private: - /// Load implicit dependencies for \a edge from a depfile attribute. - /// @return false on error (without filling \a err if info is just missing). - bool LoadDepFile(Edge* edge, const string& path, string* err); - - /// Load implicit dependencies for \a edge from the DepsLog. - /// @return false on error (without filling \a err if info is just missing). - bool LoadDepsFromLog(Edge* edge, string* err); - - /// Preallocate \a count spaces in the input array on \a edge, returning - /// an iterator pointing at the first new space. - vector::iterator PreallocateSpace(Edge* edge, int count); - - /// If we don't have a edge that generates this input already, - /// create one; this makes us not abort if the input is missing, - /// but instead will rebuild in that circumstance. - void CreatePhonyInEdge(Node* node); - - State* state_; - DiskInterface* disk_interface_; - DepsLog* deps_log_; -}; - - -/// DependencyScan manages the process of scanning the files in a graph -/// and updating the dirty/outputs_ready state of all the nodes and edges. -struct DependencyScan { - DependencyScan(State* state, BuildLog* build_log, DepsLog* deps_log, - DiskInterface* disk_interface) - : build_log_(build_log), - disk_interface_(disk_interface), - dep_loader_(state, deps_log, disk_interface) {} - - /// Update the |dirty_| state of the given node by inspecting its input edge. - /// Examine inputs, outputs, and command lines to judge whether an edge - /// needs to be re-run, and update outputs_ready_ and each outputs' |dirty_| - /// state accordingly. - /// Returns false on failure. - bool RecomputeDirty(Node* node, string* err); - - /// Recompute whether any output of the edge is dirty, if so sets |*dirty|. - /// Returns false on failure. - bool RecomputeOutputsDirty(Edge* edge, Node* most_recent_input, - bool* dirty, string* err); - - BuildLog* build_log() const { - return build_log_; - } - void set_build_log(BuildLog* log) { - build_log_ = log; - } - - DepsLog* deps_log() const { - return dep_loader_.deps_log(); - } - - private: - bool RecomputeDirty(Node* node, vector* stack, string* err); - bool VerifyDAG(Node* node, vector* stack, string* err); - - /// Recompute whether a given single output should be marked dirty. - /// Returns true if so. - bool RecomputeOutputDirty(Edge* edge, Node* most_recent_input, - const string& command, Node* output); - - BuildLog* build_log_; - DiskInterface* disk_interface_; - ImplicitDepLoader dep_loader_; -}; - -#endif // NINJA_GRAPH_H_ diff --git a/vendor/ninja/src/graph_test.cc b/vendor/ninja/src/graph_test.cc deleted file mode 100644 index 422bc9a05..000000000 --- a/vendor/ninja/src/graph_test.cc +++ /dev/null @@ -1,481 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "graph.h" -#include "build.h" - -#include "test.h" - -struct GraphTest : public StateTestWithBuiltinRules { - GraphTest() : scan_(&state_, NULL, NULL, &fs_) {} - - VirtualFileSystem fs_; - DependencyScan scan_; -}; - -TEST_F(GraphTest, MissingImplicit) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat in | implicit\n")); - fs_.Create("in", ""); - fs_.Create("out", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out"), &err)); - ASSERT_EQ("", err); - - // A missing implicit dep *should* make the output dirty. - // (In fact, a build will fail.) - // This is a change from prior semantics of ninja. - EXPECT_TRUE(GetNode("out")->dirty()); -} - -TEST_F(GraphTest, ModifiedImplicit) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out: cat in | implicit\n")); - fs_.Create("in", ""); - fs_.Create("out", ""); - fs_.Tick(); - fs_.Create("implicit", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out"), &err)); - ASSERT_EQ("", err); - - // A modified implicit dep should make the output dirty. - EXPECT_TRUE(GetNode("out")->dirty()); -} - -TEST_F(GraphTest, FunkyMakefilePath) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule catdep\n" -" depfile = $out.d\n" -" command = cat $in > $out\n" -"build out.o: catdep foo.cc\n")); - fs_.Create("foo.cc", ""); - fs_.Create("out.o.d", "out.o: ./foo/../implicit.h\n"); - fs_.Create("out.o", ""); - fs_.Tick(); - fs_.Create("implicit.h", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out.o"), &err)); - ASSERT_EQ("", err); - - // implicit.h has changed, though our depfile refers to it with a - // non-canonical path; we should still find it. - EXPECT_TRUE(GetNode("out.o")->dirty()); -} - -TEST_F(GraphTest, ExplicitImplicit) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule catdep\n" -" depfile = $out.d\n" -" command = cat $in > $out\n" -"build implicit.h: cat data\n" -"build out.o: catdep foo.cc || implicit.h\n")); - fs_.Create("implicit.h", ""); - fs_.Create("foo.cc", ""); - fs_.Create("out.o.d", "out.o: implicit.h\n"); - fs_.Create("out.o", ""); - fs_.Tick(); - fs_.Create("data", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out.o"), &err)); - ASSERT_EQ("", err); - - // We have both an implicit and an explicit dep on implicit.h. - // The implicit dep should "win" (in the sense that it should cause - // the output to be dirty). - EXPECT_TRUE(GetNode("out.o")->dirty()); -} - -TEST_F(GraphTest, ImplicitOutputParse) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out | out.imp: cat in\n")); - - Edge* edge = GetNode("out")->in_edge(); - EXPECT_EQ(2, edge->outputs_.size()); - EXPECT_EQ("out", edge->outputs_[0]->path()); - EXPECT_EQ("out.imp", edge->outputs_[1]->path()); - EXPECT_EQ(1, edge->implicit_outs_); - EXPECT_EQ(edge, GetNode("out.imp")->in_edge()); -} - -TEST_F(GraphTest, ImplicitOutputMissing) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out | out.imp: cat in\n")); - fs_.Create("in", ""); - fs_.Create("out", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out"), &err)); - ASSERT_EQ("", err); - - EXPECT_TRUE(GetNode("out")->dirty()); - EXPECT_TRUE(GetNode("out.imp")->dirty()); -} - -TEST_F(GraphTest, ImplicitOutputOutOfDate) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out | out.imp: cat in\n")); - fs_.Create("out.imp", ""); - fs_.Tick(); - fs_.Create("in", ""); - fs_.Create("out", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out"), &err)); - ASSERT_EQ("", err); - - EXPECT_TRUE(GetNode("out")->dirty()); - EXPECT_TRUE(GetNode("out.imp")->dirty()); -} - -TEST_F(GraphTest, ImplicitOutputOnlyParse) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build | out.imp: cat in\n")); - - Edge* edge = GetNode("out.imp")->in_edge(); - EXPECT_EQ(1, edge->outputs_.size()); - EXPECT_EQ("out.imp", edge->outputs_[0]->path()); - EXPECT_EQ(1, edge->implicit_outs_); - EXPECT_EQ(edge, GetNode("out.imp")->in_edge()); -} - -TEST_F(GraphTest, ImplicitOutputOnlyMissing) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build | out.imp: cat in\n")); - fs_.Create("in", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out.imp"), &err)); - ASSERT_EQ("", err); - - EXPECT_TRUE(GetNode("out.imp")->dirty()); -} - -TEST_F(GraphTest, ImplicitOutputOnlyOutOfDate) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build | out.imp: cat in\n")); - fs_.Create("out.imp", ""); - fs_.Tick(); - fs_.Create("in", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out.imp"), &err)); - ASSERT_EQ("", err); - - EXPECT_TRUE(GetNode("out.imp")->dirty()); -} - -TEST_F(GraphTest, PathWithCurrentDirectory) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule catdep\n" -" depfile = $out.d\n" -" command = cat $in > $out\n" -"build ./out.o: catdep ./foo.cc\n")); - fs_.Create("foo.cc", ""); - fs_.Create("out.o.d", "out.o: foo.cc\n"); - fs_.Create("out.o", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out.o"), &err)); - ASSERT_EQ("", err); - - EXPECT_FALSE(GetNode("out.o")->dirty()); -} - -TEST_F(GraphTest, RootNodes) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out1: cat in1\n" -"build mid1: cat in1\n" -"build out2: cat mid1\n" -"build out3 out4: cat mid1\n")); - - string err; - vector root_nodes = state_.RootNodes(&err); - EXPECT_EQ(4u, root_nodes.size()); - for (size_t i = 0; i < root_nodes.size(); ++i) { - string name = root_nodes[i]->path(); - EXPECT_EQ("out", name.substr(0, 3)); - } -} - -TEST_F(GraphTest, VarInOutPathEscaping) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build a$ b: cat no'space with$ space$$ no\"space2\n")); - - Edge* edge = GetNode("a b")->in_edge(); -#if _WIN32 - EXPECT_EQ("cat no'space \"with space$\" \"no\\\"space2\" > \"a b\"", - edge->EvaluateCommand()); -#else - EXPECT_EQ("cat 'no'\\''space' 'with space$' 'no\"space2' > 'a b'", - edge->EvaluateCommand()); -#endif -} - -// Regression test for https://github.com/ninja-build/ninja/issues/380 -TEST_F(GraphTest, DepfileWithCanonicalizablePath) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule catdep\n" -" depfile = $out.d\n" -" command = cat $in > $out\n" -"build ./out.o: catdep ./foo.cc\n")); - fs_.Create("foo.cc", ""); - fs_.Create("out.o.d", "out.o: bar/../foo.cc\n"); - fs_.Create("out.o", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out.o"), &err)); - ASSERT_EQ("", err); - - EXPECT_FALSE(GetNode("out.o")->dirty()); -} - -// Regression test for https://github.com/ninja-build/ninja/issues/404 -TEST_F(GraphTest, DepfileRemoved) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule catdep\n" -" depfile = $out.d\n" -" command = cat $in > $out\n" -"build ./out.o: catdep ./foo.cc\n")); - fs_.Create("foo.h", ""); - fs_.Create("foo.cc", ""); - fs_.Tick(); - fs_.Create("out.o.d", "out.o: foo.h\n"); - fs_.Create("out.o", ""); - - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out.o"), &err)); - ASSERT_EQ("", err); - EXPECT_FALSE(GetNode("out.o")->dirty()); - - state_.Reset(); - fs_.RemoveFile("out.o.d"); - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("out.o"), &err)); - ASSERT_EQ("", err); - EXPECT_TRUE(GetNode("out.o")->dirty()); -} - -// Check that rule-level variables are in scope for eval. -TEST_F(GraphTest, RuleVariablesInScope) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule r\n" -" depfile = x\n" -" command = depfile is $depfile\n" -"build out: r in\n")); - Edge* edge = GetNode("out")->in_edge(); - EXPECT_EQ("depfile is x", edge->EvaluateCommand()); -} - -// Check that build statements can override rule builtins like depfile. -TEST_F(GraphTest, DepfileOverride) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule r\n" -" depfile = x\n" -" command = unused\n" -"build out: r in\n" -" depfile = y\n")); - Edge* edge = GetNode("out")->in_edge(); - EXPECT_EQ("y", edge->GetBinding("depfile")); -} - -// Check that overridden values show up in expansion of rule-level bindings. -TEST_F(GraphTest, DepfileOverrideParent) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"rule r\n" -" depfile = x\n" -" command = depfile is $depfile\n" -"build out: r in\n" -" depfile = y\n")); - Edge* edge = GetNode("out")->in_edge(); - EXPECT_EQ("depfile is y", edge->GetBinding("command")); -} - -// Verify that building a nested phony rule prints "no work to do" -TEST_F(GraphTest, NestedPhonyPrintsDone) { - AssertParse(&state_, -"build n1: phony \n" -"build n2: phony n1\n" - ); - string err; - EXPECT_TRUE(scan_.RecomputeDirty(GetNode("n2"), &err)); - ASSERT_EQ("", err); - - Plan plan_; - EXPECT_TRUE(plan_.AddTarget(GetNode("n2"), &err)); - ASSERT_EQ("", err); - - EXPECT_EQ(0, plan_.command_edge_count()); - ASSERT_FALSE(plan_.more_to_do()); -} - -TEST_F(GraphTest, PhonySelfReferenceError) { - ManifestParserOptions parser_opts; - parser_opts.phony_cycle_action_ = kPhonyCycleActionError; - AssertParse(&state_, -"build a: phony a\n", - parser_opts); - - string err; - EXPECT_FALSE(scan_.RecomputeDirty(GetNode("a"), &err)); - ASSERT_EQ("dependency cycle: a -> a [-w phonycycle=err]", err); -} - -TEST_F(GraphTest, DependencyCycle) { - AssertParse(&state_, -"build out: cat mid\n" -"build mid: cat in\n" -"build in: cat pre\n" -"build pre: cat out\n"); - - string err; - EXPECT_FALSE(scan_.RecomputeDirty(GetNode("out"), &err)); - ASSERT_EQ("dependency cycle: out -> mid -> in -> pre -> out", err); -} - -TEST_F(GraphTest, CycleInEdgesButNotInNodes1) { - string err; - AssertParse(&state_, -"build a b: cat a\n"); - EXPECT_FALSE(scan_.RecomputeDirty(GetNode("b"), &err)); - ASSERT_EQ("dependency cycle: a -> a", err); -} - -TEST_F(GraphTest, CycleInEdgesButNotInNodes2) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build b a: cat a\n")); - EXPECT_FALSE(scan_.RecomputeDirty(GetNode("b"), &err)); - ASSERT_EQ("dependency cycle: a -> a", err); -} - -TEST_F(GraphTest, CycleInEdgesButNotInNodes3) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build a b: cat c\n" -"build c: cat a\n")); - EXPECT_FALSE(scan_.RecomputeDirty(GetNode("b"), &err)); - ASSERT_EQ("dependency cycle: a -> c -> a", err); -} - -TEST_F(GraphTest, CycleInEdgesButNotInNodes4) { - string err; - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build d: cat c\n" -"build c: cat b\n" -"build b: cat a\n" -"build a e: cat d\n" -"build f: cat e\n")); - EXPECT_FALSE(scan_.RecomputeDirty(GetNode("f"), &err)); - ASSERT_EQ("dependency cycle: a -> d -> c -> b -> a", err); -} - -// Verify that cycles in graphs with multiple outputs are handled correctly -// in RecomputeDirty() and don't cause deps to be loaded multiple times. -TEST_F(GraphTest, CycleWithLengthZeroFromDepfile) { - AssertParse(&state_, -"rule deprule\n" -" depfile = dep.d\n" -" command = unused\n" -"build a b: deprule\n" - ); - fs_.Create("dep.d", "a: b\n"); - - string err; - EXPECT_FALSE(scan_.RecomputeDirty(GetNode("a"), &err)); - ASSERT_EQ("dependency cycle: b -> b", err); - - // Despite the depfile causing edge to be a cycle (it has outputs a and b, - // but the depfile also adds b as an input), the deps should have been loaded - // only once: - Edge* edge = GetNode("a")->in_edge(); - EXPECT_EQ(1, edge->inputs_.size()); - EXPECT_EQ("b", edge->inputs_[0]->path()); -} - -// Like CycleWithLengthZeroFromDepfile but with a higher cycle length. -TEST_F(GraphTest, CycleWithLengthOneFromDepfile) { - AssertParse(&state_, -"rule deprule\n" -" depfile = dep.d\n" -" command = unused\n" -"rule r\n" -" command = unused\n" -"build a b: deprule\n" -"build c: r b\n" - ); - fs_.Create("dep.d", "a: c\n"); - - string err; - EXPECT_FALSE(scan_.RecomputeDirty(GetNode("a"), &err)); - ASSERT_EQ("dependency cycle: b -> c -> b", err); - - // Despite the depfile causing edge to be a cycle (|edge| has outputs a and b, - // but c's in_edge has b as input but the depfile also adds |edge| as - // output)), the deps should have been loaded only once: - Edge* edge = GetNode("a")->in_edge(); - EXPECT_EQ(1, edge->inputs_.size()); - EXPECT_EQ("c", edge->inputs_[0]->path()); -} - -// Like CycleWithLengthOneFromDepfile but building a node one hop away from -// the cycle. -TEST_F(GraphTest, CycleWithLengthOneFromDepfileOneHopAway) { - AssertParse(&state_, -"rule deprule\n" -" depfile = dep.d\n" -" command = unused\n" -"rule r\n" -" command = unused\n" -"build a b: deprule\n" -"build c: r b\n" -"build d: r a\n" - ); - fs_.Create("dep.d", "a: c\n"); - - string err; - EXPECT_FALSE(scan_.RecomputeDirty(GetNode("d"), &err)); - ASSERT_EQ("dependency cycle: b -> c -> b", err); - - // Despite the depfile causing edge to be a cycle (|edge| has outputs a and b, - // but c's in_edge has b as input but the depfile also adds |edge| as - // output)), the deps should have been loaded only once: - Edge* edge = GetNode("a")->in_edge(); - EXPECT_EQ(1, edge->inputs_.size()); - EXPECT_EQ("c", edge->inputs_[0]->path()); -} - -#ifdef _WIN32 -TEST_F(GraphTest, Decanonicalize) { - ASSERT_NO_FATAL_FAILURE(AssertParse(&state_, -"build out\\out1: cat src\\in1\n" -"build out\\out2/out3\\out4: cat mid1\n" -"build out3 out4\\foo: cat mid1\n")); - - string err; - vector root_nodes = state_.RootNodes(&err); - EXPECT_EQ(4u, root_nodes.size()); - EXPECT_EQ(root_nodes[0]->path(), "out/out1"); - EXPECT_EQ(root_nodes[1]->path(), "out/out2/out3/out4"); - EXPECT_EQ(root_nodes[2]->path(), "out3"); - EXPECT_EQ(root_nodes[3]->path(), "out4/foo"); - EXPECT_EQ(root_nodes[0]->PathDecanonicalized(), "out\\out1"); - EXPECT_EQ(root_nodes[1]->PathDecanonicalized(), "out\\out2/out3\\out4"); - EXPECT_EQ(root_nodes[2]->PathDecanonicalized(), "out3"); - EXPECT_EQ(root_nodes[3]->PathDecanonicalized(), "out4\\foo"); -} -#endif diff --git a/vendor/ninja/src/graphviz.cc b/vendor/ninja/src/graphviz.cc deleted file mode 100644 index dce8b3225..000000000 --- a/vendor/ninja/src/graphviz.cc +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "graphviz.h" - -#include -#include - -#include "graph.h" - -void GraphViz::AddTarget(Node* node) { - if (visited_nodes_.find(node) != visited_nodes_.end()) - return; - - string pathstr = node->path(); - replace(pathstr.begin(), pathstr.end(), '\\', '/'); - printf("\"%p\" [label=\"%s\"]\n", node, pathstr.c_str()); - visited_nodes_.insert(node); - - Edge* edge = node->in_edge(); - - if (!edge) { - // Leaf node. - // Draw as a rect? - return; - } - - if (visited_edges_.find(edge) != visited_edges_.end()) - return; - visited_edges_.insert(edge); - - if (edge->inputs_.size() == 1 && edge->outputs_.size() == 1) { - // Can draw simply. - // Note extra space before label text -- this is cosmetic and feels - // like a graphviz bug. - printf("\"%p\" -> \"%p\" [label=\" %s\"]\n", - edge->inputs_[0], edge->outputs_[0], edge->rule_->name().c_str()); - } else { - printf("\"%p\" [label=\"%s\", shape=ellipse]\n", - edge, edge->rule_->name().c_str()); - for (vector::iterator out = edge->outputs_.begin(); - out != edge->outputs_.end(); ++out) { - printf("\"%p\" -> \"%p\"\n", edge, *out); - } - for (vector::iterator in = edge->inputs_.begin(); - in != edge->inputs_.end(); ++in) { - const char* order_only = ""; - if (edge->is_order_only(in - edge->inputs_.begin())) - order_only = " style=dotted"; - printf("\"%p\" -> \"%p\" [arrowhead=none%s]\n", (*in), edge, order_only); - } - } - - for (vector::iterator in = edge->inputs_.begin(); - in != edge->inputs_.end(); ++in) { - AddTarget(*in); - } -} - -void GraphViz::Start() { - printf("digraph ninja {\n"); - printf("rankdir=\"LR\"\n"); - printf("node [fontsize=10, shape=box, height=0.25]\n"); - printf("edge [fontsize=10]\n"); -} - -void GraphViz::Finish() { - printf("}\n"); -} diff --git a/vendor/ninja/src/graphviz.h b/vendor/ninja/src/graphviz.h deleted file mode 100644 index 408496ddf..000000000 --- a/vendor/ninja/src/graphviz.h +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_GRAPHVIZ_H_ -#define NINJA_GRAPHVIZ_H_ - -#include - -struct Node; -struct Edge; - -/// Runs the process of creating GraphViz .dot file output. -struct GraphViz { - void Start(); - void AddTarget(Node* node); - void Finish(); - - std::set visited_nodes_; - std::set visited_edges_; -}; - -#endif // NINJA_GRAPHVIZ_H_ diff --git a/vendor/ninja/src/hash_collision_bench.cc b/vendor/ninja/src/hash_collision_bench.cc deleted file mode 100644 index ff947dca6..000000000 --- a/vendor/ninja/src/hash_collision_bench.cc +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "build_log.h" - -#include -using namespace std; - -#include -#include - -int random(int low, int high) { - return int(low + (rand() / double(RAND_MAX)) * (high - low) + 0.5); -} - -void RandomCommand(char** s) { - int len = random(5, 100); - *s = new char[len]; - for (int i = 0; i < len; ++i) - (*s)[i] = (char)random(32, 127); -} - -int main() { - const int N = 20 * 1000 * 1000; - - // Leak these, else 10% of the runtime is spent destroying strings. - char** commands = new char*[N]; - pair* hashes = new pair[N]; - - srand((int)time(NULL)); - - for (int i = 0; i < N; ++i) { - RandomCommand(&commands[i]); - hashes[i] = make_pair(BuildLog::LogEntry::HashCommand(commands[i]), i); - } - - sort(hashes, hashes + N); - - int collision_count = 0; - for (int i = 1; i < N; ++i) { - if (hashes[i - 1].first == hashes[i].first) { - if (strcmp(commands[hashes[i - 1].second], - commands[hashes[i].second]) != 0) { - printf("collision!\n string 1: '%s'\n string 2: '%s'\n", - commands[hashes[i - 1].second], - commands[hashes[i].second]); - collision_count++; - } - } - } - printf("\n\n%d collisions after %d runs\n", collision_count, N); -} diff --git a/vendor/ninja/src/hash_map.h b/vendor/ninja/src/hash_map.h deleted file mode 100644 index a91aeb996..000000000 --- a/vendor/ninja/src/hash_map.h +++ /dev/null @@ -1,120 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_MAP_H_ -#define NINJA_MAP_H_ - -#include -#include -#include "string_piece.h" - -// MurmurHash2, by Austin Appleby -static inline -unsigned int MurmurHash2(const void* key, size_t len) { - static const unsigned int seed = 0xDECAFBAD; - const unsigned int m = 0x5bd1e995; - const int r = 24; - unsigned int h = seed ^ len; - const unsigned char* data = (const unsigned char*)key; - while (len >= 4) { - unsigned int k; - memcpy(&k, data, sizeof k); - k *= m; - k ^= k >> r; - k *= m; - h *= m; - h ^= k; - data += 4; - len -= 4; - } - switch (len) { - case 3: h ^= data[2] << 16; - case 2: h ^= data[1] << 8; - case 1: h ^= data[0]; - h *= m; - }; - h ^= h >> 13; - h *= m; - h ^= h >> 15; - return h; -} - -#if (__cplusplus >= 201103L) || (_MSC_VER >= 1900) -#include - -namespace std { -template<> -struct hash { - typedef StringPiece argument_type; - typedef size_t result_type; - - size_t operator()(StringPiece key) const { - return MurmurHash2(key.str_, key.len_); - } -}; -} - -#elif defined(_MSC_VER) -#include - -using stdext::hash_map; -using stdext::hash_compare; - -struct StringPieceCmp : public hash_compare { - size_t operator()(const StringPiece& key) const { - return MurmurHash2(key.str_, key.len_); - } - bool operator()(const StringPiece& a, const StringPiece& b) const { - int cmp = memcmp(a.str_, b.str_, min(a.len_, b.len_)); - if (cmp < 0) { - return true; - } else if (cmp > 0) { - return false; - } else { - return a.len_ < b.len_; - } - } -}; - -#else -#include - -using __gnu_cxx::hash_map; - -namespace __gnu_cxx { -template<> -struct hash { - size_t operator()(StringPiece key) const { - return MurmurHash2(key.str_, key.len_); - } -}; -} -#endif - -/// A template for hash_maps keyed by a StringPiece whose string is -/// owned externally (typically by the values). Use like: -/// ExternalStringHash::Type foos; to make foos into a hash -/// mapping StringPiece => Foo*. -template -struct ExternalStringHashMap { -#if (__cplusplus >= 201103L) || (_MSC_VER >= 1900) - typedef std::unordered_map Type; -#elif defined(_MSC_VER) - typedef hash_map Type; -#else - typedef hash_map Type; -#endif -}; - -#endif // NINJA_MAP_H_ diff --git a/vendor/ninja/src/includes_normalize-win32.cc b/vendor/ninja/src/includes_normalize-win32.cc deleted file mode 100644 index 459329bc9..000000000 --- a/vendor/ninja/src/includes_normalize-win32.cc +++ /dev/null @@ -1,176 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "includes_normalize.h" - -#include "string_piece.h" -#include "string_piece_util.h" -#include "util.h" - -#include -#include -#include - -#include - -namespace { - -bool IsPathSeparator(char c) { - return c == '/' || c == '\\'; -} - -// Return true if paths a and b are on the same windows drive. -// Return false if this funcation cannot check -// whether or not on the same windows drive. -bool SameDriveFast(StringPiece a, StringPiece b) { - if (a.size() < 3 || b.size() < 3) { - return false; - } - - if (!islatinalpha(a[0]) || !islatinalpha(b[0])) { - return false; - } - - if (ToLowerASCII(a[0]) != ToLowerASCII(b[0])) { - return false; - } - - if (a[1] != ':' || b[1] != ':') { - return false; - } - - return IsPathSeparator(a[2]) && IsPathSeparator(b[2]); -} - -// Return true if paths a and b are on the same Windows drive. -bool SameDrive(StringPiece a, StringPiece b) { - if (SameDriveFast(a, b)) { - return true; - } - - char a_absolute[_MAX_PATH]; - char b_absolute[_MAX_PATH]; - GetFullPathName(a.AsString().c_str(), sizeof(a_absolute), a_absolute, NULL); - GetFullPathName(b.AsString().c_str(), sizeof(b_absolute), b_absolute, NULL); - char a_drive[_MAX_DIR]; - char b_drive[_MAX_DIR]; - _splitpath(a_absolute, a_drive, NULL, NULL, NULL); - _splitpath(b_absolute, b_drive, NULL, NULL, NULL); - return _stricmp(a_drive, b_drive) == 0; -} - -// Check path |s| is FullPath style returned by GetFullPathName. -// This ignores difference of path separator. -// This is used not to call very slow GetFullPathName API. -bool IsFullPathName(StringPiece s) { - if (s.size() < 3 || - !islatinalpha(s[0]) || - s[1] != ':' || - !IsPathSeparator(s[2])) { - return false; - } - - // Check "." or ".." is contained in path. - for (size_t i = 2; i < s.size(); ++i) { - if (!IsPathSeparator(s[i])) { - continue; - } - - // Check ".". - if (i + 1 < s.size() && s[i+1] == '.' && - (i + 2 >= s.size() || IsPathSeparator(s[i+2]))) { - return false; - } - - // Check "..". - if (i + 2 < s.size() && s[i+1] == '.' && s[i+2] == '.' && - (i + 3 >= s.size() || IsPathSeparator(s[i+3]))) { - return false; - } - } - - return true; -} - -} // anonymous namespace - -IncludesNormalize::IncludesNormalize(const string& relative_to) { - relative_to_ = AbsPath(relative_to); - split_relative_to_ = SplitStringPiece(relative_to_, '/'); -} - -string IncludesNormalize::AbsPath(StringPiece s) { - if (IsFullPathName(s)) { - string result = s.AsString(); - for (size_t i = 0; i < result.size(); ++i) { - if (result[i] == '\\') { - result[i] = '/'; - } - } - return result; - } - - char result[_MAX_PATH]; - GetFullPathName(s.AsString().c_str(), sizeof(result), result, NULL); - for (char* c = result; *c; ++c) - if (*c == '\\') - *c = '/'; - return result; -} - -string IncludesNormalize::Relativize( - StringPiece path, const vector& start_list) { - string abs_path = AbsPath(path); - vector path_list = SplitStringPiece(abs_path, '/'); - int i; - for (i = 0; i < static_cast(min(start_list.size(), path_list.size())); - ++i) { - if (!EqualsCaseInsensitiveASCII(start_list[i], path_list[i])) { - break; - } - } - - vector rel_list; - rel_list.reserve(start_list.size() - i + path_list.size() - i); - for (int j = 0; j < static_cast(start_list.size() - i); ++j) - rel_list.push_back(".."); - for (int j = i; j < static_cast(path_list.size()); ++j) - rel_list.push_back(path_list[j]); - if (rel_list.size() == 0) - return "."; - return JoinStringPiece(rel_list, '/'); -} - -bool IncludesNormalize::Normalize(const string& input, - string* result, string* err) const { - char copy[_MAX_PATH + 1]; - size_t len = input.size(); - if (len > _MAX_PATH) { - *err = "path too long"; - return false; - } - strncpy(copy, input.c_str(), input.size() + 1); - uint64_t slash_bits; - if (!CanonicalizePath(copy, &len, &slash_bits, err)) - return false; - StringPiece partially_fixed(copy, len); - string abs_input = AbsPath(partially_fixed); - - if (!SameDrive(abs_input, relative_to_)) { - *result = partially_fixed.AsString(); - return true; - } - *result = Relativize(abs_input, split_relative_to_); - return true; -} diff --git a/vendor/ninja/src/includes_normalize.h b/vendor/ninja/src/includes_normalize.h deleted file mode 100644 index 3811e5384..000000000 --- a/vendor/ninja/src/includes_normalize.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include -using namespace std; - -struct StringPiece; - -/// Utility functions for normalizing include paths on Windows. -/// TODO: this likely duplicates functionality of CanonicalizePath; refactor. -struct IncludesNormalize { - /// Normalize path relative to |relative_to|. - IncludesNormalize(const string& relative_to); - - // Internal utilities made available for testing, maybe useful otherwise. - static string AbsPath(StringPiece s); - static string Relativize(StringPiece path, - const vector& start_list); - - /// Normalize by fixing slashes style, fixing redundant .. and . and makes the - /// path |input| relative to |this->relative_to_| and store to |result|. - bool Normalize(const string& input, string* result, string* err) const; - - private: - string relative_to_; - vector split_relative_to_; -}; diff --git a/vendor/ninja/src/includes_normalize_test.cc b/vendor/ninja/src/includes_normalize_test.cc deleted file mode 100644 index eac36fd2d..000000000 --- a/vendor/ninja/src/includes_normalize_test.cc +++ /dev/null @@ -1,140 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "includes_normalize.h" - -#include - -#include - -#include "string_piece_util.h" -#include "test.h" -#include "util.h" - -namespace { - -string GetCurDir() { - char buf[_MAX_PATH]; - _getcwd(buf, sizeof(buf)); - vector parts = SplitStringPiece(buf, '\\'); - return parts[parts.size() - 1].AsString(); -} - -string NormalizeAndCheckNoError(const string& input) { - string result, err; - IncludesNormalize normalizer("."); - EXPECT_TRUE(normalizer.Normalize(input, &result, &err)); - EXPECT_EQ("", err); - return result; -} - -string NormalizeRelativeAndCheckNoError(const string& input, - const string& relative_to) { - string result, err; - IncludesNormalize normalizer(relative_to); - EXPECT_TRUE(normalizer.Normalize(input, &result, &err)); - EXPECT_EQ("", err); - return result; -} - -} // namespace - -TEST(IncludesNormalize, Simple) { - EXPECT_EQ("b", NormalizeAndCheckNoError("a\\..\\b")); - EXPECT_EQ("b", NormalizeAndCheckNoError("a\\../b")); - EXPECT_EQ("a/b", NormalizeAndCheckNoError("a\\.\\b")); - EXPECT_EQ("a/b", NormalizeAndCheckNoError("a\\./b")); -} - -TEST(IncludesNormalize, WithRelative) { - string currentdir = GetCurDir(); - EXPECT_EQ("c", NormalizeRelativeAndCheckNoError("a/b/c", "a/b")); - EXPECT_EQ("a", NormalizeAndCheckNoError(IncludesNormalize::AbsPath("a"))); - EXPECT_EQ(string("../") + currentdir + string("/a"), - NormalizeRelativeAndCheckNoError("a", "../b")); - EXPECT_EQ(string("../") + currentdir + string("/a/b"), - NormalizeRelativeAndCheckNoError("a/b", "../c")); - EXPECT_EQ("../../a", NormalizeRelativeAndCheckNoError("a", "b/c")); - EXPECT_EQ(".", NormalizeRelativeAndCheckNoError("a", "a")); -} - -TEST(IncludesNormalize, Case) { - EXPECT_EQ("b", NormalizeAndCheckNoError("Abc\\..\\b")); - EXPECT_EQ("BdEf", NormalizeAndCheckNoError("Abc\\..\\BdEf")); - EXPECT_EQ("A/b", NormalizeAndCheckNoError("A\\.\\b")); - EXPECT_EQ("a/b", NormalizeAndCheckNoError("a\\./b")); - EXPECT_EQ("A/B", NormalizeAndCheckNoError("A\\.\\B")); - EXPECT_EQ("A/B", NormalizeAndCheckNoError("A\\./B")); -} - -TEST(IncludesNormalize, DifferentDrive) { - EXPECT_EQ("stuff.h", - NormalizeRelativeAndCheckNoError("p:\\vs08\\stuff.h", "p:\\vs08")); - EXPECT_EQ("stuff.h", - NormalizeRelativeAndCheckNoError("P:\\Vs08\\stuff.h", "p:\\vs08")); - EXPECT_EQ("p:/vs08/stuff.h", - NormalizeRelativeAndCheckNoError("p:\\vs08\\stuff.h", "c:\\vs08")); - EXPECT_EQ("P:/vs08/stufF.h", NormalizeRelativeAndCheckNoError( - "P:\\vs08\\stufF.h", "D:\\stuff/things")); - EXPECT_EQ("P:/vs08/stuff.h", NormalizeRelativeAndCheckNoError( - "P:/vs08\\stuff.h", "D:\\stuff/things")); - EXPECT_EQ("P:/wee/stuff.h", - NormalizeRelativeAndCheckNoError("P:/vs08\\../wee\\stuff.h", - "D:\\stuff/things")); -} - -TEST(IncludesNormalize, LongInvalidPath) { - const char kLongInputString[] = - "C:\\Program Files (x86)\\Microsoft Visual Studio " - "12.0\\VC\\INCLUDEwarning #31001: The dll for reading and writing the " - "pdb (for example, mspdb110.dll) could not be found on your path. This " - "is usually a configuration error. Compilation will continue using /Z7 " - "instead of /Zi, but expect a similar error when you link your program."; - // Too long, won't be canonicalized. Ensure doesn't crash. - string result, err; - IncludesNormalize normalizer("."); - EXPECT_FALSE( - normalizer.Normalize(kLongInputString, &result, &err)); - EXPECT_EQ("path too long", err); - - - // Construct max size path having cwd prefix. - // kExactlyMaxPath = "$cwd\\a\\aaaa...aaaa\0"; - char kExactlyMaxPath[_MAX_PATH + 1]; - ASSERT_NE(_getcwd(kExactlyMaxPath, sizeof kExactlyMaxPath), NULL); - - int cwd_len = strlen(kExactlyMaxPath); - ASSERT_LE(cwd_len + 3 + 1, _MAX_PATH) - kExactlyMaxPath[cwd_len] = '\\'; - kExactlyMaxPath[cwd_len + 1] = 'a'; - kExactlyMaxPath[cwd_len + 2] = '\\'; - - kExactlyMaxPath[cwd_len + 3] = 'a'; - - for (int i = cwd_len + 4; i < _MAX_PATH; ++i) { - if (i > cwd_len + 4 && i < _MAX_PATH - 1 && i % 10 == 0) - kExactlyMaxPath[i] = '\\'; - else - kExactlyMaxPath[i] = 'a'; - } - - kExactlyMaxPath[_MAX_PATH] = '\0'; - EXPECT_EQ(strlen(kExactlyMaxPath), _MAX_PATH); - - string forward_slashes(kExactlyMaxPath); - replace(forward_slashes.begin(), forward_slashes.end(), '\\', '/'); - // Make sure a path that's exactly _MAX_PATH long is canonicalized. - EXPECT_EQ(forward_slashes.substr(cwd_len + 1), - NormalizeAndCheckNoError(kExactlyMaxPath)); -} diff --git a/vendor/ninja/src/inline.sh b/vendor/ninja/src/inline.sh deleted file mode 100755 index fa282fabd..000000000 --- a/vendor/ninja/src/inline.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# -# Copyright 2001 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# This quick script converts a text file into an #include-able header. -# It expects the name of the variable as its first argument, and reads -# stdin and writes stdout. - -varname="$1" -echo "const char $varname[] =" -od -t x1 -A n -v | sed -e 's|[ \t]||g; s|..|\\x&|g; s|^|"|; s|$|"|' -echo ";" - diff --git a/vendor/ninja/src/lexer.cc b/vendor/ninja/src/lexer.cc deleted file mode 100644 index 37b867885..000000000 --- a/vendor/ninja/src/lexer.cc +++ /dev/null @@ -1,867 +0,0 @@ -/* Generated by re2c 0.13.5 */ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "lexer.h" - -#include - -#include "eval_env.h" -#include "util.h" - -bool Lexer::Error(const string& message, string* err) { - // Compute line/column. - int line = 1; - const char* context = input_.str_; - for (const char* p = input_.str_; p < last_token_; ++p) { - if (*p == '\n') { - ++line; - context = p + 1; - } - } - int col = last_token_ ? (int)(last_token_ - context) : 0; - - char buf[1024]; - snprintf(buf, sizeof(buf), "%s:%d: ", filename_.AsString().c_str(), line); - *err = buf; - *err += message + "\n"; - - // Add some context to the message. - const int kTruncateColumn = 72; - if (col > 0 && col < kTruncateColumn) { - int len; - bool truncated = true; - for (len = 0; len < kTruncateColumn; ++len) { - if (context[len] == 0 || context[len] == '\n') { - truncated = false; - break; - } - } - *err += string(context, len); - if (truncated) - *err += "..."; - *err += "\n"; - *err += string(col, ' '); - *err += "^ near here"; - } - - return false; -} - -Lexer::Lexer(const char* input) { - Start("input", input); -} - -void Lexer::Start(StringPiece filename, StringPiece input) { - filename_ = filename; - input_ = input; - ofs_ = input_.str_; - last_token_ = NULL; -} - -const char* Lexer::TokenName(Token t) { - switch (t) { - case ERROR: return "lexing error"; - case BUILD: return "'build'"; - case COLON: return "':'"; - case DEFAULT: return "'default'"; - case EQUALS: return "'='"; - case IDENT: return "identifier"; - case INCLUDE: return "'include'"; - case INDENT: return "indent"; - case NEWLINE: return "newline"; - case PIPE2: return "'||'"; - case PIPE: return "'|'"; - case POOL: return "'pool'"; - case RULE: return "'rule'"; - case SUBNINJA: return "'subninja'"; - case TEOF: return "eof"; - } - return NULL; // not reached -} - -const char* Lexer::TokenErrorHint(Token expected) { - switch (expected) { - case COLON: - return " ($ also escapes ':')"; - default: - return ""; - } -} - -string Lexer::DescribeLastError() { - if (last_token_) { - switch (last_token_[0]) { - case '\t': - return "tabs are not allowed, use spaces"; - } - } - return "lexing error"; -} - -void Lexer::UnreadToken() { - ofs_ = last_token_; -} - -Lexer::Token Lexer::ReadToken() { - const char* p = ofs_; - const char* q; - const char* start; - Lexer::Token token; - for (;;) { - start = p; - -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 192, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 96, 96, 64, - 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 64, 64, 64, 64, 64, 64, - 64, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 64, 64, 64, 64, 96, - 64, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 96, 96, 96, 96, 96, - 96, 96, 96, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - }; - - yych = *p; - if (yych <= 'Z') { - if (yych <= '#') { - if (yych <= '\f') { - if (yych <= 0x00) goto yy23; - if (yych == '\n') goto yy7; - goto yy25; - } else { - if (yych <= 0x1F) { - if (yych <= '\r') goto yy6; - goto yy25; - } else { - if (yych <= ' ') goto yy2; - if (yych <= '"') goto yy25; - goto yy4; - } - } - } else { - if (yych <= '9') { - if (yych <= ',') goto yy25; - if (yych == '/') goto yy25; - goto yy22; - } else { - if (yych <= '<') { - if (yych <= ':') goto yy16; - goto yy25; - } else { - if (yych <= '=') goto yy14; - if (yych <= '@') goto yy25; - goto yy22; - } - } - } - } else { - if (yych <= 'i') { - if (yych <= 'a') { - if (yych == '_') goto yy22; - if (yych <= '`') goto yy25; - goto yy22; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy9; - goto yy22; - } else { - if (yych <= 'd') goto yy13; - if (yych <= 'h') goto yy22; - goto yy20; - } - } - } else { - if (yych <= 'r') { - if (yych == 'p') goto yy11; - if (yych <= 'q') goto yy22; - goto yy12; - } else { - if (yych <= 'z') { - if (yych <= 's') goto yy21; - goto yy22; - } else { - if (yych == '|') goto yy18; - goto yy25; - } - } - } - } -yy2: - yyaccept = 0; - yych = *(q = ++p); - goto yy73; -yy3: - { token = INDENT; break; } -yy4: - yyaccept = 1; - yych = *(q = ++p); - if (yych >= 0x01) goto yy68; -yy5: - { token = ERROR; break; } -yy6: - yych = *++p; - if (yych == '\n') goto yy65; - goto yy5; -yy7: - ++p; -yy8: - { token = NEWLINE; break; } -yy9: - ++p; - if ((yych = *p) == 'u') goto yy60; - goto yy27; -yy10: - { token = IDENT; break; } -yy11: - yych = *++p; - if (yych == 'o') goto yy56; - goto yy27; -yy12: - yych = *++p; - if (yych == 'u') goto yy52; - goto yy27; -yy13: - yych = *++p; - if (yych == 'e') goto yy45; - goto yy27; -yy14: - ++p; - { token = EQUALS; break; } -yy16: - ++p; - { token = COLON; break; } -yy18: - ++p; - if ((yych = *p) == '|') goto yy43; - { token = PIPE; break; } -yy20: - yych = *++p; - if (yych == 'n') goto yy36; - goto yy27; -yy21: - yych = *++p; - if (yych == 'u') goto yy28; - goto yy27; -yy22: - yych = *++p; - goto yy27; -yy23: - ++p; - { token = TEOF; break; } -yy25: - yych = *++p; - goto yy5; -yy26: - ++p; - yych = *p; -yy27: - if (yybm[0+yych] & 32) { - goto yy26; - } - goto yy10; -yy28: - yych = *++p; - if (yych != 'b') goto yy27; - yych = *++p; - if (yych != 'n') goto yy27; - yych = *++p; - if (yych != 'i') goto yy27; - yych = *++p; - if (yych != 'n') goto yy27; - yych = *++p; - if (yych != 'j') goto yy27; - yych = *++p; - if (yych != 'a') goto yy27; - ++p; - if (yybm[0+(yych = *p)] & 32) { - goto yy26; - } - { token = SUBNINJA; break; } -yy36: - yych = *++p; - if (yych != 'c') goto yy27; - yych = *++p; - if (yych != 'l') goto yy27; - yych = *++p; - if (yych != 'u') goto yy27; - yych = *++p; - if (yych != 'd') goto yy27; - yych = *++p; - if (yych != 'e') goto yy27; - ++p; - if (yybm[0+(yych = *p)] & 32) { - goto yy26; - } - { token = INCLUDE; break; } -yy43: - ++p; - { token = PIPE2; break; } -yy45: - yych = *++p; - if (yych != 'f') goto yy27; - yych = *++p; - if (yych != 'a') goto yy27; - yych = *++p; - if (yych != 'u') goto yy27; - yych = *++p; - if (yych != 'l') goto yy27; - yych = *++p; - if (yych != 't') goto yy27; - ++p; - if (yybm[0+(yych = *p)] & 32) { - goto yy26; - } - { token = DEFAULT; break; } -yy52: - yych = *++p; - if (yych != 'l') goto yy27; - yych = *++p; - if (yych != 'e') goto yy27; - ++p; - if (yybm[0+(yych = *p)] & 32) { - goto yy26; - } - { token = RULE; break; } -yy56: - yych = *++p; - if (yych != 'o') goto yy27; - yych = *++p; - if (yych != 'l') goto yy27; - ++p; - if (yybm[0+(yych = *p)] & 32) { - goto yy26; - } - { token = POOL; break; } -yy60: - yych = *++p; - if (yych != 'i') goto yy27; - yych = *++p; - if (yych != 'l') goto yy27; - yych = *++p; - if (yych != 'd') goto yy27; - ++p; - if (yybm[0+(yych = *p)] & 32) { - goto yy26; - } - { token = BUILD; break; } -yy65: - ++p; - { token = NEWLINE; break; } -yy67: - ++p; - yych = *p; -yy68: - if (yybm[0+yych] & 64) { - goto yy67; - } - if (yych >= 0x01) goto yy70; -yy69: - p = q; - if (yyaccept <= 0) { - goto yy3; - } else { - goto yy5; - } -yy70: - ++p; - { continue; } -yy72: - yyaccept = 0; - q = ++p; - yych = *p; -yy73: - if (yybm[0+yych] & 128) { - goto yy72; - } - if (yych <= '\f') { - if (yych != '\n') goto yy3; - } else { - if (yych <= '\r') goto yy75; - if (yych == '#') goto yy67; - goto yy3; - } - yych = *++p; - goto yy8; -yy75: - ++p; - if ((yych = *p) == '\n') goto yy65; - goto yy69; -} - - } - - last_token_ = start; - ofs_ = p; - if (token != NEWLINE && token != TEOF) - EatWhitespace(); - return token; -} - -bool Lexer::PeekToken(Token token) { - Token t = ReadToken(); - if (t == token) - return true; - UnreadToken(); - return false; -} - -void Lexer::EatWhitespace() { - const char* p = ofs_; - const char* q; - for (;;) { - ofs_ = p; - -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= ' ') { - if (yych <= 0x00) goto yy82; - if (yych <= 0x1F) goto yy84; - } else { - if (yych == '$') goto yy80; - goto yy84; - } - ++p; - yych = *p; - goto yy92; -yy79: - { continue; } -yy80: - yych = *(q = ++p); - if (yych == '\n') goto yy85; - if (yych == '\r') goto yy87; -yy81: - { break; } -yy82: - ++p; - { break; } -yy84: - yych = *++p; - goto yy81; -yy85: - ++p; - { continue; } -yy87: - yych = *++p; - if (yych == '\n') goto yy89; - p = q; - goto yy81; -yy89: - ++p; - { continue; } -yy91: - ++p; - yych = *p; -yy92: - if (yybm[0+yych] & 128) { - goto yy91; - } - goto yy79; -} - - } -} - -bool Lexer::ReadIdent(string* out) { - const char* p = ofs_; - for (;;) { - const char* start = p; - -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 128, 0, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 0, 0, 128, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '@') { - if (yych <= '.') { - if (yych <= ',') goto yy97; - } else { - if (yych <= '/') goto yy97; - if (yych >= ':') goto yy97; - } - } else { - if (yych <= '_') { - if (yych <= 'Z') goto yy95; - if (yych <= '^') goto yy97; - } else { - if (yych <= '`') goto yy97; - if (yych >= '{') goto yy97; - } - } -yy95: - ++p; - yych = *p; - goto yy100; -yy96: - { - out->assign(start, p - start); - break; - } -yy97: - ++p; - { return false; } -yy99: - ++p; - yych = *p; -yy100: - if (yybm[0+yych] & 128) { - goto yy99; - } - goto yy96; -} - - } - ofs_ = p; - EatWhitespace(); - return true; -} - -bool Lexer::ReadEvalString(EvalString* eval, bool path, string* err) { - const char* p = ofs_; - const char* q; - const char* start; - for (;;) { - start = p; - -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 128, 128, 0, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 16, 128, 128, 128, 0, 128, 128, 128, - 128, 128, 128, 128, 128, 224, 160, 128, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 0, 128, 128, 128, 128, 128, - 128, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 128, 128, 128, 128, 224, - 128, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 128, 0, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - }; - yych = *p; - if (yych <= ' ') { - if (yych <= '\n') { - if (yych <= 0x00) goto yy110; - if (yych >= '\n') goto yy107; - } else { - if (yych == '\r') goto yy105; - if (yych >= ' ') goto yy107; - } - } else { - if (yych <= '9') { - if (yych == '$') goto yy109; - } else { - if (yych <= ':') goto yy107; - if (yych == '|') goto yy107; - } - } - ++p; - yych = *p; - goto yy140; -yy104: - { - eval->AddText(StringPiece(start, p - start)); - continue; - } -yy105: - ++p; - if ((yych = *p) == '\n') goto yy137; - { - last_token_ = start; - return Error(DescribeLastError(), err); - } -yy107: - ++p; - { - if (path) { - p = start; - break; - } else { - if (*start == '\n') - break; - eval->AddText(StringPiece(start, 1)); - continue; - } - } -yy109: - yych = *++p; - if (yych <= '-') { - if (yych <= 0x1F) { - if (yych <= '\n') { - if (yych <= '\t') goto yy112; - goto yy124; - } else { - if (yych == '\r') goto yy114; - goto yy112; - } - } else { - if (yych <= '#') { - if (yych <= ' ') goto yy115; - goto yy112; - } else { - if (yych <= '$') goto yy117; - if (yych <= ',') goto yy112; - goto yy119; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '9') { - if (yych <= '/') goto yy112; - goto yy119; - } else { - if (yych <= ':') goto yy121; - if (yych <= '@') goto yy112; - goto yy119; - } - } else { - if (yych <= '`') { - if (yych == '_') goto yy119; - goto yy112; - } else { - if (yych <= 'z') goto yy119; - if (yych <= '{') goto yy123; - goto yy112; - } - } - } -yy110: - ++p; - { - last_token_ = start; - return Error("unexpected EOF", err); - } -yy112: - ++p; -yy113: - { - last_token_ = start; - return Error("bad $-escape (literal $ must be written as $$)", err); - } -yy114: - yych = *++p; - if (yych == '\n') goto yy134; - goto yy113; -yy115: - ++p; - { - eval->AddText(StringPiece(" ", 1)); - continue; - } -yy117: - ++p; - { - eval->AddText(StringPiece("$", 1)); - continue; - } -yy119: - ++p; - yych = *p; - goto yy133; -yy120: - { - eval->AddSpecial(StringPiece(start + 1, p - start - 1)); - continue; - } -yy121: - ++p; - { - eval->AddText(StringPiece(":", 1)); - continue; - } -yy123: - yych = *(q = ++p); - if (yybm[0+yych] & 32) { - goto yy127; - } - goto yy113; -yy124: - ++p; - yych = *p; - if (yybm[0+yych] & 16) { - goto yy124; - } - { - continue; - } -yy127: - ++p; - yych = *p; - if (yybm[0+yych] & 32) { - goto yy127; - } - if (yych == '}') goto yy130; - p = q; - goto yy113; -yy130: - ++p; - { - eval->AddSpecial(StringPiece(start + 2, p - start - 3)); - continue; - } -yy132: - ++p; - yych = *p; -yy133: - if (yybm[0+yych] & 64) { - goto yy132; - } - goto yy120; -yy134: - ++p; - yych = *p; - if (yych == ' ') goto yy134; - { - continue; - } -yy137: - ++p; - { - if (path) - p = start; - break; - } -yy139: - ++p; - yych = *p; -yy140: - if (yybm[0+yych] & 128) { - goto yy139; - } - goto yy104; -} - - } - last_token_ = start; - ofs_ = p; - if (path) - EatWhitespace(); - // Non-path strings end in newlines, so there's no whitespace to eat. - return true; -} diff --git a/vendor/ninja/src/lexer.h b/vendor/ninja/src/lexer.h deleted file mode 100644 index f366556af..000000000 --- a/vendor/ninja/src/lexer.h +++ /dev/null @@ -1,105 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_LEXER_H_ -#define NINJA_LEXER_H_ - -#include "string_piece.h" - -// Windows may #define ERROR. -#ifdef ERROR -#undef ERROR -#endif - -struct EvalString; - -struct Lexer { - Lexer() {} - /// Helper ctor useful for tests. - explicit Lexer(const char* input); - - enum Token { - ERROR, - BUILD, - COLON, - DEFAULT, - EQUALS, - IDENT, - INCLUDE, - INDENT, - NEWLINE, - PIPE, - PIPE2, - POOL, - RULE, - SUBNINJA, - TEOF, - }; - - /// Return a human-readable form of a token, used in error messages. - static const char* TokenName(Token t); - - /// Return a human-readable token hint, used in error messages. - static const char* TokenErrorHint(Token expected); - - /// If the last token read was an ERROR token, provide more info - /// or the empty string. - string DescribeLastError(); - - /// Start parsing some input. - void Start(StringPiece filename, StringPiece input); - - /// Read a Token from the Token enum. - Token ReadToken(); - - /// Rewind to the last read Token. - void UnreadToken(); - - /// If the next token is \a token, read it and return true. - bool PeekToken(Token token); - - /// Read a simple identifier (a rule or variable name). - /// Returns false if a name can't be read. - bool ReadIdent(string* out); - - /// Read a path (complete with $escapes). - /// Returns false only on error, returned path may be empty if a delimiter - /// (space, newline) is hit. - bool ReadPath(EvalString* path, string* err) { - return ReadEvalString(path, true, err); - } - - /// Read the value side of a var = value line (complete with $escapes). - /// Returns false only on error. - bool ReadVarValue(EvalString* value, string* err) { - return ReadEvalString(value, false, err); - } - - /// Construct an error message with context. - bool Error(const string& message, string* err); - -private: - /// Skip past whitespace (called after each read token/ident/etc.). - void EatWhitespace(); - - /// Read a $-escaped string. - bool ReadEvalString(EvalString* eval, bool path, string* err); - - StringPiece filename_; - StringPiece input_; - const char* ofs_; - const char* last_token_; -}; - -#endif // NINJA_LEXER_H_ diff --git a/vendor/ninja/src/lexer.in.cc b/vendor/ninja/src/lexer.in.cc deleted file mode 100644 index f86123908..000000000 --- a/vendor/ninja/src/lexer.in.cc +++ /dev/null @@ -1,273 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "lexer.h" - -#include - -#include "eval_env.h" -#include "util.h" - -bool Lexer::Error(const string& message, string* err) { - // Compute line/column. - int line = 1; - const char* context = input_.str_; - for (const char* p = input_.str_; p < last_token_; ++p) { - if (*p == '\n') { - ++line; - context = p + 1; - } - } - int col = last_token_ ? (int)(last_token_ - context) : 0; - - char buf[1024]; - snprintf(buf, sizeof(buf), "%s:%d: ", filename_.AsString().c_str(), line); - *err = buf; - *err += message + "\n"; - - // Add some context to the message. - const int kTruncateColumn = 72; - if (col > 0 && col < kTruncateColumn) { - int len; - bool truncated = true; - for (len = 0; len < kTruncateColumn; ++len) { - if (context[len] == 0 || context[len] == '\n') { - truncated = false; - break; - } - } - *err += string(context, len); - if (truncated) - *err += "..."; - *err += "\n"; - *err += string(col, ' '); - *err += "^ near here"; - } - - return false; -} - -Lexer::Lexer(const char* input) { - Start("input", input); -} - -void Lexer::Start(StringPiece filename, StringPiece input) { - filename_ = filename; - input_ = input; - ofs_ = input_.str_; - last_token_ = NULL; -} - -const char* Lexer::TokenName(Token t) { - switch (t) { - case ERROR: return "lexing error"; - case BUILD: return "'build'"; - case COLON: return "':'"; - case DEFAULT: return "'default'"; - case EQUALS: return "'='"; - case IDENT: return "identifier"; - case INCLUDE: return "'include'"; - case INDENT: return "indent"; - case NEWLINE: return "newline"; - case PIPE2: return "'||'"; - case PIPE: return "'|'"; - case POOL: return "'pool'"; - case RULE: return "'rule'"; - case SUBNINJA: return "'subninja'"; - case TEOF: return "eof"; - } - return NULL; // not reached -} - -const char* Lexer::TokenErrorHint(Token expected) { - switch (expected) { - case COLON: - return " ($ also escapes ':')"; - default: - return ""; - } -} - -string Lexer::DescribeLastError() { - if (last_token_) { - switch (last_token_[0]) { - case '\t': - return "tabs are not allowed, use spaces"; - } - } - return "lexing error"; -} - -void Lexer::UnreadToken() { - ofs_ = last_token_; -} - -Lexer::Token Lexer::ReadToken() { - const char* p = ofs_; - const char* q; - const char* start; - Lexer::Token token; - for (;;) { - start = p; - /*!re2c - re2c:define:YYCTYPE = "unsigned char"; - re2c:define:YYCURSOR = p; - re2c:define:YYMARKER = q; - re2c:yyfill:enable = 0; - - nul = "\000"; - simple_varname = [a-zA-Z0-9_-]+; - varname = [a-zA-Z0-9_.-]+; - - [ ]*"#"[^\000\n]*"\n" { continue; } - [ ]*"\r\n" { token = NEWLINE; break; } - [ ]*"\n" { token = NEWLINE; break; } - [ ]+ { token = INDENT; break; } - "build" { token = BUILD; break; } - "pool" { token = POOL; break; } - "rule" { token = RULE; break; } - "default" { token = DEFAULT; break; } - "=" { token = EQUALS; break; } - ":" { token = COLON; break; } - "||" { token = PIPE2; break; } - "|" { token = PIPE; break; } - "include" { token = INCLUDE; break; } - "subninja" { token = SUBNINJA; break; } - varname { token = IDENT; break; } - nul { token = TEOF; break; } - [^] { token = ERROR; break; } - */ - } - - last_token_ = start; - ofs_ = p; - if (token != NEWLINE && token != TEOF) - EatWhitespace(); - return token; -} - -bool Lexer::PeekToken(Token token) { - Token t = ReadToken(); - if (t == token) - return true; - UnreadToken(); - return false; -} - -void Lexer::EatWhitespace() { - const char* p = ofs_; - const char* q; - for (;;) { - ofs_ = p; - /*!re2c - [ ]+ { continue; } - "$\r\n" { continue; } - "$\n" { continue; } - nul { break; } - [^] { break; } - */ - } -} - -bool Lexer::ReadIdent(string* out) { - const char* p = ofs_; - for (;;) { - const char* start = p; - /*!re2c - varname { - out->assign(start, p - start); - break; - } - [^] { return false; } - */ - } - ofs_ = p; - EatWhitespace(); - return true; -} - -bool Lexer::ReadEvalString(EvalString* eval, bool path, string* err) { - const char* p = ofs_; - const char* q; - const char* start; - for (;;) { - start = p; - /*!re2c - [^$ :\r\n|\000]+ { - eval->AddText(StringPiece(start, p - start)); - continue; - } - "\r\n" { - if (path) - p = start; - break; - } - [ :|\n] { - if (path) { - p = start; - break; - } else { - if (*start == '\n') - break; - eval->AddText(StringPiece(start, 1)); - continue; - } - } - "$$" { - eval->AddText(StringPiece("$", 1)); - continue; - } - "$ " { - eval->AddText(StringPiece(" ", 1)); - continue; - } - "$\r\n"[ ]* { - continue; - } - "$\n"[ ]* { - continue; - } - "${"varname"}" { - eval->AddSpecial(StringPiece(start + 2, p - start - 3)); - continue; - } - "$"simple_varname { - eval->AddSpecial(StringPiece(start + 1, p - start - 1)); - continue; - } - "$:" { - eval->AddText(StringPiece(":", 1)); - continue; - } - "$". { - last_token_ = start; - return Error("bad $-escape (literal $ must be written as $$)", err); - } - nul { - last_token_ = start; - return Error("unexpected EOF", err); - } - [^] { - last_token_ = start; - return Error(DescribeLastError(), err); - } - */ - } - last_token_ = start; - ofs_ = p; - if (path) - EatWhitespace(); - // Non-path strings end in newlines, so there's no whitespace to eat. - return true; -} diff --git a/vendor/ninja/src/lexer_test.cc b/vendor/ninja/src/lexer_test.cc deleted file mode 100644 index 331d8e1ea..000000000 --- a/vendor/ninja/src/lexer_test.cc +++ /dev/null @@ -1,96 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "lexer.h" - -#include "eval_env.h" -#include "test.h" - -TEST(Lexer, ReadVarValue) { - Lexer lexer("plain text $var $VaR ${x}\n"); - EvalString eval; - string err; - EXPECT_TRUE(lexer.ReadVarValue(&eval, &err)); - EXPECT_EQ("", err); - EXPECT_EQ("[plain text ][$var][ ][$VaR][ ][$x]", - eval.Serialize()); -} - -TEST(Lexer, ReadEvalStringEscapes) { - Lexer lexer("$ $$ab c$: $\ncde\n"); - EvalString eval; - string err; - EXPECT_TRUE(lexer.ReadVarValue(&eval, &err)); - EXPECT_EQ("", err); - EXPECT_EQ("[ $ab c: cde]", - eval.Serialize()); -} - -TEST(Lexer, ReadIdent) { - Lexer lexer("foo baR baz_123 foo-bar"); - string ident; - EXPECT_TRUE(lexer.ReadIdent(&ident)); - EXPECT_EQ("foo", ident); - EXPECT_TRUE(lexer.ReadIdent(&ident)); - EXPECT_EQ("baR", ident); - EXPECT_TRUE(lexer.ReadIdent(&ident)); - EXPECT_EQ("baz_123", ident); - EXPECT_TRUE(lexer.ReadIdent(&ident)); - EXPECT_EQ("foo-bar", ident); -} - -TEST(Lexer, ReadIdentCurlies) { - // Verify that ReadIdent includes dots in the name, - // but in an expansion $bar.dots stops at the dot. - Lexer lexer("foo.dots $bar.dots ${bar.dots}\n"); - string ident; - EXPECT_TRUE(lexer.ReadIdent(&ident)); - EXPECT_EQ("foo.dots", ident); - - EvalString eval; - string err; - EXPECT_TRUE(lexer.ReadVarValue(&eval, &err)); - EXPECT_EQ("", err); - EXPECT_EQ("[$bar][.dots ][$bar.dots]", - eval.Serialize()); -} - -TEST(Lexer, Error) { - Lexer lexer("foo$\nbad $"); - EvalString eval; - string err; - ASSERT_FALSE(lexer.ReadVarValue(&eval, &err)); - EXPECT_EQ("input:2: bad $-escape (literal $ must be written as $$)\n" - "bad $\n" - " ^ near here" - , err); -} - -TEST(Lexer, CommentEOF) { - // Verify we don't run off the end of the string when the EOF is - // mid-comment. - Lexer lexer("# foo"); - Lexer::Token token = lexer.ReadToken(); - EXPECT_EQ(Lexer::ERROR, token); -} - -TEST(Lexer, Tabs) { - // Verify we print a useful error on a disallowed character. - Lexer lexer(" \tfoobar"); - Lexer::Token token = lexer.ReadToken(); - EXPECT_EQ(Lexer::INDENT, token); - token = lexer.ReadToken(); - EXPECT_EQ(Lexer::ERROR, token); - EXPECT_EQ("tabs are not allowed, use spaces", lexer.DescribeLastError()); -} diff --git a/vendor/ninja/src/line_printer.cc b/vendor/ninja/src/line_printer.cc deleted file mode 100644 index 2cd3e174c..000000000 --- a/vendor/ninja/src/line_printer.cc +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "line_printer.h" - -#include -#include -#ifdef _WIN32 -#include -#else -#include -#include -#include -#include -#endif - -#include "util.h" - -LinePrinter::LinePrinter() : have_blank_line_(true), console_locked_(false) { -#ifndef _WIN32 - const char* term = getenv("TERM"); - smart_terminal_ = isatty(1) && term && string(term) != "dumb"; -#else - // Disable output buffer. It'd be nice to use line buffering but - // MSDN says: "For some systems, [_IOLBF] provides line - // buffering. However, for Win32, the behavior is the same as _IOFBF - // - Full Buffering." - setvbuf(stdout, NULL, _IONBF, 0); - console_ = GetStdHandle(STD_OUTPUT_HANDLE); - CONSOLE_SCREEN_BUFFER_INFO csbi; - smart_terminal_ = GetConsoleScreenBufferInfo(console_, &csbi); -#endif -} - -void LinePrinter::Print(string to_print, LineType type) { - if (console_locked_) { - line_buffer_ = to_print; - line_type_ = type; - return; - } - - if (smart_terminal_) { - printf("\r"); // Print over previous line, if any. - // On Windows, calling a C library function writing to stdout also handles - // pausing the executable when the "Pause" key or Ctrl-S is pressed. - } - - if (smart_terminal_ && type == ELIDE) { -#ifdef _WIN32 - CONSOLE_SCREEN_BUFFER_INFO csbi; - GetConsoleScreenBufferInfo(console_, &csbi); - - to_print = ElideMiddle(to_print, static_cast(csbi.dwSize.X)); - // We don't want to have the cursor spamming back and forth, so instead of - // printf use WriteConsoleOutput which updates the contents of the buffer, - // but doesn't move the cursor position. - COORD buf_size = { csbi.dwSize.X, 1 }; - COORD zero_zero = { 0, 0 }; - SMALL_RECT target = { - csbi.dwCursorPosition.X, csbi.dwCursorPosition.Y, - static_cast(csbi.dwCursorPosition.X + csbi.dwSize.X - 1), - csbi.dwCursorPosition.Y - }; - vector char_data(csbi.dwSize.X); - for (size_t i = 0; i < static_cast(csbi.dwSize.X); ++i) { - char_data[i].Char.AsciiChar = i < to_print.size() ? to_print[i] : ' '; - char_data[i].Attributes = csbi.wAttributes; - } - WriteConsoleOutput(console_, &char_data[0], buf_size, zero_zero, &target); -#else - // Limit output to width of the terminal if provided so we don't cause - // line-wrapping. - winsize size; - if ((ioctl(0, TIOCGWINSZ, &size) == 0) && size.ws_col) { - to_print = ElideMiddle(to_print, size.ws_col); - } - printf("%s", to_print.c_str()); - printf("\x1B[K"); // Clear to end of line. - fflush(stdout); -#endif - - have_blank_line_ = false; - } else { - printf("%s\n", to_print.c_str()); - } -} - -void LinePrinter::PrintOrBuffer(const char* data, size_t size) { - if (console_locked_) { - output_buffer_.append(data, size); - } else { - // Avoid printf and C strings, since the actual output might contain null - // bytes like UTF-16 does (yuck). - fwrite(data, 1, size, stdout); - } -} - -void LinePrinter::PrintOnNewLine(const string& to_print) { - if (console_locked_ && !line_buffer_.empty()) { - output_buffer_.append(line_buffer_); - output_buffer_.append(1, '\n'); - line_buffer_.clear(); - } - if (!have_blank_line_) { - PrintOrBuffer("\n", 1); - } - if (!to_print.empty()) { - PrintOrBuffer(&to_print[0], to_print.size()); - } - have_blank_line_ = to_print.empty() || *to_print.rbegin() == '\n'; -} - -void LinePrinter::SetConsoleLocked(bool locked) { - if (locked == console_locked_) - return; - - if (locked) - PrintOnNewLine(""); - - console_locked_ = locked; - - if (!locked) { - PrintOnNewLine(output_buffer_); - if (!line_buffer_.empty()) { - Print(line_buffer_, line_type_); - } - output_buffer_.clear(); - line_buffer_.clear(); - } -} diff --git a/vendor/ninja/src/line_printer.h b/vendor/ninja/src/line_printer.h deleted file mode 100644 index 55225e521..000000000 --- a/vendor/ninja/src/line_printer.h +++ /dev/null @@ -1,72 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_LINE_PRINTER_H_ -#define NINJA_LINE_PRINTER_H_ - -#include -#include -using namespace std; - -/// Prints lines of text, possibly overprinting previously printed lines -/// if the terminal supports it. -struct LinePrinter { - LinePrinter(); - - bool is_smart_terminal() const { return smart_terminal_; } - void set_smart_terminal(bool smart) { smart_terminal_ = smart; } - - enum LineType { - FULL, - ELIDE - }; - /// Overprints the current line. If type is ELIDE, elides to_print to fit on - /// one line. - void Print(string to_print, LineType type); - - /// Prints a string on a new line, not overprinting previous output. - void PrintOnNewLine(const string& to_print); - - /// Lock or unlock the console. Any output sent to the LinePrinter while the - /// console is locked will not be printed until it is unlocked. - void SetConsoleLocked(bool locked); - - private: - /// Whether we can do fancy terminal control codes. - bool smart_terminal_; - - /// Whether the caret is at the beginning of a blank line. - bool have_blank_line_; - - /// Whether console is locked. - bool console_locked_; - - /// Buffered current line while console is locked. - string line_buffer_; - - /// Buffered line type while console is locked. - LineType line_type_; - - /// Buffered console output while console is locked. - string output_buffer_; - -#ifdef _WIN32 - void* console_; -#endif - - /// Print the given data to the console, or buffer it if it is locked. - void PrintOrBuffer(const char *data, size_t size); -}; - -#endif // NINJA_LINE_PRINTER_H_ diff --git a/vendor/ninja/src/manifest_parser.cc b/vendor/ninja/src/manifest_parser.cc deleted file mode 100644 index 27c423bbb..000000000 --- a/vendor/ninja/src/manifest_parser.cc +++ /dev/null @@ -1,447 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "manifest_parser.h" - -#include -#include -#include - -#include "disk_interface.h" -#include "graph.h" -#include "metrics.h" -#include "state.h" -#include "util.h" -#include "version.h" - -ManifestParser::ManifestParser(State* state, FileReader* file_reader, - ManifestParserOptions options) - : state_(state), file_reader_(file_reader), - options_(options), quiet_(false) { - env_ = &state->bindings_; -} - -bool ManifestParser::Load(const string& filename, string* err, Lexer* parent) { - METRIC_RECORD(".ninja parse"); - string contents; - string read_err; - if (file_reader_->ReadFile(filename, &contents, &read_err) != FileReader::Okay) { - *err = "loading '" + filename + "': " + read_err; - if (parent) - parent->Error(string(*err), err); - return false; - } - - // The lexer needs a nul byte at the end of its input, to know when it's done. - // It takes a StringPiece, and StringPiece's string constructor uses - // string::data(). data()'s return value isn't guaranteed to be - // null-terminated (although in practice - libc++, libstdc++, msvc's stl -- - // it is, and C++11 demands that too), so add an explicit nul byte. - contents.resize(contents.size() + 1); - - return Parse(filename, contents, err); -} - -bool ManifestParser::Parse(const string& filename, const string& input, - string* err) { - lexer_.Start(filename, input); - - for (;;) { - Lexer::Token token = lexer_.ReadToken(); - switch (token) { - case Lexer::POOL: - if (!ParsePool(err)) - return false; - break; - case Lexer::BUILD: - if (!ParseEdge(err)) - return false; - break; - case Lexer::RULE: - if (!ParseRule(err)) - return false; - break; - case Lexer::DEFAULT: - if (!ParseDefault(err)) - return false; - break; - case Lexer::IDENT: { - lexer_.UnreadToken(); - string name; - EvalString let_value; - if (!ParseLet(&name, &let_value, err)) - return false; - string value = let_value.Evaluate(env_); - // Check ninja_required_version immediately so we can exit - // before encountering any syntactic surprises. - if (name == "ninja_required_version") - CheckNinjaVersion(value); - env_->AddBinding(name, value); - break; - } - case Lexer::INCLUDE: - if (!ParseFileInclude(false, err)) - return false; - break; - case Lexer::SUBNINJA: - if (!ParseFileInclude(true, err)) - return false; - break; - case Lexer::ERROR: { - return lexer_.Error(lexer_.DescribeLastError(), err); - } - case Lexer::TEOF: - return true; - case Lexer::NEWLINE: - break; - default: - return lexer_.Error(string("unexpected ") + Lexer::TokenName(token), - err); - } - } - return false; // not reached -} - - -bool ManifestParser::ParsePool(string* err) { - string name; - if (!lexer_.ReadIdent(&name)) - return lexer_.Error("expected pool name", err); - - if (!ExpectToken(Lexer::NEWLINE, err)) - return false; - - if (state_->LookupPool(name) != NULL) - return lexer_.Error("duplicate pool '" + name + "'", err); - - int depth = -1; - - while (lexer_.PeekToken(Lexer::INDENT)) { - string key; - EvalString value; - if (!ParseLet(&key, &value, err)) - return false; - - if (key == "depth") { - string depth_string = value.Evaluate(env_); - depth = atol(depth_string.c_str()); - if (depth < 0) - return lexer_.Error("invalid pool depth", err); - } else { - return lexer_.Error("unexpected variable '" + key + "'", err); - } - } - - if (depth < 0) - return lexer_.Error("expected 'depth =' line", err); - - state_->AddPool(new Pool(name, depth)); - return true; -} - - -bool ManifestParser::ParseRule(string* err) { - string name; - if (!lexer_.ReadIdent(&name)) - return lexer_.Error("expected rule name", err); - - if (!ExpectToken(Lexer::NEWLINE, err)) - return false; - - if (env_->LookupRuleCurrentScope(name) != NULL) - return lexer_.Error("duplicate rule '" + name + "'", err); - - Rule* rule = new Rule(name); // XXX scoped_ptr - - while (lexer_.PeekToken(Lexer::INDENT)) { - string key; - EvalString value; - if (!ParseLet(&key, &value, err)) - return false; - - if (Rule::IsReservedBinding(key)) { - rule->AddBinding(key, value); - } else { - // Die on other keyvals for now; revisit if we want to add a - // scope here. - return lexer_.Error("unexpected variable '" + key + "'", err); - } - } - - if (rule->bindings_["rspfile"].empty() != - rule->bindings_["rspfile_content"].empty()) { - return lexer_.Error("rspfile and rspfile_content need to be " - "both specified", err); - } - - if (rule->bindings_["command"].empty()) - return lexer_.Error("expected 'command =' line", err); - - env_->AddRule(rule); - return true; -} - -bool ManifestParser::ParseLet(string* key, EvalString* value, string* err) { - if (!lexer_.ReadIdent(key)) - return lexer_.Error("expected variable name", err); - if (!ExpectToken(Lexer::EQUALS, err)) - return false; - if (!lexer_.ReadVarValue(value, err)) - return false; - return true; -} - -bool ManifestParser::ParseDefault(string* err) { - EvalString eval; - if (!lexer_.ReadPath(&eval, err)) - return false; - if (eval.empty()) - return lexer_.Error("expected target name", err); - - do { - string path = eval.Evaluate(env_); - string path_err; - uint64_t slash_bits; // Unused because this only does lookup. - if (!CanonicalizePath(&path, &slash_bits, &path_err)) - return lexer_.Error(path_err, err); - if (!state_->AddDefault(path, &path_err)) - return lexer_.Error(path_err, err); - - eval.Clear(); - if (!lexer_.ReadPath(&eval, err)) - return false; - } while (!eval.empty()); - - if (!ExpectToken(Lexer::NEWLINE, err)) - return false; - - return true; -} - -bool ManifestParser::ParseEdge(string* err) { - vector ins, outs; - - { - EvalString out; - if (!lexer_.ReadPath(&out, err)) - return false; - while (!out.empty()) { - outs.push_back(out); - - out.Clear(); - if (!lexer_.ReadPath(&out, err)) - return false; - } - } - - // Add all implicit outs, counting how many as we go. - int implicit_outs = 0; - if (lexer_.PeekToken(Lexer::PIPE)) { - for (;;) { - EvalString out; - if (!lexer_.ReadPath(&out, err)) - return err; - if (out.empty()) - break; - outs.push_back(out); - ++implicit_outs; - } - } - - if (outs.empty()) - return lexer_.Error("expected path", err); - - if (!ExpectToken(Lexer::COLON, err)) - return false; - - string rule_name; - if (!lexer_.ReadIdent(&rule_name)) - return lexer_.Error("expected build command name", err); - - const Rule* rule = env_->LookupRule(rule_name); - if (!rule) - return lexer_.Error("unknown build rule '" + rule_name + "'", err); - - for (;;) { - // XXX should we require one path here? - EvalString in; - if (!lexer_.ReadPath(&in, err)) - return false; - if (in.empty()) - break; - ins.push_back(in); - } - - // Add all implicit deps, counting how many as we go. - int implicit = 0; - if (lexer_.PeekToken(Lexer::PIPE)) { - for (;;) { - EvalString in; - if (!lexer_.ReadPath(&in, err)) - return err; - if (in.empty()) - break; - ins.push_back(in); - ++implicit; - } - } - - // Add all order-only deps, counting how many as we go. - int order_only = 0; - if (lexer_.PeekToken(Lexer::PIPE2)) { - for (;;) { - EvalString in; - if (!lexer_.ReadPath(&in, err)) - return false; - if (in.empty()) - break; - ins.push_back(in); - ++order_only; - } - } - - if (!ExpectToken(Lexer::NEWLINE, err)) - return false; - - // Bindings on edges are rare, so allocate per-edge envs only when needed. - bool has_indent_token = lexer_.PeekToken(Lexer::INDENT); - BindingEnv* env = has_indent_token ? new BindingEnv(env_) : env_; - while (has_indent_token) { - string key; - EvalString val; - if (!ParseLet(&key, &val, err)) - return false; - - env->AddBinding(key, val.Evaluate(env_)); - has_indent_token = lexer_.PeekToken(Lexer::INDENT); - } - - Edge* edge = state_->AddEdge(rule); - edge->env_ = env; - - string pool_name = edge->GetBinding("pool"); - if (!pool_name.empty()) { - Pool* pool = state_->LookupPool(pool_name); - if (pool == NULL) - return lexer_.Error("unknown pool name '" + pool_name + "'", err); - edge->pool_ = pool; - } - - edge->outputs_.reserve(outs.size()); - for (size_t i = 0, e = outs.size(); i != e; ++i) { - string path = outs[i].Evaluate(env); - string path_err; - uint64_t slash_bits; - if (!CanonicalizePath(&path, &slash_bits, &path_err)) - return lexer_.Error(path_err, err); - if (!state_->AddOut(edge, path, slash_bits)) { - if (options_.dupe_edge_action_ == kDupeEdgeActionError) { - lexer_.Error("multiple rules generate " + path + " [-w dupbuild=err]", - err); - return false; - } else { - if (!quiet_) { - Warning("multiple rules generate %s. " - "builds involving this target will not be correct; " - "continuing anyway [-w dupbuild=warn]", - path.c_str()); - } - if (e - i <= static_cast(implicit_outs)) - --implicit_outs; - } - } - } - if (edge->outputs_.empty()) { - // All outputs of the edge are already created by other edges. Don't add - // this edge. Do this check before input nodes are connected to the edge. - state_->edges_.pop_back(); - delete edge; - return true; - } - edge->implicit_outs_ = implicit_outs; - - edge->inputs_.reserve(ins.size()); - for (vector::iterator i = ins.begin(); i != ins.end(); ++i) { - string path = i->Evaluate(env); - string path_err; - uint64_t slash_bits; - if (!CanonicalizePath(&path, &slash_bits, &path_err)) - return lexer_.Error(path_err, err); - state_->AddIn(edge, path, slash_bits); - } - edge->implicit_deps_ = implicit; - edge->order_only_deps_ = order_only; - - if (options_.phony_cycle_action_ == kPhonyCycleActionWarn && - edge->maybe_phonycycle_diagnostic()) { - // CMake 2.8.12.x and 3.0.x incorrectly write phony build statements - // that reference themselves. Ninja used to tolerate these in the - // build graph but that has since been fixed. Filter them out to - // support users of those old CMake versions. - Node* out = edge->outputs_[0]; - vector::iterator new_end = - remove(edge->inputs_.begin(), edge->inputs_.end(), out); - if (new_end != edge->inputs_.end()) { - edge->inputs_.erase(new_end, edge->inputs_.end()); - if (!quiet_) { - Warning("phony target '%s' names itself as an input; " - "ignoring [-w phonycycle=warn]", - out->path().c_str()); - } - } - } - - // Multiple outputs aren't (yet?) supported with depslog. - string deps_type = edge->GetBinding("deps"); - if (!deps_type.empty() && edge->outputs_.size() > 1) { - return lexer_.Error("multiple outputs aren't (yet?) supported by depslog; " - "bring this up on the mailing list if it affects you", - err); - } - - return true; -} - -bool ManifestParser::ParseFileInclude(bool new_scope, string* err) { - EvalString eval; - if (!lexer_.ReadPath(&eval, err)) - return false; - string path = eval.Evaluate(env_); - - ManifestParser subparser(state_, file_reader_, options_); - if (new_scope) { - subparser.env_ = new BindingEnv(env_); - } else { - subparser.env_ = env_; - } - - if (!subparser.Load(path, err, &lexer_)) - return false; - - if (!ExpectToken(Lexer::NEWLINE, err)) - return false; - - return true; -} - -bool ManifestParser::ExpectToken(Lexer::Token expected, string* err) { - Lexer::Token token = lexer_.ReadToken(); - if (token != expected) { - string message = string("expected ") + Lexer::TokenName(expected); - message += string(", got ") + Lexer::TokenName(token); - message += Lexer::TokenErrorHint(expected); - return lexer_.Error(message, err); - } - return true; -} diff --git a/vendor/ninja/src/manifest_parser.h b/vendor/ninja/src/manifest_parser.h deleted file mode 100644 index 2136018a9..000000000 --- a/vendor/ninja/src/manifest_parser.h +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_MANIFEST_PARSER_H_ -#define NINJA_MANIFEST_PARSER_H_ - -#include - -using namespace std; - -#include "lexer.h" - -struct BindingEnv; -struct EvalString; -struct FileReader; -struct State; - -enum DupeEdgeAction { - kDupeEdgeActionWarn, - kDupeEdgeActionError, -}; - -enum PhonyCycleAction { - kPhonyCycleActionWarn, - kPhonyCycleActionError, -}; - -struct ManifestParserOptions { - ManifestParserOptions() - : dupe_edge_action_(kDupeEdgeActionWarn), - phony_cycle_action_(kPhonyCycleActionWarn) {} - DupeEdgeAction dupe_edge_action_; - PhonyCycleAction phony_cycle_action_; -}; - -/// Parses .ninja files. -struct ManifestParser { - ManifestParser(State* state, FileReader* file_reader, - ManifestParserOptions options = ManifestParserOptions()); - - /// Load and parse a file. - bool Load(const string& filename, string* err, Lexer* parent = NULL); - - /// Parse a text string of input. Used by tests. - bool ParseTest(const string& input, string* err) { - quiet_ = true; - return Parse("input", input, err); - } - -private: - /// Parse a file, given its contents as a string. - bool Parse(const string& filename, const string& input, string* err); - - /// Parse various statement types. - bool ParsePool(string* err); - bool ParseRule(string* err); - bool ParseLet(string* key, EvalString* val, string* err); - bool ParseEdge(string* err); - bool ParseDefault(string* err); - - /// Parse either a 'subninja' or 'include' line. - bool ParseFileInclude(bool new_scope, string* err); - - /// If the next token is not \a expected, produce an error string - /// saying "expectd foo, got bar". - bool ExpectToken(Lexer::Token expected, string* err); - - State* state_; - BindingEnv* env_; - FileReader* file_reader_; - Lexer lexer_; - ManifestParserOptions options_; - bool quiet_; -}; - -#endif // NINJA_MANIFEST_PARSER_H_ diff --git a/vendor/ninja/src/manifest_parser_perftest.cc b/vendor/ninja/src/manifest_parser_perftest.cc deleted file mode 100644 index 67d11f916..000000000 --- a/vendor/ninja/src/manifest_parser_perftest.cc +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2014 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// Tests manifest parser performance. Expects to be run in ninja's root -// directory. - -#include - -#include -#include -#include -#include - -#ifdef _WIN32 -#include "getopt.h" -#include -#else -#include -#include -#endif - -#include "disk_interface.h" -#include "graph.h" -#include "manifest_parser.h" -#include "metrics.h" -#include "state.h" -#include "util.h" - -bool WriteFakeManifests(const string& dir, string* err) { - RealDiskInterface disk_interface; - TimeStamp mtime = disk_interface.Stat(dir + "/build.ninja", err); - if (mtime != 0) // 0 means that the file doesn't exist yet. - return mtime != -1; - - string command = "python misc/write_fake_manifests.py " + dir; - printf("Creating manifest data..."); fflush(stdout); - int exit_code = system(command.c_str()); - printf("done.\n"); - if (exit_code != 0) - *err = "Failed to run " + command; - return exit_code == 0; -} - -int LoadManifests(bool measure_command_evaluation) { - string err; - RealDiskInterface disk_interface; - State state; - ManifestParser parser(&state, &disk_interface); - if (!parser.Load("build.ninja", &err)) { - fprintf(stderr, "Failed to read test data: %s\n", err.c_str()); - exit(1); - } - // Doing an empty build involves reading the manifest and evaluating all - // commands required for the requested targets. So include command - // evaluation in the perftest by default. - int optimization_guard = 0; - if (measure_command_evaluation) - for (size_t i = 0; i < state.edges_.size(); ++i) - optimization_guard += state.edges_[i]->EvaluateCommand().size(); - return optimization_guard; -} - -int main(int argc, char* argv[]) { - bool measure_command_evaluation = true; - int opt; - while ((opt = getopt(argc, argv, const_cast("fh"))) != -1) { - switch (opt) { - case 'f': - measure_command_evaluation = false; - break; - case 'h': - default: - printf("usage: manifest_parser_perftest\n" -"\n" -"options:\n" -" -f only measure manifest load time, not command evaluation time\n" - ); - return 1; - } - } - - const char kManifestDir[] = "build/manifest_perftest"; - - string err; - if (!WriteFakeManifests(kManifestDir, &err)) { - fprintf(stderr, "Failed to write test data: %s\n", err.c_str()); - return 1; - } - - if (chdir(kManifestDir) < 0) - Fatal("chdir: %s", strerror(errno)); - - const int kNumRepetitions = 5; - vector times; - for (int i = 0; i < kNumRepetitions; ++i) { - int64_t start = GetTimeMillis(); - int optimization_guard = LoadManifests(measure_command_evaluation); - int delta = (int)(GetTimeMillis() - start); - printf("%dms (hash: %x)\n", delta, optimization_guard); - times.push_back(delta); - } - - int min = *min_element(times.begin(), times.end()); - int max = *max_element(times.begin(), times.end()); - float total = accumulate(times.begin(), times.end(), 0.0f); - printf("min %dms max %dms avg %.1fms\n", min, max, total / times.size()); -} diff --git a/vendor/ninja/src/manifest_parser_test.cc b/vendor/ninja/src/manifest_parser_test.cc deleted file mode 100644 index 39ed81065..000000000 --- a/vendor/ninja/src/manifest_parser_test.cc +++ /dev/null @@ -1,1079 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "manifest_parser.h" - -#include -#include - -#include "graph.h" -#include "state.h" -#include "test.h" - -struct ParserTest : public testing::Test { - void AssertParse(const char* input) { - ManifestParser parser(&state, &fs_); - string err; - EXPECT_TRUE(parser.ParseTest(input, &err)); - ASSERT_EQ("", err); - VerifyGraph(state); - } - - State state; - VirtualFileSystem fs_; -}; - -TEST_F(ParserTest, Empty) { - ASSERT_NO_FATAL_FAILURE(AssertParse("")); -} - -TEST_F(ParserTest, Rules) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"\n" -"rule date\n" -" command = date > $out\n" -"\n" -"build result: cat in_1.cc in-2.O\n")); - - ASSERT_EQ(3u, state.bindings_.GetRules().size()); - const Rule* rule = state.bindings_.GetRules().begin()->second; - EXPECT_EQ("cat", rule->name()); - EXPECT_EQ("[cat ][$in][ > ][$out]", - rule->GetBinding("command")->Serialize()); -} - -TEST_F(ParserTest, RuleAttributes) { - // Check that all of the allowed rule attributes are parsed ok. - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = a\n" -" depfile = a\n" -" deps = a\n" -" description = a\n" -" generator = a\n" -" restat = a\n" -" rspfile = a\n" -" rspfile_content = a\n" -)); -} - -TEST_F(ParserTest, IgnoreIndentedComments) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -" #indented comment\n" -"rule cat\n" -" command = cat $in > $out\n" -" #generator = 1\n" -" restat = 1 # comment\n" -" #comment\n" -"build result: cat in_1.cc in-2.O\n" -" #comment\n")); - - ASSERT_EQ(2u, state.bindings_.GetRules().size()); - const Rule* rule = state.bindings_.GetRules().begin()->second; - EXPECT_EQ("cat", rule->name()); - Edge* edge = state.GetNode("result", 0)->in_edge(); - EXPECT_TRUE(edge->GetBindingBool("restat")); - EXPECT_FALSE(edge->GetBindingBool("generator")); -} - -TEST_F(ParserTest, IgnoreIndentedBlankLines) { - // the indented blanks used to cause parse errors - ASSERT_NO_FATAL_FAILURE(AssertParse( -" \n" -"rule cat\n" -" command = cat $in > $out\n" -" \n" -"build result: cat in_1.cc in-2.O\n" -" \n" -"variable=1\n")); - - // the variable must be in the top level environment - EXPECT_EQ("1", state.bindings_.LookupVariable("variable")); -} - -TEST_F(ParserTest, ResponseFiles) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat_rsp\n" -" command = cat $rspfile > $out\n" -" rspfile = $rspfile\n" -" rspfile_content = $in\n" -"\n" -"build out: cat_rsp in\n" -" rspfile=out.rsp\n")); - - ASSERT_EQ(2u, state.bindings_.GetRules().size()); - const Rule* rule = state.bindings_.GetRules().begin()->second; - EXPECT_EQ("cat_rsp", rule->name()); - EXPECT_EQ("[cat ][$rspfile][ > ][$out]", - rule->GetBinding("command")->Serialize()); - EXPECT_EQ("[$rspfile]", rule->GetBinding("rspfile")->Serialize()); - EXPECT_EQ("[$in]", rule->GetBinding("rspfile_content")->Serialize()); -} - -TEST_F(ParserTest, InNewline) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat_rsp\n" -" command = cat $in_newline > $out\n" -"\n" -"build out: cat_rsp in in2\n" -" rspfile=out.rsp\n")); - - ASSERT_EQ(2u, state.bindings_.GetRules().size()); - const Rule* rule = state.bindings_.GetRules().begin()->second; - EXPECT_EQ("cat_rsp", rule->name()); - EXPECT_EQ("[cat ][$in_newline][ > ][$out]", - rule->GetBinding("command")->Serialize()); - - Edge* edge = state.edges_[0]; - EXPECT_EQ("cat in\nin2 > out", edge->EvaluateCommand()); -} - -TEST_F(ParserTest, Variables) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"l = one-letter-test\n" -"rule link\n" -" command = ld $l $extra $with_under -o $out $in\n" -"\n" -"extra = -pthread\n" -"with_under = -under\n" -"build a: link b c\n" -"nested1 = 1\n" -"nested2 = $nested1/2\n" -"build supernested: link x\n" -" extra = $nested2/3\n")); - - ASSERT_EQ(2u, state.edges_.size()); - Edge* edge = state.edges_[0]; - EXPECT_EQ("ld one-letter-test -pthread -under -o a b c", - edge->EvaluateCommand()); - EXPECT_EQ("1/2", state.bindings_.LookupVariable("nested2")); - - edge = state.edges_[1]; - EXPECT_EQ("ld one-letter-test 1/2/3 -under -o supernested x", - edge->EvaluateCommand()); -} - -TEST_F(ParserTest, VariableScope) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"foo = bar\n" -"rule cmd\n" -" command = cmd $foo $in $out\n" -"\n" -"build inner: cmd a\n" -" foo = baz\n" -"build outer: cmd b\n" -"\n" // Extra newline after build line tickles a regression. -)); - - ASSERT_EQ(2u, state.edges_.size()); - EXPECT_EQ("cmd baz a inner", state.edges_[0]->EvaluateCommand()); - EXPECT_EQ("cmd bar b outer", state.edges_[1]->EvaluateCommand()); -} - -TEST_F(ParserTest, Continuation) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule link\n" -" command = foo bar $\n" -" baz\n" -"\n" -"build a: link c $\n" -" d e f\n")); - - ASSERT_EQ(2u, state.bindings_.GetRules().size()); - const Rule* rule = state.bindings_.GetRules().begin()->second; - EXPECT_EQ("link", rule->name()); - EXPECT_EQ("[foo bar baz]", rule->GetBinding("command")->Serialize()); -} - -TEST_F(ParserTest, Backslash) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"foo = bar\\baz\n" -"foo2 = bar\\ baz\n" -)); - EXPECT_EQ("bar\\baz", state.bindings_.LookupVariable("foo")); - EXPECT_EQ("bar\\ baz", state.bindings_.LookupVariable("foo2")); -} - -TEST_F(ParserTest, Comment) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"# this is a comment\n" -"foo = not # a comment\n")); - EXPECT_EQ("not # a comment", state.bindings_.LookupVariable("foo")); -} - -TEST_F(ParserTest, Dollars) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule foo\n" -" command = ${out}bar$$baz$$$\n" -"blah\n" -"x = $$dollar\n" -"build $x: foo y\n" -)); - EXPECT_EQ("$dollar", state.bindings_.LookupVariable("x")); -#ifdef _WIN32 - EXPECT_EQ("$dollarbar$baz$blah", state.edges_[0]->EvaluateCommand()); -#else - EXPECT_EQ("'$dollar'bar$baz$blah", state.edges_[0]->EvaluateCommand()); -#endif -} - -TEST_F(ParserTest, EscapeSpaces) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule spaces\n" -" command = something\n" -"build foo$ bar: spaces $$one two$$$ three\n" -)); - EXPECT_TRUE(state.LookupNode("foo bar")); - EXPECT_EQ(state.edges_[0]->outputs_[0]->path(), "foo bar"); - EXPECT_EQ(state.edges_[0]->inputs_[0]->path(), "$one"); - EXPECT_EQ(state.edges_[0]->inputs_[1]->path(), "two$ three"); - EXPECT_EQ(state.edges_[0]->EvaluateCommand(), "something"); -} - -TEST_F(ParserTest, CanonicalizeFile) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build out: cat in/1 in//2\n" -"build in/1: cat\n" -"build in/2: cat\n")); - - EXPECT_TRUE(state.LookupNode("in/1")); - EXPECT_TRUE(state.LookupNode("in/2")); - EXPECT_FALSE(state.LookupNode("in//1")); - EXPECT_FALSE(state.LookupNode("in//2")); -} - -#ifdef _WIN32 -TEST_F(ParserTest, CanonicalizeFileBackslashes) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build out: cat in\\1 in\\\\2\n" -"build in\\1: cat\n" -"build in\\2: cat\n")); - - Node* node = state.LookupNode("in/1");; - EXPECT_TRUE(node); - EXPECT_EQ(1, node->slash_bits()); - node = state.LookupNode("in/2"); - EXPECT_TRUE(node); - EXPECT_EQ(1, node->slash_bits()); - EXPECT_FALSE(state.LookupNode("in//1")); - EXPECT_FALSE(state.LookupNode("in//2")); -} -#endif - -TEST_F(ParserTest, PathVariables) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"dir = out\n" -"build $dir/exe: cat src\n")); - - EXPECT_FALSE(state.LookupNode("$dir/exe")); - EXPECT_TRUE(state.LookupNode("out/exe")); -} - -TEST_F(ParserTest, CanonicalizePaths) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build ./out.o: cat ./bar/baz/../foo.cc\n")); - - EXPECT_FALSE(state.LookupNode("./out.o")); - EXPECT_TRUE(state.LookupNode("out.o")); - EXPECT_FALSE(state.LookupNode("./bar/baz/../foo.cc")); - EXPECT_TRUE(state.LookupNode("bar/foo.cc")); -} - -#ifdef _WIN32 -TEST_F(ParserTest, CanonicalizePathsBackslashes) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build ./out.o: cat ./bar/baz/../foo.cc\n" -"build .\\out2.o: cat .\\bar/baz\\..\\foo.cc\n" -"build .\\out3.o: cat .\\bar\\baz\\..\\foo3.cc\n" -)); - - EXPECT_FALSE(state.LookupNode("./out.o")); - EXPECT_FALSE(state.LookupNode(".\\out2.o")); - EXPECT_FALSE(state.LookupNode(".\\out3.o")); - EXPECT_TRUE(state.LookupNode("out.o")); - EXPECT_TRUE(state.LookupNode("out2.o")); - EXPECT_TRUE(state.LookupNode("out3.o")); - EXPECT_FALSE(state.LookupNode("./bar/baz/../foo.cc")); - EXPECT_FALSE(state.LookupNode(".\\bar/baz\\..\\foo.cc")); - EXPECT_FALSE(state.LookupNode(".\\bar/baz\\..\\foo3.cc")); - Node* node = state.LookupNode("bar/foo.cc"); - EXPECT_TRUE(node); - EXPECT_EQ(0, node->slash_bits()); - node = state.LookupNode("bar/foo3.cc"); - EXPECT_TRUE(node); - EXPECT_EQ(1, node->slash_bits()); -} -#endif - -TEST_F(ParserTest, DuplicateEdgeWithMultipleOutputs) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build out1 out2: cat in1\n" -"build out1: cat in2\n" -"build final: cat out1\n" -)); - // AssertParse() checks that the generated build graph is self-consistent. - // That's all the checking that this test needs. -} - -TEST_F(ParserTest, NoDeadPointerFromDuplicateEdge) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build out: cat in\n" -"build out: cat in\n" -)); - // AssertParse() checks that the generated build graph is self-consistent. - // That's all the checking that this test needs. -} - -TEST_F(ParserTest, DuplicateEdgeWithMultipleOutputsError) { - const char kInput[] = -"rule cat\n" -" command = cat $in > $out\n" -"build out1 out2: cat in1\n" -"build out1: cat in2\n" -"build final: cat out1\n"; - ManifestParserOptions parser_opts; - parser_opts.dupe_edge_action_ = kDupeEdgeActionError; - ManifestParser parser(&state, &fs_, parser_opts); - string err; - EXPECT_FALSE(parser.ParseTest(kInput, &err)); - EXPECT_EQ("input:5: multiple rules generate out1 [-w dupbuild=err]\n", err); -} - -TEST_F(ParserTest, DuplicateEdgeInIncludedFile) { - fs_.Create("sub.ninja", - "rule cat\n" - " command = cat $in > $out\n" - "build out1 out2: cat in1\n" - "build out1: cat in2\n" - "build final: cat out1\n"); - const char kInput[] = - "subninja sub.ninja\n"; - ManifestParserOptions parser_opts; - parser_opts.dupe_edge_action_ = kDupeEdgeActionError; - ManifestParser parser(&state, &fs_, parser_opts); - string err; - EXPECT_FALSE(parser.ParseTest(kInput, &err)); - EXPECT_EQ("sub.ninja:5: multiple rules generate out1 [-w dupbuild=err]\n", - err); -} - -TEST_F(ParserTest, PhonySelfReferenceIgnored) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"build a: phony a\n" -)); - - Node* node = state.LookupNode("a"); - Edge* edge = node->in_edge(); - ASSERT_TRUE(edge->inputs_.empty()); -} - -TEST_F(ParserTest, PhonySelfReferenceKept) { - const char kInput[] = -"build a: phony a\n"; - ManifestParserOptions parser_opts; - parser_opts.phony_cycle_action_ = kPhonyCycleActionError; - ManifestParser parser(&state, &fs_, parser_opts); - string err; - EXPECT_TRUE(parser.ParseTest(kInput, &err)); - EXPECT_EQ("", err); - - Node* node = state.LookupNode("a"); - Edge* edge = node->in_edge(); - ASSERT_EQ(edge->inputs_.size(), 1); - ASSERT_EQ(edge->inputs_[0], node); -} - -TEST_F(ParserTest, ReservedWords) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule build\n" -" command = rule run $out\n" -"build subninja: build include default foo.cc\n" -"default subninja\n")); -} - -TEST_F(ParserTest, Errors) { - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest(string("subn", 4), &err)); - EXPECT_EQ("input:1: expected '=', got eof\n" - "subn\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("foobar", &err)); - EXPECT_EQ("input:1: expected '=', got eof\n" - "foobar\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("x 3", &err)); - EXPECT_EQ("input:1: expected '=', got identifier\n" - "x 3\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("x = 3", &err)); - EXPECT_EQ("input:1: unexpected EOF\n" - "x = 3\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("x = 3\ny 2", &err)); - EXPECT_EQ("input:2: expected '=', got identifier\n" - "y 2\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("x = $", &err)); - EXPECT_EQ("input:1: bad $-escape (literal $ must be written as $$)\n" - "x = $\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("x = $\n $[\n", &err)); - EXPECT_EQ("input:2: bad $-escape (literal $ must be written as $$)\n" - " $[\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("x = a$\n b$\n $\n", &err)); - EXPECT_EQ("input:4: unexpected EOF\n" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("build\n", &err)); - EXPECT_EQ("input:1: expected path\n" - "build\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("build x: y z\n", &err)); - EXPECT_EQ("input:1: unknown build rule 'y'\n" - "build x: y z\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("build x:: y z\n", &err)); - EXPECT_EQ("input:1: expected build command name\n" - "build x:: y z\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cat\n command = cat ok\n" - "build x: cat $\n :\n", - &err)); - EXPECT_EQ("input:4: expected newline, got ':'\n" - " :\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cat\n", - &err)); - EXPECT_EQ("input:2: expected 'command =' line\n", err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cat\n" - " command = echo\n" - "rule cat\n" - " command = echo\n", &err)); - EXPECT_EQ("input:3: duplicate rule 'cat'\n" - "rule cat\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cat\n" - " command = echo\n" - " rspfile = cat.rsp\n", &err)); - EXPECT_EQ( - "input:4: rspfile and rspfile_content need to be both specified\n", - err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cat\n" - " command = ${fafsd\n" - "foo = bar\n", - &err)); - EXPECT_EQ("input:2: bad $-escape (literal $ must be written as $$)\n" - " command = ${fafsd\n" - " ^ near here" - , err); - } - - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cat\n" - " command = cat\n" - "build $.: cat foo\n", - &err)); - EXPECT_EQ("input:3: bad $-escape (literal $ must be written as $$)\n" - "build $.: cat foo\n" - " ^ near here" - , err); - } - - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cat\n" - " command = cat\n" - "build $: cat foo\n", - &err)); - EXPECT_EQ("input:3: expected ':', got newline ($ also escapes ':')\n" - "build $: cat foo\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule %foo\n", - &err)); - EXPECT_EQ("input:1: expected rule name\n", err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cc\n" - " command = foo\n" - " othervar = bar\n", - &err)); - EXPECT_EQ("input:3: unexpected variable 'othervar'\n" - " othervar = bar\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cc\n command = foo\n" - "build $.: cc bar.cc\n", - &err)); - EXPECT_EQ("input:3: bad $-escape (literal $ must be written as $$)\n" - "build $.: cc bar.cc\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cc\n command = foo\n && bar", - &err)); - EXPECT_EQ("input:3: expected variable name\n", err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cc\n command = foo\n" - "build $: cc bar.cc\n", - &err)); - EXPECT_EQ("input:3: expected ':', got newline ($ also escapes ':')\n" - "build $: cc bar.cc\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("default\n", - &err)); - EXPECT_EQ("input:1: expected target name\n" - "default\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("default nonexistent\n", - &err)); - EXPECT_EQ("input:1: unknown target 'nonexistent'\n" - "default nonexistent\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule r\n command = r\n" - "build b: r\n" - "default b:\n", - &err)); - EXPECT_EQ("input:4: expected newline, got ':'\n" - "default b:\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("default $a\n", &err)); - EXPECT_EQ("input:1: empty path\n" - "default $a\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule r\n" - " command = r\n" - "build $a: r $c\n", &err)); - // XXX the line number is wrong; we should evaluate paths in ParseEdge - // as we see them, not after we've read them all! - EXPECT_EQ("input:4: empty path\n", err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - // the indented blank line must terminate the rule - // this also verifies that "unexpected (token)" errors are correct - EXPECT_FALSE(parser.ParseTest("rule r\n" - " command = r\n" - " \n" - " generator = 1\n", &err)); - EXPECT_EQ("input:4: unexpected indent\n", err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("pool\n", &err)); - EXPECT_EQ("input:1: expected pool name\n", err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("pool foo\n", &err)); - EXPECT_EQ("input:2: expected 'depth =' line\n", err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("pool foo\n" - " depth = 4\n" - "pool foo\n", &err)); - EXPECT_EQ("input:3: duplicate pool 'foo'\n" - "pool foo\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("pool foo\n" - " depth = -1\n", &err)); - EXPECT_EQ("input:2: invalid pool depth\n" - " depth = -1\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("pool foo\n" - " bar = 1\n", &err)); - EXPECT_EQ("input:2: unexpected variable 'bar'\n" - " bar = 1\n" - " ^ near here" - , err); - } - - { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - // Pool names are dereferenced at edge parsing time. - EXPECT_FALSE(parser.ParseTest("rule run\n" - " command = echo\n" - " pool = unnamed_pool\n" - "build out: run in\n", &err)); - EXPECT_EQ("input:5: unknown pool name 'unnamed_pool'\n", err); - } -} - -TEST_F(ParserTest, MissingInput) { - State local_state; - ManifestParser parser(&local_state, &fs_); - string err; - EXPECT_FALSE(parser.Load("build.ninja", &err)); - EXPECT_EQ("loading 'build.ninja': No such file or directory", err); -} - -TEST_F(ParserTest, MultipleOutputs) { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_TRUE(parser.ParseTest("rule cc\n command = foo\n depfile = bar\n" - "build a.o b.o: cc c.cc\n", - &err)); - EXPECT_EQ("", err); -} - -TEST_F(ParserTest, MultipleOutputsWithDeps) { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - EXPECT_FALSE(parser.ParseTest("rule cc\n command = foo\n deps = gcc\n" - "build a.o b.o: cc c.cc\n", - &err)); - EXPECT_EQ("input:5: multiple outputs aren't (yet?) supported by depslog; " - "bring this up on the mailing list if it affects you\n", err); -} - -TEST_F(ParserTest, SubNinja) { - fs_.Create("test.ninja", - "var = inner\n" - "build $builddir/inner: varref\n"); - ASSERT_NO_FATAL_FAILURE(AssertParse( -"builddir = some_dir/\n" -"rule varref\n" -" command = varref $var\n" -"var = outer\n" -"build $builddir/outer: varref\n" -"subninja test.ninja\n" -"build $builddir/outer2: varref\n")); - ASSERT_EQ(1u, fs_.files_read_.size()); - - EXPECT_EQ("test.ninja", fs_.files_read_[0]); - EXPECT_TRUE(state.LookupNode("some_dir/outer")); - // Verify our builddir setting is inherited. - EXPECT_TRUE(state.LookupNode("some_dir/inner")); - - ASSERT_EQ(3u, state.edges_.size()); - EXPECT_EQ("varref outer", state.edges_[0]->EvaluateCommand()); - EXPECT_EQ("varref inner", state.edges_[1]->EvaluateCommand()); - EXPECT_EQ("varref outer", state.edges_[2]->EvaluateCommand()); -} - -TEST_F(ParserTest, MissingSubNinja) { - ManifestParser parser(&state, &fs_); - string err; - EXPECT_FALSE(parser.ParseTest("subninja foo.ninja\n", &err)); - EXPECT_EQ("input:1: loading 'foo.ninja': No such file or directory\n" - "subninja foo.ninja\n" - " ^ near here" - , err); -} - -TEST_F(ParserTest, DuplicateRuleInDifferentSubninjas) { - // Test that rules are scoped to subninjas. - fs_.Create("test.ninja", "rule cat\n" - " command = cat\n"); - ManifestParser parser(&state, &fs_); - string err; - EXPECT_TRUE(parser.ParseTest("rule cat\n" - " command = cat\n" - "subninja test.ninja\n", &err)); -} - -TEST_F(ParserTest, DuplicateRuleInDifferentSubninjasWithInclude) { - // Test that rules are scoped to subninjas even with includes. - fs_.Create("rules.ninja", "rule cat\n" - " command = cat\n"); - fs_.Create("test.ninja", "include rules.ninja\n" - "build x : cat\n"); - ManifestParser parser(&state, &fs_); - string err; - EXPECT_TRUE(parser.ParseTest("include rules.ninja\n" - "subninja test.ninja\n" - "build y : cat\n", &err)); -} - -TEST_F(ParserTest, Include) { - fs_.Create("include.ninja", "var = inner\n"); - ASSERT_NO_FATAL_FAILURE(AssertParse( -"var = outer\n" -"include include.ninja\n")); - - ASSERT_EQ(1u, fs_.files_read_.size()); - EXPECT_EQ("include.ninja", fs_.files_read_[0]); - EXPECT_EQ("inner", state.bindings_.LookupVariable("var")); -} - -TEST_F(ParserTest, BrokenInclude) { - fs_.Create("include.ninja", "build\n"); - ManifestParser parser(&state, &fs_); - string err; - EXPECT_FALSE(parser.ParseTest("include include.ninja\n", &err)); - EXPECT_EQ("include.ninja:1: expected path\n" - "build\n" - " ^ near here" - , err); -} - -TEST_F(ParserTest, Implicit) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build foo: cat bar | baz\n")); - - Edge* edge = state.LookupNode("foo")->in_edge(); - ASSERT_TRUE(edge->is_implicit(1)); -} - -TEST_F(ParserTest, OrderOnly) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n command = cat $in > $out\n" -"build foo: cat bar || baz\n")); - - Edge* edge = state.LookupNode("foo")->in_edge(); - ASSERT_TRUE(edge->is_order_only(1)); -} - -TEST_F(ParserTest, ImplicitOutput) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build foo | imp: cat bar\n")); - - Edge* edge = state.LookupNode("imp")->in_edge(); - ASSERT_EQ(edge->outputs_.size(), 2); - EXPECT_TRUE(edge->is_implicit_out(1)); -} - -TEST_F(ParserTest, ImplicitOutputEmpty) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build foo | : cat bar\n")); - - Edge* edge = state.LookupNode("foo")->in_edge(); - ASSERT_EQ(edge->outputs_.size(), 1); - EXPECT_FALSE(edge->is_implicit_out(0)); -} - -TEST_F(ParserTest, ImplicitOutputDupe) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build foo baz | foo baq foo: cat bar\n")); - - Edge* edge = state.LookupNode("foo")->in_edge(); - ASSERT_EQ(edge->outputs_.size(), 3); - EXPECT_FALSE(edge->is_implicit_out(0)); - EXPECT_FALSE(edge->is_implicit_out(1)); - EXPECT_TRUE(edge->is_implicit_out(2)); -} - -TEST_F(ParserTest, ImplicitOutputDupes) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n" -" command = cat $in > $out\n" -"build foo foo foo | foo foo foo foo: cat bar\n")); - - Edge* edge = state.LookupNode("foo")->in_edge(); - ASSERT_EQ(edge->outputs_.size(), 1); - EXPECT_FALSE(edge->is_implicit_out(0)); -} - -TEST_F(ParserTest, NoExplicitOutput) { - ManifestParser parser(&state, NULL); - string err; - EXPECT_TRUE(parser.ParseTest( -"rule cat\n" -" command = cat $in > $out\n" -"build | imp : cat bar\n", &err)); -} - -TEST_F(ParserTest, DefaultDefault) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n command = cat $in > $out\n" -"build a: cat foo\n" -"build b: cat foo\n" -"build c: cat foo\n" -"build d: cat foo\n")); - - string err; - EXPECT_EQ(4u, state.DefaultNodes(&err).size()); - EXPECT_EQ("", err); -} - -TEST_F(ParserTest, DefaultDefaultCycle) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n command = cat $in > $out\n" -"build a: cat a\n")); - - string err; - EXPECT_EQ(0u, state.DefaultNodes(&err).size()); - EXPECT_EQ("could not determine root nodes of build graph", err); -} - -TEST_F(ParserTest, DefaultStatements) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule cat\n command = cat $in > $out\n" -"build a: cat foo\n" -"build b: cat foo\n" -"build c: cat foo\n" -"build d: cat foo\n" -"third = c\n" -"default a b\n" -"default $third\n")); - - string err; - vector nodes = state.DefaultNodes(&err); - EXPECT_EQ("", err); - ASSERT_EQ(3u, nodes.size()); - EXPECT_EQ("a", nodes[0]->path()); - EXPECT_EQ("b", nodes[1]->path()); - EXPECT_EQ("c", nodes[2]->path()); -} - -TEST_F(ParserTest, UTF8) { - ASSERT_NO_FATAL_FAILURE(AssertParse( -"rule utf8\n" -" command = true\n" -" description = compilaci\xC3\xB3\n")); -} - -TEST_F(ParserTest, CRLF) { - State local_state; - ManifestParser parser(&local_state, NULL); - string err; - - EXPECT_TRUE(parser.ParseTest("# comment with crlf\r\n", &err)); - EXPECT_TRUE(parser.ParseTest("foo = foo\nbar = bar\r\n", &err)); - EXPECT_TRUE(parser.ParseTest( - "pool link_pool\r\n" - " depth = 15\r\n\r\n" - "rule xyz\r\n" - " command = something$expand \r\n" - " description = YAY!\r\n", - &err)); -} diff --git a/vendor/ninja/src/metrics.cc b/vendor/ninja/src/metrics.cc deleted file mode 100644 index a7d3c7ad5..000000000 --- a/vendor/ninja/src/metrics.cc +++ /dev/null @@ -1,127 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "metrics.h" - -#include -#include -#include - -#ifndef _WIN32 -#include -#else -#include -#endif - -#include - -#include "util.h" - -Metrics* g_metrics = NULL; - -namespace { - -#ifndef _WIN32 -/// Compute a platform-specific high-res timer value that fits into an int64. -int64_t HighResTimer() { - timeval tv; - if (gettimeofday(&tv, NULL) < 0) - Fatal("gettimeofday: %s", strerror(errno)); - return (int64_t)tv.tv_sec * 1000*1000 + tv.tv_usec; -} - -/// Convert a delta of HighResTimer() values to microseconds. -int64_t TimerToMicros(int64_t dt) { - // No conversion necessary. - return dt; -} -#else -int64_t LargeIntegerToInt64(const LARGE_INTEGER& i) { - return ((int64_t)i.HighPart) << 32 | i.LowPart; -} - -int64_t HighResTimer() { - LARGE_INTEGER counter; - if (!QueryPerformanceCounter(&counter)) - Fatal("QueryPerformanceCounter: %s", GetLastErrorString().c_str()); - return LargeIntegerToInt64(counter); -} - -int64_t TimerToMicros(int64_t dt) { - static int64_t ticks_per_sec = 0; - if (!ticks_per_sec) { - LARGE_INTEGER freq; - if (!QueryPerformanceFrequency(&freq)) - Fatal("QueryPerformanceFrequency: %s", GetLastErrorString().c_str()); - ticks_per_sec = LargeIntegerToInt64(freq); - } - - // dt is in ticks. We want microseconds. - return (dt * 1000000) / ticks_per_sec; -} -#endif - -} // anonymous namespace - - -ScopedMetric::ScopedMetric(Metric* metric) { - metric_ = metric; - if (!metric_) - return; - start_ = HighResTimer(); -} -ScopedMetric::~ScopedMetric() { - if (!metric_) - return; - metric_->count++; - int64_t dt = TimerToMicros(HighResTimer() - start_); - metric_->sum += dt; -} - -Metric* Metrics::NewMetric(const string& name) { - Metric* metric = new Metric; - metric->name = name; - metric->count = 0; - metric->sum = 0; - metrics_.push_back(metric); - return metric; -} - -void Metrics::Report() { - int width = 0; - for (vector::iterator i = metrics_.begin(); - i != metrics_.end(); ++i) { - width = max((int)(*i)->name.size(), width); - } - - printf("%-*s\t%-6s\t%-9s\t%s\n", width, - "metric", "count", "avg (us)", "total (ms)"); - for (vector::iterator i = metrics_.begin(); - i != metrics_.end(); ++i) { - Metric* metric = *i; - double total = metric->sum / (double)1000; - double avg = metric->sum / (double)metric->count; - printf("%-*s\t%-6d\t%-8.1f\t%.1f\n", width, metric->name.c_str(), - metric->count, avg, total); - } -} - -uint64_t Stopwatch::Now() const { - return TimerToMicros(HighResTimer()); -} - -int64_t GetTimeMillis() { - return TimerToMicros(HighResTimer()) / 1000; -} - diff --git a/vendor/ninja/src/metrics.h b/vendor/ninja/src/metrics.h deleted file mode 100644 index b6da859db..000000000 --- a/vendor/ninja/src/metrics.h +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_METRICS_H_ -#define NINJA_METRICS_H_ - -#include -#include -using namespace std; - -#include "util.h" // For int64_t. - -/// The Metrics module is used for the debug mode that dumps timing stats of -/// various actions. To use, see METRIC_RECORD below. - -/// A single metrics we're tracking, like "depfile load time". -struct Metric { - string name; - /// Number of times we've hit the code path. - int count; - /// Total time (in micros) we've spent on the code path. - int64_t sum; -}; - - -/// A scoped object for recording a metric across the body of a function. -/// Used by the METRIC_RECORD macro. -struct ScopedMetric { - explicit ScopedMetric(Metric* metric); - ~ScopedMetric(); - -private: - Metric* metric_; - /// Timestamp when the measurement started. - /// Value is platform-dependent. - int64_t start_; -}; - -/// The singleton that stores metrics and prints the report. -struct Metrics { - Metric* NewMetric(const string& name); - - /// Print a summary report to stdout. - void Report(); - -private: - vector metrics_; -}; - -/// Get the current time as relative to some epoch. -/// Epoch varies between platforms; only useful for measuring elapsed time. -int64_t GetTimeMillis(); - -/// A simple stopwatch which returns the time -/// in seconds since Restart() was called. -struct Stopwatch { - public: - Stopwatch() : started_(0) {} - - /// Seconds since Restart() call. - double Elapsed() const { - return 1e-6 * static_cast(Now() - started_); - } - - void Restart() { started_ = Now(); } - - private: - uint64_t started_; - uint64_t Now() const; -}; - -/// The primary interface to metrics. Use METRIC_RECORD("foobar") at the top -/// of a function to get timing stats recorded for each call of the function. -#define METRIC_RECORD(name) \ - static Metric* metrics_h_metric = \ - g_metrics ? g_metrics->NewMetric(name) : NULL; \ - ScopedMetric metrics_h_scoped(metrics_h_metric); - -extern Metrics* g_metrics; - -#endif // NINJA_METRICS_H_ diff --git a/vendor/ninja/src/minidump-win32.cc b/vendor/ninja/src/minidump-win32.cc deleted file mode 100644 index 1efb085a9..000000000 --- a/vendor/ninja/src/minidump-win32.cc +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifdef _MSC_VER - -#include -#include - -#include "util.h" - -typedef BOOL (WINAPI *MiniDumpWriteDumpFunc) ( - IN HANDLE, - IN DWORD, - IN HANDLE, - IN MINIDUMP_TYPE, - IN CONST PMINIDUMP_EXCEPTION_INFORMATION, OPTIONAL - IN CONST PMINIDUMP_USER_STREAM_INFORMATION, OPTIONAL - IN CONST PMINIDUMP_CALLBACK_INFORMATION OPTIONAL - ); - -/// Creates a windows minidump in temp folder. -void CreateWin32MiniDump(_EXCEPTION_POINTERS* pep) { - char temp_path[MAX_PATH]; - GetTempPath(sizeof(temp_path), temp_path); - char temp_file[MAX_PATH]; - sprintf(temp_file, "%s\\ninja_crash_dump_%lu.dmp", - temp_path, GetCurrentProcessId()); - - // Delete any previous minidump of the same name. - DeleteFile(temp_file); - - // Load DbgHelp.dll dynamically, as library is not present on all - // Windows versions. - HMODULE dbghelp = LoadLibrary("dbghelp.dll"); - if (dbghelp == NULL) { - Error("failed to create minidump: LoadLibrary('dbghelp.dll'): %s", - GetLastErrorString().c_str()); - return; - } - - MiniDumpWriteDumpFunc mini_dump_write_dump = - (MiniDumpWriteDumpFunc)GetProcAddress(dbghelp, "MiniDumpWriteDump"); - if (mini_dump_write_dump == NULL) { - Error("failed to create minidump: GetProcAddress('MiniDumpWriteDump'): %s", - GetLastErrorString().c_str()); - return; - } - - HANDLE hFile = CreateFileA(temp_file, GENERIC_READ | GENERIC_WRITE, 0, NULL, - CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - if (hFile == NULL) { - Error("failed to create minidump: CreateFileA(%s): %s", - temp_file, GetLastErrorString().c_str()); - return; - } - - MINIDUMP_EXCEPTION_INFORMATION mdei; - mdei.ThreadId = GetCurrentThreadId(); - mdei.ExceptionPointers = pep; - mdei.ClientPointers = FALSE; - MINIDUMP_TYPE mdt = (MINIDUMP_TYPE) (MiniDumpWithDataSegs | - MiniDumpWithHandleData); - - BOOL rv = mini_dump_write_dump(GetCurrentProcess(), GetCurrentProcessId(), - hFile, mdt, (pep != 0) ? &mdei : 0, 0, 0); - CloseHandle(hFile); - - if (!rv) { - Error("MiniDumpWriteDump failed: %s", GetLastErrorString().c_str()); - return; - } - - Warning("minidump created: %s", temp_file); -} - -#endif // _MSC_VER diff --git a/vendor/ninja/src/msvc_helper-win32.cc b/vendor/ninja/src/msvc_helper-win32.cc deleted file mode 100644 index e37a26ea6..000000000 --- a/vendor/ninja/src/msvc_helper-win32.cc +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "msvc_helper.h" - -#include - -#include "util.h" - -namespace { - -string Replace(const string& input, const string& find, const string& replace) { - string result = input; - size_t start_pos = 0; - while ((start_pos = result.find(find, start_pos)) != string::npos) { - result.replace(start_pos, find.length(), replace); - start_pos += replace.length(); - } - return result; -} - -} // anonymous namespace - -string EscapeForDepfile(const string& path) { - // Depfiles don't escape single \. - return Replace(path, " ", "\\ "); -} - -int CLWrapper::Run(const string& command, string* output) { - SECURITY_ATTRIBUTES security_attributes = {}; - security_attributes.nLength = sizeof(SECURITY_ATTRIBUTES); - security_attributes.bInheritHandle = TRUE; - - // Must be inheritable so subprocesses can dup to children. - HANDLE nul = CreateFile("NUL", GENERIC_READ, - FILE_SHARE_READ | FILE_SHARE_WRITE | - FILE_SHARE_DELETE, - &security_attributes, OPEN_EXISTING, 0, NULL); - if (nul == INVALID_HANDLE_VALUE) - Fatal("couldn't open nul"); - - HANDLE stdout_read, stdout_write; - if (!CreatePipe(&stdout_read, &stdout_write, &security_attributes, 0)) - Win32Fatal("CreatePipe"); - - if (!SetHandleInformation(stdout_read, HANDLE_FLAG_INHERIT, 0)) - Win32Fatal("SetHandleInformation"); - - PROCESS_INFORMATION process_info = {}; - STARTUPINFO startup_info = {}; - startup_info.cb = sizeof(STARTUPINFO); - startup_info.hStdInput = nul; - startup_info.hStdError = ::GetStdHandle(STD_ERROR_HANDLE); - startup_info.hStdOutput = stdout_write; - startup_info.dwFlags |= STARTF_USESTDHANDLES; - - if (!CreateProcessA(NULL, (char*)command.c_str(), NULL, NULL, - /* inherit handles */ TRUE, 0, - env_block_, NULL, - &startup_info, &process_info)) { - Win32Fatal("CreateProcess"); - } - - if (!CloseHandle(nul) || - !CloseHandle(stdout_write)) { - Win32Fatal("CloseHandle"); - } - - // Read all output of the subprocess. - DWORD read_len = 1; - while (read_len) { - char buf[64 << 10]; - read_len = 0; - if (!::ReadFile(stdout_read, buf, sizeof(buf), &read_len, NULL) && - GetLastError() != ERROR_BROKEN_PIPE) { - Win32Fatal("ReadFile"); - } - output->append(buf, read_len); - } - - // Wait for it to exit and grab its exit code. - if (WaitForSingleObject(process_info.hProcess, INFINITE) == WAIT_FAILED) - Win32Fatal("WaitForSingleObject"); - DWORD exit_code = 0; - if (!GetExitCodeProcess(process_info.hProcess, &exit_code)) - Win32Fatal("GetExitCodeProcess"); - - if (!CloseHandle(stdout_read) || - !CloseHandle(process_info.hProcess) || - !CloseHandle(process_info.hThread)) { - Win32Fatal("CloseHandle"); - } - - return exit_code; -} diff --git a/vendor/ninja/src/msvc_helper.h b/vendor/ninja/src/msvc_helper.h deleted file mode 100644 index 70d1fff79..000000000 --- a/vendor/ninja/src/msvc_helper.h +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -using namespace std; - -string EscapeForDepfile(const string& path); - -/// Wraps a synchronous execution of a CL subprocess. -struct CLWrapper { - CLWrapper() : env_block_(NULL) {} - - /// Set the environment block (as suitable for CreateProcess) to be used - /// by Run(). - void SetEnvBlock(void* env_block) { env_block_ = env_block; } - - /// Start a process and gather its raw output. Returns its exit code. - /// Crashes (calls Fatal()) on error. - int Run(const string& command, string* output); - - void* env_block_; -}; diff --git a/vendor/ninja/src/msvc_helper_main-win32.cc b/vendor/ninja/src/msvc_helper_main-win32.cc deleted file mode 100644 index e419cd774..000000000 --- a/vendor/ninja/src/msvc_helper_main-win32.cc +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "msvc_helper.h" - -#include -#include -#include -#include - -#include "clparser.h" -#include "util.h" - -#include "getopt.h" - -namespace { - -void Usage() { - printf( -"usage: ninja -t msvc [options] -- cl.exe /showIncludes /otherArgs\n" -"options:\n" -" -e ENVFILE load environment block from ENVFILE as environment\n" -" -o FILE write output dependency information to FILE.d\n" -" -p STRING localized prefix of msvc's /showIncludes output\n" - ); -} - -void PushPathIntoEnvironment(const string& env_block) { - const char* as_str = env_block.c_str(); - while (as_str[0]) { - if (_strnicmp(as_str, "path=", 5) == 0) { - _putenv(as_str); - return; - } else { - as_str = &as_str[strlen(as_str) + 1]; - } - } -} - -void WriteDepFileOrDie(const char* object_path, const CLParser& parse) { - string depfile_path = string(object_path) + ".d"; - FILE* depfile = fopen(depfile_path.c_str(), "w"); - if (!depfile) { - unlink(object_path); - Fatal("opening %s: %s", depfile_path.c_str(), - GetLastErrorString().c_str()); - } - if (fprintf(depfile, "%s: ", object_path) < 0) { - unlink(object_path); - fclose(depfile); - unlink(depfile_path.c_str()); - Fatal("writing %s", depfile_path.c_str()); - } - const set& headers = parse.includes_; - for (set::const_iterator i = headers.begin(); - i != headers.end(); ++i) { - if (fprintf(depfile, "%s\n", EscapeForDepfile(*i).c_str()) < 0) { - unlink(object_path); - fclose(depfile); - unlink(depfile_path.c_str()); - Fatal("writing %s", depfile_path.c_str()); - } - } - fclose(depfile); -} - -} // anonymous namespace - -int MSVCHelperMain(int argc, char** argv) { - const char* output_filename = NULL; - const char* envfile = NULL; - - const option kLongOptions[] = { - { "help", no_argument, NULL, 'h' }, - { NULL, 0, NULL, 0 } - }; - int opt; - string deps_prefix; - while ((opt = getopt_long(argc, argv, "e:o:p:h", kLongOptions, NULL)) != -1) { - switch (opt) { - case 'e': - envfile = optarg; - break; - case 'o': - output_filename = optarg; - break; - case 'p': - deps_prefix = optarg; - break; - case 'h': - default: - Usage(); - return 0; - } - } - - string env; - if (envfile) { - string err; - if (ReadFile(envfile, &env, &err) != 0) - Fatal("couldn't open %s: %s", envfile, err.c_str()); - PushPathIntoEnvironment(env); - } - - char* command = GetCommandLine(); - command = strstr(command, " -- "); - if (!command) { - Fatal("expected command line to end with \" -- command args\""); - } - command += 4; - - CLWrapper cl; - if (!env.empty()) - cl.SetEnvBlock((void*)env.data()); - string output; - int exit_code = cl.Run(command, &output); - - if (output_filename) { - CLParser parser; - string err; - if (!parser.Parse(output, deps_prefix, &output, &err)) - Fatal("%s\n", err.c_str()); - WriteDepFileOrDie(output_filename, parser); - } - - if (output.empty()) - return exit_code; - - // CLWrapper's output already as \r\n line endings, make sure the C runtime - // doesn't expand this to \r\r\n. - _setmode(_fileno(stdout), _O_BINARY); - // Avoid printf and C strings, since the actual output might contain null - // bytes like UTF-16 does (yuck). - fwrite(&output[0], 1, output.size(), stdout); - - return exit_code; -} diff --git a/vendor/ninja/src/msvc_helper_test.cc b/vendor/ninja/src/msvc_helper_test.cc deleted file mode 100644 index eaae51f56..000000000 --- a/vendor/ninja/src/msvc_helper_test.cc +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "msvc_helper.h" - -#include "test.h" -#include "util.h" - -TEST(EscapeForDepfileTest, SpacesInFilename) { - ASSERT_EQ("sub\\some\\ sdk\\foo.h", - EscapeForDepfile("sub\\some sdk\\foo.h")); -} - -TEST(MSVCHelperTest, EnvBlock) { - char env_block[] = "foo=bar\0"; - CLWrapper cl; - cl.SetEnvBlock(env_block); - string output; - cl.Run("cmd /c \"echo foo is %foo%", &output); - ASSERT_EQ("foo is bar\r\n", output); -} - -TEST(MSVCHelperTest, NoReadOfStderr) { - CLWrapper cl; - string output; - cl.Run("cmd /c \"echo to stdout&& echo to stderr 1>&2", &output); - ASSERT_EQ("to stdout\r\n", output); -} diff --git a/vendor/ninja/src/ninja.cc b/vendor/ninja/src/ninja.cc deleted file mode 100644 index ed004ac8f..000000000 --- a/vendor/ninja/src/ninja.cc +++ /dev/null @@ -1,1228 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include -#include -#include -#include - -#ifdef _WIN32 -#include "getopt.h" -#include -#include -#elif defined(_AIX) -#include "getopt.h" -#include -#else -#include -#include -#endif - -#include "browse.h" -#include "build.h" -#include "build_log.h" -#include "deps_log.h" -#include "clean.h" -#include "debug_flags.h" -#include "disk_interface.h" -#include "graph.h" -#include "graphviz.h" -#include "manifest_parser.h" -#include "metrics.h" -#include "state.h" -#include "util.h" -#include "version.h" - -#ifdef _MSC_VER -// Defined in msvc_helper_main-win32.cc. -int MSVCHelperMain(int argc, char** argv); - -// Defined in minidump-win32.cc. -void CreateWin32MiniDump(_EXCEPTION_POINTERS* pep); -#endif - -namespace { - -struct Tool; - -/// Command-line options. -struct Options { - /// Build file to load. - const char* input_file; - - /// Directory to change into before running. - const char* working_dir; - - /// Tool to run rather than building. - const Tool* tool; - - /// Whether duplicate rules for one target should warn or print an error. - bool dupe_edges_should_err; - - /// Whether phony cycles should warn or print an error. - bool phony_cycle_should_err; -}; - -/// The Ninja main() loads up a series of data structures; various tools need -/// to poke into these, so store them as fields on an object. -struct NinjaMain : public BuildLogUser { - NinjaMain(const char* ninja_command, const BuildConfig& config) : - ninja_command_(ninja_command), config_(config) {} - - /// Command line used to run Ninja. - const char* ninja_command_; - - /// Build configuration set from flags (e.g. parallelism). - const BuildConfig& config_; - - /// Loaded state (rules, nodes). - State state_; - - /// Functions for accesssing the disk. - RealDiskInterface disk_interface_; - - /// The build directory, used for storing the build log etc. - string build_dir_; - - BuildLog build_log_; - DepsLog deps_log_; - - /// The type of functions that are the entry points to tools (subcommands). - typedef int (NinjaMain::*ToolFunc)(const Options*, int, char**); - - /// Get the Node for a given command-line path, handling features like - /// spell correction. - Node* CollectTarget(const char* cpath, string* err); - - /// CollectTarget for all command-line arguments, filling in \a targets. - bool CollectTargetsFromArgs(int argc, char* argv[], - vector* targets, string* err); - - // The various subcommands, run via "-t XXX". - int ToolGraph(const Options* options, int argc, char* argv[]); - int ToolQuery(const Options* options, int argc, char* argv[]); - int ToolDeps(const Options* options, int argc, char* argv[]); - int ToolBrowse(const Options* options, int argc, char* argv[]); - int ToolMSVC(const Options* options, int argc, char* argv[]); - int ToolTargets(const Options* options, int argc, char* argv[]); - int ToolCommands(const Options* options, int argc, char* argv[]); - int ToolClean(const Options* options, int argc, char* argv[]); - int ToolCompilationDatabase(const Options* options, int argc, char* argv[]); - int ToolRecompact(const Options* options, int argc, char* argv[]); - int ToolUrtle(const Options* options, int argc, char** argv); - - /// Open the build log. - /// @return false on error. - bool OpenBuildLog(bool recompact_only = false); - - /// Open the deps log: load it, then open for writing. - /// @return false on error. - bool OpenDepsLog(bool recompact_only = false); - - /// Ensure the build directory exists, creating it if necessary. - /// @return false on error. - bool EnsureBuildDirExists(); - - /// Rebuild the manifest, if necessary. - /// Fills in \a err on error. - /// @return true if the manifest was rebuilt. - bool RebuildManifest(const char* input_file, string* err); - - /// Build the targets listed on the command line. - /// @return an exit code. - int RunBuild(int argc, char** argv); - - /// Dump the output requested by '-d stats'. - void DumpMetrics(); - - virtual bool IsPathDead(StringPiece s) const { - Node* n = state_.LookupNode(s); - if (!n || !n->in_edge()) - return false; - // Just checking n isn't enough: If an old output is both in the build log - // and in the deps log, it will have a Node object in state_. (It will also - // have an in edge if one of its inputs is another output that's in the deps - // log, but having a deps edge product an output thats input to another deps - // edge is rare, and the first recompaction will delete all old outputs from - // the deps log, and then a second recompaction will clear the build log, - // which seems good enough for this corner case.) - // Do keep entries around for files which still exist on disk, for - // generators that want to use this information. - string err; - TimeStamp mtime = disk_interface_.Stat(s.AsString(), &err); - if (mtime == -1) - Error("%s", err.c_str()); // Log and ignore Stat() errors. - return mtime == 0; - } -}; - -/// Subtools, accessible via "-t foo". -struct Tool { - /// Short name of the tool. - const char* name; - - /// Description (shown in "-t list"). - const char* desc; - - /// When to run the tool. - enum { - /// Run after parsing the command-line flags and potentially changing - /// the current working directory (as early as possible). - RUN_AFTER_FLAGS, - - /// Run after loading build.ninja. - RUN_AFTER_LOAD, - - /// Run after loading the build/deps logs. - RUN_AFTER_LOGS, - } when; - - /// Implementation of the tool. - NinjaMain::ToolFunc func; -}; - -/// Print usage information. -void Usage(const BuildConfig& config) { - fprintf(stderr, -"usage: ninja [options] [targets...]\n" -"\n" -"if targets are unspecified, builds the 'default' target (see manual).\n" -"\n" -"options:\n" -" --version print ninja version (\"%s\")\n" -"\n" -" -C DIR change to DIR before doing anything else\n" -" -f FILE specify input build file [default=build.ninja]\n" -"\n" -" -j N run N jobs in parallel [default=%d, derived from CPUs available]\n" -" -k N keep going until N jobs fail [default=1]\n" -" -l N do not start new jobs if the load average is greater than N\n" -" -n dry run (don't run commands but act like they succeeded)\n" -" -v show all command lines while building\n" -"\n" -" -d MODE enable debugging (use -d list to list modes)\n" -" -t TOOL run a subtool (use -t list to list subtools)\n" -" terminates toplevel options; further flags are passed to the tool\n" -" -w FLAG adjust warnings (use -w list to list warnings)\n", - kNinjaVersion, config.parallelism); -} - -/// Choose a default value for the -j (parallelism) flag. -int GuessParallelism() { - switch (int processors = GetProcessorCount()) { - case 0: - case 1: - return 2; - case 2: - return 3; - default: - return processors + 2; - } -} - -/// Rebuild the build manifest, if necessary. -/// Returns true if the manifest was rebuilt. -bool NinjaMain::RebuildManifest(const char* input_file, string* err) { - string path = input_file; - uint64_t slash_bits; // Unused because this path is only used for lookup. - if (!CanonicalizePath(&path, &slash_bits, err)) - return false; - Node* node = state_.LookupNode(path); - if (!node) - return false; - - Builder builder(&state_, config_, &build_log_, &deps_log_, &disk_interface_); - if (!builder.AddTarget(node, err)) - return false; - - if (builder.AlreadyUpToDate()) - return false; // Not an error, but we didn't rebuild. - - if (!builder.Build(err)) - return false; - - // The manifest was only rebuilt if it is now dirty (it may have been cleaned - // by a restat). - if (!node->dirty()) { - // Reset the state to prevent problems like - // https://github.com/ninja-build/ninja/issues/874 - state_.Reset(); - return false; - } - - return true; -} - -Node* NinjaMain::CollectTarget(const char* cpath, string* err) { - string path = cpath; - uint64_t slash_bits; - if (!CanonicalizePath(&path, &slash_bits, err)) - return NULL; - - // Special syntax: "foo.cc^" means "the first output of foo.cc". - bool first_dependent = false; - if (!path.empty() && path[path.size() - 1] == '^') { - path.resize(path.size() - 1); - first_dependent = true; - } - - Node* node = state_.LookupNode(path); - if (node) { - if (first_dependent) { - if (node->out_edges().empty()) { - *err = "'" + path + "' has no out edge"; - return NULL; - } - Edge* edge = node->out_edges()[0]; - if (edge->outputs_.empty()) { - edge->Dump(); - Fatal("edge has no outputs"); - } - node = edge->outputs_[0]; - } - return node; - } else { - *err = - "unknown target '" + Node::PathDecanonicalized(path, slash_bits) + "'"; - if (path == "clean") { - *err += ", did you mean 'ninja -t clean'?"; - } else if (path == "help") { - *err += ", did you mean 'ninja -h'?"; - } else { - Node* suggestion = state_.SpellcheckNode(path); - if (suggestion) { - *err += ", did you mean '" + suggestion->path() + "'?"; - } - } - return NULL; - } -} - -bool NinjaMain::CollectTargetsFromArgs(int argc, char* argv[], - vector* targets, string* err) { - if (argc == 0) { - *targets = state_.DefaultNodes(err); - return err->empty(); - } - - for (int i = 0; i < argc; ++i) { - Node* node = CollectTarget(argv[i], err); - if (node == NULL) - return false; - targets->push_back(node); - } - return true; -} - -int NinjaMain::ToolGraph(const Options* options, int argc, char* argv[]) { - vector nodes; - string err; - if (!CollectTargetsFromArgs(argc, argv, &nodes, &err)) { - Error("%s", err.c_str()); - return 1; - } - - GraphViz graph; - graph.Start(); - for (vector::const_iterator n = nodes.begin(); n != nodes.end(); ++n) - graph.AddTarget(*n); - graph.Finish(); - - return 0; -} - -int NinjaMain::ToolQuery(const Options* options, int argc, char* argv[]) { - if (argc == 0) { - Error("expected a target to query"); - return 1; - } - - for (int i = 0; i < argc; ++i) { - string err; - Node* node = CollectTarget(argv[i], &err); - if (!node) { - Error("%s", err.c_str()); - return 1; - } - - printf("%s:\n", node->path().c_str()); - if (Edge* edge = node->in_edge()) { - printf(" input: %s\n", edge->rule_->name().c_str()); - for (int in = 0; in < (int)edge->inputs_.size(); in++) { - const char* label = ""; - if (edge->is_implicit(in)) - label = "| "; - else if (edge->is_order_only(in)) - label = "|| "; - printf(" %s%s\n", label, edge->inputs_[in]->path().c_str()); - } - } - printf(" outputs:\n"); - for (vector::const_iterator edge = node->out_edges().begin(); - edge != node->out_edges().end(); ++edge) { - for (vector::iterator out = (*edge)->outputs_.begin(); - out != (*edge)->outputs_.end(); ++out) { - printf(" %s\n", (*out)->path().c_str()); - } - } - } - return 0; -} - -#if defined(NINJA_HAVE_BROWSE) -int NinjaMain::ToolBrowse(const Options* options, int argc, char* argv[]) { - RunBrowsePython(&state_, ninja_command_, options->input_file, argc, argv); - // If we get here, the browse failed. - return 1; -} -#endif // _WIN32 - -#if defined(_MSC_VER) -int NinjaMain::ToolMSVC(const Options* options, int argc, char* argv[]) { - // Reset getopt: push one argument onto the front of argv, reset optind. - argc++; - argv--; - optind = 0; - return MSVCHelperMain(argc, argv); -} -#endif - -int ToolTargetsList(const vector& nodes, int depth, int indent) { - for (vector::const_iterator n = nodes.begin(); - n != nodes.end(); - ++n) { - for (int i = 0; i < indent; ++i) - printf(" "); - const char* target = (*n)->path().c_str(); - if ((*n)->in_edge()) { - printf("%s: %s\n", target, (*n)->in_edge()->rule_->name().c_str()); - if (depth > 1 || depth <= 0) - ToolTargetsList((*n)->in_edge()->inputs_, depth - 1, indent + 1); - } else { - printf("%s\n", target); - } - } - return 0; -} - -int ToolTargetsSourceList(State* state) { - for (vector::iterator e = state->edges_.begin(); - e != state->edges_.end(); ++e) { - for (vector::iterator inps = (*e)->inputs_.begin(); - inps != (*e)->inputs_.end(); ++inps) { - if (!(*inps)->in_edge()) - printf("%s\n", (*inps)->path().c_str()); - } - } - return 0; -} - -int ToolTargetsList(State* state, const string& rule_name) { - set rules; - - // Gather the outputs. - for (vector::iterator e = state->edges_.begin(); - e != state->edges_.end(); ++e) { - if ((*e)->rule_->name() == rule_name) { - for (vector::iterator out_node = (*e)->outputs_.begin(); - out_node != (*e)->outputs_.end(); ++out_node) { - rules.insert((*out_node)->path()); - } - } - } - - // Print them. - for (set::const_iterator i = rules.begin(); - i != rules.end(); ++i) { - printf("%s\n", (*i).c_str()); - } - - return 0; -} - -int ToolTargetsList(State* state) { - for (vector::iterator e = state->edges_.begin(); - e != state->edges_.end(); ++e) { - for (vector::iterator out_node = (*e)->outputs_.begin(); - out_node != (*e)->outputs_.end(); ++out_node) { - printf("%s: %s\n", - (*out_node)->path().c_str(), - (*e)->rule_->name().c_str()); - } - } - return 0; -} - -int NinjaMain::ToolDeps(const Options* options, int argc, char** argv) { - vector nodes; - if (argc == 0) { - for (vector::const_iterator ni = deps_log_.nodes().begin(); - ni != deps_log_.nodes().end(); ++ni) { - if (deps_log_.IsDepsEntryLiveFor(*ni)) - nodes.push_back(*ni); - } - } else { - string err; - if (!CollectTargetsFromArgs(argc, argv, &nodes, &err)) { - Error("%s", err.c_str()); - return 1; - } - } - - RealDiskInterface disk_interface; - for (vector::iterator it = nodes.begin(), end = nodes.end(); - it != end; ++it) { - DepsLog::Deps* deps = deps_log_.GetDeps(*it); - if (!deps) { - printf("%s: deps not found\n", (*it)->path().c_str()); - continue; - } - - string err; - TimeStamp mtime = disk_interface.Stat((*it)->path(), &err); - if (mtime == -1) - Error("%s", err.c_str()); // Log and ignore Stat() errors; - printf("%s: #deps %d, deps mtime %d (%s)\n", - (*it)->path().c_str(), deps->node_count, deps->mtime, - (!mtime || mtime > deps->mtime ? "STALE":"VALID")); - for (int i = 0; i < deps->node_count; ++i) - printf(" %s\n", deps->nodes[i]->path().c_str()); - printf("\n"); - } - - return 0; -} - -int NinjaMain::ToolTargets(const Options* options, int argc, char* argv[]) { - int depth = 1; - if (argc >= 1) { - string mode = argv[0]; - if (mode == "rule") { - string rule; - if (argc > 1) - rule = argv[1]; - if (rule.empty()) - return ToolTargetsSourceList(&state_); - else - return ToolTargetsList(&state_, rule); - } else if (mode == "depth") { - if (argc > 1) - depth = atoi(argv[1]); - } else if (mode == "all") { - return ToolTargetsList(&state_); - } else { - const char* suggestion = - SpellcheckString(mode.c_str(), "rule", "depth", "all", NULL); - if (suggestion) { - Error("unknown target tool mode '%s', did you mean '%s'?", - mode.c_str(), suggestion); - } else { - Error("unknown target tool mode '%s'", mode.c_str()); - } - return 1; - } - } - - string err; - vector root_nodes = state_.RootNodes(&err); - if (err.empty()) { - return ToolTargetsList(root_nodes, depth, 0); - } else { - Error("%s", err.c_str()); - return 1; - } -} - -enum PrintCommandMode { PCM_Single, PCM_All }; -void PrintCommands(Edge* edge, set* seen, PrintCommandMode mode) { - if (!edge) - return; - if (!seen->insert(edge).second) - return; - - if (mode == PCM_All) { - for (vector::iterator in = edge->inputs_.begin(); - in != edge->inputs_.end(); ++in) - PrintCommands((*in)->in_edge(), seen, mode); - } - - if (!edge->is_phony()) - puts(edge->EvaluateCommand().c_str()); -} - -int NinjaMain::ToolCommands(const Options* options, int argc, char* argv[]) { - // The clean tool uses getopt, and expects argv[0] to contain the name of - // the tool, i.e. "commands". - ++argc; - --argv; - - PrintCommandMode mode = PCM_All; - - optind = 1; - int opt; - while ((opt = getopt(argc, argv, const_cast("hs"))) != -1) { - switch (opt) { - case 's': - mode = PCM_Single; - break; - case 'h': - default: - printf("usage: ninja -t commands [options] [targets]\n" -"\n" -"options:\n" -" -s only print the final command to build [target], not the whole chain\n" - ); - return 1; - } - } - argv += optind; - argc -= optind; - - vector nodes; - string err; - if (!CollectTargetsFromArgs(argc, argv, &nodes, &err)) { - Error("%s", err.c_str()); - return 1; - } - - set seen; - for (vector::iterator in = nodes.begin(); in != nodes.end(); ++in) - PrintCommands((*in)->in_edge(), &seen, mode); - - return 0; -} - -int NinjaMain::ToolClean(const Options* options, int argc, char* argv[]) { - // The clean tool uses getopt, and expects argv[0] to contain the name of - // the tool, i.e. "clean". - argc++; - argv--; - - bool generator = false; - bool clean_rules = false; - - optind = 1; - int opt; - while ((opt = getopt(argc, argv, const_cast("hgr"))) != -1) { - switch (opt) { - case 'g': - generator = true; - break; - case 'r': - clean_rules = true; - break; - case 'h': - default: - printf("usage: ninja -t clean [options] [targets]\n" -"\n" -"options:\n" -" -g also clean files marked as ninja generator output\n" -" -r interpret targets as a list of rules to clean instead\n" - ); - return 1; - } - } - argv += optind; - argc -= optind; - - if (clean_rules && argc == 0) { - Error("expected a rule to clean"); - return 1; - } - - Cleaner cleaner(&state_, config_); - if (argc >= 1) { - if (clean_rules) - return cleaner.CleanRules(argc, argv); - else - return cleaner.CleanTargets(argc, argv); - } else { - return cleaner.CleanAll(generator); - } -} - -void EncodeJSONString(const char *str) { - while (*str) { - if (*str == '"' || *str == '\\') - putchar('\\'); - putchar(*str); - str++; - } -} - -int NinjaMain::ToolCompilationDatabase(const Options* options, int argc, char* argv[]) { - bool first = true; - vector cwd; - - do { - cwd.resize(cwd.size() + 1024); - errno = 0; - } while (!getcwd(&cwd[0], cwd.size()) && errno == ERANGE); - if (errno != 0 && errno != ERANGE) { - Error("cannot determine working directory: %s", strerror(errno)); - return 1; - } - - putchar('['); - for (vector::iterator e = state_.edges_.begin(); - e != state_.edges_.end(); ++e) { - if ((*e)->inputs_.empty()) - continue; - for (int i = 0; i != argc; ++i) { - if ((*e)->rule_->name() == argv[i]) { - if (!first) - putchar(','); - - printf("\n {\n \"directory\": \""); - EncodeJSONString(&cwd[0]); - printf("\",\n \"command\": \""); - EncodeJSONString((*e)->EvaluateCommand().c_str()); - printf("\",\n \"file\": \""); - EncodeJSONString((*e)->inputs_[0]->path().c_str()); - printf("\"\n }"); - - first = false; - } - } - } - - puts("\n]"); - return 0; -} - -int NinjaMain::ToolRecompact(const Options* options, int argc, char* argv[]) { - if (!EnsureBuildDirExists()) - return 1; - - if (!OpenBuildLog(/*recompact_only=*/true) || - !OpenDepsLog(/*recompact_only=*/true)) - return 1; - - return 0; -} - -int NinjaMain::ToolUrtle(const Options* options, int argc, char** argv) { - // RLE encoded. - const char* urtle = -" 13 ,3;2!2;\n8 ,;<11!;\n5 `'<10!(2`'2!\n11 ,6;, `\\. `\\9 .,c13$ec,.\n6 " -",2;11!>; `. ,;!2> .e8$2\".2 \"?7$e.\n <:<8!'` 2.3,.2` ,3!' ;,(?7\";2!2'<" -"; `?6$PF ,;,\n2 `'4!8;<3;5! J2$b,`!>;2!:2!`,d?b`!>\n26 `'-;,(<9!> $F3 )3.:!.2 d\"" -"2 ) !>\n30 7`2'<3!- \"=-='5 .2 `2-=\",!>\n25 .ze9$er2 .,cd16$bc.'\n22 .e" -"14$,26$.\n21 z45$c .\n20 J50$c\n20 14$P\"`?34$b\n20 14$ dbc `2\"?22$?7$c" -"\n20 ?18$c.6 4\"8?4\" c8$P\n9 .2,.8 \"20$c.3 ._14 J9$\n .2,2c9$bec,.2 `?" -"21$c.3`4%,3%,3 c8$P\"\n22$c2 2\"?21$bc2,.2` .2,c7$P2\",cb\n23$b bc,.2\"2" -"?14$2F2\"5?2\",J5$P\" ,zd3$\n24$ ?$3?%3 `2\"2?12$bcucd3$P3\"2 2=7$\n23$P" -"\" ,3;<5!>2;,. `4\"6?2\"2 ,9;, `\"?2$\n"; - int count = 0; - for (const char* p = urtle; *p; p++) { - if ('0' <= *p && *p <= '9') { - count = count*10 + *p - '0'; - } else { - for (int i = 0; i < max(count, 1); ++i) - printf("%c", *p); - count = 0; - } - } - return 0; -} - -/// Find the function to execute for \a tool_name and return it via \a func. -/// Returns a Tool, or NULL if Ninja should exit. -const Tool* ChooseTool(const string& tool_name) { - static const Tool kTools[] = { -#if defined(NINJA_HAVE_BROWSE) - { "browse", "browse dependency graph in a web browser", - Tool::RUN_AFTER_LOAD, &NinjaMain::ToolBrowse }, -#endif -#if defined(_MSC_VER) - { "msvc", "build helper for MSVC cl.exe (EXPERIMENTAL)", - Tool::RUN_AFTER_FLAGS, &NinjaMain::ToolMSVC }, -#endif - { "clean", "clean built files", - Tool::RUN_AFTER_LOAD, &NinjaMain::ToolClean }, - { "commands", "list all commands required to rebuild given targets", - Tool::RUN_AFTER_LOAD, &NinjaMain::ToolCommands }, - { "deps", "show dependencies stored in the deps log", - Tool::RUN_AFTER_LOGS, &NinjaMain::ToolDeps }, - { "graph", "output graphviz dot file for targets", - Tool::RUN_AFTER_LOAD, &NinjaMain::ToolGraph }, - { "query", "show inputs/outputs for a path", - Tool::RUN_AFTER_LOGS, &NinjaMain::ToolQuery }, - { "targets", "list targets by their rule or depth in the DAG", - Tool::RUN_AFTER_LOAD, &NinjaMain::ToolTargets }, - { "compdb", "dump JSON compilation database to stdout", - Tool::RUN_AFTER_LOAD, &NinjaMain::ToolCompilationDatabase }, - { "recompact", "recompacts ninja-internal data structures", - Tool::RUN_AFTER_LOAD, &NinjaMain::ToolRecompact }, - { "urtle", NULL, - Tool::RUN_AFTER_FLAGS, &NinjaMain::ToolUrtle }, - { NULL, NULL, Tool::RUN_AFTER_FLAGS, NULL } - }; - - if (tool_name == "list") { - printf("ninja subtools:\n"); - for (const Tool* tool = &kTools[0]; tool->name; ++tool) { - if (tool->desc) - printf("%10s %s\n", tool->name, tool->desc); - } - return NULL; - } - - for (const Tool* tool = &kTools[0]; tool->name; ++tool) { - if (tool->name == tool_name) - return tool; - } - - vector words; - for (const Tool* tool = &kTools[0]; tool->name; ++tool) - words.push_back(tool->name); - const char* suggestion = SpellcheckStringV(tool_name, words); - if (suggestion) { - Fatal("unknown tool '%s', did you mean '%s'?", - tool_name.c_str(), suggestion); - } else { - Fatal("unknown tool '%s'", tool_name.c_str()); - } - return NULL; // Not reached. -} - -/// Enable a debugging mode. Returns false if Ninja should exit instead -/// of continuing. -bool DebugEnable(const string& name) { - if (name == "list") { - printf("debugging modes:\n" -" stats print operation counts/timing info\n" -" explain explain what caused a command to execute\n" -" keepdepfile don't delete depfiles after they're read by ninja\n" -" keeprsp don't delete @response files on success\n" -#ifdef _WIN32 -" nostatcache don't batch stat() calls per directory and cache them\n" -#endif -"multiple modes can be enabled via -d FOO -d BAR\n"); - return false; - } else if (name == "stats") { - g_metrics = new Metrics; - return true; - } else if (name == "explain") { - g_explaining = true; - return true; - } else if (name == "keepdepfile") { - g_keep_depfile = true; - return true; - } else if (name == "keeprsp") { - g_keep_rsp = true; - return true; - } else if (name == "nostatcache") { - g_experimental_statcache = false; - return true; - } else { - const char* suggestion = - SpellcheckString(name.c_str(), - "stats", "explain", "keepdepfile", "keeprsp", - "nostatcache", NULL); - if (suggestion) { - Error("unknown debug setting '%s', did you mean '%s'?", - name.c_str(), suggestion); - } else { - Error("unknown debug setting '%s'", name.c_str()); - } - return false; - } -} - -/// Set a warning flag. Returns false if Ninja should exit instead of -/// continuing. -bool WarningEnable(const string& name, Options* options) { - if (name == "list") { - printf("warning flags:\n" -" dupbuild={err,warn} multiple build lines for one target\n" -" phonycycle={err,warn} phony build statement references itself\n"); - return false; - } else if (name == "dupbuild=err") { - options->dupe_edges_should_err = true; - return true; - } else if (name == "dupbuild=warn") { - options->dupe_edges_should_err = false; - return true; - } else if (name == "phonycycle=err") { - options->phony_cycle_should_err = true; - return true; - } else if (name == "phonycycle=warn") { - options->phony_cycle_should_err = false; - return true; - } else { - const char* suggestion = - SpellcheckString(name.c_str(), "dupbuild=err", "dupbuild=warn", - "phonycycle=err", "phonycycle=warn", NULL); - if (suggestion) { - Error("unknown warning flag '%s', did you mean '%s'?", - name.c_str(), suggestion); - } else { - Error("unknown warning flag '%s'", name.c_str()); - } - return false; - } -} - -bool NinjaMain::OpenBuildLog(bool recompact_only) { - string log_path = ".ninja_log"; - if (!build_dir_.empty()) - log_path = build_dir_ + "/" + log_path; - - string err; - if (!build_log_.Load(log_path, &err)) { - Error("loading build log %s: %s", log_path.c_str(), err.c_str()); - return false; - } - if (!err.empty()) { - // Hack: Load() can return a warning via err by returning true. - Warning("%s", err.c_str()); - err.clear(); - } - - if (recompact_only) { - bool success = build_log_.Recompact(log_path, *this, &err); - if (!success) - Error("failed recompaction: %s", err.c_str()); - return success; - } - - if (!config_.dry_run) { - if (!build_log_.OpenForWrite(log_path, *this, &err)) { - Error("opening build log: %s", err.c_str()); - return false; - } - } - - return true; -} - -/// Open the deps log: load it, then open for writing. -/// @return false on error. -bool NinjaMain::OpenDepsLog(bool recompact_only) { - string path = ".ninja_deps"; - if (!build_dir_.empty()) - path = build_dir_ + "/" + path; - - string err; - if (!deps_log_.Load(path, &state_, &err)) { - Error("loading deps log %s: %s", path.c_str(), err.c_str()); - return false; - } - if (!err.empty()) { - // Hack: Load() can return a warning via err by returning true. - Warning("%s", err.c_str()); - err.clear(); - } - - if (recompact_only) { - bool success = deps_log_.Recompact(path, &err); - if (!success) - Error("failed recompaction: %s", err.c_str()); - return success; - } - - if (!config_.dry_run) { - if (!deps_log_.OpenForWrite(path, &err)) { - Error("opening deps log: %s", err.c_str()); - return false; - } - } - - return true; -} - -void NinjaMain::DumpMetrics() { - g_metrics->Report(); - - printf("\n"); - int count = (int)state_.paths_.size(); - int buckets = (int)state_.paths_.bucket_count(); - printf("path->node hash load %.2f (%d entries / %d buckets)\n", - count / (double) buckets, count, buckets); -} - -bool NinjaMain::EnsureBuildDirExists() { - build_dir_ = state_.bindings_.LookupVariable("builddir"); - if (!build_dir_.empty() && !config_.dry_run) { - if (!disk_interface_.MakeDirs(build_dir_ + "/.") && errno != EEXIST) { - Error("creating build directory %s: %s", - build_dir_.c_str(), strerror(errno)); - return false; - } - } - return true; -} - -int NinjaMain::RunBuild(int argc, char** argv) { - string err; - vector targets; - if (!CollectTargetsFromArgs(argc, argv, &targets, &err)) { - Error("%s", err.c_str()); - return 1; - } - - disk_interface_.AllowStatCache(g_experimental_statcache); - - Builder builder(&state_, config_, &build_log_, &deps_log_, &disk_interface_); - for (size_t i = 0; i < targets.size(); ++i) { - if (!builder.AddTarget(targets[i], &err)) { - if (!err.empty()) { - Error("%s", err.c_str()); - return 1; - } else { - // Added a target that is already up-to-date; not really - // an error. - } - } - } - - // Make sure restat rules do not see stale timestamps. - disk_interface_.AllowStatCache(false); - - if (builder.AlreadyUpToDate()) { - printf("ninja: no work to do.\n"); - return 0; - } - - if (!builder.Build(&err)) { - printf("ninja: build stopped: %s.\n", err.c_str()); - if (err.find("interrupted by user") != string::npos) { - return 2; - } - return 1; - } - - return 0; -} - -#ifdef _MSC_VER - -/// This handler processes fatal crashes that you can't catch -/// Test example: C++ exception in a stack-unwind-block -/// Real-world example: ninja launched a compiler to process a tricky -/// C++ input file. The compiler got itself into a state where it -/// generated 3 GB of output and caused ninja to crash. -void TerminateHandler() { - CreateWin32MiniDump(NULL); - Fatal("terminate handler called"); -} - -/// On Windows, we want to prevent error dialogs in case of exceptions. -/// This function handles the exception, and writes a minidump. -int ExceptionFilter(unsigned int code, struct _EXCEPTION_POINTERS *ep) { - Error("exception: 0x%X", code); // e.g. EXCEPTION_ACCESS_VIOLATION - fflush(stderr); - CreateWin32MiniDump(ep); - return EXCEPTION_EXECUTE_HANDLER; -} - -#endif // _MSC_VER - -/// Parse argv for command-line options. -/// Returns an exit code, or -1 if Ninja should continue. -int ReadFlags(int* argc, char*** argv, - Options* options, BuildConfig* config) { - config->parallelism = GuessParallelism(); - - enum { OPT_VERSION = 1 }; - const option kLongOptions[] = { - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, OPT_VERSION }, - { NULL, 0, NULL, 0 } - }; - - int opt; - while (!options->tool && - (opt = getopt_long(*argc, *argv, "d:f:j:k:l:nt:vw:C:h", kLongOptions, - NULL)) != -1) { - switch (opt) { - case 'd': - if (!DebugEnable(optarg)) - return 1; - break; - case 'f': - options->input_file = optarg; - break; - case 'j': { - char* end; - int value = strtol(optarg, &end, 10); - if (*end != 0 || value <= 0) - Fatal("invalid -j parameter"); - config->parallelism = value; - break; - } - case 'k': { - char* end; - int value = strtol(optarg, &end, 10); - if (*end != 0) - Fatal("-k parameter not numeric; did you mean -k 0?"); - - // We want to go until N jobs fail, which means we should allow - // N failures and then stop. For N <= 0, INT_MAX is close enough - // to infinite for most sane builds. - config->failures_allowed = value > 0 ? value : INT_MAX; - break; - } - case 'l': { - char* end; - double value = strtod(optarg, &end); - if (end == optarg) - Fatal("-l parameter not numeric: did you mean -l 0.0?"); - config->max_load_average = value; - break; - } - case 'n': - config->dry_run = true; - break; - case 't': - options->tool = ChooseTool(optarg); - if (!options->tool) - return 0; - break; - case 'v': - config->verbosity = BuildConfig::VERBOSE; - break; - case 'w': - if (!WarningEnable(optarg, options)) - return 1; - break; - case 'C': - options->working_dir = optarg; - break; - case OPT_VERSION: - printf("%s\n", kNinjaVersion); - return 0; - case 'h': - default: - Usage(*config); - return 1; - } - } - *argv += optind; - *argc -= optind; - - return -1; -} - -int real_main(int argc, char** argv) { - BuildConfig config; - Options options = {}; - options.input_file = "build.ninja"; - - setvbuf(stdout, NULL, _IOLBF, BUFSIZ); - const char* ninja_command = argv[0]; - - int exit_code = ReadFlags(&argc, &argv, &options, &config); - if (exit_code >= 0) - return exit_code; - - if (options.working_dir) { - // The formatting of this string, complete with funny quotes, is - // so Emacs can properly identify that the cwd has changed for - // subsequent commands. - // Don't print this if a tool is being used, so that tool output - // can be piped into a file without this string showing up. - if (!options.tool) - printf("ninja: Entering directory `%s'\n", options.working_dir); - if (chdir(options.working_dir) < 0) { - Fatal("chdir to '%s' - %s", options.working_dir, strerror(errno)); - } - } - - if (options.tool && options.tool->when == Tool::RUN_AFTER_FLAGS) { - // None of the RUN_AFTER_FLAGS actually use a NinjaMain, but it's needed - // by other tools. - NinjaMain ninja(ninja_command, config); - return (ninja.*options.tool->func)(&options, argc, argv); - } - - // Limit number of rebuilds, to prevent infinite loops. - const int kCycleLimit = 100; - for (int cycle = 1; cycle <= kCycleLimit; ++cycle) { - NinjaMain ninja(ninja_command, config); - - ManifestParserOptions parser_opts; - if (options.dupe_edges_should_err) { - parser_opts.dupe_edge_action_ = kDupeEdgeActionError; - } - if (options.phony_cycle_should_err) { - parser_opts.phony_cycle_action_ = kPhonyCycleActionError; - } - ManifestParser parser(&ninja.state_, &ninja.disk_interface_, parser_opts); - string err; - if (!parser.Load(options.input_file, &err)) { - Error("%s", err.c_str()); - return 1; - } - - if (options.tool && options.tool->when == Tool::RUN_AFTER_LOAD) - return (ninja.*options.tool->func)(&options, argc, argv); - - if (!ninja.EnsureBuildDirExists()) - return 1; - - if (!ninja.OpenBuildLog() || !ninja.OpenDepsLog()) - return 1; - - if (options.tool && options.tool->when == Tool::RUN_AFTER_LOGS) - return (ninja.*options.tool->func)(&options, argc, argv); - - // Attempt to rebuild the manifest before building anything else - if (ninja.RebuildManifest(options.input_file, &err)) { - // In dry_run mode the regeneration will succeed without changing the - // manifest forever. Better to return immediately. - if (config.dry_run) - return 0; - // Start the build over with the new manifest. - continue; - } else if (!err.empty()) { - Error("rebuilding '%s': %s", options.input_file, err.c_str()); - return 1; - } - - int result = ninja.RunBuild(argc, argv); - if (g_metrics) - ninja.DumpMetrics(); - return result; - } - - Error("manifest '%s' still dirty after %d tries\n", - options.input_file, kCycleLimit); - return 1; -} - -} // anonymous namespace - -int main(int argc, char** argv) { -#if defined(_MSC_VER) - // Set a handler to catch crashes not caught by the __try..__except - // block (e.g. an exception in a stack-unwind-block). - std::set_terminate(TerminateHandler); - __try { - // Running inside __try ... __except suppresses any Windows error - // dialogs for errors such as bad_alloc. - return real_main(argc, argv); - } - __except(ExceptionFilter(GetExceptionCode(), GetExceptionInformation())) { - // Common error situations return exitCode=1. 2 was chosen to - // indicate a more serious problem. - return 2; - } -#else - return real_main(argc, argv); -#endif -} diff --git a/vendor/ninja/src/ninja_test.cc b/vendor/ninja/src/ninja_test.cc deleted file mode 100644 index d642c5c90..000000000 --- a/vendor/ninja/src/ninja_test.cc +++ /dev/null @@ -1,160 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include -#include - -#ifdef _WIN32 -#include "getopt.h" -#elif defined(_AIX) -#include "getopt.h" -#include -#else -#include -#endif - -#include "test.h" -#include "line_printer.h" - -struct RegisteredTest { - testing::Test* (*factory)(); - const char *name; - bool should_run; -}; -// This can't be a vector because tests call RegisterTest from static -// initializers and the order static initializers run it isn't specified. So -// the vector constructor isn't guaranteed to run before all of the -// RegisterTest() calls. -static RegisteredTest tests[10000]; -testing::Test* g_current_test; -static int ntests; -static LinePrinter printer; - -void RegisterTest(testing::Test* (*factory)(), const char* name) { - tests[ntests].factory = factory; - tests[ntests++].name = name; -} - -namespace { -string StringPrintf(const char* format, ...) { - const int N = 1024; - char buf[N]; - - va_list ap; - va_start(ap, format); - vsnprintf(buf, N, format, ap); - va_end(ap); - - return buf; -} - -void Usage() { - fprintf(stderr, -"usage: ninja_tests [options]\n" -"\n" -"options:\n" -" --gtest_filter=POSTIVE_PATTERN[-NEGATIVE_PATTERN]\n" -" Run tests whose names match the positive but not the negative pattern.\n" -" '*' matches any substring. (gtest's ':', '?' are not implemented).\n"); -} - -bool PatternMatchesString(const char* pattern, const char* str) { - switch (*pattern) { - case '\0': - case '-': return *str == '\0'; - case '*': return (*str != '\0' && PatternMatchesString(pattern, str + 1)) || - PatternMatchesString(pattern + 1, str); - default: return *pattern == *str && - PatternMatchesString(pattern + 1, str + 1); - } -} - -bool TestMatchesFilter(const char* test, const char* filter) { - // Split --gtest_filter at '-' into positive and negative filters. - const char* const dash = strchr(filter, '-'); - const char* pos = dash == filter ? "*" : filter; //Treat '-test1' as '*-test1' - const char* neg = dash ? dash + 1 : ""; - return PatternMatchesString(pos, test) && !PatternMatchesString(neg, test); -} - -bool ReadFlags(int* argc, char*** argv, const char** test_filter) { - enum { OPT_GTEST_FILTER = 1 }; - const option kLongOptions[] = { - { "gtest_filter", required_argument, NULL, OPT_GTEST_FILTER }, - { NULL, 0, NULL, 0 } - }; - - int opt; - while ((opt = getopt_long(*argc, *argv, "h", kLongOptions, NULL)) != -1) { - switch (opt) { - case OPT_GTEST_FILTER: - if (strchr(optarg, '?') == NULL && strchr(optarg, ':') == NULL) { - *test_filter = optarg; - break; - } // else fall through. - default: - Usage(); - return false; - } - } - *argv += optind; - *argc -= optind; - return true; -} - -} // namespace - -bool testing::Test::Check(bool condition, const char* file, int line, - const char* error) { - if (!condition) { - printer.PrintOnNewLine( - StringPrintf("*** Failure in %s:%d\n%s\n", file, line, error)); - failed_ = true; - } - return condition; -} - -int main(int argc, char **argv) { - int tests_started = 0; - - const char* test_filter = "*"; - if (!ReadFlags(&argc, &argv, &test_filter)) - return 1; - - int nactivetests = 0; - for (int i = 0; i < ntests; i++) - if ((tests[i].should_run = TestMatchesFilter(tests[i].name, test_filter))) - ++nactivetests; - - bool passed = true; - for (int i = 0; i < ntests; i++) { - if (!tests[i].should_run) continue; - - ++tests_started; - testing::Test* test = tests[i].factory(); - printer.Print( - StringPrintf("[%d/%d] %s", tests_started, nactivetests, tests[i].name), - LinePrinter::ELIDE); - test->SetUp(); - test->Run(); - test->TearDown(); - if (test->Failed()) - passed = false; - delete test; - } - - printer.PrintOnNewLine(passed ? "passed\n" : "failed\n"); - return passed ? EXIT_SUCCESS : EXIT_FAILURE; -} diff --git a/vendor/ninja/src/state.cc b/vendor/ninja/src/state.cc deleted file mode 100644 index 9b3c7e198..000000000 --- a/vendor/ninja/src/state.cc +++ /dev/null @@ -1,212 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "state.h" - -#include -#include - -#include "edit_distance.h" -#include "graph.h" -#include "metrics.h" -#include "util.h" - - -void Pool::EdgeScheduled(const Edge& edge) { - if (depth_ != 0) - current_use_ += edge.weight(); -} - -void Pool::EdgeFinished(const Edge& edge) { - if (depth_ != 0) - current_use_ -= edge.weight(); -} - -void Pool::DelayEdge(Edge* edge) { - assert(depth_ != 0); - delayed_.insert(edge); -} - -void Pool::RetrieveReadyEdges(set* ready_queue) { - DelayedEdges::iterator it = delayed_.begin(); - while (it != delayed_.end()) { - Edge* edge = *it; - if (current_use_ + edge->weight() > depth_) - break; - ready_queue->insert(edge); - EdgeScheduled(*edge); - ++it; - } - delayed_.erase(delayed_.begin(), it); -} - -void Pool::Dump() const { - printf("%s (%d/%d) ->\n", name_.c_str(), current_use_, depth_); - for (DelayedEdges::const_iterator it = delayed_.begin(); - it != delayed_.end(); ++it) - { - printf("\t"); - (*it)->Dump(); - } -} - -// static -bool Pool::WeightedEdgeCmp(const Edge* a, const Edge* b) { - if (!a) return b; - if (!b) return false; - int weight_diff = a->weight() - b->weight(); - return ((weight_diff < 0) || (weight_diff == 0 && a < b)); -} - -Pool State::kDefaultPool("", 0); -Pool State::kConsolePool("console", 1); -const Rule State::kPhonyRule("phony"); - -State::State() { - bindings_.AddRule(&kPhonyRule); - AddPool(&kDefaultPool); - AddPool(&kConsolePool); -} - -void State::AddPool(Pool* pool) { - assert(LookupPool(pool->name()) == NULL); - pools_[pool->name()] = pool; -} - -Pool* State::LookupPool(const string& pool_name) { - map::iterator i = pools_.find(pool_name); - if (i == pools_.end()) - return NULL; - return i->second; -} - -Edge* State::AddEdge(const Rule* rule) { - Edge* edge = new Edge(); - edge->rule_ = rule; - edge->pool_ = &State::kDefaultPool; - edge->env_ = &bindings_; - edges_.push_back(edge); - return edge; -} - -Node* State::GetNode(StringPiece path, uint64_t slash_bits) { - Node* node = LookupNode(path); - if (node) - return node; - node = new Node(path.AsString(), slash_bits); - paths_[node->path()] = node; - return node; -} - -Node* State::LookupNode(StringPiece path) const { - METRIC_RECORD("lookup node"); - Paths::const_iterator i = paths_.find(path); - if (i != paths_.end()) - return i->second; - return NULL; -} - -Node* State::SpellcheckNode(const string& path) { - const bool kAllowReplacements = true; - const int kMaxValidEditDistance = 3; - - int min_distance = kMaxValidEditDistance + 1; - Node* result = NULL; - for (Paths::iterator i = paths_.begin(); i != paths_.end(); ++i) { - int distance = EditDistance( - i->first, path, kAllowReplacements, kMaxValidEditDistance); - if (distance < min_distance && i->second) { - min_distance = distance; - result = i->second; - } - } - return result; -} - -void State::AddIn(Edge* edge, StringPiece path, uint64_t slash_bits) { - Node* node = GetNode(path, slash_bits); - edge->inputs_.push_back(node); - node->AddOutEdge(edge); -} - -bool State::AddOut(Edge* edge, StringPiece path, uint64_t slash_bits) { - Node* node = GetNode(path, slash_bits); - if (node->in_edge()) - return false; - edge->outputs_.push_back(node); - node->set_in_edge(edge); - return true; -} - -bool State::AddDefault(StringPiece path, string* err) { - Node* node = LookupNode(path); - if (!node) { - *err = "unknown target '" + path.AsString() + "'"; - return false; - } - defaults_.push_back(node); - return true; -} - -vector State::RootNodes(string* err) const { - vector root_nodes; - // Search for nodes with no output. - for (vector::const_iterator e = edges_.begin(); - e != edges_.end(); ++e) { - for (vector::const_iterator out = (*e)->outputs_.begin(); - out != (*e)->outputs_.end(); ++out) { - if ((*out)->out_edges().empty()) - root_nodes.push_back(*out); - } - } - - if (!edges_.empty() && root_nodes.empty()) - *err = "could not determine root nodes of build graph"; - - return root_nodes; -} - -vector State::DefaultNodes(string* err) const { - return defaults_.empty() ? RootNodes(err) : defaults_; -} - -void State::Reset() { - for (Paths::iterator i = paths_.begin(); i != paths_.end(); ++i) - i->second->ResetState(); - for (vector::iterator e = edges_.begin(); e != edges_.end(); ++e) { - (*e)->outputs_ready_ = false; - (*e)->mark_ = Edge::VisitNone; - } -} - -void State::Dump() { - for (Paths::iterator i = paths_.begin(); i != paths_.end(); ++i) { - Node* node = i->second; - printf("%s %s [id:%d]\n", - node->path().c_str(), - node->status_known() ? (node->dirty() ? "dirty" : "clean") - : "unknown", - node->id()); - } - if (!pools_.empty()) { - printf("resource_pools:\n"); - for (map::const_iterator it = pools_.begin(); - it != pools_.end(); ++it) - { - if (!it->second->name().empty()) { - it->second->Dump(); - } - } - } -} diff --git a/vendor/ninja/src/state.h b/vendor/ninja/src/state.h deleted file mode 100644 index 54e9dc54a..000000000 --- a/vendor/ninja/src/state.h +++ /dev/null @@ -1,131 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_STATE_H_ -#define NINJA_STATE_H_ - -#include -#include -#include -#include -using namespace std; - -#include "eval_env.h" -#include "hash_map.h" -#include "util.h" - -struct Edge; -struct Node; -struct Rule; - -/// A pool for delayed edges. -/// Pools are scoped to a State. Edges within a State will share Pools. A Pool -/// will keep a count of the total 'weight' of the currently scheduled edges. If -/// a Plan attempts to schedule an Edge which would cause the total weight to -/// exceed the depth of the Pool, the Pool will enque the Edge instead of -/// allowing the Plan to schedule it. The Pool will relinquish queued Edges when -/// the total scheduled weight diminishes enough (i.e. when a scheduled edge -/// completes). -struct Pool { - Pool(const string& name, int depth) - : name_(name), current_use_(0), depth_(depth), delayed_(&WeightedEdgeCmp) {} - - // A depth of 0 is infinite - bool is_valid() const { return depth_ >= 0; } - int depth() const { return depth_; } - const string& name() const { return name_; } - int current_use() const { return current_use_; } - - /// true if the Pool might delay this edge - bool ShouldDelayEdge() const { return depth_ != 0; } - - /// informs this Pool that the given edge is committed to be run. - /// Pool will count this edge as using resources from this pool. - void EdgeScheduled(const Edge& edge); - - /// informs this Pool that the given edge is no longer runnable, and should - /// relinquish its resources back to the pool - void EdgeFinished(const Edge& edge); - - /// adds the given edge to this Pool to be delayed. - void DelayEdge(Edge* edge); - - /// Pool will add zero or more edges to the ready_queue - void RetrieveReadyEdges(set* ready_queue); - - /// Dump the Pool and its edges (useful for debugging). - void Dump() const; - - private: - string name_; - - /// |current_use_| is the total of the weights of the edges which are - /// currently scheduled in the Plan (i.e. the edges in Plan::ready_). - int current_use_; - int depth_; - - static bool WeightedEdgeCmp(const Edge* a, const Edge* b); - - typedef set DelayedEdges; - DelayedEdges delayed_; -}; - -/// Global state (file status) for a single run. -struct State { - static Pool kDefaultPool; - static Pool kConsolePool; - static const Rule kPhonyRule; - - State(); - - void AddPool(Pool* pool); - Pool* LookupPool(const string& pool_name); - - Edge* AddEdge(const Rule* rule); - - Node* GetNode(StringPiece path, uint64_t slash_bits); - Node* LookupNode(StringPiece path) const; - Node* SpellcheckNode(const string& path); - - void AddIn(Edge* edge, StringPiece path, uint64_t slash_bits); - bool AddOut(Edge* edge, StringPiece path, uint64_t slash_bits); - bool AddDefault(StringPiece path, string* error); - - /// Reset state. Keeps all nodes and edges, but restores them to the - /// state where we haven't yet examined the disk for dirty state. - void Reset(); - - /// Dump the nodes and Pools (useful for debugging). - void Dump(); - - /// @return the root node(s) of the graph. (Root nodes have no output edges). - /// @param error where to write the error message if somethings went wrong. - vector RootNodes(string* error) const; - vector DefaultNodes(string* error) const; - - /// Mapping of path -> Node. - typedef ExternalStringHashMap::Type Paths; - Paths paths_; - - /// All the pools used in the graph. - map pools_; - - /// All the edges of the graph. - vector edges_; - - BindingEnv bindings_; - vector defaults_; -}; - -#endif // NINJA_STATE_H_ diff --git a/vendor/ninja/src/state_test.cc b/vendor/ninja/src/state_test.cc deleted file mode 100644 index 458b5196c..000000000 --- a/vendor/ninja/src/state_test.cc +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "graph.h" -#include "state.h" -#include "test.h" - -namespace { - -TEST(State, Basic) { - State state; - - EvalString command; - command.AddText("cat "); - command.AddSpecial("in"); - command.AddText(" > "); - command.AddSpecial("out"); - - Rule* rule = new Rule("cat"); - rule->AddBinding("command", command); - state.bindings_.AddRule(rule); - - Edge* edge = state.AddEdge(rule); - state.AddIn(edge, "in1", 0); - state.AddIn(edge, "in2", 0); - state.AddOut(edge, "out", 0); - - EXPECT_EQ("cat in1 in2 > out", edge->EvaluateCommand()); - - EXPECT_FALSE(state.GetNode("in1", 0)->dirty()); - EXPECT_FALSE(state.GetNode("in2", 0)->dirty()); - EXPECT_FALSE(state.GetNode("out", 0)->dirty()); -} - -} // namespace diff --git a/vendor/ninja/src/string_piece.h b/vendor/ninja/src/string_piece.h deleted file mode 100644 index 031bda48d..000000000 --- a/vendor/ninja/src/string_piece.h +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_STRINGPIECE_H_ -#define NINJA_STRINGPIECE_H_ - -#include - -using namespace std; - -#include - -/// StringPiece represents a slice of a string whose memory is managed -/// externally. It is useful for reducing the number of std::strings -/// we need to allocate. -struct StringPiece { - typedef const char* const_iterator; - - StringPiece() : str_(NULL), len_(0) {} - - /// The constructors intentionally allow for implicit conversions. - StringPiece(const string& str) : str_(str.data()), len_(str.size()) {} - StringPiece(const char* str) : str_(str), len_(strlen(str)) {} - - StringPiece(const char* str, size_t len) : str_(str), len_(len) {} - - bool operator==(const StringPiece& other) const { - return len_ == other.len_ && memcmp(str_, other.str_, len_) == 0; - } - bool operator!=(const StringPiece& other) const { - return !(*this == other); - } - - /// Convert the slice into a full-fledged std::string, copying the - /// data into a new string. - string AsString() const { - return len_ ? string(str_, len_) : string(); - } - - const_iterator begin() const { - return str_; - } - - const_iterator end() const { - return str_ + len_; - } - - char operator[](size_t pos) const { - return str_[pos]; - } - - size_t size() const { - return len_; - } - - const char* str_; - size_t len_; -}; - -#endif // NINJA_STRINGPIECE_H_ diff --git a/vendor/ninja/src/string_piece_util.cc b/vendor/ninja/src/string_piece_util.cc deleted file mode 100644 index 8e1ecfddd..000000000 --- a/vendor/ninja/src/string_piece_util.cc +++ /dev/null @@ -1,78 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "string_piece_util.h" - -#include -#include -#include -using namespace std; - -vector SplitStringPiece(StringPiece input, char sep) { - vector elems; - elems.reserve(count(input.begin(), input.end(), sep) + 1); - - StringPiece::const_iterator pos = input.begin(); - - for (;;) { - const char* next_pos = find(pos, input.end(), sep); - if (next_pos == input.end()) { - elems.push_back(StringPiece(pos, input.end() - pos)); - break; - } - elems.push_back(StringPiece(pos, next_pos - pos)); - pos = next_pos + 1; - } - - return elems; -} - -string JoinStringPiece(const vector& list, char sep) { - if (list.size() == 0){ - return ""; - } - - string ret; - - { - size_t cap = list.size() - 1; - for (size_t i = 0; i < list.size(); ++i) { - cap += list[i].len_; - } - ret.reserve(cap); - } - - for (size_t i = 0; i < list.size(); ++i) { - if (i != 0) { - ret += sep; - } - ret.append(list[i].str_, list[i].len_); - } - - return ret; -} - -bool EqualsCaseInsensitiveASCII(StringPiece a, StringPiece b) { - if (a.len_ != b.len_) { - return false; - } - - for (size_t i = 0; i < a.len_; ++i) { - if (ToLowerASCII(a.str_[i]) != ToLowerASCII(b.str_[i])) { - return false; - } - } - - return true; -} diff --git a/vendor/ninja/src/string_piece_util.h b/vendor/ninja/src/string_piece_util.h deleted file mode 100644 index 2e40b9f3b..000000000 --- a/vendor/ninja/src/string_piece_util.h +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_STRINGPIECE_UTIL_H_ -#define NINJA_STRINGPIECE_UTIL_H_ - -#include -#include - -#include "string_piece.h" -using namespace std; - -vector SplitStringPiece(StringPiece input, char sep); - -string JoinStringPiece(const vector& list, char sep); - -inline char ToLowerASCII(char c) { - return (c >= 'A' && c <= 'Z') ? (c + ('a' - 'A')) : c; -} - -bool EqualsCaseInsensitiveASCII(StringPiece a, StringPiece b); - -#endif // NINJA_STRINGPIECE_UTIL_H_ diff --git a/vendor/ninja/src/string_piece_util_test.cc b/vendor/ninja/src/string_piece_util_test.cc deleted file mode 100644 index 648c64791..000000000 --- a/vendor/ninja/src/string_piece_util_test.cc +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2017 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "string_piece_util.h" - -#include "test.h" - -TEST(StringPieceUtilTest, SplitStringPiece) { - { - string input("a:b:c"); - vector list = SplitStringPiece(input, ':'); - - EXPECT_EQ(list.size(), 3); - - EXPECT_EQ(list[0], "a"); - EXPECT_EQ(list[1], "b"); - EXPECT_EQ(list[2], "c"); - } - - { - string empty(""); - vector list = SplitStringPiece(empty, ':'); - - EXPECT_EQ(list.size(), 1); - - EXPECT_EQ(list[0], ""); - } - - { - string one("a"); - vector list = SplitStringPiece(one, ':'); - - EXPECT_EQ(list.size(), 1); - - EXPECT_EQ(list[0], "a"); - } - - { - string sep_only(":"); - vector list = SplitStringPiece(sep_only, ':'); - - EXPECT_EQ(list.size(), 2); - - EXPECT_EQ(list[0], ""); - EXPECT_EQ(list[1], ""); - } - - { - string sep(":a:b:c:"); - vector list = SplitStringPiece(sep, ':'); - - EXPECT_EQ(list.size(), 5); - - EXPECT_EQ(list[0], ""); - EXPECT_EQ(list[1], "a"); - EXPECT_EQ(list[2], "b"); - EXPECT_EQ(list[3], "c"); - EXPECT_EQ(list[4], ""); - } -} - -TEST(StringPieceUtilTest, JoinStringPiece) { - { - string input("a:b:c"); - vector list = SplitStringPiece(input, ':'); - - EXPECT_EQ("a:b:c", JoinStringPiece(list, ':')); - EXPECT_EQ("a/b/c", JoinStringPiece(list, '/')); - } - - { - string empty(""); - vector list = SplitStringPiece(empty, ':'); - - EXPECT_EQ("", JoinStringPiece(list, ':')); - } - - { - vector empty_list; - - EXPECT_EQ("", JoinStringPiece(empty_list, ':')); - } - - { - string one("a"); - vector single_list = SplitStringPiece(one, ':'); - - EXPECT_EQ("a", JoinStringPiece(single_list, ':')); - } - - { - string sep(":a:b:c:"); - vector list = SplitStringPiece(sep, ':'); - - EXPECT_EQ(":a:b:c:", JoinStringPiece(list, ':')); - } -} - -TEST(StringPieceUtilTest, ToLowerASCII) { - EXPECT_EQ('a', ToLowerASCII('A')); - EXPECT_EQ('z', ToLowerASCII('Z')); - EXPECT_EQ('a', ToLowerASCII('a')); - EXPECT_EQ('z', ToLowerASCII('z')); - EXPECT_EQ('/', ToLowerASCII('/')); - EXPECT_EQ('1', ToLowerASCII('1')); -} - -TEST(StringPieceUtilTest, EqualsCaseInsensitiveASCII) { - EXPECT_TRUE(EqualsCaseInsensitiveASCII("abc", "abc")); - EXPECT_TRUE(EqualsCaseInsensitiveASCII("abc", "ABC")); - EXPECT_TRUE(EqualsCaseInsensitiveASCII("abc", "aBc")); - EXPECT_TRUE(EqualsCaseInsensitiveASCII("AbC", "aBc")); - EXPECT_TRUE(EqualsCaseInsensitiveASCII("", "")); - - EXPECT_FALSE(EqualsCaseInsensitiveASCII("a", "ac")); - EXPECT_FALSE(EqualsCaseInsensitiveASCII("/", "\\")); - EXPECT_FALSE(EqualsCaseInsensitiveASCII("1", "10")); -} diff --git a/vendor/ninja/src/subprocess-posix.cc b/vendor/ninja/src/subprocess-posix.cc deleted file mode 100644 index 1de22c38f..000000000 --- a/vendor/ninja/src/subprocess-posix.cc +++ /dev/null @@ -1,338 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "subprocess.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -extern char** environ; - -#include "util.h" - -Subprocess::Subprocess(bool use_console) : fd_(-1), pid_(-1), - use_console_(use_console) { -} - -Subprocess::~Subprocess() { - if (fd_ >= 0) - close(fd_); - // Reap child if forgotten. - if (pid_ != -1) - Finish(); -} - -bool Subprocess::Start(SubprocessSet* set, const string& command) { - int output_pipe[2]; - if (pipe(output_pipe) < 0) - Fatal("pipe: %s", strerror(errno)); - fd_ = output_pipe[0]; -#if !defined(USE_PPOLL) - // If available, we use ppoll in DoWork(); otherwise we use pselect - // and so must avoid overly-large FDs. - if (fd_ >= static_cast(FD_SETSIZE)) - Fatal("pipe: %s", strerror(EMFILE)); -#endif // !USE_PPOLL - SetCloseOnExec(fd_); - - posix_spawn_file_actions_t action; - if (posix_spawn_file_actions_init(&action) != 0) - Fatal("posix_spawn_file_actions_init: %s", strerror(errno)); - - if (posix_spawn_file_actions_addclose(&action, output_pipe[0]) != 0) - Fatal("posix_spawn_file_actions_addclose: %s", strerror(errno)); - - posix_spawnattr_t attr; - if (posix_spawnattr_init(&attr) != 0) - Fatal("posix_spawnattr_init: %s", strerror(errno)); - - short flags = 0; - - flags |= POSIX_SPAWN_SETSIGMASK; - if (posix_spawnattr_setsigmask(&attr, &set->old_mask_) != 0) - Fatal("posix_spawnattr_setsigmask: %s", strerror(errno)); - // Signals which are set to be caught in the calling process image are set to - // default action in the new process image, so no explicit - // POSIX_SPAWN_SETSIGDEF parameter is needed. - - if (!use_console_) { - // Put the child in its own process group, so ctrl-c won't reach it. - flags |= POSIX_SPAWN_SETPGROUP; - // No need to posix_spawnattr_setpgroup(&attr, 0), it's the default. - - // Open /dev/null over stdin. - if (posix_spawn_file_actions_addopen(&action, 0, "/dev/null", O_RDONLY, - 0) != 0) { - Fatal("posix_spawn_file_actions_addopen: %s", strerror(errno)); - } - - if (posix_spawn_file_actions_adddup2(&action, output_pipe[1], 1) != 0) - Fatal("posix_spawn_file_actions_adddup2: %s", strerror(errno)); - if (posix_spawn_file_actions_adddup2(&action, output_pipe[1], 2) != 0) - Fatal("posix_spawn_file_actions_adddup2: %s", strerror(errno)); - if (posix_spawn_file_actions_addclose(&action, output_pipe[1]) != 0) - Fatal("posix_spawn_file_actions_addclose: %s", strerror(errno)); - // In the console case, output_pipe is still inherited by the child and - // closed when the subprocess finishes, which then notifies ninja. - } -#ifdef POSIX_SPAWN_USEVFORK - flags |= POSIX_SPAWN_USEVFORK; -#endif - - if (posix_spawnattr_setflags(&attr, flags) != 0) - Fatal("posix_spawnattr_setflags: %s", strerror(errno)); - - const char* spawned_args[] = { "/bin/sh", "-c", command.c_str(), NULL }; - if (posix_spawn(&pid_, "/bin/sh", &action, &attr, - const_cast(spawned_args), environ) != 0) - Fatal("posix_spawn: %s", strerror(errno)); - - if (posix_spawnattr_destroy(&attr) != 0) - Fatal("posix_spawnattr_destroy: %s", strerror(errno)); - if (posix_spawn_file_actions_destroy(&action) != 0) - Fatal("posix_spawn_file_actions_destroy: %s", strerror(errno)); - - close(output_pipe[1]); - return true; -} - -void Subprocess::OnPipeReady() { - char buf[4 << 10]; - ssize_t len = read(fd_, buf, sizeof(buf)); - if (len > 0) { - buf_.append(buf, len); - } else { - if (len < 0) - Fatal("read: %s", strerror(errno)); - close(fd_); - fd_ = -1; - } -} - -ExitStatus Subprocess::Finish() { - assert(pid_ != -1); - int status; - if (waitpid(pid_, &status, 0) < 0) - Fatal("waitpid(%d): %s", pid_, strerror(errno)); - pid_ = -1; - - if (WIFEXITED(status)) { - int exit = WEXITSTATUS(status); - if (exit == 0) - return ExitSuccess; - } else if (WIFSIGNALED(status)) { - if (WTERMSIG(status) == SIGINT || WTERMSIG(status) == SIGTERM - || WTERMSIG(status) == SIGHUP) - return ExitInterrupted; - } - return ExitFailure; -} - -bool Subprocess::Done() const { - return fd_ == -1; -} - -const string& Subprocess::GetOutput() const { - return buf_; -} - -int SubprocessSet::interrupted_; - -void SubprocessSet::SetInterruptedFlag(int signum) { - interrupted_ = signum; -} - -void SubprocessSet::HandlePendingInterruption() { - sigset_t pending; - sigemptyset(&pending); - if (sigpending(&pending) == -1) { - perror("ninja: sigpending"); - return; - } - if (sigismember(&pending, SIGINT)) - interrupted_ = SIGINT; - else if (sigismember(&pending, SIGTERM)) - interrupted_ = SIGTERM; - else if (sigismember(&pending, SIGHUP)) - interrupted_ = SIGHUP; -} - -SubprocessSet::SubprocessSet() { - sigset_t set; - sigemptyset(&set); - sigaddset(&set, SIGINT); - sigaddset(&set, SIGTERM); - sigaddset(&set, SIGHUP); - if (sigprocmask(SIG_BLOCK, &set, &old_mask_) < 0) - Fatal("sigprocmask: %s", strerror(errno)); - - struct sigaction act; - memset(&act, 0, sizeof(act)); - act.sa_handler = SetInterruptedFlag; - if (sigaction(SIGINT, &act, &old_int_act_) < 0) - Fatal("sigaction: %s", strerror(errno)); - if (sigaction(SIGTERM, &act, &old_term_act_) < 0) - Fatal("sigaction: %s", strerror(errno)); - if (sigaction(SIGHUP, &act, &old_hup_act_) < 0) - Fatal("sigaction: %s", strerror(errno)); -} - -SubprocessSet::~SubprocessSet() { - Clear(); - - if (sigaction(SIGINT, &old_int_act_, 0) < 0) - Fatal("sigaction: %s", strerror(errno)); - if (sigaction(SIGTERM, &old_term_act_, 0) < 0) - Fatal("sigaction: %s", strerror(errno)); - if (sigaction(SIGHUP, &old_hup_act_, 0) < 0) - Fatal("sigaction: %s", strerror(errno)); - if (sigprocmask(SIG_SETMASK, &old_mask_, 0) < 0) - Fatal("sigprocmask: %s", strerror(errno)); -} - -Subprocess *SubprocessSet::Add(const string& command, bool use_console) { - Subprocess *subprocess = new Subprocess(use_console); - if (!subprocess->Start(this, command)) { - delete subprocess; - return 0; - } - running_.push_back(subprocess); - return subprocess; -} - -#ifdef USE_PPOLL -bool SubprocessSet::DoWork() { - vector fds; - nfds_t nfds = 0; - - for (vector::iterator i = running_.begin(); - i != running_.end(); ++i) { - int fd = (*i)->fd_; - if (fd < 0) - continue; - pollfd pfd = { fd, POLLIN | POLLPRI, 0 }; - fds.push_back(pfd); - ++nfds; - } - - interrupted_ = 0; - int ret = ppoll(&fds.front(), nfds, NULL, &old_mask_); - if (ret == -1) { - if (errno != EINTR) { - perror("ninja: ppoll"); - return false; - } - return IsInterrupted(); - } - - HandlePendingInterruption(); - if (IsInterrupted()) - return true; - - nfds_t cur_nfd = 0; - for (vector::iterator i = running_.begin(); - i != running_.end(); ) { - int fd = (*i)->fd_; - if (fd < 0) - continue; - assert(fd == fds[cur_nfd].fd); - if (fds[cur_nfd++].revents) { - (*i)->OnPipeReady(); - if ((*i)->Done()) { - finished_.push(*i); - i = running_.erase(i); - continue; - } - } - ++i; - } - - return IsInterrupted(); -} - -#else // !defined(USE_PPOLL) -bool SubprocessSet::DoWork() { - fd_set set; - int nfds = 0; - FD_ZERO(&set); - - for (vector::iterator i = running_.begin(); - i != running_.end(); ++i) { - int fd = (*i)->fd_; - if (fd >= 0) { - FD_SET(fd, &set); - if (nfds < fd+1) - nfds = fd+1; - } - } - - interrupted_ = 0; - int ret = pselect(nfds, &set, 0, 0, 0, &old_mask_); - if (ret == -1) { - if (errno != EINTR) { - perror("ninja: pselect"); - return false; - } - return IsInterrupted(); - } - - HandlePendingInterruption(); - if (IsInterrupted()) - return true; - - for (vector::iterator i = running_.begin(); - i != running_.end(); ) { - int fd = (*i)->fd_; - if (fd >= 0 && FD_ISSET(fd, &set)) { - (*i)->OnPipeReady(); - if ((*i)->Done()) { - finished_.push(*i); - i = running_.erase(i); - continue; - } - } - ++i; - } - - return IsInterrupted(); -} -#endif // !defined(USE_PPOLL) - -Subprocess* SubprocessSet::NextFinished() { - if (finished_.empty()) - return NULL; - Subprocess* subproc = finished_.front(); - finished_.pop(); - return subproc; -} - -void SubprocessSet::Clear() { - for (vector::iterator i = running_.begin(); - i != running_.end(); ++i) - // Since the foreground process is in our process group, it will receive - // the interruption signal (i.e. SIGINT or SIGTERM) at the same time as us. - if (!(*i)->use_console_) - kill(-(*i)->pid_, interrupted_); - for (vector::iterator i = running_.begin(); - i != running_.end(); ++i) - delete *i; - running_.clear(); -} diff --git a/vendor/ninja/src/subprocess-win32.cc b/vendor/ninja/src/subprocess-win32.cc deleted file mode 100644 index 4bab71939..000000000 --- a/vendor/ninja/src/subprocess-win32.cc +++ /dev/null @@ -1,292 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "subprocess.h" - -#include -#include - -#include - -#include "util.h" - -Subprocess::Subprocess(bool use_console) : child_(NULL) , overlapped_(), - is_reading_(false), - use_console_(use_console) { -} - -Subprocess::~Subprocess() { - if (pipe_) { - if (!CloseHandle(pipe_)) - Win32Fatal("CloseHandle"); - } - // Reap child if forgotten. - if (child_) - Finish(); -} - -HANDLE Subprocess::SetupPipe(HANDLE ioport) { - char pipe_name[100]; - snprintf(pipe_name, sizeof(pipe_name), - "\\\\.\\pipe\\ninja_pid%lu_sp%p", GetCurrentProcessId(), this); - - pipe_ = ::CreateNamedPipeA(pipe_name, - PIPE_ACCESS_INBOUND | FILE_FLAG_OVERLAPPED, - PIPE_TYPE_BYTE, - PIPE_UNLIMITED_INSTANCES, - 0, 0, INFINITE, NULL); - if (pipe_ == INVALID_HANDLE_VALUE) - Win32Fatal("CreateNamedPipe"); - - if (!CreateIoCompletionPort(pipe_, ioport, (ULONG_PTR)this, 0)) - Win32Fatal("CreateIoCompletionPort"); - - memset(&overlapped_, 0, sizeof(overlapped_)); - if (!ConnectNamedPipe(pipe_, &overlapped_) && - GetLastError() != ERROR_IO_PENDING) { - Win32Fatal("ConnectNamedPipe"); - } - - // Get the write end of the pipe as a handle inheritable across processes. - HANDLE output_write_handle = CreateFile(pipe_name, GENERIC_WRITE, 0, - NULL, OPEN_EXISTING, 0, NULL); - HANDLE output_write_child; - if (!DuplicateHandle(GetCurrentProcess(), output_write_handle, - GetCurrentProcess(), &output_write_child, - 0, TRUE, DUPLICATE_SAME_ACCESS)) { - Win32Fatal("DuplicateHandle"); - } - CloseHandle(output_write_handle); - - return output_write_child; -} - -bool Subprocess::Start(SubprocessSet* set, const string& command) { - HANDLE child_pipe = SetupPipe(set->ioport_); - - SECURITY_ATTRIBUTES security_attributes; - memset(&security_attributes, 0, sizeof(SECURITY_ATTRIBUTES)); - security_attributes.nLength = sizeof(SECURITY_ATTRIBUTES); - security_attributes.bInheritHandle = TRUE; - // Must be inheritable so subprocesses can dup to children. - HANDLE nul = CreateFile("NUL", GENERIC_READ, - FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, - &security_attributes, OPEN_EXISTING, 0, NULL); - if (nul == INVALID_HANDLE_VALUE) - Fatal("couldn't open nul"); - - STARTUPINFOA startup_info; - memset(&startup_info, 0, sizeof(startup_info)); - startup_info.cb = sizeof(STARTUPINFO); - if (!use_console_) { - startup_info.dwFlags = STARTF_USESTDHANDLES; - startup_info.hStdInput = nul; - startup_info.hStdOutput = child_pipe; - startup_info.hStdError = child_pipe; - } - // In the console case, child_pipe is still inherited by the child and closed - // when the subprocess finishes, which then notifies ninja. - - PROCESS_INFORMATION process_info; - memset(&process_info, 0, sizeof(process_info)); - - // Ninja handles ctrl-c, except for subprocesses in console pools. - DWORD process_flags = use_console_ ? 0 : CREATE_NEW_PROCESS_GROUP; - - // Do not prepend 'cmd /c' on Windows, this breaks command - // lines greater than 8,191 chars. - if (!CreateProcessA(NULL, (char*)command.c_str(), NULL, NULL, - /* inherit handles */ TRUE, process_flags, - NULL, NULL, - &startup_info, &process_info)) { - DWORD error = GetLastError(); - if (error == ERROR_FILE_NOT_FOUND) { - // File (program) not found error is treated as a normal build - // action failure. - if (child_pipe) - CloseHandle(child_pipe); - CloseHandle(pipe_); - CloseHandle(nul); - pipe_ = NULL; - // child_ is already NULL; - buf_ = "CreateProcess failed: The system cannot find the file " - "specified.\n"; - return true; - } else { - Win32Fatal("CreateProcess"); // pass all other errors to Win32Fatal - } - } - - // Close pipe channel only used by the child. - if (child_pipe) - CloseHandle(child_pipe); - CloseHandle(nul); - - CloseHandle(process_info.hThread); - child_ = process_info.hProcess; - - return true; -} - -void Subprocess::OnPipeReady() { - DWORD bytes; - if (!GetOverlappedResult(pipe_, &overlapped_, &bytes, TRUE)) { - if (GetLastError() == ERROR_BROKEN_PIPE) { - CloseHandle(pipe_); - pipe_ = NULL; - return; - } - Win32Fatal("GetOverlappedResult"); - } - - if (is_reading_ && bytes) - buf_.append(overlapped_buf_, bytes); - - memset(&overlapped_, 0, sizeof(overlapped_)); - is_reading_ = true; - if (!::ReadFile(pipe_, overlapped_buf_, sizeof(overlapped_buf_), - &bytes, &overlapped_)) { - if (GetLastError() == ERROR_BROKEN_PIPE) { - CloseHandle(pipe_); - pipe_ = NULL; - return; - } - if (GetLastError() != ERROR_IO_PENDING) - Win32Fatal("ReadFile"); - } - - // Even if we read any bytes in the readfile call, we'll enter this - // function again later and get them at that point. -} - -ExitStatus Subprocess::Finish() { - if (!child_) - return ExitFailure; - - // TODO: add error handling for all of these. - WaitForSingleObject(child_, INFINITE); - - DWORD exit_code = 0; - GetExitCodeProcess(child_, &exit_code); - - CloseHandle(child_); - child_ = NULL; - - return exit_code == 0 ? ExitSuccess : - exit_code == CONTROL_C_EXIT ? ExitInterrupted : - ExitFailure; -} - -bool Subprocess::Done() const { - return pipe_ == NULL; -} - -const string& Subprocess::GetOutput() const { - return buf_; -} - -HANDLE SubprocessSet::ioport_; - -SubprocessSet::SubprocessSet() { - ioport_ = ::CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 1); - if (!ioport_) - Win32Fatal("CreateIoCompletionPort"); - if (!SetConsoleCtrlHandler(NotifyInterrupted, TRUE)) - Win32Fatal("SetConsoleCtrlHandler"); -} - -SubprocessSet::~SubprocessSet() { - Clear(); - - SetConsoleCtrlHandler(NotifyInterrupted, FALSE); - CloseHandle(ioport_); -} - -BOOL WINAPI SubprocessSet::NotifyInterrupted(DWORD dwCtrlType) { - if (dwCtrlType == CTRL_C_EVENT || dwCtrlType == CTRL_BREAK_EVENT) { - if (!PostQueuedCompletionStatus(ioport_, 0, 0, NULL)) - Win32Fatal("PostQueuedCompletionStatus"); - return TRUE; - } - - return FALSE; -} - -Subprocess *SubprocessSet::Add(const string& command, bool use_console) { - Subprocess *subprocess = new Subprocess(use_console); - if (!subprocess->Start(this, command)) { - delete subprocess; - return 0; - } - if (subprocess->child_) - running_.push_back(subprocess); - else - finished_.push(subprocess); - return subprocess; -} - -bool SubprocessSet::DoWork() { - DWORD bytes_read; - Subprocess* subproc; - OVERLAPPED* overlapped; - - if (!GetQueuedCompletionStatus(ioport_, &bytes_read, (PULONG_PTR)&subproc, - &overlapped, INFINITE)) { - if (GetLastError() != ERROR_BROKEN_PIPE) - Win32Fatal("GetQueuedCompletionStatus"); - } - - if (!subproc) // A NULL subproc indicates that we were interrupted and is - // delivered by NotifyInterrupted above. - return true; - - subproc->OnPipeReady(); - - if (subproc->Done()) { - vector::iterator end = - remove(running_.begin(), running_.end(), subproc); - if (running_.end() != end) { - finished_.push(subproc); - running_.resize(end - running_.begin()); - } - } - - return false; -} - -Subprocess* SubprocessSet::NextFinished() { - if (finished_.empty()) - return NULL; - Subprocess* subproc = finished_.front(); - finished_.pop(); - return subproc; -} - -void SubprocessSet::Clear() { - for (vector::iterator i = running_.begin(); - i != running_.end(); ++i) { - // Since the foreground process is in our process group, it will receive a - // CTRL_C_EVENT or CTRL_BREAK_EVENT at the same time as us. - if ((*i)->child_ && !(*i)->use_console_) { - if (!GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT, - GetProcessId((*i)->child_))) { - Win32Fatal("GenerateConsoleCtrlEvent"); - } - } - } - for (vector::iterator i = running_.begin(); - i != running_.end(); ++i) - delete *i; - running_.clear(); -} diff --git a/vendor/ninja/src/subprocess.h b/vendor/ninja/src/subprocess.h deleted file mode 100644 index b2d486ca4..000000000 --- a/vendor/ninja/src/subprocess.h +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_SUBPROCESS_H_ -#define NINJA_SUBPROCESS_H_ - -#include -#include -#include -using namespace std; - -#ifdef _WIN32 -#include -#else -#include -#endif - -// ppoll() exists on FreeBSD, but only on newer versions. -#ifdef __FreeBSD__ -# include -# if defined USE_PPOLL && __FreeBSD_version < 1002000 -# undef USE_PPOLL -# endif -#endif - -#include "exit_status.h" - -/// Subprocess wraps a single async subprocess. It is entirely -/// passive: it expects the caller to notify it when its fds are ready -/// for reading, as well as call Finish() to reap the child once done() -/// is true. -struct Subprocess { - ~Subprocess(); - - /// Returns ExitSuccess on successful process exit, ExitInterrupted if - /// the process was interrupted, ExitFailure if it otherwise failed. - ExitStatus Finish(); - - bool Done() const; - - const string& GetOutput() const; - - private: - Subprocess(bool use_console); - bool Start(struct SubprocessSet* set, const string& command); - void OnPipeReady(); - - string buf_; - -#ifdef _WIN32 - /// Set up pipe_ as the parent-side pipe of the subprocess; return the - /// other end of the pipe, usable in the child process. - HANDLE SetupPipe(HANDLE ioport); - - HANDLE child_; - HANDLE pipe_; - OVERLAPPED overlapped_; - char overlapped_buf_[4 << 10]; - bool is_reading_; -#else - int fd_; - pid_t pid_; -#endif - bool use_console_; - - friend struct SubprocessSet; -}; - -/// SubprocessSet runs a ppoll/pselect() loop around a set of Subprocesses. -/// DoWork() waits for any state change in subprocesses; finished_ -/// is a queue of subprocesses as they finish. -struct SubprocessSet { - SubprocessSet(); - ~SubprocessSet(); - - Subprocess* Add(const string& command, bool use_console = false); - bool DoWork(); - Subprocess* NextFinished(); - void Clear(); - - vector running_; - queue finished_; - -#ifdef _WIN32 - static BOOL WINAPI NotifyInterrupted(DWORD dwCtrlType); - static HANDLE ioport_; -#else - static void SetInterruptedFlag(int signum); - static void HandlePendingInterruption(); - /// Store the signal number that causes the interruption. - /// 0 if not interruption. - static int interrupted_; - - static bool IsInterrupted() { return interrupted_ != 0; } - - struct sigaction old_int_act_; - struct sigaction old_term_act_; - struct sigaction old_hup_act_; - sigset_t old_mask_; -#endif -}; - -#endif // NINJA_SUBPROCESS_H_ diff --git a/vendor/ninja/src/subprocess_test.cc b/vendor/ninja/src/subprocess_test.cc deleted file mode 100644 index 0a8c2061b..000000000 --- a/vendor/ninja/src/subprocess_test.cc +++ /dev/null @@ -1,261 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "subprocess.h" - -#include "test.h" - -#ifndef _WIN32 -// SetWithLots need setrlimit. -#include -#include -#include -#include -#endif - -namespace { - -#ifdef _WIN32 -const char* kSimpleCommand = "cmd /c dir \\"; -#else -const char* kSimpleCommand = "ls /"; -#endif - -struct SubprocessTest : public testing::Test { - SubprocessSet subprocs_; -}; - -} // anonymous namespace - -// Run a command that fails and emits to stderr. -TEST_F(SubprocessTest, BadCommandStderr) { - Subprocess* subproc = subprocs_.Add("cmd /c ninja_no_such_command"); - ASSERT_NE((Subprocess *) 0, subproc); - - while (!subproc->Done()) { - // Pretend we discovered that stderr was ready for writing. - subprocs_.DoWork(); - } - - EXPECT_EQ(ExitFailure, subproc->Finish()); - EXPECT_NE("", subproc->GetOutput()); -} - -// Run a command that does not exist -TEST_F(SubprocessTest, NoSuchCommand) { - Subprocess* subproc = subprocs_.Add("ninja_no_such_command"); - ASSERT_NE((Subprocess *) 0, subproc); - - while (!subproc->Done()) { - // Pretend we discovered that stderr was ready for writing. - subprocs_.DoWork(); - } - - EXPECT_EQ(ExitFailure, subproc->Finish()); - EXPECT_NE("", subproc->GetOutput()); -#ifdef _WIN32 - ASSERT_EQ("CreateProcess failed: The system cannot find the file " - "specified.\n", subproc->GetOutput()); -#endif -} - -#ifndef _WIN32 - -TEST_F(SubprocessTest, InterruptChild) { - Subprocess* subproc = subprocs_.Add("kill -INT $$"); - ASSERT_NE((Subprocess *) 0, subproc); - - while (!subproc->Done()) { - subprocs_.DoWork(); - } - - EXPECT_EQ(ExitInterrupted, subproc->Finish()); -} - -TEST_F(SubprocessTest, InterruptParent) { - Subprocess* subproc = subprocs_.Add("kill -INT $PPID ; sleep 1"); - ASSERT_NE((Subprocess *) 0, subproc); - - while (!subproc->Done()) { - bool interrupted = subprocs_.DoWork(); - if (interrupted) - return; - } - - ASSERT_FALSE("We should have been interrupted"); -} - -TEST_F(SubprocessTest, InterruptChildWithSigTerm) { - Subprocess* subproc = subprocs_.Add("kill -TERM $$"); - ASSERT_NE((Subprocess *) 0, subproc); - - while (!subproc->Done()) { - subprocs_.DoWork(); - } - - EXPECT_EQ(ExitInterrupted, subproc->Finish()); -} - -TEST_F(SubprocessTest, InterruptParentWithSigTerm) { - Subprocess* subproc = subprocs_.Add("kill -TERM $PPID ; sleep 1"); - ASSERT_NE((Subprocess *) 0, subproc); - - while (!subproc->Done()) { - bool interrupted = subprocs_.DoWork(); - if (interrupted) - return; - } - - ASSERT_FALSE("We should have been interrupted"); -} - -TEST_F(SubprocessTest, InterruptChildWithSigHup) { - Subprocess* subproc = subprocs_.Add("kill -HUP $$"); - ASSERT_NE((Subprocess *) 0, subproc); - - while (!subproc->Done()) { - subprocs_.DoWork(); - } - - EXPECT_EQ(ExitInterrupted, subproc->Finish()); -} - -TEST_F(SubprocessTest, InterruptParentWithSigHup) { - Subprocess* subproc = subprocs_.Add("kill -HUP $PPID ; sleep 1"); - ASSERT_NE((Subprocess *) 0, subproc); - - while (!subproc->Done()) { - bool interrupted = subprocs_.DoWork(); - if (interrupted) - return; - } - - ASSERT_FALSE("We should have been interrupted"); -} - -TEST_F(SubprocessTest, Console) { - // Skip test if we don't have the console ourselves. - if (isatty(0) && isatty(1) && isatty(2)) { - Subprocess* subproc = - subprocs_.Add("test -t 0 -a -t 1 -a -t 2", /*use_console=*/true); - ASSERT_NE((Subprocess*)0, subproc); - - while (!subproc->Done()) { - subprocs_.DoWork(); - } - - EXPECT_EQ(ExitSuccess, subproc->Finish()); - } -} - -#endif - -TEST_F(SubprocessTest, SetWithSingle) { - Subprocess* subproc = subprocs_.Add(kSimpleCommand); - ASSERT_NE((Subprocess *) 0, subproc); - - while (!subproc->Done()) { - subprocs_.DoWork(); - } - ASSERT_EQ(ExitSuccess, subproc->Finish()); - ASSERT_NE("", subproc->GetOutput()); - - ASSERT_EQ(1u, subprocs_.finished_.size()); -} - -TEST_F(SubprocessTest, SetWithMulti) { - Subprocess* processes[3]; - const char* kCommands[3] = { - kSimpleCommand, -#ifdef _WIN32 - "cmd /c echo hi", - "cmd /c time /t", -#else - "whoami", - "pwd", -#endif - }; - - for (int i = 0; i < 3; ++i) { - processes[i] = subprocs_.Add(kCommands[i]); - ASSERT_NE((Subprocess *) 0, processes[i]); - } - - ASSERT_EQ(3u, subprocs_.running_.size()); - for (int i = 0; i < 3; ++i) { - ASSERT_FALSE(processes[i]->Done()); - ASSERT_EQ("", processes[i]->GetOutput()); - } - - while (!processes[0]->Done() || !processes[1]->Done() || - !processes[2]->Done()) { - ASSERT_GT(subprocs_.running_.size(), 0u); - subprocs_.DoWork(); - } - - ASSERT_EQ(0u, subprocs_.running_.size()); - ASSERT_EQ(3u, subprocs_.finished_.size()); - - for (int i = 0; i < 3; ++i) { - ASSERT_EQ(ExitSuccess, processes[i]->Finish()); - ASSERT_NE("", processes[i]->GetOutput()); - delete processes[i]; - } -} - -#if defined(USE_PPOLL) -TEST_F(SubprocessTest, SetWithLots) { - // Arbitrary big number; needs to be over 1024 to confirm we're no longer - // hostage to pselect. - const unsigned kNumProcs = 1025; - - // Make sure [ulimit -n] isn't going to stop us from working. - rlimit rlim; - ASSERT_EQ(0, getrlimit(RLIMIT_NOFILE, &rlim)); - if (rlim.rlim_cur < kNumProcs) { - printf("Raise [ulimit -n] above %u (currently %lu) to make this test go\n", - kNumProcs, rlim.rlim_cur); - return; - } - - vector procs; - for (size_t i = 0; i < kNumProcs; ++i) { - Subprocess* subproc = subprocs_.Add("/bin/echo"); - ASSERT_NE((Subprocess *) 0, subproc); - procs.push_back(subproc); - } - while (!subprocs_.running_.empty()) - subprocs_.DoWork(); - for (size_t i = 0; i < procs.size(); ++i) { - ASSERT_EQ(ExitSuccess, procs[i]->Finish()); - ASSERT_NE("", procs[i]->GetOutput()); - } - ASSERT_EQ(kNumProcs, subprocs_.finished_.size()); -} -#endif // !__APPLE__ && !_WIN32 - -// TODO: this test could work on Windows, just not sure how to simply -// read stdin. -#ifndef _WIN32 -// Verify that a command that attempts to read stdin correctly thinks -// that stdin is closed. -TEST_F(SubprocessTest, ReadStdin) { - Subprocess* subproc = subprocs_.Add("cat -"); - while (!subproc->Done()) { - subprocs_.DoWork(); - } - ASSERT_EQ(ExitSuccess, subproc->Finish()); - ASSERT_EQ(1u, subprocs_.finished_.size()); -} -#endif // _WIN32 diff --git a/vendor/ninja/src/test.cc b/vendor/ninja/src/test.cc deleted file mode 100644 index a9816bc23..000000000 --- a/vendor/ninja/src/test.cc +++ /dev/null @@ -1,235 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifdef _WIN32 -#include // Has to be before util.h is included. -#endif - -#include "test.h" - -#include - -#include -#include -#ifdef _WIN32 -#include -#else -#include -#endif - -#include "build_log.h" -#include "graph.h" -#include "manifest_parser.h" -#include "util.h" - -namespace { - -#ifdef _WIN32 -#ifndef _mktemp_s -/// mingw has no mktemp. Implement one with the same type as the one -/// found in the Windows API. -int _mktemp_s(char* templ) { - char* ofs = strchr(templ, 'X'); - sprintf(ofs, "%d", rand() % 1000000); - return 0; -} -#endif - -/// Windows has no mkdtemp. Implement it in terms of _mktemp_s. -char* mkdtemp(char* name_template) { - int err = _mktemp_s(name_template); - if (err < 0) { - perror("_mktemp_s"); - return NULL; - } - - err = _mkdir(name_template); - if (err < 0) { - perror("mkdir"); - return NULL; - } - - return name_template; -} -#endif // _WIN32 - -string GetSystemTempDir() { -#ifdef _WIN32 - char buf[1024]; - if (!GetTempPath(sizeof(buf), buf)) - return ""; - return buf; -#else - const char* tempdir = getenv("TMPDIR"); - if (tempdir) - return tempdir; - return "/tmp"; -#endif -} - -} // anonymous namespace - -StateTestWithBuiltinRules::StateTestWithBuiltinRules() { - AddCatRule(&state_); -} - -void StateTestWithBuiltinRules::AddCatRule(State* state) { - AssertParse(state, -"rule cat\n" -" command = cat $in > $out\n"); -} - -Node* StateTestWithBuiltinRules::GetNode(const string& path) { - EXPECT_FALSE(strpbrk(path.c_str(), "/\\")); - return state_.GetNode(path, 0); -} - -void AssertParse(State* state, const char* input, - ManifestParserOptions opts) { - ManifestParser parser(state, NULL, opts); - string err; - EXPECT_TRUE(parser.ParseTest(input, &err)); - ASSERT_EQ("", err); - VerifyGraph(*state); -} - -void AssertHash(const char* expected, uint64_t actual) { - ASSERT_EQ(BuildLog::LogEntry::HashCommand(expected), actual); -} - -void VerifyGraph(const State& state) { - for (vector::const_iterator e = state.edges_.begin(); - e != state.edges_.end(); ++e) { - // All edges need at least one output. - EXPECT_FALSE((*e)->outputs_.empty()); - // Check that the edge's inputs have the edge as out-edge. - for (vector::const_iterator in_node = (*e)->inputs_.begin(); - in_node != (*e)->inputs_.end(); ++in_node) { - const vector& out_edges = (*in_node)->out_edges(); - EXPECT_NE(find(out_edges.begin(), out_edges.end(), *e), - out_edges.end()); - } - // Check that the edge's outputs have the edge as in-edge. - for (vector::const_iterator out_node = (*e)->outputs_.begin(); - out_node != (*e)->outputs_.end(); ++out_node) { - EXPECT_EQ((*out_node)->in_edge(), *e); - } - } - - // The union of all in- and out-edges of each nodes should be exactly edges_. - set node_edge_set; - for (State::Paths::const_iterator p = state.paths_.begin(); - p != state.paths_.end(); ++p) { - const Node* n = p->second; - if (n->in_edge()) - node_edge_set.insert(n->in_edge()); - node_edge_set.insert(n->out_edges().begin(), n->out_edges().end()); - } - set edge_set(state.edges_.begin(), state.edges_.end()); - EXPECT_EQ(node_edge_set, edge_set); -} - -void VirtualFileSystem::Create(const string& path, - const string& contents) { - files_[path].mtime = now_; - files_[path].contents = contents; - files_created_.insert(path); -} - -TimeStamp VirtualFileSystem::Stat(const string& path, string* err) const { - FileMap::const_iterator i = files_.find(path); - if (i != files_.end()) { - *err = i->second.stat_error; - return i->second.mtime; - } - return 0; -} - -bool VirtualFileSystem::WriteFile(const string& path, const string& contents) { - Create(path, contents); - return true; -} - -bool VirtualFileSystem::MakeDir(const string& path) { - directories_made_.push_back(path); - return true; // success -} - -FileReader::Status VirtualFileSystem::ReadFile(const string& path, - string* contents, - string* err) { - files_read_.push_back(path); - FileMap::iterator i = files_.find(path); - if (i != files_.end()) { - *contents = i->second.contents; - return Okay; - } - *err = strerror(ENOENT); - return NotFound; -} - -int VirtualFileSystem::RemoveFile(const string& path) { - if (find(directories_made_.begin(), directories_made_.end(), path) - != directories_made_.end()) - return -1; - FileMap::iterator i = files_.find(path); - if (i != files_.end()) { - files_.erase(i); - files_removed_.insert(path); - return 0; - } else { - return 1; - } -} - -void ScopedTempDir::CreateAndEnter(const string& name) { - // First change into the system temp dir and save it for cleanup. - start_dir_ = GetSystemTempDir(); - if (start_dir_.empty()) - Fatal("couldn't get system temp dir"); - if (chdir(start_dir_.c_str()) < 0) - Fatal("chdir: %s", strerror(errno)); - - // Create a temporary subdirectory of that. - char name_template[1024]; - strcpy(name_template, name.c_str()); - strcat(name_template, "-XXXXXX"); - char* tempname = mkdtemp(name_template); - if (!tempname) - Fatal("mkdtemp: %s", strerror(errno)); - temp_dir_name_ = tempname; - - // chdir into the new temporary directory. - if (chdir(temp_dir_name_.c_str()) < 0) - Fatal("chdir: %s", strerror(errno)); -} - -void ScopedTempDir::Cleanup() { - if (temp_dir_name_.empty()) - return; // Something went wrong earlier. - - // Move out of the directory we're about to clobber. - if (chdir(start_dir_.c_str()) < 0) - Fatal("chdir: %s", strerror(errno)); - -#ifdef _WIN32 - string command = "rmdir /s /q " + temp_dir_name_; -#else - string command = "rm -rf " + temp_dir_name_; -#endif - if (system(command.c_str()) < 0) - Fatal("system: %s", strerror(errno)); - - temp_dir_name_.clear(); -} diff --git a/vendor/ninja/src/test.h b/vendor/ninja/src/test.h deleted file mode 100644 index 3bce8f75a..000000000 --- a/vendor/ninja/src/test.h +++ /dev/null @@ -1,184 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_TEST_H_ -#define NINJA_TEST_H_ - -#include "disk_interface.h" -#include "manifest_parser.h" -#include "state.h" -#include "util.h" - -// A tiny testing framework inspired by googletest, but much simpler and -// faster to compile. It supports most things commonly used from googltest. The -// most noticeable things missing: EXPECT_* and ASSERT_* don't support -// streaming notes to them with operator<<, and for failing tests the lhs and -// rhs are not printed. That's so that this header does not have to include -// sstream, which slows down building ninja_test almost 20%. -namespace testing { -class Test { - bool failed_; - int assertion_failures_; - public: - Test() : failed_(false), assertion_failures_(0) {} - virtual ~Test() {} - virtual void SetUp() {} - virtual void TearDown() {} - virtual void Run() = 0; - - bool Failed() const { return failed_; } - int AssertionFailures() const { return assertion_failures_; } - void AddAssertionFailure() { assertion_failures_++; } - bool Check(bool condition, const char* file, int line, const char* error); -}; -} - -void RegisterTest(testing::Test* (*)(), const char*); - -extern testing::Test* g_current_test; -#define TEST_F_(x, y, name) \ - struct y : public x { \ - static testing::Test* Create() { return g_current_test = new y; } \ - virtual void Run(); \ - }; \ - struct Register##y { \ - Register##y() { RegisterTest(y::Create, name); } \ - }; \ - Register##y g_register_##y; \ - void y::Run() - -#define TEST_F(x, y) TEST_F_(x, x##y, #x "." #y) -#define TEST(x, y) TEST_F_(testing::Test, x##y, #x "." #y) - -#define EXPECT_EQ(a, b) \ - g_current_test->Check(a == b, __FILE__, __LINE__, #a " == " #b) -#define EXPECT_NE(a, b) \ - g_current_test->Check(a != b, __FILE__, __LINE__, #a " != " #b) -#define EXPECT_GT(a, b) \ - g_current_test->Check(a > b, __FILE__, __LINE__, #a " > " #b) -#define EXPECT_LT(a, b) \ - g_current_test->Check(a < b, __FILE__, __LINE__, #a " < " #b) -#define EXPECT_GE(a, b) \ - g_current_test->Check(a >= b, __FILE__, __LINE__, #a " >= " #b) -#define EXPECT_LE(a, b) \ - g_current_test->Check(a <= b, __FILE__, __LINE__, #a " <= " #b) -#define EXPECT_TRUE(a) \ - g_current_test->Check(static_cast(a), __FILE__, __LINE__, #a) -#define EXPECT_FALSE(a) \ - g_current_test->Check(!static_cast(a), __FILE__, __LINE__, #a) - -#define ASSERT_EQ(a, b) \ - if (!EXPECT_EQ(a, b)) { g_current_test->AddAssertionFailure(); return; } -#define ASSERT_NE(a, b) \ - if (!EXPECT_NE(a, b)) { g_current_test->AddAssertionFailure(); return; } -#define ASSERT_GT(a, b) \ - if (!EXPECT_GT(a, b)) { g_current_test->AddAssertionFailure(); return; } -#define ASSERT_LT(a, b) \ - if (!EXPECT_LT(a, b)) { g_current_test->AddAssertionFailure(); return; } -#define ASSERT_GE(a, b) \ - if (!EXPECT_GE(a, b)) { g_current_test->AddAssertionFailure(); return; } -#define ASSERT_LE(a, b) \ - if (!EXPECT_LE(a, b)) { g_current_test->AddAssertionFailure(); return; } -#define ASSERT_TRUE(a) \ - if (!EXPECT_TRUE(a)) { g_current_test->AddAssertionFailure(); return; } -#define ASSERT_FALSE(a) \ - if (!EXPECT_FALSE(a)) { g_current_test->AddAssertionFailure(); return; } -#define ASSERT_NO_FATAL_FAILURE(a) \ - { \ - int fail_count = g_current_test->AssertionFailures(); \ - a; \ - if (fail_count != g_current_test->AssertionFailures()) { \ - g_current_test->AddAssertionFailure(); \ - return; \ - } \ - } - -// Support utilites for tests. - -struct Node; - -/// A base test fixture that includes a State object with a -/// builtin "cat" rule. -struct StateTestWithBuiltinRules : public testing::Test { - StateTestWithBuiltinRules(); - - /// Add a "cat" rule to \a state. Used by some tests; it's - /// otherwise done by the ctor to state_. - void AddCatRule(State* state); - - /// Short way to get a Node by its path from state_. - Node* GetNode(const string& path); - - State state_; -}; - -void AssertParse(State* state, const char* input, - ManifestParserOptions = ManifestParserOptions()); -void AssertHash(const char* expected, uint64_t actual); -void VerifyGraph(const State& state); - -/// An implementation of DiskInterface that uses an in-memory representation -/// of disk state. It also logs file accesses and directory creations -/// so it can be used by tests to verify disk access patterns. -struct VirtualFileSystem : public DiskInterface { - VirtualFileSystem() : now_(1) {} - - /// "Create" a file with contents. - void Create(const string& path, const string& contents); - - /// Tick "time" forwards; subsequent file operations will be newer than - /// previous ones. - int Tick() { - return ++now_; - } - - // DiskInterface - virtual TimeStamp Stat(const string& path, string* err) const; - virtual bool WriteFile(const string& path, const string& contents); - virtual bool MakeDir(const string& path); - virtual Status ReadFile(const string& path, string* contents, string* err); - virtual int RemoveFile(const string& path); - - /// An entry for a single in-memory file. - struct Entry { - int mtime; - string stat_error; // If mtime is -1. - string contents; - }; - - vector directories_made_; - vector files_read_; - typedef map FileMap; - FileMap files_; - set files_removed_; - set files_created_; - - /// A simple fake timestamp for file operations. - int now_; -}; - -struct ScopedTempDir { - /// Create a temporary directory and chdir into it. - void CreateAndEnter(const string& name); - - /// Clean up the temporary directory. - void Cleanup(); - - /// The temp directory containing our dir. - string start_dir_; - /// The subdirectory name for our dir, or empty if it hasn't been set up. - string temp_dir_name_; -}; - -#endif // NINJA_TEST_H_ diff --git a/vendor/ninja/src/timestamp.h b/vendor/ninja/src/timestamp.h deleted file mode 100644 index cee7ba8f2..000000000 --- a/vendor/ninja/src/timestamp.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_TIMESTAMP_H_ -#define NINJA_TIMESTAMP_H_ - -// When considering file modification times we only care to compare -// them against one another -- we never convert them to an absolute -// real time. On POSIX we use time_t (seconds since epoch) and on -// Windows we use a different value. Both fit in an int. -typedef int TimeStamp; - -#endif // NINJA_TIMESTAMP_H_ diff --git a/vendor/ninja/src/util.cc b/vendor/ninja/src/util.cc deleted file mode 100644 index ae94d346b..000000000 --- a/vendor/ninja/src/util.cc +++ /dev/null @@ -1,606 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "util.h" - -#ifdef __CYGWIN__ -#include -#include -#elif defined( _WIN32) -#include -#include -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef _WIN32 -#include -#include -#endif - -#include - -#if defined(__APPLE__) || defined(__FreeBSD__) -#include -#elif defined(__SVR4) && defined(__sun) -#include -#include -#elif defined(_AIX) -#include -#elif defined(linux) || defined(__GLIBC__) -#include -#endif - -#include "edit_distance.h" -#include "metrics.h" - -void Fatal(const char* msg, ...) { - va_list ap; - fprintf(stderr, "ninja: fatal: "); - va_start(ap, msg); - vfprintf(stderr, msg, ap); - va_end(ap); - fprintf(stderr, "\n"); -#ifdef _WIN32 - // On Windows, some tools may inject extra threads. - // exit() may block on locks held by those threads, so forcibly exit. - fflush(stderr); - fflush(stdout); - ExitProcess(1); -#else - exit(1); -#endif -} - -void Warning(const char* msg, ...) { - va_list ap; - fprintf(stderr, "ninja: warning: "); - va_start(ap, msg); - vfprintf(stderr, msg, ap); - va_end(ap); - fprintf(stderr, "\n"); -} - -void Error(const char* msg, ...) { - va_list ap; - fprintf(stderr, "ninja: error: "); - va_start(ap, msg); - vfprintf(stderr, msg, ap); - va_end(ap); - fprintf(stderr, "\n"); -} - -bool CanonicalizePath(string* path, uint64_t* slash_bits, string* err) { - METRIC_RECORD("canonicalize str"); - size_t len = path->size(); - char* str = 0; - if (len > 0) - str = &(*path)[0]; - if (!CanonicalizePath(str, &len, slash_bits, err)) - return false; - path->resize(len); - return true; -} - -static bool IsPathSeparator(char c) { -#ifdef _WIN32 - return c == '/' || c == '\\'; -#else - return c == '/'; -#endif -} - -bool CanonicalizePath(char* path, size_t* len, uint64_t* slash_bits, - string* err) { - // WARNING: this function is performance-critical; please benchmark - // any changes you make to it. - METRIC_RECORD("canonicalize path"); - if (*len == 0) { - *err = "empty path"; - return false; - } - - const int kMaxPathComponents = 60; - char* components[kMaxPathComponents]; - int component_count = 0; - - char* start = path; - char* dst = start; - const char* src = start; - const char* end = start + *len; - - if (IsPathSeparator(*src)) { -#ifdef _WIN32 - - // network path starts with // - if (*len > 1 && IsPathSeparator(*(src + 1))) { - src += 2; - dst += 2; - } else { - ++src; - ++dst; - } -#else - ++src; - ++dst; -#endif - } - - while (src < end) { - if (*src == '.') { - if (src + 1 == end || IsPathSeparator(src[1])) { - // '.' component; eliminate. - src += 2; - continue; - } else if (src[1] == '.' && (src + 2 == end || IsPathSeparator(src[2]))) { - // '..' component. Back up if possible. - if (component_count > 0) { - dst = components[component_count - 1]; - src += 3; - --component_count; - } else { - *dst++ = *src++; - *dst++ = *src++; - *dst++ = *src++; - } - continue; - } - } - - if (IsPathSeparator(*src)) { - src++; - continue; - } - - if (component_count == kMaxPathComponents) - Fatal("path has too many components : %s", path); - components[component_count] = dst; - ++component_count; - - while (src != end && !IsPathSeparator(*src)) - *dst++ = *src++; - *dst++ = *src++; // Copy '/' or final \0 character as well. - } - - if (dst == start) { - *dst++ = '.'; - *dst++ = '\0'; - } - - *len = dst - start - 1; -#ifdef _WIN32 - uint64_t bits = 0; - uint64_t bits_mask = 1; - - for (char* c = start; c < start + *len; ++c) { - switch (*c) { - case '\\': - bits |= bits_mask; - *c = '/'; - // Intentional fallthrough. - case '/': - bits_mask <<= 1; - } - } - - *slash_bits = bits; -#else - *slash_bits = 0; -#endif - return true; -} - -static inline bool IsKnownShellSafeCharacter(char ch) { - if ('A' <= ch && ch <= 'Z') return true; - if ('a' <= ch && ch <= 'z') return true; - if ('0' <= ch && ch <= '9') return true; - - switch (ch) { - case '_': - case '+': - case '-': - case '.': - case '/': - return true; - default: - return false; - } -} - -static inline bool IsKnownWin32SafeCharacter(char ch) { - switch (ch) { - case ' ': - case '"': - return false; - default: - return true; - } -} - -static inline bool StringNeedsShellEscaping(const string& input) { - for (size_t i = 0; i < input.size(); ++i) { - if (!IsKnownShellSafeCharacter(input[i])) return true; - } - return false; -} - -static inline bool StringNeedsWin32Escaping(const string& input) { - for (size_t i = 0; i < input.size(); ++i) { - if (!IsKnownWin32SafeCharacter(input[i])) return true; - } - return false; -} - -void GetShellEscapedString(const string& input, string* result) { - assert(result); - - if (!StringNeedsShellEscaping(input)) { - result->append(input); - return; - } - - const char kQuote = '\''; - const char kEscapeSequence[] = "'\\'"; - - result->push_back(kQuote); - - string::const_iterator span_begin = input.begin(); - for (string::const_iterator it = input.begin(), end = input.end(); it != end; - ++it) { - if (*it == kQuote) { - result->append(span_begin, it); - result->append(kEscapeSequence); - span_begin = it; - } - } - result->append(span_begin, input.end()); - result->push_back(kQuote); -} - - -void GetWin32EscapedString(const string& input, string* result) { - assert(result); - if (!StringNeedsWin32Escaping(input)) { - result->append(input); - return; - } - - const char kQuote = '"'; - const char kBackslash = '\\'; - - result->push_back(kQuote); - size_t consecutive_backslash_count = 0; - string::const_iterator span_begin = input.begin(); - for (string::const_iterator it = input.begin(), end = input.end(); it != end; - ++it) { - switch (*it) { - case kBackslash: - ++consecutive_backslash_count; - break; - case kQuote: - result->append(span_begin, it); - result->append(consecutive_backslash_count + 1, kBackslash); - span_begin = it; - consecutive_backslash_count = 0; - break; - default: - consecutive_backslash_count = 0; - break; - } - } - result->append(span_begin, input.end()); - result->append(consecutive_backslash_count, kBackslash); - result->push_back(kQuote); -} - -int ReadFile(const string& path, string* contents, string* err) { -#ifdef _WIN32 - // This makes a ninja run on a set of 1500 manifest files about 4% faster - // than using the generic fopen code below. - err->clear(); - HANDLE f = ::CreateFile(path.c_str(), - GENERIC_READ, - FILE_SHARE_READ, - NULL, - OPEN_EXISTING, - FILE_FLAG_SEQUENTIAL_SCAN, - NULL); - if (f == INVALID_HANDLE_VALUE) { - err->assign(GetLastErrorString()); - return -ENOENT; - } - - for (;;) { - DWORD len; - char buf[64 << 10]; - if (!::ReadFile(f, buf, sizeof(buf), &len, NULL)) { - err->assign(GetLastErrorString()); - contents->clear(); - return -1; - } - if (len == 0) - break; - contents->append(buf, len); - } - ::CloseHandle(f); - return 0; -#else - FILE* f = fopen(path.c_str(), "rb"); - if (!f) { - err->assign(strerror(errno)); - return -errno; - } - - char buf[64 << 10]; - size_t len; - while ((len = fread(buf, 1, sizeof(buf), f)) > 0) { - contents->append(buf, len); - } - if (ferror(f)) { - err->assign(strerror(errno)); // XXX errno? - contents->clear(); - fclose(f); - return -errno; - } - fclose(f); - return 0; -#endif -} - -void SetCloseOnExec(int fd) { -#ifndef _WIN32 - int flags = fcntl(fd, F_GETFD); - if (flags < 0) { - perror("fcntl(F_GETFD)"); - } else { - if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) < 0) - perror("fcntl(F_SETFD)"); - } -#else - HANDLE hd = (HANDLE) _get_osfhandle(fd); - if (! SetHandleInformation(hd, HANDLE_FLAG_INHERIT, 0)) { - fprintf(stderr, "SetHandleInformation(): %s", GetLastErrorString().c_str()); - } -#endif // ! _WIN32 -} - - -const char* SpellcheckStringV(const string& text, - const vector& words) { - const bool kAllowReplacements = true; - const int kMaxValidEditDistance = 3; - - int min_distance = kMaxValidEditDistance + 1; - const char* result = NULL; - for (vector::const_iterator i = words.begin(); - i != words.end(); ++i) { - int distance = EditDistance(*i, text, kAllowReplacements, - kMaxValidEditDistance); - if (distance < min_distance) { - min_distance = distance; - result = *i; - } - } - return result; -} - -const char* SpellcheckString(const char* text, ...) { - // Note: This takes a const char* instead of a string& because using - // va_start() with a reference parameter is undefined behavior. - va_list ap; - va_start(ap, text); - vector words; - const char* word; - while ((word = va_arg(ap, const char*))) - words.push_back(word); - va_end(ap); - return SpellcheckStringV(text, words); -} - -#ifdef _WIN32 -string GetLastErrorString() { - DWORD err = GetLastError(); - - char* msg_buf; - FormatMessageA( - FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - err, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (char*)&msg_buf, - 0, - NULL); - string msg = msg_buf; - LocalFree(msg_buf); - return msg; -} - -void Win32Fatal(const char* function) { - Fatal("%s: %s", function, GetLastErrorString().c_str()); -} -#endif - -bool islatinalpha(int c) { - // isalpha() is locale-dependent. - return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); -} - -string StripAnsiEscapeCodes(const string& in) { - string stripped; - stripped.reserve(in.size()); - - for (size_t i = 0; i < in.size(); ++i) { - if (in[i] != '\33') { - // Not an escape code. - stripped.push_back(in[i]); - continue; - } - - // Only strip CSIs for now. - if (i + 1 >= in.size()) break; - if (in[i + 1] != '[') continue; // Not a CSI. - i += 2; - - // Skip everything up to and including the next [a-zA-Z]. - while (i < in.size() && !islatinalpha(in[i])) - ++i; - } - return stripped; -} - -int GetProcessorCount() { -#ifdef _WIN32 - SYSTEM_INFO info; - GetNativeSystemInfo(&info); - return info.dwNumberOfProcessors; -#else - return sysconf(_SC_NPROCESSORS_ONLN); -#endif -} - -#if defined(_WIN32) || defined(__CYGWIN__) -static double CalculateProcessorLoad(uint64_t idle_ticks, uint64_t total_ticks) -{ - static uint64_t previous_idle_ticks = 0; - static uint64_t previous_total_ticks = 0; - static double previous_load = -0.0; - - uint64_t idle_ticks_since_last_time = idle_ticks - previous_idle_ticks; - uint64_t total_ticks_since_last_time = total_ticks - previous_total_ticks; - - bool first_call = (previous_total_ticks == 0); - bool ticks_not_updated_since_last_call = (total_ticks_since_last_time == 0); - - double load; - if (first_call || ticks_not_updated_since_last_call) { - load = previous_load; - } else { - // Calculate load. - double idle_to_total_ratio = - ((double)idle_ticks_since_last_time) / total_ticks_since_last_time; - double load_since_last_call = 1.0 - idle_to_total_ratio; - - // Filter/smooth result when possible. - if(previous_load > 0) { - load = 0.9 * previous_load + 0.1 * load_since_last_call; - } else { - load = load_since_last_call; - } - } - - previous_load = load; - previous_total_ticks = total_ticks; - previous_idle_ticks = idle_ticks; - - return load; -} - -static uint64_t FileTimeToTickCount(const FILETIME & ft) -{ - uint64_t high = (((uint64_t)(ft.dwHighDateTime)) << 32); - uint64_t low = ft.dwLowDateTime; - return (high | low); -} - -double GetLoadAverage() { - FILETIME idle_time, kernel_time, user_time; - BOOL get_system_time_succeeded = - GetSystemTimes(&idle_time, &kernel_time, &user_time); - - double posix_compatible_load; - if (get_system_time_succeeded) { - uint64_t idle_ticks = FileTimeToTickCount(idle_time); - - // kernel_time from GetSystemTimes already includes idle_time. - uint64_t total_ticks = - FileTimeToTickCount(kernel_time) + FileTimeToTickCount(user_time); - - double processor_load = CalculateProcessorLoad(idle_ticks, total_ticks); - posix_compatible_load = processor_load * GetProcessorCount(); - - } else { - posix_compatible_load = -0.0; - } - - return posix_compatible_load; -} -#elif defined(_AIX) -double GetLoadAverage() { - perfstat_cpu_total_t cpu_stats; - if (perfstat_cpu_total(NULL, &cpu_stats, sizeof(cpu_stats), 1) < 0) { - return -0.0f; - } - - // Calculation taken from comment in libperfstats.h - return double(cpu_stats.loadavg[0]) / double(1 << SBITS); -} -#elif defined(__UCLIBC__) -double GetLoadAverage() { - struct sysinfo si; - if (sysinfo(&si) != 0) - return -0.0f; - return 1.0 / (1 << SI_LOAD_SHIFT) * si.loads[0]; -} -#else -double GetLoadAverage() { - double loadavg[3] = { 0.0f, 0.0f, 0.0f }; - if (getloadavg(loadavg, 3) < 0) { - // Maybe we should return an error here or the availability of - // getloadavg(3) should be checked when ninja is configured. - return -0.0f; - } - return loadavg[0]; -} -#endif // _WIN32 - -string ElideMiddle(const string& str, size_t width) { - const int kMargin = 3; // Space for "...". - string result = str; - if (result.size() + kMargin > width) { - size_t elide_size = (width - kMargin) / 2; - result = result.substr(0, elide_size) - + "..." - + result.substr(result.size() - elide_size, elide_size); - } - return result; -} - -bool Truncate(const string& path, size_t size, string* err) { -#ifdef _WIN32 - int fh = _sopen(path.c_str(), _O_RDWR | _O_CREAT, _SH_DENYNO, - _S_IREAD | _S_IWRITE); - int success = _chsize(fh, size); - _close(fh); -#else - int success = truncate(path.c_str(), size); -#endif - // Both truncate() and _chsize() return 0 on success and set errno and return - // -1 on failure. - if (success < 0) { - *err = strerror(errno); - return false; - } - return true; -} diff --git a/vendor/ninja/src/util.h b/vendor/ninja/src/util.h deleted file mode 100644 index 4ee41a500..000000000 --- a/vendor/ninja/src/util.h +++ /dev/null @@ -1,111 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_UTIL_H_ -#define NINJA_UTIL_H_ - -#ifdef _WIN32 -#include "win32port.h" -#else -#include -#endif - -#include -#include -using namespace std; - -#ifdef _MSC_VER -#define NORETURN __declspec(noreturn) -#else -#define NORETURN __attribute__((noreturn)) -#endif - -/// Log a fatal message and exit. -NORETURN void Fatal(const char* msg, ...); - -/// Log a warning message. -void Warning(const char* msg, ...); - -/// Log an error message. -void Error(const char* msg, ...); - -/// Canonicalize a path like "foo/../bar.h" into just "bar.h". -/// |slash_bits| has bits set starting from lowest for a backslash that was -/// normalized to a forward slash. (only used on Windows) -bool CanonicalizePath(string* path, uint64_t* slash_bits, string* err); -bool CanonicalizePath(char* path, size_t* len, uint64_t* slash_bits, - string* err); - -/// Appends |input| to |*result|, escaping according to the whims of either -/// Bash, or Win32's CommandLineToArgvW(). -/// Appends the string directly to |result| without modification if we can -/// determine that it contains no problematic characters. -void GetShellEscapedString(const string& input, string* result); -void GetWin32EscapedString(const string& input, string* result); - -/// Read a file to a string (in text mode: with CRLF conversion -/// on Windows). -/// Returns -errno and fills in \a err on error. -int ReadFile(const string& path, string* contents, string* err); - -/// Mark a file descriptor to not be inherited on exec()s. -void SetCloseOnExec(int fd); - -/// Given a misspelled string and a list of correct spellings, returns -/// the closest match or NULL if there is no close enough match. -const char* SpellcheckStringV(const string& text, - const vector& words); - -/// Like SpellcheckStringV, but takes a NULL-terminated list. -const char* SpellcheckString(const char* text, ...); - -bool islatinalpha(int c); - -/// Removes all Ansi escape codes (http://www.termsys.demon.co.uk/vtansi.htm). -string StripAnsiEscapeCodes(const string& in); - -/// @return the number of processors on the machine. Useful for an initial -/// guess for how many jobs to run in parallel. @return 0 on error. -int GetProcessorCount(); - -/// @return the load average of the machine. A negative value is returned -/// on error. -double GetLoadAverage(); - -/// Elide the given string @a str with '...' in the middle if the length -/// exceeds @a width. -string ElideMiddle(const string& str, size_t width); - -/// Truncates a file to the given size. -bool Truncate(const string& path, size_t size, string* err); - -#ifdef _MSC_VER -#define snprintf _snprintf -#define fileno _fileno -#define unlink _unlink -#define chdir _chdir -#define strtoull _strtoui64 -#define getcwd _getcwd -#define PATH_MAX _MAX_PATH -#endif - -#ifdef _WIN32 -/// Convert the value returned by GetLastError() into a string. -string GetLastErrorString(); - -/// Calls Fatal() with a function name and GetLastErrorString. -NORETURN void Win32Fatal(const char* function); -#endif - -#endif // NINJA_UTIL_H_ diff --git a/vendor/ninja/src/util_test.cc b/vendor/ninja/src/util_test.cc deleted file mode 100644 index b4b75169d..000000000 --- a/vendor/ninja/src/util_test.cc +++ /dev/null @@ -1,428 +0,0 @@ -// Copyright 2011 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "util.h" - -#include "test.h" - -namespace { - -bool CanonicalizePath(string* path, string* err) { - uint64_t unused; - return ::CanonicalizePath(path, &unused, err); -} - -} // namespace - -TEST(CanonicalizePath, PathSamples) { - string path; - string err; - - EXPECT_FALSE(CanonicalizePath(&path, &err)); - EXPECT_EQ("empty path", err); - - path = "foo.h"; err = ""; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo.h", path); - - path = "./foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo.h", path); - - path = "./foo/./bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo/bar.h", path); - - path = "./x/foo/../bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("x/bar.h", path); - - path = "./x/foo/../../bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("bar.h", path); - - path = "foo//bar"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo/bar", path); - - path = "foo//.//..///bar"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("bar", path); - - path = "./x/../foo/../../bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("../bar.h", path); - - path = "foo/./."; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo", path); - - path = "foo/bar/.."; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo", path); - - path = "foo/.hidden_bar"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo/.hidden_bar", path); - - path = "/foo"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("/foo", path); - - path = "//foo"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); -#ifdef _WIN32 - EXPECT_EQ("//foo", path); -#else - EXPECT_EQ("/foo", path); -#endif - - path = "/"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", path); - - path = "/foo/.."; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", path); - - path = "."; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ(".", path); - - path = "./."; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ(".", path); - - path = "foo/.."; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ(".", path); -} - -#ifdef _WIN32 -TEST(CanonicalizePath, PathSamplesWindows) { - string path; - string err; - - EXPECT_FALSE(CanonicalizePath(&path, &err)); - EXPECT_EQ("empty path", err); - - path = "foo.h"; err = ""; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo.h", path); - - path = ".\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo.h", path); - - path = ".\\foo\\.\\bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo/bar.h", path); - - path = ".\\x\\foo\\..\\bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("x/bar.h", path); - - path = ".\\x\\foo\\..\\..\\bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("bar.h", path); - - path = "foo\\\\bar"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo/bar", path); - - path = "foo\\\\.\\\\..\\\\\\bar"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("bar", path); - - path = ".\\x\\..\\foo\\..\\..\\bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("../bar.h", path); - - path = "foo\\.\\."; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo", path); - - path = "foo\\bar\\.."; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo", path); - - path = "foo\\.hidden_bar"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("foo/.hidden_bar", path); - - path = "\\foo"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("/foo", path); - - path = "\\\\foo"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("//foo", path); - - path = "\\"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("", path); -} - -TEST(CanonicalizePath, SlashTracking) { - string path; - string err; - uint64_t slash_bits; - - path = "foo.h"; err = ""; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("foo.h", path); - EXPECT_EQ(0, slash_bits); - - path = "a\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/foo.h", path); - EXPECT_EQ(1, slash_bits); - - path = "a/bcd/efh\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/bcd/efh/foo.h", path); - EXPECT_EQ(4, slash_bits); - - path = "a\\bcd/efh\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/bcd/efh/foo.h", path); - EXPECT_EQ(5, slash_bits); - - path = "a\\bcd\\efh\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/bcd/efh/foo.h", path); - EXPECT_EQ(7, slash_bits); - - path = "a/bcd/efh/foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/bcd/efh/foo.h", path); - EXPECT_EQ(0, slash_bits); - - path = "a\\./efh\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/efh/foo.h", path); - EXPECT_EQ(3, slash_bits); - - path = "a\\../efh\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("efh/foo.h", path); - EXPECT_EQ(1, slash_bits); - - path = "a\\b\\c\\d\\e\\f\\g\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/b/c/d/e/f/g/foo.h", path); - EXPECT_EQ(127, slash_bits); - - path = "a\\b\\c\\..\\..\\..\\g\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("g/foo.h", path); - EXPECT_EQ(1, slash_bits); - - path = "a\\b/c\\../../..\\g\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("g/foo.h", path); - EXPECT_EQ(1, slash_bits); - - path = "a\\b/c\\./../..\\g\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/g/foo.h", path); - EXPECT_EQ(3, slash_bits); - - path = "a\\b/c\\./../..\\g/foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/g/foo.h", path); - EXPECT_EQ(1, slash_bits); - - path = "a\\\\\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/foo.h", path); - EXPECT_EQ(1, slash_bits); - - path = "a/\\\\foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/foo.h", path); - EXPECT_EQ(0, slash_bits); - - path = "a\\//foo.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ("a/foo.h", path); - EXPECT_EQ(1, slash_bits); -} - -TEST(CanonicalizePath, CanonicalizeNotExceedingLen) { - // Make sure searching \/ doesn't go past supplied len. - char buf[] = "foo/bar\\baz.h\\"; // Last \ past end. - uint64_t slash_bits; - string err; - size_t size = 13; - EXPECT_TRUE(::CanonicalizePath(buf, &size, &slash_bits, &err)); - EXPECT_EQ(0, strncmp("foo/bar/baz.h", buf, size)); - EXPECT_EQ(2, slash_bits); // Not including the trailing one. -} - -TEST(CanonicalizePath, TooManyComponents) { - string path; - string err; - uint64_t slash_bits; - - // 64 is OK. - path = "a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./" - "a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./x.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ(slash_bits, 0x0); - - // Backslashes version. - path = - "a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\" - "a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\" - "a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\" - "a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\x.h"; - - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ(slash_bits, 0xffffffff); - - // 65 is OK if #component is less than 60 after path canonicalization. - err = ""; - path = "a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./" - "a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./a/./x/y.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ(slash_bits, 0x0); - - // Backslashes version. - err = ""; - path = - "a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\" - "a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\" - "a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\" - "a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\a\\.\\x\\y.h"; - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ(slash_bits, 0x1ffffffff); - - - // 59 after canonicalization is OK. - err = ""; - path = "a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/" - "a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/a/x/y.h"; - EXPECT_EQ(58, std::count(path.begin(), path.end(), '/')); - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ(slash_bits, 0x0); - - // Backslashes version. - err = ""; - path = - "a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\" - "a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\" - "a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\a\\" - "a\\a\\a\\a\\a\\a\\a\\a\\a\\x\\y.h"; - EXPECT_EQ(58, std::count(path.begin(), path.end(), '\\')); - EXPECT_TRUE(CanonicalizePath(&path, &slash_bits, &err)); - EXPECT_EQ(slash_bits, 0x3ffffffffffffff); -} -#endif - -TEST(CanonicalizePath, UpDir) { - string path, err; - path = "../../foo/bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("../../foo/bar.h", path); - - path = "test/../../foo/bar.h"; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("../foo/bar.h", path); -} - -TEST(CanonicalizePath, AbsolutePath) { - string path = "/usr/include/stdio.h"; - string err; - EXPECT_TRUE(CanonicalizePath(&path, &err)); - EXPECT_EQ("/usr/include/stdio.h", path); -} - -TEST(CanonicalizePath, NotNullTerminated) { - string path; - string err; - size_t len; - uint64_t unused; - - path = "foo/. bar/."; - len = strlen("foo/."); // Canonicalize only the part before the space. - EXPECT_TRUE(CanonicalizePath(&path[0], &len, &unused, &err)); - EXPECT_EQ(strlen("foo"), len); - EXPECT_EQ("foo/. bar/.", string(path)); - - path = "foo/../file bar/."; - len = strlen("foo/../file"); - EXPECT_TRUE(CanonicalizePath(&path[0], &len, &unused, &err)); - EXPECT_EQ(strlen("file"), len); - EXPECT_EQ("file ./file bar/.", string(path)); -} - -TEST(PathEscaping, TortureTest) { - string result; - - GetWin32EscapedString("foo bar\\\"'$@d!st!c'\\path'\\", &result); - EXPECT_EQ("\"foo bar\\\\\\\"'$@d!st!c'\\path'\\\\\"", result); - result.clear(); - - GetShellEscapedString("foo bar\"/'$@d!st!c'/path'", &result); - EXPECT_EQ("'foo bar\"/'\\''$@d!st!c'\\''/path'\\'''", result); -} - -TEST(PathEscaping, SensiblePathsAreNotNeedlesslyEscaped) { - const char* path = "some/sensible/path/without/crazy/characters.c++"; - string result; - - GetWin32EscapedString(path, &result); - EXPECT_EQ(path, result); - result.clear(); - - GetShellEscapedString(path, &result); - EXPECT_EQ(path, result); -} - -TEST(PathEscaping, SensibleWin32PathsAreNotNeedlesslyEscaped) { - const char* path = "some\\sensible\\path\\without\\crazy\\characters.c++"; - string result; - - GetWin32EscapedString(path, &result); - EXPECT_EQ(path, result); -} - -TEST(StripAnsiEscapeCodes, EscapeAtEnd) { - string stripped = StripAnsiEscapeCodes("foo\33"); - EXPECT_EQ("foo", stripped); - - stripped = StripAnsiEscapeCodes("foo\33["); - EXPECT_EQ("foo", stripped); -} - -TEST(StripAnsiEscapeCodes, StripColors) { - // An actual clang warning. - string input = "\33[1maffixmgr.cxx:286:15: \33[0m\33[0;1;35mwarning: " - "\33[0m\33[1musing the result... [-Wparentheses]\33[0m"; - string stripped = StripAnsiEscapeCodes(input); - EXPECT_EQ("affixmgr.cxx:286:15: warning: using the result... [-Wparentheses]", - stripped); -} - -TEST(ElideMiddle, NothingToElide) { - string input = "Nothing to elide in this short string."; - EXPECT_EQ(input, ElideMiddle(input, 80)); -} - -TEST(ElideMiddle, ElideInTheMiddle) { - string input = "01234567890123456789"; - string elided = ElideMiddle(input, 10); - EXPECT_EQ("012...789", elided); -} diff --git a/vendor/ninja/src/version.cc b/vendor/ninja/src/version.cc deleted file mode 100644 index 3a20205cd..000000000 --- a/vendor/ninja/src/version.cc +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "version.h" - -#include - -#include "util.h" - -const char* kNinjaVersion = "1.8.2"; - -void ParseVersion(const string& version, int* major, int* minor) { - size_t end = version.find('.'); - *major = atoi(version.substr(0, end).c_str()); - *minor = 0; - if (end != string::npos) { - size_t start = end + 1; - end = version.find('.', start); - *minor = atoi(version.substr(start, end).c_str()); - } -} - -void CheckNinjaVersion(const string& version) { - int bin_major, bin_minor; - ParseVersion(kNinjaVersion, &bin_major, &bin_minor); - int file_major, file_minor; - ParseVersion(version, &file_major, &file_minor); - - if (bin_major > file_major) { - Warning("ninja executable version (%s) greater than build file " - "ninja_required_version (%s); versions may be incompatible.", - kNinjaVersion, version.c_str()); - return; - } - - if ((bin_major == file_major && bin_minor < file_minor) || - bin_major < file_major) { - Fatal("ninja version (%s) incompatible with build file " - "ninja_required_version version (%s).", - kNinjaVersion, version.c_str()); - } -} diff --git a/vendor/ninja/src/version.h b/vendor/ninja/src/version.h deleted file mode 100644 index bd6b9ffe2..000000000 --- a/vendor/ninja/src/version.h +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2013 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_VERSION_H_ -#define NINJA_VERSION_H_ - -#include -using namespace std; - -/// The version number of the current Ninja release. This will always -/// be "git" on trunk. -extern const char* kNinjaVersion; - -/// Parse the major/minor components of a version string. -void ParseVersion(const string& version, int* major, int* minor); - -/// Check whether \a version is compatible with the current Ninja version, -/// aborting if not. -void CheckNinjaVersion(const string& required_version); - -#endif // NINJA_VERSION_H_ diff --git a/vendor/ninja/src/win32port.h b/vendor/ninja/src/win32port.h deleted file mode 100644 index ce3c9498e..000000000 --- a/vendor/ninja/src/win32port.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2012 Google Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef NINJA_WIN32PORT_H_ -#define NINJA_WIN32PORT_H_ - -typedef signed short int16_t; -typedef unsigned short uint16_t; -/// A 64-bit integer type -typedef signed long long int64_t; -typedef unsigned long long uint64_t; - -// printf format specifier for uint64_t, from C99. -#ifndef PRIu64 -#define PRIu64 "I64u" -#define PRIx64 "I64x" -#endif - -#endif // NINJA_WIN32PORT_H_ - diff --git a/vendor/ocaml/.depend b/vendor/ocaml/.depend deleted file mode 100644 index b7f196bc2..000000000 --- a/vendor/ocaml/.depend +++ /dev/null @@ -1,1103 +0,0 @@ -utils/ccomp.cmi : -utils/clflags.cmi : -utils/config.cmi : -utils/consistbl.cmi : -utils/misc.cmi : utils/clflags.cmi -utils/tbl.cmi : -utils/terminfo.cmi : -utils/warnings.cmi : -utils/ccomp.cmo : utils/misc.cmi utils/config.cmi utils/clflags.cmi \ - utils/ccomp.cmi -utils/ccomp.cmx : utils/misc.cmx utils/config.cmx utils/clflags.cmx \ - utils/ccomp.cmi -utils/clflags.cmo : utils/config.cmi utils/clflags.cmi -utils/clflags.cmx : utils/config.cmx utils/clflags.cmi -utils/config.cmo : utils/config.cmi -utils/config.cmx : utils/config.cmi -utils/consistbl.cmo : utils/consistbl.cmi -utils/consistbl.cmx : utils/consistbl.cmi -utils/misc.cmo : utils/clflags.cmi utils/misc.cmi -utils/misc.cmx : utils/clflags.cmx utils/misc.cmi -utils/tbl.cmo : utils/tbl.cmi -utils/tbl.cmx : utils/tbl.cmi -utils/terminfo.cmo : utils/terminfo.cmi -utils/terminfo.cmx : utils/terminfo.cmi -utils/warnings.cmo : utils/warnings.cmi -utils/warnings.cmx : utils/warnings.cmi -parsing/ast_helper.cmi : parsing/parsetree.cmi parsing/longident.cmi \ - parsing/location.cmi parsing/docstrings.cmi parsing/asttypes.cmi -parsing/ast_mapper.cmi : parsing/parsetree.cmi parsing/location.cmi -parsing/asttypes.cmi : parsing/location.cmi -parsing/depend.cmi : parsing/parsetree.cmi parsing/longident.cmi -parsing/docstrings.cmi : parsing/parsetree.cmi parsing/location.cmi -parsing/lexer.cmi : parsing/parser.cmi parsing/location.cmi -parsing/location.cmi : utils/warnings.cmi -parsing/longident.cmi : -parsing/parse.cmi : parsing/parsetree.cmi -parsing/parser.cmi : parsing/parsetree.cmi parsing/location.cmi \ - parsing/docstrings.cmi -parsing/parsetree.cmi : parsing/longident.cmi parsing/location.cmi \ - parsing/asttypes.cmi -parsing/pprintast.cmi : parsing/parsetree.cmi parsing/longident.cmi \ - parsing/asttypes.cmi -parsing/printast.cmi : parsing/parsetree.cmi -parsing/syntaxerr.cmi : parsing/location.cmi -parsing/ast_helper.cmo : parsing/parsetree.cmi parsing/longident.cmi \ - parsing/location.cmi parsing/docstrings.cmi parsing/asttypes.cmi \ - parsing/ast_helper.cmi -parsing/ast_helper.cmx : parsing/parsetree.cmi parsing/longident.cmx \ - parsing/location.cmx parsing/docstrings.cmx parsing/asttypes.cmi \ - parsing/ast_helper.cmi -parsing/ast_mapper.cmo : parsing/parsetree.cmi utils/misc.cmi \ - parsing/longident.cmi parsing/location.cmi utils/config.cmi \ - utils/clflags.cmi parsing/asttypes.cmi parsing/ast_helper.cmi \ - parsing/ast_mapper.cmi -parsing/ast_mapper.cmx : parsing/parsetree.cmi utils/misc.cmx \ - parsing/longident.cmx parsing/location.cmx utils/config.cmx \ - utils/clflags.cmx parsing/asttypes.cmi parsing/ast_helper.cmx \ - parsing/ast_mapper.cmi -parsing/depend.cmo : parsing/parsetree.cmi utils/misc.cmi \ - parsing/longident.cmi parsing/location.cmi parsing/asttypes.cmi \ - parsing/depend.cmi -parsing/depend.cmx : parsing/parsetree.cmi utils/misc.cmx \ - parsing/longident.cmx parsing/location.cmx parsing/asttypes.cmi \ - parsing/depend.cmi -parsing/docstrings.cmo : utils/warnings.cmi parsing/parsetree.cmi \ - parsing/location.cmi parsing/asttypes.cmi parsing/docstrings.cmi -parsing/docstrings.cmx : utils/warnings.cmx parsing/parsetree.cmi \ - parsing/location.cmx parsing/asttypes.cmi parsing/docstrings.cmi -parsing/lexer.cmo : utils/warnings.cmi parsing/parser.cmi utils/misc.cmi \ - parsing/location.cmi parsing/docstrings.cmi utils/config.cmi \ - parsing/lexer.cmi -parsing/lexer.cmx : utils/warnings.cmx parsing/parser.cmx utils/misc.cmx \ - parsing/location.cmx parsing/docstrings.cmx parsing/lexer.cmi -parsing/location.cmo : utils/warnings.cmi utils/terminfo.cmi utils/misc.cmi \ - utils/clflags.cmi parsing/location.cmi -parsing/location.cmx : utils/warnings.cmx utils/terminfo.cmx utils/misc.cmx \ - utils/clflags.cmx parsing/location.cmi -parsing/longident.cmo : utils/misc.cmi parsing/longident.cmi -parsing/longident.cmx : utils/misc.cmx parsing/longident.cmi -parsing/parse.cmo : parsing/syntaxerr.cmi parsing/parser.cmi \ - parsing/location.cmi parsing/lexer.cmi parsing/docstrings.cmi \ - parsing/parse.cmi -parsing/parse.cmx : parsing/syntaxerr.cmx parsing/parser.cmx \ - parsing/location.cmx parsing/lexer.cmx parsing/docstrings.cmx \ - parsing/parse.cmi -parsing/parser.cmo : parsing/syntaxerr.cmi parsing/parsetree.cmi \ - parsing/longident.cmi parsing/location.cmi parsing/docstrings.cmi \ - utils/clflags.cmi parsing/asttypes.cmi parsing/ast_helper.cmi \ - parsing/parser.cmi -parsing/parser.cmx : parsing/syntaxerr.cmx parsing/parsetree.cmi \ - parsing/longident.cmx parsing/location.cmx parsing/docstrings.cmx \ - utils/clflags.cmx parsing/asttypes.cmi parsing/ast_helper.cmx \ - parsing/parser.cmi -parsing/pprintast.cmo : parsing/parsetree.cmi utils/misc.cmi \ - parsing/longident.cmi parsing/location.cmi parsing/asttypes.cmi \ - parsing/pprintast.cmi -parsing/pprintast.cmx : parsing/parsetree.cmi utils/misc.cmx \ - parsing/longident.cmx parsing/location.cmx parsing/asttypes.cmi \ - parsing/pprintast.cmi -parsing/printast.cmo : parsing/parsetree.cmi utils/misc.cmi \ - parsing/longident.cmi parsing/location.cmi parsing/asttypes.cmi \ - parsing/printast.cmi -parsing/printast.cmx : parsing/parsetree.cmi utils/misc.cmx \ - parsing/longident.cmx parsing/location.cmx parsing/asttypes.cmi \ - parsing/printast.cmi -parsing/syntaxerr.cmo : parsing/location.cmi parsing/syntaxerr.cmi -parsing/syntaxerr.cmx : parsing/location.cmx parsing/syntaxerr.cmi -typing/annot.cmi : parsing/location.cmi -typing/btype.cmi : typing/types.cmi typing/path.cmi parsing/asttypes.cmi -typing/cmi_format.cmi : typing/types.cmi -typing/cmt_format.cmi : typing/types.cmi typing/typedtree.cmi \ - parsing/location.cmi typing/env.cmi typing/cmi_format.cmi -typing/ctype.cmi : typing/types.cmi typing/path.cmi parsing/longident.cmi \ - typing/ident.cmi typing/env.cmi parsing/asttypes.cmi -typing/datarepr.cmi : typing/types.cmi typing/path.cmi typing/ident.cmi \ - parsing/asttypes.cmi -typing/env.cmi : utils/warnings.cmi typing/types.cmi typing/subst.cmi \ - typing/path.cmi parsing/longident.cmi parsing/location.cmi \ - typing/ident.cmi utils/consistbl.cmi parsing/asttypes.cmi -typing/envaux.cmi : typing/subst.cmi typing/path.cmi typing/env.cmi -typing/ident.cmi : -typing/includeclass.cmi : typing/types.cmi typing/env.cmi typing/ctype.cmi -typing/includecore.cmi : typing/types.cmi typing/typedtree.cmi \ - typing/ident.cmi typing/env.cmi -typing/includemod.cmi : typing/types.cmi typing/typedtree.cmi \ - typing/path.cmi parsing/location.cmi typing/includecore.cmi \ - typing/ident.cmi typing/env.cmi typing/ctype.cmi -typing/mtype.cmi : typing/types.cmi typing/path.cmi typing/ident.cmi \ - typing/env.cmi -typing/oprint.cmi : typing/outcometree.cmi -typing/outcometree.cmi : parsing/asttypes.cmi -typing/parmatch.cmi : typing/types.cmi typing/typedtree.cmi \ - parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \ - typing/env.cmi parsing/asttypes.cmi -typing/path.cmi : typing/ident.cmi -typing/predef.cmi : typing/types.cmi typing/path.cmi typing/ident.cmi -typing/primitive.cmi : -typing/printtyp.cmi : typing/types.cmi typing/path.cmi \ - typing/outcometree.cmi parsing/longident.cmi typing/ident.cmi \ - typing/env.cmi -typing/printtyped.cmi : typing/typedtree.cmi -typing/stypes.cmi : typing/typedtree.cmi parsing/location.cmi \ - typing/annot.cmi -typing/subst.cmi : typing/types.cmi typing/path.cmi typing/ident.cmi -typing/typeclass.cmi : typing/types.cmi typing/typedtree.cmi \ - parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \ - typing/ident.cmi typing/env.cmi typing/ctype.cmi parsing/asttypes.cmi -typing/typecore.cmi : typing/types.cmi typing/typedtree.cmi typing/path.cmi \ - parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \ - typing/ident.cmi typing/env.cmi parsing/asttypes.cmi typing/annot.cmi -typing/typedecl.cmi : typing/types.cmi typing/typedtree.cmi typing/path.cmi \ - parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \ - typing/includecore.cmi typing/ident.cmi typing/env.cmi \ - parsing/asttypes.cmi -typing/typedtree.cmi : typing/types.cmi typing/primitive.cmi typing/path.cmi \ - parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \ - typing/ident.cmi typing/env.cmi parsing/asttypes.cmi -typing/typedtreeIter.cmi : typing/typedtree.cmi parsing/asttypes.cmi -typing/typedtreeMap.cmi : typing/typedtree.cmi -typing/typemod.cmi : typing/types.cmi typing/typedtree.cmi typing/path.cmi \ - parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \ - typing/includemod.cmi typing/ident.cmi typing/env.cmi \ - parsing/asttypes.cmi -typing/types.cmi : typing/primitive.cmi typing/path.cmi \ - parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \ - typing/ident.cmi parsing/asttypes.cmi -typing/typetexp.cmi : typing/types.cmi typing/typedtree.cmi typing/path.cmi \ - parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \ - typing/env.cmi parsing/asttypes.cmi parsing/ast_mapper.cmi -typing/btype.cmo : typing/types.cmi typing/path.cmi utils/misc.cmi \ - typing/ident.cmi typing/btype.cmi -typing/btype.cmx : typing/types.cmx typing/path.cmx utils/misc.cmx \ - typing/ident.cmx typing/btype.cmi -typing/cmi_format.cmo : typing/types.cmi parsing/location.cmi \ - utils/config.cmi typing/cmi_format.cmi -typing/cmi_format.cmx : typing/types.cmx parsing/location.cmx \ - utils/config.cmx typing/cmi_format.cmi -typing/cmt_format.cmo : typing/types.cmi typing/typedtreeMap.cmi \ - typing/typedtree.cmi utils/misc.cmi parsing/location.cmi \ - parsing/lexer.cmi typing/env.cmi utils/config.cmi typing/cmi_format.cmi \ - utils/clflags.cmi typing/cmt_format.cmi -typing/cmt_format.cmx : typing/types.cmx typing/typedtreeMap.cmx \ - typing/typedtree.cmx utils/misc.cmx parsing/location.cmx \ - parsing/lexer.cmx typing/env.cmx utils/config.cmx typing/cmi_format.cmx \ - utils/clflags.cmx typing/cmt_format.cmi -typing/ctype.cmo : typing/types.cmi typing/subst.cmi typing/path.cmi \ - utils/misc.cmi parsing/longident.cmi parsing/location.cmi \ - typing/ident.cmi typing/env.cmi utils/clflags.cmi typing/btype.cmi \ - parsing/asttypes.cmi typing/ctype.cmi -typing/ctype.cmx : typing/types.cmx typing/subst.cmx typing/path.cmx \ - utils/misc.cmx parsing/longident.cmx parsing/location.cmx \ - typing/ident.cmx typing/env.cmx utils/clflags.cmx typing/btype.cmx \ - parsing/asttypes.cmi typing/ctype.cmi -typing/datarepr.cmo : typing/types.cmi typing/path.cmi parsing/location.cmi \ - typing/ident.cmi typing/btype.cmi parsing/asttypes.cmi \ - typing/datarepr.cmi -typing/datarepr.cmx : typing/types.cmx typing/path.cmx parsing/location.cmx \ - typing/ident.cmx typing/btype.cmx parsing/asttypes.cmi \ - typing/datarepr.cmi -typing/env.cmo : utils/warnings.cmi typing/types.cmi utils/tbl.cmi \ - typing/subst.cmi typing/predef.cmi typing/path.cmi utils/misc.cmi \ - parsing/longident.cmi parsing/location.cmi typing/ident.cmi \ - typing/datarepr.cmi utils/consistbl.cmi utils/config.cmi \ - typing/cmi_format.cmi utils/clflags.cmi typing/btype.cmi \ - parsing/asttypes.cmi typing/env.cmi -typing/env.cmx : utils/warnings.cmx typing/types.cmx utils/tbl.cmx \ - typing/subst.cmx typing/predef.cmx typing/path.cmx utils/misc.cmx \ - parsing/longident.cmx parsing/location.cmx typing/ident.cmx \ - typing/datarepr.cmx utils/consistbl.cmx utils/config.cmx \ - typing/cmi_format.cmx utils/clflags.cmx typing/btype.cmx \ - parsing/asttypes.cmi typing/env.cmi -typing/envaux.cmo : typing/types.cmi typing/subst.cmi typing/printtyp.cmi \ - typing/path.cmi utils/misc.cmi typing/ident.cmi typing/env.cmi \ - parsing/asttypes.cmi typing/envaux.cmi -typing/envaux.cmx : typing/types.cmx typing/subst.cmx typing/printtyp.cmx \ - typing/path.cmx utils/misc.cmx typing/ident.cmx typing/env.cmx \ - parsing/asttypes.cmi typing/envaux.cmi -typing/ident.cmo : typing/ident.cmi -typing/ident.cmx : typing/ident.cmi -typing/includeclass.cmo : typing/types.cmi typing/printtyp.cmi \ - typing/ctype.cmi typing/includeclass.cmi -typing/includeclass.cmx : typing/types.cmx typing/printtyp.cmx \ - typing/ctype.cmx typing/includeclass.cmi -typing/includecore.cmo : typing/types.cmi typing/typedtree.cmi \ - typing/predef.cmi typing/path.cmi utils/misc.cmi typing/ident.cmi \ - typing/env.cmi typing/ctype.cmi typing/btype.cmi parsing/asttypes.cmi \ - typing/includecore.cmi -typing/includecore.cmx : typing/types.cmx typing/typedtree.cmx \ - typing/predef.cmx typing/path.cmx utils/misc.cmx typing/ident.cmx \ - typing/env.cmx typing/ctype.cmx typing/btype.cmx parsing/asttypes.cmi \ - typing/includecore.cmi -typing/includemod.cmo : typing/types.cmi typing/typedtree.cmi utils/tbl.cmi \ - typing/subst.cmi typing/printtyp.cmi typing/primitive.cmi typing/path.cmi \ - typing/mtype.cmi utils/misc.cmi parsing/location.cmi \ - typing/includecore.cmi typing/includeclass.cmi typing/ident.cmi \ - typing/env.cmi typing/ctype.cmi typing/cmt_format.cmi utils/clflags.cmi \ - typing/includemod.cmi -typing/includemod.cmx : typing/types.cmx typing/typedtree.cmx utils/tbl.cmx \ - typing/subst.cmx typing/printtyp.cmx typing/primitive.cmx typing/path.cmx \ - typing/mtype.cmx utils/misc.cmx parsing/location.cmx \ - typing/includecore.cmx typing/includeclass.cmx typing/ident.cmx \ - typing/env.cmx typing/ctype.cmx typing/cmt_format.cmx utils/clflags.cmx \ - typing/includemod.cmi -typing/mtype.cmo : typing/types.cmi typing/subst.cmi typing/path.cmi \ - utils/misc.cmi parsing/location.cmi typing/ident.cmi typing/env.cmi \ - typing/ctype.cmi utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi \ - typing/mtype.cmi -typing/mtype.cmx : typing/types.cmx typing/subst.cmx typing/path.cmx \ - utils/misc.cmx parsing/location.cmx typing/ident.cmx typing/env.cmx \ - typing/ctype.cmx utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi \ - typing/mtype.cmi -typing/oprint.cmo : typing/outcometree.cmi parsing/asttypes.cmi \ - typing/oprint.cmi -typing/oprint.cmx : typing/outcometree.cmi parsing/asttypes.cmi \ - typing/oprint.cmi -typing/parmatch.cmo : utils/warnings.cmi typing/types.cmi \ - typing/typedtree.cmi typing/subst.cmi typing/predef.cmi typing/path.cmi \ - parsing/parsetree.cmi utils/misc.cmi parsing/longident.cmi \ - parsing/location.cmi typing/ident.cmi typing/env.cmi typing/ctype.cmi \ - typing/btype.cmi parsing/asttypes.cmi parsing/ast_helper.cmi \ - typing/parmatch.cmi -typing/parmatch.cmx : utils/warnings.cmx typing/types.cmx \ - typing/typedtree.cmx typing/subst.cmx typing/predef.cmx typing/path.cmx \ - parsing/parsetree.cmi utils/misc.cmx parsing/longident.cmx \ - parsing/location.cmx typing/ident.cmx typing/env.cmx typing/ctype.cmx \ - typing/btype.cmx parsing/asttypes.cmi parsing/ast_helper.cmx \ - typing/parmatch.cmi -typing/path.cmo : typing/ident.cmi typing/path.cmi -typing/path.cmx : typing/ident.cmx typing/path.cmi -typing/predef.cmo : typing/types.cmi typing/path.cmi parsing/location.cmi \ - typing/ident.cmi typing/btype.cmi parsing/asttypes.cmi typing/predef.cmi -typing/predef.cmx : typing/types.cmx typing/path.cmx parsing/location.cmx \ - typing/ident.cmx typing/btype.cmx parsing/asttypes.cmi typing/predef.cmi -typing/primitive.cmo : utils/misc.cmi typing/primitive.cmi -typing/primitive.cmx : utils/misc.cmx typing/primitive.cmi -typing/printtyp.cmo : typing/types.cmi typing/primitive.cmi \ - typing/predef.cmi typing/path.cmi typing/outcometree.cmi \ - typing/oprint.cmi utils/misc.cmi parsing/longident.cmi \ - parsing/location.cmi typing/ident.cmi typing/env.cmi typing/ctype.cmi \ - utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi \ - typing/printtyp.cmi -typing/printtyp.cmx : typing/types.cmx typing/primitive.cmx \ - typing/predef.cmx typing/path.cmx typing/outcometree.cmi \ - typing/oprint.cmx utils/misc.cmx parsing/longident.cmx \ - parsing/location.cmx typing/ident.cmx typing/env.cmx typing/ctype.cmx \ - utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi \ - typing/printtyp.cmi -typing/printtyped.cmo : typing/typedtree.cmi parsing/printast.cmi \ - typing/path.cmi utils/misc.cmi parsing/longident.cmi parsing/location.cmi \ - typing/ident.cmi parsing/asttypes.cmi typing/printtyped.cmi -typing/printtyped.cmx : typing/typedtree.cmx parsing/printast.cmx \ - typing/path.cmx utils/misc.cmx parsing/longident.cmx parsing/location.cmx \ - typing/ident.cmx parsing/asttypes.cmi typing/printtyped.cmi -typing/stypes.cmo : typing/typedtree.cmi typing/printtyp.cmi \ - parsing/location.cmi utils/clflags.cmi typing/annot.cmi typing/stypes.cmi -typing/stypes.cmx : typing/typedtree.cmx typing/printtyp.cmx \ - parsing/location.cmx utils/clflags.cmx typing/annot.cmi typing/stypes.cmi -typing/subst.cmo : typing/types.cmi utils/tbl.cmi typing/path.cmi \ - utils/misc.cmi parsing/location.cmi typing/ident.cmi utils/clflags.cmi \ - typing/btype.cmi parsing/ast_mapper.cmi typing/subst.cmi -typing/subst.cmx : typing/types.cmx utils/tbl.cmx typing/path.cmx \ - utils/misc.cmx parsing/location.cmx typing/ident.cmx utils/clflags.cmx \ - typing/btype.cmx parsing/ast_mapper.cmx typing/subst.cmi -typing/typeclass.cmo : utils/warnings.cmi typing/typetexp.cmi \ - typing/types.cmi typing/typedtree.cmi typing/typedecl.cmi \ - typing/typecore.cmi parsing/syntaxerr.cmi typing/subst.cmi \ - typing/stypes.cmi typing/printtyp.cmi typing/predef.cmi typing/path.cmi \ - parsing/parsetree.cmi utils/misc.cmi parsing/longident.cmi \ - parsing/location.cmi typing/includeclass.cmi typing/ident.cmi \ - typing/env.cmi typing/ctype.cmi typing/cmt_format.cmi utils/clflags.cmi \ - typing/btype.cmi parsing/asttypes.cmi parsing/ast_helper.cmi \ - typing/typeclass.cmi -typing/typeclass.cmx : utils/warnings.cmx typing/typetexp.cmx \ - typing/types.cmx typing/typedtree.cmx typing/typedecl.cmx \ - typing/typecore.cmx parsing/syntaxerr.cmx typing/subst.cmx \ - typing/stypes.cmx typing/printtyp.cmx typing/predef.cmx typing/path.cmx \ - parsing/parsetree.cmi utils/misc.cmx parsing/longident.cmx \ - parsing/location.cmx typing/includeclass.cmx typing/ident.cmx \ - typing/env.cmx typing/ctype.cmx typing/cmt_format.cmx utils/clflags.cmx \ - typing/btype.cmx parsing/asttypes.cmi parsing/ast_helper.cmx \ - typing/typeclass.cmi -typing/typecore.cmo : utils/warnings.cmi typing/typetexp.cmi \ - typing/types.cmi typing/typedtree.cmi parsing/syntaxerr.cmi \ - typing/subst.cmi typing/stypes.cmi typing/printtyp.cmi \ - typing/primitive.cmi typing/predef.cmi typing/path.cmi \ - parsing/parsetree.cmi typing/parmatch.cmi typing/oprint.cmi \ - utils/misc.cmi parsing/longident.cmi parsing/location.cmi \ - typing/ident.cmi typing/env.cmi typing/ctype.cmi typing/cmt_format.cmi \ - utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi \ - parsing/ast_helper.cmi typing/annot.cmi typing/typecore.cmi -typing/typecore.cmx : utils/warnings.cmx typing/typetexp.cmx \ - typing/types.cmx typing/typedtree.cmx parsing/syntaxerr.cmx \ - typing/subst.cmx typing/stypes.cmx typing/printtyp.cmx \ - typing/primitive.cmx typing/predef.cmx typing/path.cmx \ - parsing/parsetree.cmi typing/parmatch.cmx typing/oprint.cmx \ - utils/misc.cmx parsing/longident.cmx parsing/location.cmx \ - typing/ident.cmx typing/env.cmx typing/ctype.cmx typing/cmt_format.cmx \ - utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi \ - parsing/ast_helper.cmx typing/annot.cmi typing/typecore.cmi -typing/typedecl.cmo : utils/warnings.cmi typing/typetexp.cmi \ - typing/types.cmi typing/typedtree.cmi parsing/syntaxerr.cmi \ - typing/subst.cmi typing/printtyp.cmi typing/primitive.cmi \ - typing/predef.cmi typing/path.cmi parsing/parsetree.cmi utils/misc.cmi \ - parsing/longident.cmi parsing/location.cmi typing/includecore.cmi \ - typing/ident.cmi typing/env.cmi typing/ctype.cmi utils/config.cmi \ - utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi \ - parsing/ast_helper.cmi typing/typedecl.cmi -typing/typedecl.cmx : utils/warnings.cmx typing/typetexp.cmx \ - typing/types.cmx typing/typedtree.cmx parsing/syntaxerr.cmx \ - typing/subst.cmx typing/printtyp.cmx typing/primitive.cmx \ - typing/predef.cmx typing/path.cmx parsing/parsetree.cmi utils/misc.cmx \ - parsing/longident.cmx parsing/location.cmx typing/includecore.cmx \ - typing/ident.cmx typing/env.cmx typing/ctype.cmx utils/config.cmx \ - utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi \ - parsing/ast_helper.cmx typing/typedecl.cmi -typing/typedtree.cmo : typing/types.cmi typing/primitive.cmi typing/path.cmi \ - parsing/parsetree.cmi utils/misc.cmi parsing/longident.cmi \ - parsing/location.cmi typing/ident.cmi typing/env.cmi parsing/asttypes.cmi \ - typing/typedtree.cmi -typing/typedtree.cmx : typing/types.cmx typing/primitive.cmx typing/path.cmx \ - parsing/parsetree.cmi utils/misc.cmx parsing/longident.cmx \ - parsing/location.cmx typing/ident.cmx typing/env.cmx parsing/asttypes.cmi \ - typing/typedtree.cmi -typing/typedtreeIter.cmo : typing/typedtree.cmi utils/misc.cmi \ - parsing/asttypes.cmi typing/typedtreeIter.cmi -typing/typedtreeIter.cmx : typing/typedtree.cmx utils/misc.cmx \ - parsing/asttypes.cmi typing/typedtreeIter.cmi -typing/typedtreeMap.cmo : typing/typedtree.cmi utils/misc.cmi \ - typing/typedtreeMap.cmi -typing/typedtreeMap.cmx : typing/typedtree.cmx utils/misc.cmx \ - typing/typedtreeMap.cmi -typing/typemod.cmo : utils/warnings.cmi typing/typetexp.cmi typing/types.cmi \ - typing/typedtree.cmi typing/typedecl.cmi typing/typecore.cmi \ - typing/typeclass.cmi typing/subst.cmi typing/stypes.cmi \ - typing/printtyp.cmi typing/path.cmi parsing/parsetree.cmi \ - typing/mtype.cmi utils/misc.cmi parsing/longident.cmi \ - parsing/location.cmi typing/includemod.cmi typing/ident.cmi \ - typing/env.cmi typing/ctype.cmi utils/config.cmi typing/cmt_format.cmi \ - utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi \ - parsing/ast_mapper.cmi typing/annot.cmi typing/typemod.cmi -typing/typemod.cmx : utils/warnings.cmx typing/typetexp.cmx typing/types.cmx \ - typing/typedtree.cmx typing/typedecl.cmx typing/typecore.cmx \ - typing/typeclass.cmx typing/subst.cmx typing/stypes.cmx \ - typing/printtyp.cmx typing/path.cmx parsing/parsetree.cmi \ - typing/mtype.cmx utils/misc.cmx parsing/longident.cmx \ - parsing/location.cmx typing/includemod.cmx typing/ident.cmx \ - typing/env.cmx typing/ctype.cmx utils/config.cmx typing/cmt_format.cmx \ - utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi \ - parsing/ast_mapper.cmx typing/annot.cmi typing/typemod.cmi -typing/types.cmo : typing/primitive.cmi typing/path.cmi \ - parsing/parsetree.cmi parsing/longident.cmi parsing/location.cmi \ - typing/ident.cmi parsing/asttypes.cmi typing/types.cmi -typing/types.cmx : typing/primitive.cmx typing/path.cmx \ - parsing/parsetree.cmi parsing/longident.cmx parsing/location.cmx \ - typing/ident.cmx parsing/asttypes.cmi typing/types.cmi -typing/typetexp.cmo : utils/warnings.cmi typing/types.cmi \ - typing/typedtree.cmi utils/tbl.cmi parsing/syntaxerr.cmi \ - typing/printtyp.cmi typing/path.cmi parsing/parsetree.cmi utils/misc.cmi \ - parsing/longident.cmi parsing/location.cmi typing/env.cmi \ - typing/ctype.cmi utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi \ - parsing/ast_mapper.cmi parsing/ast_helper.cmi typing/typetexp.cmi -typing/typetexp.cmx : utils/warnings.cmx typing/types.cmx \ - typing/typedtree.cmx utils/tbl.cmx parsing/syntaxerr.cmx \ - typing/printtyp.cmx typing/path.cmx parsing/parsetree.cmi utils/misc.cmx \ - parsing/longident.cmx parsing/location.cmx typing/env.cmx \ - typing/ctype.cmx utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi \ - parsing/ast_mapper.cmx parsing/ast_helper.cmx typing/typetexp.cmi -bytecomp/bytegen.cmi : bytecomp/lambda.cmi bytecomp/instruct.cmi -bytecomp/bytelibrarian.cmi : -bytecomp/bytelink.cmi : bytecomp/symtable.cmi bytecomp/cmo_format.cmi -bytecomp/bytepackager.cmi : typing/ident.cmi typing/env.cmi -bytecomp/bytesections.cmi : -bytecomp/cmo_format.cmi : bytecomp/lambda.cmi typing/ident.cmi -bytecomp/dll.cmi : -bytecomp/emitcode.cmi : bytecomp/instruct.cmi bytecomp/cmo_format.cmi -bytecomp/instruct.cmi : typing/types.cmi typing/subst.cmi \ - parsing/location.cmi bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi -bytecomp/lambda.cmi : typing/types.cmi typing/primitive.cmi typing/path.cmi \ - parsing/location.cmi typing/ident.cmi typing/env.cmi parsing/asttypes.cmi -bytecomp/matching.cmi : typing/typedtree.cmi parsing/location.cmi \ - bytecomp/lambda.cmi typing/ident.cmi -bytecomp/meta.cmi : -bytecomp/printinstr.cmi : bytecomp/instruct.cmi -bytecomp/printlambda.cmi : typing/types.cmi bytecomp/lambda.cmi \ - typing/env.cmi -bytecomp/runtimedef.cmi : -bytecomp/simplif.cmi : bytecomp/lambda.cmi -bytecomp/switch.cmi : -bytecomp/symtable.cmi : utils/misc.cmi typing/ident.cmi \ - bytecomp/cmo_format.cmi -bytecomp/translclass.cmi : typing/typedtree.cmi parsing/location.cmi \ - bytecomp/lambda.cmi typing/ident.cmi parsing/asttypes.cmi -bytecomp/translcore.cmi : typing/typedtree.cmi typing/primitive.cmi \ - typing/path.cmi parsing/location.cmi bytecomp/lambda.cmi typing/ident.cmi \ - parsing/asttypes.cmi -bytecomp/translmod.cmi : typing/typedtree.cmi typing/primitive.cmi \ - parsing/location.cmi bytecomp/lambda.cmi typing/ident.cmi -bytecomp/translobj.cmi : bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi -bytecomp/typeopt.cmi : typing/typedtree.cmi typing/path.cmi \ - bytecomp/lambda.cmi -bytecomp/bytegen.cmo : typing/types.cmi bytecomp/switch.cmi typing/subst.cmi \ - typing/primitive.cmi utils/misc.cmi bytecomp/matching.cmi \ - bytecomp/lambda.cmi bytecomp/instruct.cmi typing/ident.cmi \ - utils/config.cmi parsing/asttypes.cmi bytecomp/bytegen.cmi -bytecomp/bytegen.cmx : typing/types.cmx bytecomp/switch.cmx typing/subst.cmx \ - typing/primitive.cmx utils/misc.cmx bytecomp/matching.cmx \ - bytecomp/lambda.cmx bytecomp/instruct.cmx typing/ident.cmx \ - utils/config.cmx parsing/asttypes.cmi bytecomp/bytegen.cmi -bytecomp/bytelibrarian.cmo : utils/misc.cmi parsing/location.cmi \ - utils/config.cmi bytecomp/cmo_format.cmi utils/clflags.cmi \ - bytecomp/bytelink.cmi bytecomp/bytelibrarian.cmi -bytecomp/bytelibrarian.cmx : utils/misc.cmx parsing/location.cmx \ - utils/config.cmx bytecomp/cmo_format.cmi utils/clflags.cmx \ - bytecomp/bytelink.cmx bytecomp/bytelibrarian.cmi -bytecomp/bytelink.cmo : utils/warnings.cmi bytecomp/symtable.cmi \ - bytecomp/opcodes.cmo utils/misc.cmi parsing/location.cmi \ - bytecomp/instruct.cmi typing/ident.cmi bytecomp/dll.cmi \ - utils/consistbl.cmi utils/config.cmi bytecomp/cmo_format.cmi \ - utils/clflags.cmi utils/ccomp.cmi bytecomp/bytesections.cmi \ - bytecomp/bytelink.cmi -bytecomp/bytelink.cmx : utils/warnings.cmx bytecomp/symtable.cmx \ - bytecomp/opcodes.cmx utils/misc.cmx parsing/location.cmx \ - bytecomp/instruct.cmx typing/ident.cmx bytecomp/dll.cmx \ - utils/consistbl.cmx utils/config.cmx bytecomp/cmo_format.cmi \ - utils/clflags.cmx utils/ccomp.cmx bytecomp/bytesections.cmx \ - bytecomp/bytelink.cmi -bytecomp/bytepackager.cmo : typing/typemod.cmi bytecomp/translmod.cmi \ - typing/subst.cmi bytecomp/printlambda.cmi typing/path.cmi utils/misc.cmi \ - parsing/location.cmi bytecomp/instruct.cmi typing/ident.cmi \ - typing/env.cmi bytecomp/emitcode.cmi utils/config.cmi \ - bytecomp/cmo_format.cmi utils/clflags.cmi bytecomp/bytelink.cmi \ - bytecomp/bytegen.cmi bytecomp/bytepackager.cmi -bytecomp/bytepackager.cmx : typing/typemod.cmx bytecomp/translmod.cmx \ - typing/subst.cmx bytecomp/printlambda.cmx typing/path.cmx utils/misc.cmx \ - parsing/location.cmx bytecomp/instruct.cmx typing/ident.cmx \ - typing/env.cmx bytecomp/emitcode.cmx utils/config.cmx \ - bytecomp/cmo_format.cmi utils/clflags.cmx bytecomp/bytelink.cmx \ - bytecomp/bytegen.cmx bytecomp/bytepackager.cmi -bytecomp/bytesections.cmo : utils/config.cmi bytecomp/bytesections.cmi -bytecomp/bytesections.cmx : utils/config.cmx bytecomp/bytesections.cmi -bytecomp/dll.cmo : utils/misc.cmi utils/config.cmi bytecomp/dll.cmi -bytecomp/dll.cmx : utils/misc.cmx utils/config.cmx bytecomp/dll.cmi -bytecomp/emitcode.cmo : bytecomp/translmod.cmi typing/primitive.cmi \ - bytecomp/opcodes.cmo utils/misc.cmi bytecomp/meta.cmi \ - parsing/location.cmi bytecomp/lambda.cmi bytecomp/instruct.cmi \ - typing/env.cmi utils/config.cmi bytecomp/cmo_format.cmi utils/clflags.cmi \ - typing/btype.cmi parsing/asttypes.cmi bytecomp/emitcode.cmi -bytecomp/emitcode.cmx : bytecomp/translmod.cmx typing/primitive.cmx \ - bytecomp/opcodes.cmx utils/misc.cmx bytecomp/meta.cmx \ - parsing/location.cmx bytecomp/lambda.cmx bytecomp/instruct.cmx \ - typing/env.cmx utils/config.cmx bytecomp/cmo_format.cmi utils/clflags.cmx \ - typing/btype.cmx parsing/asttypes.cmi bytecomp/emitcode.cmi -bytecomp/instruct.cmo : typing/types.cmi typing/subst.cmi \ - parsing/location.cmi bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi \ - bytecomp/instruct.cmi -bytecomp/instruct.cmx : typing/types.cmx typing/subst.cmx \ - parsing/location.cmx bytecomp/lambda.cmx typing/ident.cmx typing/env.cmx \ - bytecomp/instruct.cmi -bytecomp/lambda.cmo : typing/types.cmi typing/primitive.cmi typing/path.cmi \ - utils/misc.cmi parsing/location.cmi typing/ident.cmi typing/env.cmi \ - parsing/asttypes.cmi bytecomp/lambda.cmi -bytecomp/lambda.cmx : typing/types.cmx typing/primitive.cmx typing/path.cmx \ - utils/misc.cmx parsing/location.cmx typing/ident.cmx typing/env.cmx \ - parsing/asttypes.cmi bytecomp/lambda.cmi -bytecomp/matching.cmo : typing/types.cmi bytecomp/typeopt.cmi \ - typing/typedtree.cmi bytecomp/switch.cmi bytecomp/printlambda.cmi \ - typing/primitive.cmi typing/predef.cmi typing/path.cmi \ - typing/parmatch.cmi utils/misc.cmi parsing/longident.cmi \ - parsing/location.cmi bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi \ - utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi \ - bytecomp/matching.cmi -bytecomp/matching.cmx : typing/types.cmx bytecomp/typeopt.cmx \ - typing/typedtree.cmx bytecomp/switch.cmx bytecomp/printlambda.cmx \ - typing/primitive.cmx typing/predef.cmx typing/path.cmx \ - typing/parmatch.cmx utils/misc.cmx parsing/longident.cmx \ - parsing/location.cmx bytecomp/lambda.cmx typing/ident.cmx typing/env.cmx \ - utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi \ - bytecomp/matching.cmi -bytecomp/meta.cmo : bytecomp/meta.cmi -bytecomp/meta.cmx : bytecomp/meta.cmi -bytecomp/opcodes.cmo : -bytecomp/opcodes.cmx : -bytecomp/printinstr.cmo : bytecomp/printlambda.cmi parsing/location.cmi \ - bytecomp/lambda.cmi bytecomp/instruct.cmi typing/ident.cmi \ - bytecomp/printinstr.cmi -bytecomp/printinstr.cmx : bytecomp/printlambda.cmx parsing/location.cmx \ - bytecomp/lambda.cmx bytecomp/instruct.cmx typing/ident.cmx \ - bytecomp/printinstr.cmi -bytecomp/printlambda.cmo : typing/types.cmi typing/primitive.cmi \ - bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi parsing/asttypes.cmi \ - bytecomp/printlambda.cmi -bytecomp/printlambda.cmx : typing/types.cmx typing/primitive.cmx \ - bytecomp/lambda.cmx typing/ident.cmx typing/env.cmx parsing/asttypes.cmi \ - bytecomp/printlambda.cmi -bytecomp/runtimedef.cmo : bytecomp/runtimedef.cmi -bytecomp/runtimedef.cmx : bytecomp/runtimedef.cmi -bytecomp/simplif.cmo : utils/tbl.cmi typing/stypes.cmi utils/misc.cmi \ - bytecomp/lambda.cmi typing/ident.cmi utils/clflags.cmi \ - parsing/asttypes.cmi typing/annot.cmi bytecomp/simplif.cmi -bytecomp/simplif.cmx : utils/tbl.cmx typing/stypes.cmx utils/misc.cmx \ - bytecomp/lambda.cmx typing/ident.cmx utils/clflags.cmx \ - parsing/asttypes.cmi typing/annot.cmi bytecomp/simplif.cmi -bytecomp/switch.cmo : bytecomp/switch.cmi -bytecomp/switch.cmx : bytecomp/switch.cmi -bytecomp/symtable.cmo : utils/tbl.cmi bytecomp/runtimedef.cmi \ - typing/predef.cmi utils/misc.cmi bytecomp/meta.cmi parsing/location.cmi \ - bytecomp/lambda.cmi typing/ident.cmi bytecomp/dll.cmi utils/config.cmi \ - bytecomp/cmo_format.cmi utils/clflags.cmi bytecomp/bytesections.cmi \ - parsing/asttypes.cmi bytecomp/symtable.cmi -bytecomp/symtable.cmx : utils/tbl.cmx bytecomp/runtimedef.cmx \ - typing/predef.cmx utils/misc.cmx bytecomp/meta.cmx parsing/location.cmx \ - bytecomp/lambda.cmx typing/ident.cmx bytecomp/dll.cmx utils/config.cmx \ - bytecomp/cmo_format.cmi utils/clflags.cmx bytecomp/bytesections.cmx \ - parsing/asttypes.cmi bytecomp/symtable.cmi -bytecomp/translclass.cmo : typing/types.cmi bytecomp/typeopt.cmi \ - typing/typedtree.cmi bytecomp/translobj.cmi bytecomp/translcore.cmi \ - typing/path.cmi bytecomp/matching.cmi parsing/location.cmi \ - bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi utils/clflags.cmi \ - typing/btype.cmi parsing/asttypes.cmi bytecomp/translclass.cmi -bytecomp/translclass.cmx : typing/types.cmx bytecomp/typeopt.cmx \ - typing/typedtree.cmx bytecomp/translobj.cmx bytecomp/translcore.cmx \ - typing/path.cmx bytecomp/matching.cmx parsing/location.cmx \ - bytecomp/lambda.cmx typing/ident.cmx typing/env.cmx utils/clflags.cmx \ - typing/btype.cmx parsing/asttypes.cmi bytecomp/translclass.cmi -bytecomp/translcore.cmo : typing/types.cmi bytecomp/typeopt.cmi \ - typing/typedtree.cmi bytecomp/translobj.cmi typing/primitive.cmi \ - typing/predef.cmi typing/path.cmi typing/parmatch.cmi utils/misc.cmi \ - bytecomp/matching.cmi parsing/longident.cmi parsing/location.cmi \ - bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi utils/config.cmi \ - utils/clflags.cmi typing/btype.cmi parsing/asttypes.cmi \ - bytecomp/translcore.cmi -bytecomp/translcore.cmx : typing/types.cmx bytecomp/typeopt.cmx \ - typing/typedtree.cmx bytecomp/translobj.cmx typing/primitive.cmx \ - typing/predef.cmx typing/path.cmx typing/parmatch.cmx utils/misc.cmx \ - bytecomp/matching.cmx parsing/longident.cmx parsing/location.cmx \ - bytecomp/lambda.cmx typing/ident.cmx typing/env.cmx utils/config.cmx \ - utils/clflags.cmx typing/btype.cmx parsing/asttypes.cmi \ - bytecomp/translcore.cmi -bytecomp/translmod.cmo : typing/types.cmi typing/typedtree.cmi \ - bytecomp/translobj.cmi bytecomp/translcore.cmi bytecomp/translclass.cmi \ - typing/printtyp.cmi typing/primitive.cmi typing/predef.cmi \ - typing/path.cmi typing/mtype.cmi utils/misc.cmi parsing/longident.cmi \ - parsing/location.cmi bytecomp/lambda.cmi typing/ident.cmi typing/env.cmi \ - typing/ctype.cmi parsing/asttypes.cmi bytecomp/translmod.cmi -bytecomp/translmod.cmx : typing/types.cmx typing/typedtree.cmx \ - bytecomp/translobj.cmx bytecomp/translcore.cmx bytecomp/translclass.cmx \ - typing/printtyp.cmx typing/primitive.cmx typing/predef.cmx \ - typing/path.cmx typing/mtype.cmx utils/misc.cmx parsing/longident.cmx \ - parsing/location.cmx bytecomp/lambda.cmx typing/ident.cmx typing/env.cmx \ - typing/ctype.cmx parsing/asttypes.cmi bytecomp/translmod.cmi -bytecomp/translobj.cmo : typing/primitive.cmi utils/misc.cmi \ - parsing/longident.cmi parsing/location.cmi bytecomp/lambda.cmi \ - typing/ident.cmi typing/env.cmi utils/clflags.cmi typing/btype.cmi \ - parsing/asttypes.cmi bytecomp/translobj.cmi -bytecomp/translobj.cmx : typing/primitive.cmx utils/misc.cmx \ - parsing/longident.cmx parsing/location.cmx bytecomp/lambda.cmx \ - typing/ident.cmx typing/env.cmx utils/clflags.cmx typing/btype.cmx \ - parsing/asttypes.cmi bytecomp/translobj.cmi -bytecomp/typeopt.cmo : typing/types.cmi typing/typedtree.cmi \ - typing/predef.cmi typing/path.cmi bytecomp/lambda.cmi typing/ident.cmi \ - typing/env.cmi typing/ctype.cmi bytecomp/typeopt.cmi -bytecomp/typeopt.cmx : typing/types.cmx typing/typedtree.cmx \ - typing/predef.cmx typing/path.cmx bytecomp/lambda.cmx typing/ident.cmx \ - typing/env.cmx typing/ctype.cmx bytecomp/typeopt.cmi -asmcomp/CSEgen.cmi : asmcomp/mach.cmi -asmcomp/asmgen.cmi : bytecomp/lambda.cmi asmcomp/cmm.cmi -asmcomp/asmlibrarian.cmi : -asmcomp/asmlink.cmi : asmcomp/cmx_format.cmi -asmcomp/asmpackager.cmi : typing/env.cmi -asmcomp/branch_relaxation.cmi : asmcomp/linearize.cmi \ - asmcomp/branch_relaxation_intf.cmo -asmcomp/clambda.cmi : bytecomp/lambda.cmi typing/ident.cmi \ - asmcomp/debuginfo.cmi parsing/asttypes.cmi -asmcomp/closure.cmi : bytecomp/lambda.cmi asmcomp/clambda.cmi -asmcomp/cmm.cmi : bytecomp/lambda.cmi typing/ident.cmi asmcomp/debuginfo.cmi -asmcomp/cmmgen.cmi : asmcomp/cmx_format.cmi asmcomp/cmm.cmi \ - asmcomp/clambda.cmi -asmcomp/cmx_format.cmi : asmcomp/clambda.cmi -asmcomp/codegen.cmi : asmcomp/cmm.cmi -asmcomp/coloring.cmi : -asmcomp/comballoc.cmi : asmcomp/mach.cmi -asmcomp/compilenv.cmi : typing/ident.cmi asmcomp/cmx_format.cmi \ - asmcomp/clambda.cmi -asmcomp/deadcode.cmi : asmcomp/mach.cmi -asmcomp/debuginfo.cmi : parsing/location.cmi bytecomp/lambda.cmi -asmcomp/emit.cmi : asmcomp/linearize.cmi asmcomp/cmm.cmi -asmcomp/emitaux.cmi : asmcomp/debuginfo.cmi -asmcomp/interf.cmi : asmcomp/mach.cmi -asmcomp/linearize.cmi : asmcomp/reg.cmi asmcomp/mach.cmi bytecomp/lambda.cmi \ - asmcomp/debuginfo.cmi -asmcomp/liveness.cmi : asmcomp/mach.cmi -asmcomp/mach.cmi : asmcomp/reg.cmi bytecomp/lambda.cmi asmcomp/debuginfo.cmi \ - asmcomp/cmm.cmi asmcomp/arch.cmo -asmcomp/printclambda.cmi : asmcomp/clambda.cmi -asmcomp/printcmm.cmi : asmcomp/cmm.cmi -asmcomp/printlinear.cmi : asmcomp/linearize.cmi -asmcomp/printmach.cmi : asmcomp/reg.cmi asmcomp/mach.cmi -asmcomp/proc.cmi : asmcomp/reg.cmi asmcomp/mach.cmi -asmcomp/reg.cmi : typing/ident.cmi asmcomp/cmm.cmi -asmcomp/reload.cmi : asmcomp/mach.cmi -asmcomp/reloadgen.cmi : asmcomp/reg.cmi asmcomp/mach.cmi -asmcomp/schedgen.cmi : asmcomp/mach.cmi asmcomp/linearize.cmi -asmcomp/scheduling.cmi : asmcomp/linearize.cmi -asmcomp/selectgen.cmi : utils/tbl.cmi asmcomp/reg.cmi asmcomp/mach.cmi \ - typing/ident.cmi asmcomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/arch.cmo -asmcomp/selection.cmi : asmcomp/mach.cmi asmcomp/cmm.cmi -asmcomp/spill.cmi : asmcomp/mach.cmi -asmcomp/split.cmi : asmcomp/mach.cmi -asmcomp/strmatch.cmi : asmcomp/cmm.cmi -asmcomp/CSE.cmo : asmcomp/mach.cmi asmcomp/CSEgen.cmi asmcomp/arch.cmo -asmcomp/CSE.cmx : asmcomp/mach.cmx asmcomp/CSEgen.cmx asmcomp/arch.cmx -asmcomp/CSEgen.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \ - asmcomp/CSEgen.cmi -asmcomp/CSEgen.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/mach.cmx \ - asmcomp/CSEgen.cmi -asmcomp/arch.cmo : -asmcomp/arch.cmx : -asmcomp/asmgen.cmo : bytecomp/translmod.cmi asmcomp/split.cmi \ - asmcomp/spill.cmi asmcomp/selection.cmi asmcomp/scheduling.cmi \ - asmcomp/reload.cmi asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/printmach.cmi \ - asmcomp/printlinear.cmi asmcomp/printcmm.cmi asmcomp/printclambda.cmi \ - typing/primitive.cmi utils/misc.cmi asmcomp/mach.cmi parsing/location.cmi \ - asmcomp/liveness.cmi asmcomp/linearize.cmi asmcomp/interf.cmi \ - asmcomp/emitaux.cmi asmcomp/emit.cmi asmcomp/deadcode.cmi \ - utils/config.cmi asmcomp/compilenv.cmi asmcomp/comballoc.cmi \ - asmcomp/coloring.cmi asmcomp/cmmgen.cmi asmcomp/cmm.cmi \ - asmcomp/closure.cmi utils/clflags.cmi asmcomp/CSE.cmo asmcomp/asmgen.cmi -asmcomp/asmgen.cmx : bytecomp/translmod.cmx asmcomp/split.cmx \ - asmcomp/spill.cmx asmcomp/selection.cmx asmcomp/scheduling.cmx \ - asmcomp/reload.cmx asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/printmach.cmx \ - asmcomp/printlinear.cmx asmcomp/printcmm.cmx asmcomp/printclambda.cmx \ - typing/primitive.cmx utils/misc.cmx asmcomp/mach.cmx parsing/location.cmx \ - asmcomp/liveness.cmx asmcomp/linearize.cmx asmcomp/interf.cmx \ - asmcomp/emitaux.cmx asmcomp/emit.cmx asmcomp/deadcode.cmx \ - utils/config.cmx asmcomp/compilenv.cmx asmcomp/comballoc.cmx \ - asmcomp/coloring.cmx asmcomp/cmmgen.cmx asmcomp/cmm.cmx \ - asmcomp/closure.cmx utils/clflags.cmx asmcomp/CSE.cmx asmcomp/asmgen.cmi -asmcomp/asmlibrarian.cmo : utils/misc.cmi parsing/location.cmi \ - utils/config.cmi asmcomp/compilenv.cmi asmcomp/cmx_format.cmi \ - utils/clflags.cmi asmcomp/clambda.cmi utils/ccomp.cmi asmcomp/asmlink.cmi \ - asmcomp/asmlibrarian.cmi -asmcomp/asmlibrarian.cmx : utils/misc.cmx parsing/location.cmx \ - utils/config.cmx asmcomp/compilenv.cmx asmcomp/cmx_format.cmi \ - utils/clflags.cmx asmcomp/clambda.cmx utils/ccomp.cmx asmcomp/asmlink.cmx \ - asmcomp/asmlibrarian.cmi -asmcomp/asmlink.cmo : bytecomp/runtimedef.cmi asmcomp/proc.cmi \ - utils/misc.cmi parsing/location.cmi asmcomp/emitaux.cmi asmcomp/emit.cmi \ - utils/consistbl.cmi utils/config.cmi asmcomp/compilenv.cmi \ - asmcomp/cmx_format.cmi asmcomp/cmmgen.cmi utils/clflags.cmi \ - utils/ccomp.cmi asmcomp/asmgen.cmi asmcomp/asmlink.cmi -asmcomp/asmlink.cmx : bytecomp/runtimedef.cmx asmcomp/proc.cmx \ - utils/misc.cmx parsing/location.cmx asmcomp/emitaux.cmx asmcomp/emit.cmx \ - utils/consistbl.cmx utils/config.cmx asmcomp/compilenv.cmx \ - asmcomp/cmx_format.cmi asmcomp/cmmgen.cmx utils/clflags.cmx \ - utils/ccomp.cmx asmcomp/asmgen.cmx asmcomp/asmlink.cmi -asmcomp/asmpackager.cmo : typing/typemod.cmi bytecomp/translmod.cmi \ - utils/misc.cmi parsing/location.cmi typing/ident.cmi typing/env.cmi \ - utils/config.cmi asmcomp/compilenv.cmi asmcomp/cmx_format.cmi \ - utils/clflags.cmi utils/ccomp.cmi asmcomp/asmlink.cmi asmcomp/asmgen.cmi \ - asmcomp/asmpackager.cmi -asmcomp/asmpackager.cmx : typing/typemod.cmx bytecomp/translmod.cmx \ - utils/misc.cmx parsing/location.cmx typing/ident.cmx typing/env.cmx \ - utils/config.cmx asmcomp/compilenv.cmx asmcomp/cmx_format.cmi \ - utils/clflags.cmx utils/ccomp.cmx asmcomp/asmlink.cmx asmcomp/asmgen.cmx \ - asmcomp/asmpackager.cmi -asmcomp/branch_relaxation.cmo : utils/misc.cmi asmcomp/mach.cmi \ - asmcomp/linearize.cmi asmcomp/cmm.cmi asmcomp/branch_relaxation_intf.cmo \ - asmcomp/branch_relaxation.cmi -asmcomp/branch_relaxation.cmx : utils/misc.cmx asmcomp/mach.cmx \ - asmcomp/linearize.cmx asmcomp/cmm.cmx asmcomp/branch_relaxation_intf.cmx \ - asmcomp/branch_relaxation.cmi -asmcomp/branch_relaxation_intf.cmo : asmcomp/linearize.cmi asmcomp/arch.cmo -asmcomp/branch_relaxation_intf.cmx : asmcomp/linearize.cmx asmcomp/arch.cmx -asmcomp/clambda.cmo : bytecomp/lambda.cmi typing/ident.cmi \ - asmcomp/debuginfo.cmi parsing/asttypes.cmi asmcomp/clambda.cmi -asmcomp/clambda.cmx : bytecomp/lambda.cmx typing/ident.cmx \ - asmcomp/debuginfo.cmx parsing/asttypes.cmi asmcomp/clambda.cmi -asmcomp/closure.cmo : utils/tbl.cmi bytecomp/switch.cmi typing/primitive.cmi \ - utils/misc.cmi parsing/location.cmi bytecomp/lambda.cmi typing/ident.cmi \ - asmcomp/debuginfo.cmi asmcomp/compilenv.cmi utils/clflags.cmi \ - asmcomp/clambda.cmi parsing/asttypes.cmi asmcomp/arch.cmo \ - asmcomp/closure.cmi -asmcomp/closure.cmx : utils/tbl.cmx bytecomp/switch.cmx typing/primitive.cmx \ - utils/misc.cmx parsing/location.cmx bytecomp/lambda.cmx typing/ident.cmx \ - asmcomp/debuginfo.cmx asmcomp/compilenv.cmx utils/clflags.cmx \ - asmcomp/clambda.cmx parsing/asttypes.cmi asmcomp/arch.cmx \ - asmcomp/closure.cmi -asmcomp/cmm.cmo : bytecomp/lambda.cmi typing/ident.cmi asmcomp/debuginfo.cmi \ - asmcomp/arch.cmo asmcomp/cmm.cmi -asmcomp/cmm.cmx : bytecomp/lambda.cmx typing/ident.cmx asmcomp/debuginfo.cmx \ - asmcomp/arch.cmx asmcomp/cmm.cmi -asmcomp/cmmgen.cmo : typing/types.cmi bytecomp/switch.cmi \ - asmcomp/strmatch.cmi asmcomp/proc.cmi typing/primitive.cmi utils/misc.cmi \ - bytecomp/lambda.cmi typing/ident.cmi asmcomp/debuginfo.cmi \ - utils/config.cmi asmcomp/compilenv.cmi asmcomp/cmx_format.cmi \ - asmcomp/cmm.cmi utils/clflags.cmi asmcomp/clambda.cmi \ - parsing/asttypes.cmi asmcomp/arch.cmo asmcomp/cmmgen.cmi -asmcomp/cmmgen.cmx : typing/types.cmx bytecomp/switch.cmx \ - asmcomp/strmatch.cmx asmcomp/proc.cmx typing/primitive.cmx utils/misc.cmx \ - bytecomp/lambda.cmx typing/ident.cmx asmcomp/debuginfo.cmx \ - utils/config.cmx asmcomp/compilenv.cmx asmcomp/cmx_format.cmi \ - asmcomp/cmm.cmx utils/clflags.cmx asmcomp/clambda.cmx \ - parsing/asttypes.cmi asmcomp/arch.cmx asmcomp/cmmgen.cmi -asmcomp/codegen.cmo : asmcomp/split.cmi asmcomp/spill.cmi asmcomp/reload.cmi \ - asmcomp/reg.cmi asmcomp/printmach.cmi asmcomp/printlinear.cmi \ - asmcomp/printcmm.cmi asmcomp/liveness.cmi asmcomp/linearize.cmi \ - asmcomp/interf.cmi asmcomp/emit.cmi asmcomp/coloring.cmi asmcomp/cmm.cmi \ - asmcomp/codegen.cmi -asmcomp/codegen.cmx : asmcomp/split.cmx asmcomp/spill.cmx asmcomp/reload.cmx \ - asmcomp/reg.cmx asmcomp/printmach.cmx asmcomp/printlinear.cmx \ - asmcomp/printcmm.cmx asmcomp/liveness.cmx asmcomp/linearize.cmx \ - asmcomp/interf.cmx asmcomp/emit.cmx asmcomp/coloring.cmx asmcomp/cmm.cmx \ - asmcomp/codegen.cmi -asmcomp/coloring.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/coloring.cmi -asmcomp/coloring.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/coloring.cmi -asmcomp/comballoc.cmo : asmcomp/reg.cmi asmcomp/mach.cmi utils/config.cmi \ - asmcomp/arch.cmo asmcomp/comballoc.cmi -asmcomp/comballoc.cmx : asmcomp/reg.cmx asmcomp/mach.cmx utils/config.cmx \ - asmcomp/arch.cmx asmcomp/comballoc.cmi -asmcomp/compilenv.cmo : utils/misc.cmi parsing/location.cmi typing/ident.cmi \ - typing/env.cmi utils/config.cmi asmcomp/cmx_format.cmi \ - asmcomp/clambda.cmi asmcomp/compilenv.cmi -asmcomp/compilenv.cmx : utils/misc.cmx parsing/location.cmx typing/ident.cmx \ - typing/env.cmx utils/config.cmx asmcomp/cmx_format.cmi \ - asmcomp/clambda.cmx asmcomp/compilenv.cmi -asmcomp/deadcode.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \ - asmcomp/deadcode.cmi -asmcomp/deadcode.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/mach.cmx \ - asmcomp/deadcode.cmi -asmcomp/debuginfo.cmo : parsing/location.cmi bytecomp/lambda.cmi \ - asmcomp/debuginfo.cmi -asmcomp/debuginfo.cmx : parsing/location.cmx bytecomp/lambda.cmx \ - asmcomp/debuginfo.cmi -asmcomp/emit.cmo : asmcomp/reg.cmi asmcomp/proc.cmi utils/misc.cmi \ - asmcomp/mach.cmi asmcomp/linearize.cmi bytecomp/lambda.cmi \ - asmcomp/emitaux.cmi asmcomp/debuginfo.cmi utils/config.cmi \ - asmcomp/compilenv.cmi asmcomp/cmm.cmi utils/clflags.cmi \ - asmcomp/branch_relaxation.cmi asmcomp/arch.cmo asmcomp/emit.cmi -asmcomp/emit.cmx : asmcomp/reg.cmx asmcomp/proc.cmx utils/misc.cmx \ - asmcomp/mach.cmx asmcomp/linearize.cmx bytecomp/lambda.cmx \ - asmcomp/emitaux.cmx asmcomp/debuginfo.cmx utils/config.cmx \ - asmcomp/compilenv.cmx asmcomp/cmm.cmx utils/clflags.cmx \ - asmcomp/branch_relaxation.cmx asmcomp/arch.cmx asmcomp/emit.cmi -asmcomp/emitaux.cmo : asmcomp/linearize.cmi asmcomp/debuginfo.cmi \ - utils/config.cmi utils/clflags.cmi asmcomp/arch.cmo asmcomp/emitaux.cmi -asmcomp/emitaux.cmx : asmcomp/linearize.cmx asmcomp/debuginfo.cmx \ - utils/config.cmx utils/clflags.cmx asmcomp/arch.cmx asmcomp/emitaux.cmi -asmcomp/interf.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \ - asmcomp/interf.cmi -asmcomp/interf.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/mach.cmx \ - asmcomp/interf.cmi -asmcomp/linearize.cmo : asmcomp/reg.cmi asmcomp/proc.cmi utils/misc.cmi \ - asmcomp/mach.cmi bytecomp/lambda.cmi asmcomp/debuginfo.cmi \ - asmcomp/cmm.cmi asmcomp/linearize.cmi -asmcomp/linearize.cmx : asmcomp/reg.cmx asmcomp/proc.cmx utils/misc.cmx \ - asmcomp/mach.cmx bytecomp/lambda.cmx asmcomp/debuginfo.cmx \ - asmcomp/cmm.cmx asmcomp/linearize.cmi -asmcomp/liveness.cmo : asmcomp/reg.cmi asmcomp/proc.cmi \ - asmcomp/printmach.cmi utils/misc.cmi asmcomp/mach.cmi \ - asmcomp/liveness.cmi -asmcomp/liveness.cmx : asmcomp/reg.cmx asmcomp/proc.cmx \ - asmcomp/printmach.cmx utils/misc.cmx asmcomp/mach.cmx \ - asmcomp/liveness.cmi -asmcomp/mach.cmo : asmcomp/reg.cmi bytecomp/lambda.cmi asmcomp/debuginfo.cmi \ - asmcomp/cmm.cmi asmcomp/arch.cmo asmcomp/mach.cmi -asmcomp/mach.cmx : asmcomp/reg.cmx bytecomp/lambda.cmx asmcomp/debuginfo.cmx \ - asmcomp/cmm.cmx asmcomp/arch.cmx asmcomp/mach.cmi -asmcomp/printclambda.cmo : bytecomp/printlambda.cmi bytecomp/lambda.cmi \ - typing/ident.cmi asmcomp/clambda.cmi parsing/asttypes.cmi \ - asmcomp/printclambda.cmi -asmcomp/printclambda.cmx : bytecomp/printlambda.cmx bytecomp/lambda.cmx \ - typing/ident.cmx asmcomp/clambda.cmx parsing/asttypes.cmi \ - asmcomp/printclambda.cmi -asmcomp/printcmm.cmo : bytecomp/lambda.cmi typing/ident.cmi \ - asmcomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/printcmm.cmi -asmcomp/printcmm.cmx : bytecomp/lambda.cmx typing/ident.cmx \ - asmcomp/debuginfo.cmx asmcomp/cmm.cmx asmcomp/printcmm.cmi -asmcomp/printlinear.cmo : asmcomp/printmach.cmi asmcomp/mach.cmi \ - asmcomp/linearize.cmi bytecomp/lambda.cmi asmcomp/debuginfo.cmi \ - asmcomp/printlinear.cmi -asmcomp/printlinear.cmx : asmcomp/printmach.cmx asmcomp/mach.cmx \ - asmcomp/linearize.cmx bytecomp/lambda.cmx asmcomp/debuginfo.cmx \ - asmcomp/printlinear.cmi -asmcomp/printmach.cmo : asmcomp/reg.cmi asmcomp/proc.cmi \ - asmcomp/printcmm.cmi asmcomp/mach.cmi bytecomp/lambda.cmi \ - asmcomp/debuginfo.cmi asmcomp/cmm.cmi asmcomp/arch.cmo \ - asmcomp/printmach.cmi -asmcomp/printmach.cmx : asmcomp/reg.cmx asmcomp/proc.cmx \ - asmcomp/printcmm.cmx asmcomp/mach.cmx bytecomp/lambda.cmx \ - asmcomp/debuginfo.cmx asmcomp/cmm.cmx asmcomp/arch.cmx \ - asmcomp/printmach.cmi -asmcomp/proc.cmo : asmcomp/reg.cmi utils/misc.cmi asmcomp/mach.cmi \ - utils/config.cmi asmcomp/cmm.cmi utils/clflags.cmi utils/ccomp.cmi \ - asmcomp/arch.cmo asmcomp/proc.cmi -asmcomp/proc.cmx : asmcomp/reg.cmx utils/misc.cmx asmcomp/mach.cmx \ - utils/config.cmx asmcomp/cmm.cmx utils/clflags.cmx utils/ccomp.cmx \ - asmcomp/arch.cmx asmcomp/proc.cmi -asmcomp/reg.cmo : typing/ident.cmi asmcomp/cmm.cmi asmcomp/reg.cmi -asmcomp/reg.cmx : typing/ident.cmx asmcomp/cmm.cmx asmcomp/reg.cmi -asmcomp/reload.cmo : asmcomp/reloadgen.cmi asmcomp/reg.cmi asmcomp/mach.cmi \ - asmcomp/cmm.cmi utils/clflags.cmi asmcomp/arch.cmo asmcomp/reload.cmi -asmcomp/reload.cmx : asmcomp/reloadgen.cmx asmcomp/reg.cmx asmcomp/mach.cmx \ - asmcomp/cmm.cmx utils/clflags.cmx asmcomp/arch.cmx asmcomp/reload.cmi -asmcomp/reloadgen.cmo : asmcomp/reg.cmi utils/misc.cmi asmcomp/mach.cmi \ - asmcomp/reloadgen.cmi -asmcomp/reloadgen.cmx : asmcomp/reg.cmx utils/misc.cmx asmcomp/mach.cmx \ - asmcomp/reloadgen.cmi -asmcomp/schedgen.cmo : asmcomp/reg.cmi asmcomp/proc.cmi asmcomp/mach.cmi \ - asmcomp/linearize.cmi asmcomp/cmm.cmi asmcomp/arch.cmo \ - asmcomp/schedgen.cmi -asmcomp/schedgen.cmx : asmcomp/reg.cmx asmcomp/proc.cmx asmcomp/mach.cmx \ - asmcomp/linearize.cmx asmcomp/cmm.cmx asmcomp/arch.cmx \ - asmcomp/schedgen.cmi -asmcomp/scheduling.cmo : asmcomp/schedgen.cmi asmcomp/scheduling.cmi -asmcomp/scheduling.cmx : asmcomp/schedgen.cmx asmcomp/scheduling.cmi -asmcomp/selectgen.cmo : utils/tbl.cmi bytecomp/simplif.cmi asmcomp/reg.cmi \ - asmcomp/proc.cmi utils/misc.cmi asmcomp/mach.cmi bytecomp/lambda.cmi \ - typing/ident.cmi asmcomp/debuginfo.cmi asmcomp/cmm.cmi utils/clflags.cmi \ - asmcomp/arch.cmo asmcomp/selectgen.cmi -asmcomp/selectgen.cmx : utils/tbl.cmx bytecomp/simplif.cmx asmcomp/reg.cmx \ - asmcomp/proc.cmx utils/misc.cmx asmcomp/mach.cmx bytecomp/lambda.cmx \ - typing/ident.cmx asmcomp/debuginfo.cmx asmcomp/cmm.cmx utils/clflags.cmx \ - asmcomp/arch.cmx asmcomp/selectgen.cmi -asmcomp/selection.cmo : asmcomp/selectgen.cmi asmcomp/proc.cmi \ - asmcomp/mach.cmi asmcomp/cmm.cmi utils/clflags.cmi asmcomp/arch.cmo \ - asmcomp/selection.cmi -asmcomp/selection.cmx : asmcomp/selectgen.cmx asmcomp/proc.cmx \ - asmcomp/mach.cmx asmcomp/cmm.cmx utils/clflags.cmx asmcomp/arch.cmx \ - asmcomp/selection.cmi -asmcomp/spill.cmo : asmcomp/reg.cmi asmcomp/proc.cmi utils/misc.cmi \ - asmcomp/mach.cmi asmcomp/spill.cmi -asmcomp/spill.cmx : asmcomp/reg.cmx asmcomp/proc.cmx utils/misc.cmx \ - asmcomp/mach.cmx asmcomp/spill.cmi -asmcomp/split.cmo : asmcomp/reg.cmi utils/misc.cmi asmcomp/mach.cmi \ - asmcomp/split.cmi -asmcomp/split.cmx : asmcomp/reg.cmx utils/misc.cmx asmcomp/mach.cmx \ - asmcomp/split.cmi -asmcomp/strmatch.cmo : bytecomp/lambda.cmi typing/ident.cmi asmcomp/cmm.cmi \ - asmcomp/arch.cmo asmcomp/strmatch.cmi -asmcomp/strmatch.cmx : bytecomp/lambda.cmx typing/ident.cmx asmcomp/cmm.cmx \ - asmcomp/arch.cmx asmcomp/strmatch.cmi -driver/compenv.cmi : -driver/compile.cmi : -driver/compmisc.cmi : typing/env.cmi -driver/errors.cmi : -driver/main.cmi : -driver/main_args.cmi : -driver/optcompile.cmi : -driver/opterrors.cmi : -driver/optmain.cmi : -driver/pparse.cmi : parsing/parsetree.cmi -driver/compenv.cmo : utils/warnings.cmi utils/misc.cmi parsing/location.cmi \ - utils/config.cmi utils/clflags.cmi driver/compenv.cmi -driver/compenv.cmx : utils/warnings.cmx utils/misc.cmx parsing/location.cmx \ - utils/config.cmx utils/clflags.cmx driver/compenv.cmi -driver/compile.cmo : utils/warnings.cmi typing/typemod.cmi \ - typing/typedtree.cmi typing/typecore.cmi bytecomp/translmod.cmi \ - typing/stypes.cmi bytecomp/simplif.cmi typing/printtyped.cmi \ - typing/printtyp.cmi bytecomp/printlambda.cmi bytecomp/printinstr.cmi \ - parsing/printast.cmi parsing/pprintast.cmi driver/pparse.cmi \ - utils/misc.cmi parsing/location.cmi typing/includemod.cmi typing/env.cmi \ - bytecomp/emitcode.cmi driver/compmisc.cmi driver/compenv.cmi \ - utils/clflags.cmi utils/ccomp.cmi bytecomp/bytegen.cmi driver/compile.cmi -driver/compile.cmx : utils/warnings.cmx typing/typemod.cmx \ - typing/typedtree.cmx typing/typecore.cmx bytecomp/translmod.cmx \ - typing/stypes.cmx bytecomp/simplif.cmx typing/printtyped.cmx \ - typing/printtyp.cmx bytecomp/printlambda.cmx bytecomp/printinstr.cmx \ - parsing/printast.cmx parsing/pprintast.cmx driver/pparse.cmx \ - utils/misc.cmx parsing/location.cmx typing/includemod.cmx typing/env.cmx \ - bytecomp/emitcode.cmx driver/compmisc.cmx driver/compenv.cmx \ - utils/clflags.cmx utils/ccomp.cmx bytecomp/bytegen.cmx driver/compile.cmi -driver/compmisc.cmo : typing/typemod.cmi utils/misc.cmi \ - parsing/longident.cmi parsing/location.cmi typing/ident.cmi \ - typing/env.cmi utils/config.cmi driver/compenv.cmi utils/clflags.cmi \ - parsing/asttypes.cmi driver/compmisc.cmi -driver/compmisc.cmx : typing/typemod.cmx utils/misc.cmx \ - parsing/longident.cmx parsing/location.cmx typing/ident.cmx \ - typing/env.cmx utils/config.cmx driver/compenv.cmx utils/clflags.cmx \ - parsing/asttypes.cmi driver/compmisc.cmi -driver/errors.cmo : parsing/location.cmi driver/errors.cmi -driver/errors.cmx : parsing/location.cmx driver/errors.cmi -driver/main.cmo : utils/warnings.cmi utils/misc.cmi driver/main_args.cmi \ - parsing/location.cmi utils/config.cmi driver/compmisc.cmi \ - driver/compile.cmi driver/compenv.cmi utils/clflags.cmi \ - bytecomp/bytepackager.cmi bytecomp/bytelink.cmi \ - bytecomp/bytelibrarian.cmi driver/main.cmi -driver/main.cmx : utils/warnings.cmx utils/misc.cmx driver/main_args.cmx \ - parsing/location.cmx utils/config.cmx driver/compmisc.cmx \ - driver/compile.cmx driver/compenv.cmx utils/clflags.cmx \ - bytecomp/bytepackager.cmx bytecomp/bytelink.cmx \ - bytecomp/bytelibrarian.cmx driver/main.cmi -driver/main_args.cmo : utils/warnings.cmi driver/main_args.cmi -driver/main_args.cmx : utils/warnings.cmx driver/main_args.cmi -driver/optcompile.cmo : utils/warnings.cmi typing/typemod.cmi \ - typing/typedtree.cmi typing/typecore.cmi bytecomp/translmod.cmi \ - typing/stypes.cmi bytecomp/simplif.cmi typing/printtyped.cmi \ - typing/printtyp.cmi bytecomp/printlambda.cmi parsing/printast.cmi \ - parsing/pprintast.cmi driver/pparse.cmi utils/misc.cmi \ - typing/includemod.cmi typing/env.cmi utils/config.cmi driver/compmisc.cmi \ - asmcomp/compilenv.cmi driver/compenv.cmi utils/clflags.cmi \ - utils/ccomp.cmi asmcomp/asmgen.cmi driver/optcompile.cmi -driver/optcompile.cmx : utils/warnings.cmx typing/typemod.cmx \ - typing/typedtree.cmx typing/typecore.cmx bytecomp/translmod.cmx \ - typing/stypes.cmx bytecomp/simplif.cmx typing/printtyped.cmx \ - typing/printtyp.cmx bytecomp/printlambda.cmx parsing/printast.cmx \ - parsing/pprintast.cmx driver/pparse.cmx utils/misc.cmx \ - typing/includemod.cmx typing/env.cmx utils/config.cmx driver/compmisc.cmx \ - asmcomp/compilenv.cmx driver/compenv.cmx utils/clflags.cmx \ - utils/ccomp.cmx asmcomp/asmgen.cmx driver/optcompile.cmi -driver/opterrors.cmo : parsing/location.cmi driver/opterrors.cmi -driver/opterrors.cmx : parsing/location.cmx driver/opterrors.cmi -driver/optmain.cmo : utils/warnings.cmi asmcomp/printmach.cmi \ - driver/optcompile.cmi utils/misc.cmi driver/main_args.cmi \ - parsing/location.cmi utils/config.cmi driver/compmisc.cmi \ - driver/compenv.cmi utils/clflags.cmi asmcomp/asmpackager.cmi \ - asmcomp/asmlink.cmi asmcomp/asmlibrarian.cmi asmcomp/arch.cmo \ - driver/optmain.cmi -driver/optmain.cmx : utils/warnings.cmx asmcomp/printmach.cmx \ - driver/optcompile.cmx utils/misc.cmx driver/main_args.cmx \ - parsing/location.cmx utils/config.cmx driver/compmisc.cmx \ - driver/compenv.cmx utils/clflags.cmx asmcomp/asmpackager.cmx \ - asmcomp/asmlink.cmx asmcomp/asmlibrarian.cmx asmcomp/arch.cmx \ - driver/optmain.cmi -driver/pparse.cmo : parsing/parse.cmi utils/misc.cmi parsing/location.cmi \ - utils/config.cmi utils/clflags.cmi utils/ccomp.cmi parsing/ast_mapper.cmi \ - driver/pparse.cmi -driver/pparse.cmx : parsing/parse.cmx utils/misc.cmx parsing/location.cmx \ - utils/config.cmx utils/clflags.cmx utils/ccomp.cmx parsing/ast_mapper.cmx \ - driver/pparse.cmi -toplevel/genprintval.cmi : typing/types.cmi typing/path.cmi \ - typing/outcometree.cmi typing/env.cmi -toplevel/opttopdirs.cmi : parsing/longident.cmi -toplevel/opttoploop.cmi : utils/warnings.cmi typing/types.cmi \ - typing/path.cmi parsing/parsetree.cmi typing/outcometree.cmi \ - parsing/longident.cmi parsing/location.cmi typing/env.cmi -toplevel/opttopmain.cmi : -toplevel/topdirs.cmi : parsing/longident.cmi -toplevel/toploop.cmi : utils/warnings.cmi typing/types.cmi typing/path.cmi \ - parsing/parsetree.cmi typing/outcometree.cmi parsing/longident.cmi \ - parsing/location.cmi typing/env.cmi -toplevel/topmain.cmi : -toplevel/trace.cmi : typing/types.cmi typing/path.cmi parsing/longident.cmi \ - typing/env.cmi -toplevel/expunge.cmo : bytecomp/symtable.cmi bytecomp/runtimedef.cmi \ - utils/misc.cmi typing/ident.cmi bytecomp/bytesections.cmi -toplevel/expunge.cmx : bytecomp/symtable.cmx bytecomp/runtimedef.cmx \ - utils/misc.cmx typing/ident.cmx bytecomp/bytesections.cmx -toplevel/genprintval.cmo : typing/types.cmi typing/printtyp.cmi \ - typing/predef.cmi typing/path.cmi typing/outcometree.cmi \ - typing/oprint.cmi utils/misc.cmi parsing/longident.cmi typing/ident.cmi \ - typing/env.cmi typing/datarepr.cmi typing/ctype.cmi typing/btype.cmi \ - toplevel/genprintval.cmi -toplevel/genprintval.cmx : typing/types.cmx typing/printtyp.cmx \ - typing/predef.cmx typing/path.cmx typing/outcometree.cmi \ - typing/oprint.cmx utils/misc.cmx parsing/longident.cmx typing/ident.cmx \ - typing/env.cmx typing/datarepr.cmx typing/ctype.cmx typing/btype.cmx \ - toplevel/genprintval.cmi -toplevel/opttopdirs.cmo : utils/warnings.cmi typing/types.cmi \ - typing/printtyp.cmi toplevel/opttoploop.cmi utils/misc.cmi \ - parsing/longident.cmi typing/ident.cmi typing/env.cmi typing/ctype.cmi \ - utils/config.cmi utils/clflags.cmi asmcomp/asmlink.cmi \ - toplevel/opttopdirs.cmi -toplevel/opttopdirs.cmx : utils/warnings.cmx typing/types.cmx \ - typing/printtyp.cmx toplevel/opttoploop.cmx utils/misc.cmx \ - parsing/longident.cmx typing/ident.cmx typing/env.cmx typing/ctype.cmx \ - utils/config.cmx utils/clflags.cmx asmcomp/asmlink.cmx \ - toplevel/opttopdirs.cmi -toplevel/opttoploop.cmo : utils/warnings.cmi typing/types.cmi \ - typing/typemod.cmi typing/typedtree.cmi typing/typecore.cmi \ - bytecomp/translmod.cmi bytecomp/simplif.cmi typing/printtyped.cmi \ - typing/printtyp.cmi bytecomp/printlambda.cmi parsing/printast.cmi \ - typing/predef.cmi parsing/pprintast.cmi typing/path.cmi \ - parsing/parsetree.cmi parsing/parse.cmi typing/outcometree.cmi \ - typing/oprint.cmi utils/misc.cmi parsing/longident.cmi \ - parsing/location.cmi parsing/lexer.cmi typing/ident.cmi \ - toplevel/genprintval.cmi typing/env.cmi utils/config.cmi \ - driver/compmisc.cmi asmcomp/compilenv.cmi utils/clflags.cmi \ - typing/btype.cmi asmcomp/asmlink.cmi asmcomp/asmgen.cmi \ - toplevel/opttoploop.cmi -toplevel/opttoploop.cmx : utils/warnings.cmx typing/types.cmx \ - typing/typemod.cmx typing/typedtree.cmx typing/typecore.cmx \ - bytecomp/translmod.cmx bytecomp/simplif.cmx typing/printtyped.cmx \ - typing/printtyp.cmx bytecomp/printlambda.cmx parsing/printast.cmx \ - typing/predef.cmx parsing/pprintast.cmx typing/path.cmx \ - parsing/parsetree.cmi parsing/parse.cmx typing/outcometree.cmi \ - typing/oprint.cmx utils/misc.cmx parsing/longident.cmx \ - parsing/location.cmx parsing/lexer.cmx typing/ident.cmx \ - toplevel/genprintval.cmx typing/env.cmx utils/config.cmx \ - driver/compmisc.cmx asmcomp/compilenv.cmx utils/clflags.cmx \ - typing/btype.cmx asmcomp/asmlink.cmx asmcomp/asmgen.cmx \ - toplevel/opttoploop.cmi -toplevel/opttopmain.cmo : utils/warnings.cmi asmcomp/printmach.cmi \ - toplevel/opttoploop.cmi toplevel/opttopdirs.cmi utils/misc.cmi \ - driver/main_args.cmi parsing/location.cmi utils/config.cmi \ - driver/compenv.cmi utils/clflags.cmi toplevel/opttopmain.cmi -toplevel/opttopmain.cmx : utils/warnings.cmx asmcomp/printmach.cmx \ - toplevel/opttoploop.cmx toplevel/opttopdirs.cmx utils/misc.cmx \ - driver/main_args.cmx parsing/location.cmx utils/config.cmx \ - driver/compenv.cmx utils/clflags.cmx toplevel/opttopmain.cmi -toplevel/opttopstart.cmo : toplevel/opttopmain.cmi -toplevel/opttopstart.cmx : toplevel/opttopmain.cmx -toplevel/topdirs.cmo : utils/warnings.cmi typing/typetexp.cmi \ - typing/types.cmi toplevel/trace.cmi toplevel/toploop.cmi \ - bytecomp/symtable.cmi typing/printtyp.cmi typing/predef.cmi \ - typing/path.cmi bytecomp/opcodes.cmo utils/misc.cmi bytecomp/meta.cmi \ - parsing/longident.cmi parsing/location.cmi typing/ident.cmi \ - typing/env.cmi bytecomp/dll.cmi typing/ctype.cmi utils/consistbl.cmi \ - utils/config.cmi bytecomp/cmo_format.cmi utils/clflags.cmi \ - typing/btype.cmi parsing/asttypes.cmi toplevel/topdirs.cmi -toplevel/topdirs.cmx : utils/warnings.cmx typing/typetexp.cmx \ - typing/types.cmx toplevel/trace.cmx toplevel/toploop.cmx \ - bytecomp/symtable.cmx typing/printtyp.cmx typing/predef.cmx \ - typing/path.cmx bytecomp/opcodes.cmx utils/misc.cmx bytecomp/meta.cmx \ - parsing/longident.cmx parsing/location.cmx typing/ident.cmx \ - typing/env.cmx bytecomp/dll.cmx typing/ctype.cmx utils/consistbl.cmx \ - utils/config.cmx bytecomp/cmo_format.cmi utils/clflags.cmx \ - typing/btype.cmx parsing/asttypes.cmi toplevel/topdirs.cmi -toplevel/toploop.cmo : utils/warnings.cmi typing/types.cmi \ - typing/typemod.cmi typing/typedtree.cmi typing/typecore.cmi \ - bytecomp/translmod.cmi bytecomp/symtable.cmi bytecomp/simplif.cmi \ - typing/printtyped.cmi typing/printtyp.cmi bytecomp/printlambda.cmi \ - bytecomp/printinstr.cmi parsing/printast.cmi typing/predef.cmi \ - parsing/pprintast.cmi driver/pparse.cmi typing/path.cmi \ - parsing/parsetree.cmi parsing/parse.cmi typing/outcometree.cmi \ - typing/oprint.cmi utils/misc.cmi bytecomp/meta.cmi parsing/longident.cmi \ - parsing/location.cmi parsing/lexer.cmi typing/includemod.cmi \ - typing/ident.cmi toplevel/genprintval.cmi typing/env.cmi \ - bytecomp/emitcode.cmi bytecomp/dll.cmi utils/consistbl.cmi \ - utils/config.cmi driver/compmisc.cmi utils/clflags.cmi \ - bytecomp/bytegen.cmi typing/btype.cmi parsing/ast_helper.cmi \ - toplevel/toploop.cmi -toplevel/toploop.cmx : utils/warnings.cmx typing/types.cmx \ - typing/typemod.cmx typing/typedtree.cmx typing/typecore.cmx \ - bytecomp/translmod.cmx bytecomp/symtable.cmx bytecomp/simplif.cmx \ - typing/printtyped.cmx typing/printtyp.cmx bytecomp/printlambda.cmx \ - bytecomp/printinstr.cmx parsing/printast.cmx typing/predef.cmx \ - parsing/pprintast.cmx driver/pparse.cmx typing/path.cmx \ - parsing/parsetree.cmi parsing/parse.cmx typing/outcometree.cmi \ - typing/oprint.cmx utils/misc.cmx bytecomp/meta.cmx parsing/longident.cmx \ - parsing/location.cmx parsing/lexer.cmx typing/includemod.cmx \ - typing/ident.cmx toplevel/genprintval.cmx typing/env.cmx \ - bytecomp/emitcode.cmx bytecomp/dll.cmx utils/consistbl.cmx \ - utils/config.cmx driver/compmisc.cmx utils/clflags.cmx \ - bytecomp/bytegen.cmx typing/btype.cmx parsing/ast_helper.cmx \ - toplevel/toploop.cmi -toplevel/topmain.cmo : utils/warnings.cmi toplevel/toploop.cmi \ - toplevel/topdirs.cmi utils/misc.cmi driver/main_args.cmi \ - parsing/location.cmi utils/config.cmi driver/compenv.cmi \ - utils/clflags.cmi toplevel/topmain.cmi -toplevel/topmain.cmx : utils/warnings.cmx toplevel/toploop.cmx \ - toplevel/topdirs.cmx utils/misc.cmx driver/main_args.cmx \ - parsing/location.cmx utils/config.cmx driver/compenv.cmx \ - utils/clflags.cmx toplevel/topmain.cmi -toplevel/topstart.cmo : toplevel/topmain.cmi -toplevel/topstart.cmx : toplevel/topmain.cmx -toplevel/trace.cmo : typing/types.cmi toplevel/toploop.cmi \ - typing/printtyp.cmi typing/predef.cmi typing/path.cmi utils/misc.cmi \ - bytecomp/meta.cmi parsing/longident.cmi typing/ctype.cmi \ - toplevel/trace.cmi -toplevel/trace.cmx : typing/types.cmx toplevel/toploop.cmx \ - typing/printtyp.cmx typing/predef.cmx typing/path.cmx utils/misc.cmx \ - bytecomp/meta.cmx parsing/longident.cmx typing/ctype.cmx \ - toplevel/trace.cmi diff --git a/vendor/ocaml/.gitignore b/vendor/ocaml/.gitignore deleted file mode 100644 index 66e94eeeb..000000000 --- a/vendor/ocaml/.gitignore +++ /dev/null @@ -1,2557 +0,0 @@ - -# / -/*.o -/*.a -/*.so -/*.obj -/*.lib -/*.dll -/*.cm[ioxat] -/*.cmx[as] -/*.cmti -/*.annot -/*.result -/*.byte -/*.native -/program -/*.exe -/*.exe.manifest -/.DS_Store -/ocamlc -/ocamlc.opt -/expunge -/ocaml -/ocamlopt -/ocamlopt.opt -/ocamlcomp.sh -/ocamlcompopt.sh -/package-macosx -/ocamlnat - -# /asmcomp/ -/asmcomp/*.o -/asmcomp/*.a -/asmcomp/*.so -/asmcomp/*.obj -/asmcomp/*.lib -/asmcomp/*.dll -/asmcomp/*.cm[ioxat] -/asmcomp/*.cmx[as] -/asmcomp/*.cmti -/asmcomp/*.annot -/asmcomp/*.result -/asmcomp/*.byte -/asmcomp/*.native -/asmcomp/program -/asmcomp/*.exe -/asmcomp/*.exe.manifest -/asmcomp/.DS_Store -/asmcomp/emit.ml -/asmcomp/arch.ml -/asmcomp/proc.ml -/asmcomp/selection.ml -/asmcomp/reload.ml -/asmcomp/scheduling.ml -/asmcomp/CSE.ml - -# /asmcomp/amd64/ -/asmcomp/amd64/*.o -/asmcomp/amd64/*.a -/asmcomp/amd64/*.so -/asmcomp/amd64/*.obj -/asmcomp/amd64/*.cm[ioxat] -/asmcomp/amd64/*.cmx[as] -/asmcomp/amd64/*.cmti -/asmcomp/amd64/*.annot -/asmcomp/amd64/*.result -/asmcomp/amd64/*.byte -/asmcomp/amd64/*.native -/asmcomp/amd64/program -/asmcomp/amd64/program.exe -/asmcomp/amd64/.DS_Store - -# /asmrun/ -/asmrun/*.o -/asmrun/*.a -/asmrun/*.so -/asmrun/*.obj -/asmrun/*.lib -/asmrun/*.dll -/asmrun/*.cm[ioxat] -/asmrun/*.cmx[as] -/asmrun/*.cmti -/asmrun/*.annot -/asmrun/*.result -/asmrun/*.byte -/asmrun/*.native -/asmrun/program -/asmrun/*.exe -/asmrun/.DS_Store -/asmrun/*.p.c -/asmrun/*.d.c -/asmrun/libasmrun.a -/asmrun/libasmrunp.a -/asmrun/main.c -/asmrun/misc.c -/asmrun/freelist.c -/asmrun/major_gc.c -/asmrun/minor_gc.c -/asmrun/memory.c -/asmrun/alloc.c -/asmrun/array.c -/asmrun/compare.c -/asmrun/ints.c -/asmrun/floats.c -/asmrun/str.c -/asmrun/io.c -/asmrun/extern.c -/asmrun/intern.c -/asmrun/hash.c -/asmrun/sys.c -/asmrun/parsing.c -/asmrun/gc_ctrl.c -/asmrun/terminfo.c -/asmrun/md5.c -/asmrun/obj.c -/asmrun/lexing.c -/asmrun/printexc.c -/asmrun/callback.c -/asmrun/weak.c -/asmrun/compact.c -/asmrun/finalise.c -/asmrun/custom.c -/asmrun/meta.c -/asmrun/globroots.c -/asmrun/unix.c -/asmrun/dynlink.c -/asmrun/signals.c -/asmrun/debugger.c - -# /boot/ -/boot/*.o -/boot/*.a -/boot/*.so -/boot/*.obj -/boot/*.lib -/boot/*.dll -/boot/*.cm[ioxat] -/boot/*.cmx[as] -/boot/*.cmti -/boot/*.annot -/boot/*.result -/boot/*.byte -/boot/*.native -/boot/program -/boot/*.exe -/boot/*.exe.manifest -/boot/.DS_Store -/boot/Saved -/boot/ocamlrun -/boot/ocamlrun.exe -/boot/ocamlyacc -/boot/ocamlyacc.exe -/boot/camlheader - -# /bytecomp/ -/bytecomp/*.o -/bytecomp/*.a -/bytecomp/*.so -/bytecomp/*.obj -/bytecomp/*.lib -/bytecomp/*.dll -/bytecomp/*.cm[ioxat] -/bytecomp/*.cmx[as] -/bytecomp/*.cmti -/bytecomp/*.annot -/bytecomp/*.result -/bytecomp/*.byte -/bytecomp/*.native -/bytecomp/program -/bytecomp/*.exe -/bytecomp/.DS_Store -/bytecomp/runtimedef.ml -/bytecomp/opcodes.ml - -# /byterun/ -/byterun/*.o -/byterun/*.a -/byterun/*.so -/byterun/*.obj -/byterun/*.cm[ioxa] -/byterun/*.cmx[as] -/byterun/*.annot -/byterun/*.result -/byterun/*.byte -/byterun/*.native -/byterun/program -/byterun/program.exe -/byterun/.DS_Store -/byterun/caml/jumptbl.h -/byterun/primitives -/byterun/prims.c -/byterun/caml/opnames.h -/byterun/caml/version.h -/byterun/ocamlrun -/byterun/ocamlrun.exe -/byterun/ocamlrund -/byterun/ocamlrund.exe -/byterun/ld.conf -/byterun/interp.a.lst -/byterun/*.[sd]obj -/byterun/*.lib -/byterun/.gdb_history -/byterun/*.d.c -/byterun/*.pic.c - -# /config/ -/config/*.o -/config/*.a -/config/*.so -/config/*.obj -/config/*.lib -/config/*.dll -/config/*.cm[ioxat] -/config/*.cmx[as] -/config/*.cmti -/config/*.annot -/config/*.result -/config/*.byte -/config/*.native -/config/program -/config/*.exe -/config/*.exe.manifest -/config/.DS_Store -/config/m.h -/config/s.h -/config/Makefile - -# /config/auto-aux/ -/config/auto-aux/*.o -/config/auto-aux/*.a -/config/auto-aux/*.so -/config/auto-aux/*.obj -/config/auto-aux/*.cm[ioxa] -/config/auto-aux/*.cmx[as] -/config/auto-aux/*.annot -/config/auto-aux/*.result -/config/auto-aux/*.byte -/config/auto-aux/*.native -/config/auto-aux/program -/config/auto-aux/.DS_Store -/config/auto-aux/camlp4_config.ml - -# /config/gnu/ - -# /debugger/ -/debugger/*.o -/debugger/*.a -/debugger/*.so -/debugger/*.obj -/debugger/*.cm[ioxa] -/debugger/*.cmx[as] -/debugger/*.annot -/debugger/*.result -/debugger/*.byte -/debugger/*.native -/debugger/program -/debugger/program.exe -/debugger/.DS_Store -/debugger/lexer.ml -/debugger/parser.ml -/debugger/parser.mli -/debugger/ocamldebug -/debugger/ocamldebug.exe -/debugger/dynlink.ml -/debugger/dynlink.mli - -# /driver/ -/driver/*.o -/driver/*.a -/driver/*.so -/driver/*.obj -/driver/*.lib -/driver/*.dll -/driver/*.cm[ioxat] -/driver/*.cmx[as] -/driver/*.cmti -/driver/*.annot -/driver/*.result -/driver/*.byte -/driver/*.native -/driver/program -/driver/*.exe -/driver/*.exe.manifest -/driver/.DS_Store - -# /emacs/ -/emacs/*.o -/emacs/*.a -/emacs/*.so -/emacs/*.obj -/emacs/*.lib -/emacs/*.dll -/emacs/*.cm[ioxat] -/emacs/*.cmx[as] -/emacs/*.cmti -/emacs/*.annot -/emacs/*.result -/emacs/*.byte -/emacs/*.native -/emacs/program -/emacs/*.exe -/emacs/*.exe.manifest -/emacs/.DS_Store -/emacs/ocamltags -/emacs/*.elc - -# /experimental/ - -# /experimental/garrigue/ -/experimental/garrigue/*.out -/experimental/garrigue/*.out2 - -# /lex/ -/lex/*.o -/lex/*.a -/lex/*.so -/lex/*.obj -/lex/*.lib -/lex/*.dll -/lex/*.cm[ioxat] -/lex/*.cmx[as] -/lex/*.cmti -/lex/*.annot -/lex/*.result -/lex/*.byte -/lex/*.native -/lex/program -/lex/*.exe -/lex/*.exe.manifest -/lex/.DS_Store -/lex/parser.ml -/lex/parser.mli -/lex/lexer.ml -/lex/ocamllex -/lex/ocamllex.opt -/lex/parser.output - -# /ocamlbuild/ -/ocamlbuild/*.o -/ocamlbuild/*.a -/ocamlbuild/*.so -/ocamlbuild/*.obj -/ocamlbuild/*.lib -/ocamlbuild/*.dll -/ocamlbuild/*.cm[ioxat] -/ocamlbuild/*.cmx[as] -/ocamlbuild/*.cmti -/ocamlbuild/*.annot -/ocamlbuild/*.byte -/ocamlbuild/*.native -/ocamlbuild/ocamlbuild_config.ml -/ocamlbuild/lexers.ml -/ocamlbuild/glob_lexer.ml - -# /ocamldoc/ -/ocamldoc/*.o -/ocamldoc/*.a -/ocamldoc/*.so -/ocamldoc/*.obj -/ocamldoc/*.lib -/ocamldoc/*.dll -/ocamldoc/*.cm[ioxat] -/ocamldoc/*.cmx[as] -/ocamldoc/*.cmti -/ocamldoc/*.annot -/ocamldoc/*.result -/ocamldoc/*.byte -/ocamldoc/*.native -/ocamldoc/program -/ocamldoc/*.exe -/ocamldoc/.DS_Store -/ocamldoc/ocamldoc -/ocamldoc/ocamldoc.opt -/ocamldoc/odoc_crc.ml -/ocamldoc/odoc_lexer.ml -/ocamldoc/odoc_ocamlhtml.ml -/ocamldoc/odoc_parser.ml -/ocamldoc/odoc_parser.mli -/ocamldoc/odoc_see_lexer.ml -/ocamldoc/odoc_text_lexer.ml -/ocamldoc/odoc_text_parser.ml -/ocamldoc/odoc_text_parser.mli -/ocamldoc/stdlib_man -/ocamldoc/stdlib_html -/ocamldoc/*.output -/ocamldoc/test_stdlib -/ocamldoc/test_latex -/ocamldoc/test - -# /ocamldoc/generators/ -/ocamldoc/generators/*.o -/ocamldoc/generators/*.a -/ocamldoc/generators/*.so -/ocamldoc/generators/*.obj -/ocamldoc/generators/*.lib -/ocamldoc/generators/*.dll -/ocamldoc/generators/*.cm[ioxat] -/ocamldoc/generators/*.cmx[as] -/ocamldoc/generators/*.cmti -/ocamldoc/generators/*.annot -/ocamldoc/generators/*.result -/ocamldoc/generators/*.byte -/ocamldoc/generators/*.native -/ocamldoc/generators/program -/ocamldoc/generators/*.exe -/ocamldoc/generators/*.exe.manifest -/ocamldoc/generators/.DS_Store - -# /otherlibs/ -/otherlibs/ocamlc -/otherlibs/ocamlc.opt -/otherlibs/expunge -/otherlibs/ocaml -/otherlibs/ocamlopt -/otherlibs/ocamlopt.opt -/otherlibs/ocamlcomp.sh -/otherlibs/ocamlcompopt.sh -/otherlibs/package-macosx -/otherlibs/.DS_Store -/otherlibs/*.annot -/otherlibs/_boot_log1 -/otherlibs/_boot_log2 -/otherlibs/_build -/otherlibs/_log -/otherlibs/myocamlbuild_config.ml -/otherlibs/ocamlnat -/otherlibs/*.cm* -/otherlibs/*.o - -# /otherlibs/bigarray/ -/otherlibs/bigarray/*.o -/otherlibs/bigarray/*.a -/otherlibs/bigarray/*.so -/otherlibs/bigarray/*.obj -/otherlibs/bigarray/*.lib -/otherlibs/bigarray/*.dll -/otherlibs/bigarray/*.cm[ioxat] -/otherlibs/bigarray/*.cmx[as] -/otherlibs/bigarray/*.cmti -/otherlibs/bigarray/*.annot -/otherlibs/bigarray/*.result -/otherlibs/bigarray/*.byte -/otherlibs/bigarray/*.native -/otherlibs/bigarray/program -/otherlibs/bigarray/*.exe -/otherlibs/bigarray/.DS_Store - -# /otherlibs/dynlink/ -/otherlibs/dynlink/*.o -/otherlibs/dynlink/*.a -/otherlibs/dynlink/*.so -/otherlibs/dynlink/*.obj -/otherlibs/dynlink/*.lib -/otherlibs/dynlink/*.dll -/otherlibs/dynlink/*.cm[ioxat] -/otherlibs/dynlink/*.cmx[as] -/otherlibs/dynlink/*.cmti -/otherlibs/dynlink/*.annot -/otherlibs/dynlink/*.result -/otherlibs/dynlink/*.byte -/otherlibs/dynlink/*.native -/otherlibs/dynlink/program -/otherlibs/dynlink/*.exe -/otherlibs/dynlink/.DS_Store -/otherlibs/dynlink/extract_crc - -# /otherlibs/graph/ -/otherlibs/graph/*.o -/otherlibs/graph/*.a -/otherlibs/graph/*.so -/otherlibs/graph/*.obj -/otherlibs/graph/*.lib -/otherlibs/graph/*.dll -/otherlibs/graph/*.cm[ioxat] -/otherlibs/graph/*.cmx[as] -/otherlibs/graph/*.cmti -/otherlibs/graph/*.annot -/otherlibs/graph/*.result -/otherlibs/graph/*.byte -/otherlibs/graph/*.native -/otherlibs/graph/program -/otherlibs/graph/*.exe -/otherlibs/graph/*.exe.manifest -/otherlibs/graph/.DS_Store - -# /otherlibs/num/ -/otherlibs/num/*.o -/otherlibs/num/*.a -/otherlibs/num/*.so -/otherlibs/num/*.obj -/otherlibs/num/*.lib -/otherlibs/num/*.dll -/otherlibs/num/*.cm[ioxat] -/otherlibs/num/*.cmx[as] -/otherlibs/num/*.cmti -/otherlibs/num/*.annot -/otherlibs/num/*.result -/otherlibs/num/*.byte -/otherlibs/num/*.native -/otherlibs/num/program -/otherlibs/num/*.exe -/otherlibs/num/.DS_Store - -# /otherlibs/str/ -/otherlibs/str/*.o -/otherlibs/str/*.a -/otherlibs/str/*.so -/otherlibs/str/*.obj -/otherlibs/str/*.lib -/otherlibs/str/*.dll -/otherlibs/str/*.cm[ioxat] -/otherlibs/str/*.cmx[as] -/otherlibs/str/*.cmti -/otherlibs/str/*.annot -/otherlibs/str/*.result -/otherlibs/str/*.byte -/otherlibs/str/*.native -/otherlibs/str/program -/otherlibs/str/*.exe -/otherlibs/str/.DS_Store - -# /otherlibs/systhreads/ -/otherlibs/systhreads/*.o -/otherlibs/systhreads/*.a -/otherlibs/systhreads/*.so -/otherlibs/systhreads/*.obj -/otherlibs/systhreads/*.lib -/otherlibs/systhreads/*.dll -/otherlibs/systhreads/*.cm[ioxat] -/otherlibs/systhreads/*.cmx[as] -/otherlibs/systhreads/*.cmti -/otherlibs/systhreads/*.annot -/otherlibs/systhreads/*.result -/otherlibs/systhreads/*.byte -/otherlibs/systhreads/*.native -/otherlibs/systhreads/program -/otherlibs/systhreads/*.exe -/otherlibs/systhreads/.DS_Store -/otherlibs/systhreads/thread.ml - -# /otherlibs/threads/ -/otherlibs/threads/*.o -/otherlibs/threads/*.a -/otherlibs/threads/*.so -/otherlibs/threads/*.obj -/otherlibs/threads/*.lib -/otherlibs/threads/*.dll -/otherlibs/threads/*.cm[ioxat] -/otherlibs/threads/*.cmx[as] -/otherlibs/threads/*.cmti -/otherlibs/threads/*.annot -/otherlibs/threads/*.result -/otherlibs/threads/*.byte -/otherlibs/threads/*.native -/otherlibs/threads/program -/otherlibs/threads/*.exe -/otherlibs/threads/*.exe.manifest -/otherlibs/threads/.DS_Store -/otherlibs/threads/marshal.mli -/otherlibs/threads/pervasives.mli -/otherlibs/threads/unix.mli - -# /otherlibs/unix/ -/otherlibs/unix/*.o -/otherlibs/unix/*.a -/otherlibs/unix/*.so -/otherlibs/unix/*.obj -/otherlibs/unix/*.lib -/otherlibs/unix/*.dll -/otherlibs/unix/*.cm[ioxat] -/otherlibs/unix/*.cmx[as] -/otherlibs/unix/*.cmti -/otherlibs/unix/*.annot -/otherlibs/unix/*.result -/otherlibs/unix/*.byte -/otherlibs/unix/*.native -/otherlibs/unix/program -/otherlibs/unix/*.exe -/otherlibs/unix/*.exe.manifest -/otherlibs/unix/.DS_Store - -# /otherlibs/win32graph/ -/otherlibs/win32graph/*.o -/otherlibs/win32graph/*.a -/otherlibs/win32graph/*.so -/otherlibs/win32graph/*.obj -/otherlibs/win32graph/*.lib -/otherlibs/win32graph/*.dll -/otherlibs/win32graph/*.cm[ioxat] -/otherlibs/win32graph/*.cmx[as] -/otherlibs/win32graph/*.cmti -/otherlibs/win32graph/*.annot -/otherlibs/win32graph/*.result -/otherlibs/win32graph/*.byte -/otherlibs/win32graph/*.native -/otherlibs/win32graph/program -/otherlibs/win32graph/*.exe -/otherlibs/win32graph/.DS_Store -/otherlibs/win32graph/graphics.ml -/otherlibs/win32graph/graphics.mli - -# /otherlibs/win32unix/ -/otherlibs/win32unix/*.o -/otherlibs/win32unix/*.a -/otherlibs/win32unix/*.so -/otherlibs/win32unix/*.obj -/otherlibs/win32unix/*.lib -/otherlibs/win32unix/*.dll -/otherlibs/win32unix/*.cm[ioxat] -/otherlibs/win32unix/*.cmx[as] -/otherlibs/win32unix/*.cmti -/otherlibs/win32unix/*.annot -/otherlibs/win32unix/*.result -/otherlibs/win32unix/*.byte -/otherlibs/win32unix/*.native -/otherlibs/win32unix/program -/otherlibs/win32unix/*.exe -/otherlibs/win32unix/.DS_Store -/otherlibs/win32unix/unixLabels.ml* -/otherlibs/win32unix/unix.mli -/otherlibs/win32unix/unix.lib -/otherlibs/win32unix/access.c -/otherlibs/win32unix/addrofstr.c -/otherlibs/win32unix/chdir.c -/otherlibs/win32unix/chmod.c -/otherlibs/win32unix/cst2constr.c -/otherlibs/win32unix/cstringv.c -/otherlibs/win32unix/envir.c -/otherlibs/win32unix/execv.c -/otherlibs/win32unix/execve.c -/otherlibs/win32unix/execvp.c -/otherlibs/win32unix/exit.c -/otherlibs/win32unix/getaddrinfo.c -/otherlibs/win32unix/getcwd.c -/otherlibs/win32unix/gethost.c -/otherlibs/win32unix/gethostname.c -/otherlibs/win32unix/getnameinfo.c -/otherlibs/win32unix/getproto.c -/otherlibs/win32unix/getserv.c -/otherlibs/win32unix/gmtime.c -/otherlibs/win32unix/putenv.c -/otherlibs/win32unix/rmdir.c -/otherlibs/win32unix/socketaddr.c -/otherlibs/win32unix/strofaddr.c -/otherlibs/win32unix/time.c -/otherlibs/win32unix/unlink.c -/otherlibs/win32unix/utimes.c - -# /parsing/ -/parsing/*.o -/parsing/*.a -/parsing/*.so -/parsing/*.obj -/parsing/*.lib -/parsing/*.dll -/parsing/*.cm[ioxat] -/parsing/*.cmx[as] -/parsing/*.cmti -/parsing/*.annot -/parsing/*.result -/parsing/*.byte -/parsing/*.native -/parsing/program -/parsing/*.exe -/parsing/*.exe.manifest -/parsing/.DS_Store -/parsing/parser.ml -/parsing/parser.mli -/parsing/lexer.ml -/parsing/lexer_tmp.mll -/parsing/lexer_tmp.ml -/parsing/linenum.ml -/parsing/parser.output -/parsing/parser.automaton -/parsing/parser.conflicts - -# /stdlib/ -/stdlib/*.o -/stdlib/*.a -/stdlib/*.so -/stdlib/*.obj -/stdlib/*.lib -/stdlib/*.dll -/stdlib/*.cm[ioxat] -/stdlib/*.cmx[as] -/stdlib/*.cmti -/stdlib/*.annot -/stdlib/*.result -/stdlib/*.byte -/stdlib/*.native -/stdlib/program -/stdlib/*.exe -/stdlib/.DS_Store -/stdlib/camlheader -/stdlib/camlheaderd -/stdlib/camlheader_ur -/stdlib/labelled-* -/stdlib/caml -/stdlib/sys.ml - -# /testsuite/ -/testsuite/*.o -/testsuite/*.a -/testsuite/*.so -/testsuite/*.obj -/testsuite/*.cm[ioxa] -/testsuite/*.cmx[as] -/testsuite/*.annot -/testsuite/*.result -/testsuite/*.byte -/testsuite/*.native -/testsuite/program -/testsuite/.DS_Store -/testsuite/_log - -# /testsuite/external/ -/testsuite/external/*.o -/testsuite/external/*.a -/testsuite/external/*.so -/testsuite/external/*.obj -/testsuite/external/*.lib -/testsuite/external/*.dll -/testsuite/external/*.cm[ioxat] -/testsuite/external/*.cmx[as] -/testsuite/external/*.cmti -/testsuite/external/*.annot -/testsuite/external/*.result -/testsuite/external/*.byte -/testsuite/external/*.native -/testsuite/external/program -/testsuite/external/*.exe -/testsuite/external/*.exe.manifest -/testsuite/external/.DS_Store -/testsuite/external/*.tar.gz -/testsuite/external/*.tar.bz2 -/testsuite/external/*.tgz -/testsuite/external/*.tbz -/testsuite/external/*.zip -/testsuite/external/log-* -/testsuite/external/log_* -/testsuite/external/advi -/testsuite/external/advi-1.10.2 -/testsuite/external/altergo -/testsuite/external/alt-ergo-0.95.2 -/testsuite/external/binprot -/testsuite/external/bin_prot-109.30.00 -/testsuite/external/bitstring -/testsuite/external/ocaml-bitstring-2.0.3 -/testsuite/external/boomerang -/testsuite/external/boomerang-0.2 -/testsuite/external/calendar -/testsuite/external/calendar-2.03.2 -/testsuite/external/camlimages -/testsuite/external/camlimages-4.0.1 -/testsuite/external/camlpdf -/testsuite/external/camlpdf-0.5 -/testsuite/external/camlp4 -/testsuite/external/camlp4-trunk -/testsuite/external/camlp5 -/testsuite/external/camlp5-git -/testsuite/external/camlzip -/testsuite/external/camlzip-1.04 -/testsuite/external/camomile -/testsuite/external/camomile-0.8.4 -/testsuite/external/comparelib -/testsuite/external/comparelib-109.15.00 -/testsuite/external/compcert -/testsuite/external/compcert-1.13 -/testsuite/external/configfile -/testsuite/external/config-file-1.1 -/testsuite/external/coq -/testsuite/external/coq-8.4pl2 -/testsuite/external/core -/testsuite/external/core-109.37.00 -/testsuite/external/coreextended -/testsuite/external/core_extended-109.36.00 -/testsuite/external/corekernel -/testsuite/external/core_kernel-109.37.00 -/testsuite/external/cryptokit -/testsuite/external/cryptokit-1.6 -/testsuite/external/csv -/testsuite/external/csv-1.3.1 -/testsuite/external/customprintf -/testsuite/external/custom_printf-109.27.00 -/testsuite/external/dbm -/testsuite/external/camldbm-1.0 -/testsuite/external/expect -/testsuite/external/ocaml-expect-0.0.3 -/testsuite/external/extlib -/testsuite/external/extlib-1.5.2 -/testsuite/external/fieldslib -/testsuite/external/fieldslib-109.15.00 -/testsuite/external/fileutils -/testsuite/external/ocaml-fileutils-0.4.4 -/testsuite/external/findlib -/testsuite/external/findlib-1.4.1 -/testsuite/external/framac -/testsuite/external/frama-c-Oxygen-20120901 -/testsuite/external/geneweb -/testsuite/external/gw-6.05-src -/testsuite/external/herelib -/testsuite/external/herelib-109.35.00 -/testsuite/external/hevea -/testsuite/external/hevea-2.09 -/testsuite/external/kaputt -/testsuite/external/kaputt-1.2 -/testsuite/external/lablgtk -/testsuite/external/lablgtk-2.18.0 -/testsuite/external/lablgtkextras -/testsuite/external/lablgtkextras-1.3 -/testsuite/external/lwt -/testsuite/external/lwt-2.4.0 -/testsuite/external/menhir -/testsuite/external/menhir-20120123 -/testsuite/external/mldonkey -/testsuite/external/mldonkey-3.1.2 -/testsuite/external/mysql -/testsuite/external/ocaml-mysql-1.0.4 -/testsuite/external/oasis -/testsuite/external/oasis-0.3.0 -/testsuite/external/obrowser -/testsuite/external/obrowser-1.1.1 -/testsuite/external/ocamlgraph -/testsuite/external/ocamlgraph-1.8.2 -/testsuite/external/ocamlify -/testsuite/external/ocamlify-0.0.1 -/testsuite/external/ocamlmod -/testsuite/external/ocamlmod-0.0.3 -/testsuite/external/ocamlnet -/testsuite/external/ocamlnet-3.5.1 -/testsuite/external/ocamlscript -/testsuite/external/ocamlscript-2.0.3 -/testsuite/external/ocamlssl -/testsuite/external/ocaml-ssl-0.4.6 -/testsuite/external/ocamltext -/testsuite/external/ocaml-text-0.5 -/testsuite/external/ocgi -/testsuite/external/ocgi-0.5 -/testsuite/external/ocsigen -/testsuite/external/ocsigen-bundle-2.2.2 -/testsuite/external/odn -/testsuite/external/ocaml-data-notation-0.0.10 -/testsuite/external/omake -/testsuite/external/omake-0.9.8.6 -/testsuite/external/ounit -/testsuite/external/ounit-1.1.2 -/testsuite/external/paounit -/testsuite/external/pa_ounit-109.36.00 -/testsuite/external/pcre -/testsuite/external/pcre-ocaml-6.2.5 -/testsuite/external/pipebang -/testsuite/external/pipebang-109.28.00 -/testsuite/external/react -/testsuite/external/react-0.9.3 -/testsuite/external/res -/testsuite/external/res-3.2.0 -/testsuite/external/rss -/testsuite/external/ocamlrss-2.2.2 -/testsuite/external/sexplib -/testsuite/external/sexplib-109.15.00 -/testsuite/external/sks -/testsuite/external/sks-1.1.3 -/testsuite/external/sqlite -/testsuite/external/sqlite3-ocaml-2.0.1 -/testsuite/external/textutils -/testsuite/external/textutils-109.36.00 -/testsuite/external/typeconv -/testsuite/external/type_conv-109.28.00 -/testsuite/external/unison -/testsuite/external/unison-2.45.4 -/testsuite/external/variantslib -/testsuite/external/variantslib-109.15.00 -/testsuite/external/vsyml -/testsuite/external/vsyml-2010-04-06 -/testsuite/external/xmllight -/testsuite/external/xml-light.2.3 -/testsuite/external/xmlm -/testsuite/external/xmlm-1.1.0 -/testsuite/external/zarith -/testsuite/external/zarith-1.2.1 -/testsuite/external/zen -/testsuite/external/zen_2.3.2 -/testsuite/external/._ZEN_2.3.2 - -# /testsuite/interactive/ -/testsuite/interactive/# svn propset -R svn:ignore -F .svnignore . -/testsuite/interactive/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/interactive/_log -/testsuite/interactive/*.so -/testsuite/interactive/*.a -/testsuite/interactive/*.result -/testsuite/interactive/*.byte -/testsuite/interactive/*.native -/testsuite/interactive/program -/testsuite/interactive/*.cm* -/testsuite/interactive/*.o - -# /testsuite/interactive/lib-gc/ -/testsuite/interactive/lib-gc/# svn propset -R svn:ignore -F .svnignore . -/testsuite/interactive/lib-gc/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/interactive/lib-gc/_log -/testsuite/interactive/lib-gc/*.so -/testsuite/interactive/lib-gc/*.a -/testsuite/interactive/lib-gc/*.result -/testsuite/interactive/lib-gc/*.byte -/testsuite/interactive/lib-gc/*.native -/testsuite/interactive/lib-gc/program -/testsuite/interactive/lib-gc/*.cm* -/testsuite/interactive/lib-gc/*.o - -# /testsuite/interactive/lib-graph/ -/testsuite/interactive/lib-graph/# svn propset -R svn:ignore -F .svnignore . -/testsuite/interactive/lib-graph/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/interactive/lib-graph/_log -/testsuite/interactive/lib-graph/*.so -/testsuite/interactive/lib-graph/*.a -/testsuite/interactive/lib-graph/*.result -/testsuite/interactive/lib-graph/*.byte -/testsuite/interactive/lib-graph/*.native -/testsuite/interactive/lib-graph/program -/testsuite/interactive/lib-graph/*.cm* -/testsuite/interactive/lib-graph/*.o - -# /testsuite/interactive/lib-graph-2/ -/testsuite/interactive/lib-graph-2/# svn propset -R svn:ignore -F .svnignore . -/testsuite/interactive/lib-graph-2/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/interactive/lib-graph-2/_log -/testsuite/interactive/lib-graph-2/*.so -/testsuite/interactive/lib-graph-2/*.a -/testsuite/interactive/lib-graph-2/*.result -/testsuite/interactive/lib-graph-2/*.byte -/testsuite/interactive/lib-graph-2/*.native -/testsuite/interactive/lib-graph-2/program -/testsuite/interactive/lib-graph-2/*.cm* -/testsuite/interactive/lib-graph-2/*.o - -# /testsuite/interactive/lib-graph-3/ -/testsuite/interactive/lib-graph-3/# svn propset -R svn:ignore -F .svnignore . -/testsuite/interactive/lib-graph-3/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/interactive/lib-graph-3/_log -/testsuite/interactive/lib-graph-3/*.so -/testsuite/interactive/lib-graph-3/*.a -/testsuite/interactive/lib-graph-3/*.result -/testsuite/interactive/lib-graph-3/*.byte -/testsuite/interactive/lib-graph-3/*.native -/testsuite/interactive/lib-graph-3/program -/testsuite/interactive/lib-graph-3/*.cm* -/testsuite/interactive/lib-graph-3/*.o - -# /testsuite/interactive/lib-signals/ -/testsuite/interactive/lib-signals/# svn propset -R svn:ignore -F .svnignore . -/testsuite/interactive/lib-signals/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/interactive/lib-signals/_log -/testsuite/interactive/lib-signals/*.so -/testsuite/interactive/lib-signals/*.a -/testsuite/interactive/lib-signals/*.result -/testsuite/interactive/lib-signals/*.byte -/testsuite/interactive/lib-signals/*.native -/testsuite/interactive/lib-signals/program -/testsuite/interactive/lib-signals/*.cm* -/testsuite/interactive/lib-signals/*.o - -# /testsuite/lib/ -/testsuite/lib/*.o -/testsuite/lib/*.a -/testsuite/lib/*.so -/testsuite/lib/*.obj -/testsuite/lib/*.dll -/testsuite/lib/*.cm[ioxat] -/testsuite/lib/*.cmx[as] -/testsuite/lib/*.cmti -/testsuite/lib/*.annot -/testsuite/lib/*.result -/testsuite/lib/*.byte -/testsuite/lib/*.native -/testsuite/lib/program -/testsuite/lib/*.exe -/testsuite/lib/.DS_Store - -# /testsuite/makefiles/ -/testsuite/makefiles/# svn propset -R svn:ignore -F .svnignore . -/testsuite/makefiles/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/makefiles/_log -/testsuite/makefiles/*.so -/testsuite/makefiles/*.a -/testsuite/makefiles/*.result -/testsuite/makefiles/*.byte -/testsuite/makefiles/*.native -/testsuite/makefiles/program -/testsuite/makefiles/*.cm* -/testsuite/makefiles/*.o - -# /testsuite/tests/ -/testsuite/tests/# svn propset -R svn:ignore -F .svnignore . -/testsuite/tests/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/tests/_log -/testsuite/tests/*.so -/testsuite/tests/*.a -/testsuite/tests/*.result -/testsuite/tests/*.byte -/testsuite/tests/*.native -/testsuite/tests/program -/testsuite/tests/*.cm* -/testsuite/tests/*.o - -# /testsuite/tests/asmcomp/ -/testsuite/tests/asmcomp/*.o -/testsuite/tests/asmcomp/*.a -/testsuite/tests/asmcomp/*.so -/testsuite/tests/asmcomp/*.obj -/testsuite/tests/asmcomp/*.lib -/testsuite/tests/asmcomp/*.dll -/testsuite/tests/asmcomp/*.cm[ioxat] -/testsuite/tests/asmcomp/*.cmx[as] -/testsuite/tests/asmcomp/*.cmti -/testsuite/tests/asmcomp/*.annot -/testsuite/tests/asmcomp/*.result -/testsuite/tests/asmcomp/*.byte -/testsuite/tests/asmcomp/*.native -/testsuite/tests/asmcomp/program -/testsuite/tests/asmcomp/*.exe -/testsuite/tests/asmcomp/*.exe.manifest -/testsuite/tests/asmcomp/.DS_Store -/testsuite/tests/asmcomp/codegen -/testsuite/tests/asmcomp/parsecmm.ml -/testsuite/tests/asmcomp/parsecmm.mli -/testsuite/tests/asmcomp/lexcmm.ml -/testsuite/tests/asmcomp/*.s -/testsuite/tests/asmcomp/*.out -/testsuite/tests/asmcomp/*.out.dSYM - -# /testsuite/tests/backtrace/ -/testsuite/tests/backtrace/*.o -/testsuite/tests/backtrace/*.a -/testsuite/tests/backtrace/*.so -/testsuite/tests/backtrace/*.obj -/testsuite/tests/backtrace/*.lib -/testsuite/tests/backtrace/*.dll -/testsuite/tests/backtrace/*.cm[ioxat] -/testsuite/tests/backtrace/*.cmx[as] -/testsuite/tests/backtrace/*.cmti -/testsuite/tests/backtrace/*.annot -/testsuite/tests/backtrace/*.result -/testsuite/tests/backtrace/*.byte -/testsuite/tests/backtrace/*.native -/testsuite/tests/backtrace/program -/testsuite/tests/backtrace/*.exe -/testsuite/tests/backtrace/*.exe.manifest -/testsuite/tests/backtrace/.DS_Store - -# /testsuite/tests/basic/ -/testsuite/tests/basic/*.o -/testsuite/tests/basic/*.a -/testsuite/tests/basic/*.so -/testsuite/tests/basic/*.obj -/testsuite/tests/basic/*.cm[ioxa] -/testsuite/tests/basic/*.cmx[as] -/testsuite/tests/basic/*.annot -/testsuite/tests/basic/*.result -/testsuite/tests/basic/*.byte -/testsuite/tests/basic/*.native -/testsuite/tests/basic/program -/testsuite/tests/basic/program.exe -/testsuite/tests/basic/.DS_Store - -# /testsuite/tests/basic-float/ -/testsuite/tests/basic-float/*.o -/testsuite/tests/basic-float/*.a -/testsuite/tests/basic-float/*.so -/testsuite/tests/basic-float/*.obj -/testsuite/tests/basic-float/*.lib -/testsuite/tests/basic-float/*.dll -/testsuite/tests/basic-float/*.cm[ioxat] -/testsuite/tests/basic-float/*.cmx[as] -/testsuite/tests/basic-float/*.cmti -/testsuite/tests/basic-float/*.annot -/testsuite/tests/basic-float/*.result -/testsuite/tests/basic-float/*.byte -/testsuite/tests/basic-float/*.native -/testsuite/tests/basic-float/program -/testsuite/tests/basic-float/*.exe -/testsuite/tests/basic-float/*.exe.manifest -/testsuite/tests/basic-float/.DS_Store - -# /testsuite/tests/basic-io/ -/testsuite/tests/basic-io/*.o -/testsuite/tests/basic-io/*.a -/testsuite/tests/basic-io/*.so -/testsuite/tests/basic-io/*.obj -/testsuite/tests/basic-io/*.lib -/testsuite/tests/basic-io/*.dll -/testsuite/tests/basic-io/*.cm[ioxat] -/testsuite/tests/basic-io/*.cmx[as] -/testsuite/tests/basic-io/*.cmti -/testsuite/tests/basic-io/*.annot -/testsuite/tests/basic-io/*.result -/testsuite/tests/basic-io/*.byte -/testsuite/tests/basic-io/*.native -/testsuite/tests/basic-io/program -/testsuite/tests/basic-io/*.exe -/testsuite/tests/basic-io/*.exe.manifest -/testsuite/tests/basic-io/.DS_Store - -# /testsuite/tests/basic-io-2/ -/testsuite/tests/basic-io-2/*.o -/testsuite/tests/basic-io-2/*.a -/testsuite/tests/basic-io-2/*.so -/testsuite/tests/basic-io-2/*.obj -/testsuite/tests/basic-io-2/*.lib -/testsuite/tests/basic-io-2/*.dll -/testsuite/tests/basic-io-2/*.cm[ioxat] -/testsuite/tests/basic-io-2/*.cmx[as] -/testsuite/tests/basic-io-2/*.cmti -/testsuite/tests/basic-io-2/*.annot -/testsuite/tests/basic-io-2/*.result -/testsuite/tests/basic-io-2/*.byte -/testsuite/tests/basic-io-2/*.native -/testsuite/tests/basic-io-2/program -/testsuite/tests/basic-io-2/*.exe -/testsuite/tests/basic-io-2/*.exe.manifest -/testsuite/tests/basic-io-2/.DS_Store - -# /testsuite/tests/basic-manyargs/ -/testsuite/tests/basic-manyargs/*.o -/testsuite/tests/basic-manyargs/*.a -/testsuite/tests/basic-manyargs/*.so -/testsuite/tests/basic-manyargs/*.obj -/testsuite/tests/basic-manyargs/*.lib -/testsuite/tests/basic-manyargs/*.dll -/testsuite/tests/basic-manyargs/*.cm[ioxat] -/testsuite/tests/basic-manyargs/*.cmx[as] -/testsuite/tests/basic-manyargs/*.cmti -/testsuite/tests/basic-manyargs/*.annot -/testsuite/tests/basic-manyargs/*.result -/testsuite/tests/basic-manyargs/*.byte -/testsuite/tests/basic-manyargs/*.native -/testsuite/tests/basic-manyargs/program -/testsuite/tests/basic-manyargs/*.exe -/testsuite/tests/basic-manyargs/*.exe.manifest -/testsuite/tests/basic-manyargs/.DS_Store - -# /testsuite/tests/basic-modules/ -/testsuite/tests/basic-modules/*.o -/testsuite/tests/basic-modules/*.a -/testsuite/tests/basic-modules/*.so -/testsuite/tests/basic-modules/*.obj -/testsuite/tests/basic-modules/*.lib -/testsuite/tests/basic-modules/*.dll -/testsuite/tests/basic-modules/*.cm[ioxat] -/testsuite/tests/basic-modules/*.cmx[as] -/testsuite/tests/basic-modules/*.cmti -/testsuite/tests/basic-modules/*.annot -/testsuite/tests/basic-modules/*.result -/testsuite/tests/basic-modules/*.byte -/testsuite/tests/basic-modules/*.native -/testsuite/tests/basic-modules/program -/testsuite/tests/basic-modules/*.exe -/testsuite/tests/basic-modules/*.exe.manifest -/testsuite/tests/basic-modules/.DS_Store - -# /testsuite/tests/basic-more/ -/testsuite/tests/basic-more/*.o -/testsuite/tests/basic-more/*.a -/testsuite/tests/basic-more/*.so -/testsuite/tests/basic-more/*.obj -/testsuite/tests/basic-more/*.cm[ioxa] -/testsuite/tests/basic-more/*.cmx[as] -/testsuite/tests/basic-more/*.annot -/testsuite/tests/basic-more/*.result -/testsuite/tests/basic-more/*.byte -/testsuite/tests/basic-more/*.native -/testsuite/tests/basic-more/program -/testsuite/tests/basic-more/program.exe -/testsuite/tests/basic-more/.DS_Store - -# /testsuite/tests/basic-multdef/ -/testsuite/tests/basic-multdef/*.o -/testsuite/tests/basic-multdef/*.a -/testsuite/tests/basic-multdef/*.so -/testsuite/tests/basic-multdef/*.obj -/testsuite/tests/basic-multdef/*.lib -/testsuite/tests/basic-multdef/*.dll -/testsuite/tests/basic-multdef/*.cm[ioxat] -/testsuite/tests/basic-multdef/*.cmx[as] -/testsuite/tests/basic-multdef/*.cmti -/testsuite/tests/basic-multdef/*.annot -/testsuite/tests/basic-multdef/*.result -/testsuite/tests/basic-multdef/*.byte -/testsuite/tests/basic-multdef/*.native -/testsuite/tests/basic-multdef/program -/testsuite/tests/basic-multdef/*.exe -/testsuite/tests/basic-multdef/*.exe.manifest -/testsuite/tests/basic-multdef/.DS_Store - -# /testsuite/tests/basic-private/ -/testsuite/tests/basic-private/*.o -/testsuite/tests/basic-private/*.a -/testsuite/tests/basic-private/*.so -/testsuite/tests/basic-private/*.obj -/testsuite/tests/basic-private/*.lib -/testsuite/tests/basic-private/*.dll -/testsuite/tests/basic-private/*.cm[ioxat] -/testsuite/tests/basic-private/*.cmx[as] -/testsuite/tests/basic-private/*.cmti -/testsuite/tests/basic-private/*.annot -/testsuite/tests/basic-private/*.result -/testsuite/tests/basic-private/*.byte -/testsuite/tests/basic-private/*.native -/testsuite/tests/basic-private/program -/testsuite/tests/basic-private/*.exe -/testsuite/tests/basic-private/*.exe.manifest -/testsuite/tests/basic-private/.DS_Store - -# /testsuite/tests/callback/ -/testsuite/tests/callback/*.o -/testsuite/tests/callback/*.a -/testsuite/tests/callback/*.so -/testsuite/tests/callback/*.obj -/testsuite/tests/callback/*.cm[ioxa] -/testsuite/tests/callback/*.cmx[as] -/testsuite/tests/callback/*.annot -/testsuite/tests/callback/*.result -/testsuite/tests/callback/*.byte -/testsuite/tests/callback/*.native -/testsuite/tests/callback/program -/testsuite/tests/callback/program.exe -/testsuite/tests/callback/.DS_Store - -# /testsuite/tests/embedded/ -/testsuite/tests/embedded/*.o -/testsuite/tests/embedded/*.a -/testsuite/tests/embedded/*.so -/testsuite/tests/embedded/*.obj -/testsuite/tests/embedded/*.lib -/testsuite/tests/embedded/*.dll -/testsuite/tests/embedded/*.cm[ioxat] -/testsuite/tests/embedded/*.cmx[as] -/testsuite/tests/embedded/*.cmti -/testsuite/tests/embedded/*.annot -/testsuite/tests/embedded/*.result -/testsuite/tests/embedded/*.byte -/testsuite/tests/embedded/*.native -/testsuite/tests/embedded/program -/testsuite/tests/embedded/*.exe -/testsuite/tests/embedded/*.exe.manifest -/testsuite/tests/embedded/.DS_Store -/testsuite/tests/embedded/caml - -# /testsuite/tests/exotic-syntax/ -/testsuite/tests/exotic-syntax/*.o -/testsuite/tests/exotic-syntax/*.a -/testsuite/tests/exotic-syntax/*.so -/testsuite/tests/exotic-syntax/*.obj -/testsuite/tests/exotic-syntax/*.lib -/testsuite/tests/exotic-syntax/*.dll -/testsuite/tests/exotic-syntax/*.cm[ioxat] -/testsuite/tests/exotic-syntax/*.cmx[as] -/testsuite/tests/exotic-syntax/*.cmti -/testsuite/tests/exotic-syntax/*.annot -/testsuite/tests/exotic-syntax/*.result -/testsuite/tests/exotic-syntax/*.byte -/testsuite/tests/exotic-syntax/*.native -/testsuite/tests/exotic-syntax/program -/testsuite/tests/exotic-syntax/*.exe -/testsuite/tests/exotic-syntax/*.exe.manifest -/testsuite/tests/exotic-syntax/.DS_Store - -# /testsuite/tests/formats-transition/ -/testsuite/tests/formats-transition/*.o -/testsuite/tests/formats-transition/*.a -/testsuite/tests/formats-transition/*.so -/testsuite/tests/formats-transition/*.obj -/testsuite/tests/formats-transition/*.lib -/testsuite/tests/formats-transition/*.dll -/testsuite/tests/formats-transition/*.cm[ioxat] -/testsuite/tests/formats-transition/*.cmx[as] -/testsuite/tests/formats-transition/*.cmti -/testsuite/tests/formats-transition/*.annot -/testsuite/tests/formats-transition/*.result -/testsuite/tests/formats-transition/*.byte -/testsuite/tests/formats-transition/*.native -/testsuite/tests/formats-transition/program -/testsuite/tests/formats-transition/*.exe -/testsuite/tests/formats-transition/*.exe.manifest -/testsuite/tests/formats-transition/.DS_Store - -# /testsuite/tests/gc-roots/ -/testsuite/tests/gc-roots/*.o -/testsuite/tests/gc-roots/*.a -/testsuite/tests/gc-roots/*.so -/testsuite/tests/gc-roots/*.obj -/testsuite/tests/gc-roots/*.lib -/testsuite/tests/gc-roots/*.dll -/testsuite/tests/gc-roots/*.cm[ioxat] -/testsuite/tests/gc-roots/*.cmx[as] -/testsuite/tests/gc-roots/*.cmti -/testsuite/tests/gc-roots/*.annot -/testsuite/tests/gc-roots/*.result -/testsuite/tests/gc-roots/*.byte -/testsuite/tests/gc-roots/*.native -/testsuite/tests/gc-roots/program -/testsuite/tests/gc-roots/*.exe -/testsuite/tests/gc-roots/*.exe.manifest -/testsuite/tests/gc-roots/.DS_Store - -# /testsuite/tests/letrec/ -/testsuite/tests/letrec/*.o -/testsuite/tests/letrec/*.a -/testsuite/tests/letrec/*.so -/testsuite/tests/letrec/*.obj -/testsuite/tests/letrec/*.cm[ioxa] -/testsuite/tests/letrec/*.cmx[as] -/testsuite/tests/letrec/*.annot -/testsuite/tests/letrec/*.result -/testsuite/tests/letrec/*.byte -/testsuite/tests/letrec/*.native -/testsuite/tests/letrec/program -/testsuite/tests/letrec/program.exe -/testsuite/tests/letrec/.DS_Store - -# /testsuite/tests/lib-bigarray/ -/testsuite/tests/lib-bigarray/*.o -/testsuite/tests/lib-bigarray/*.a -/testsuite/tests/lib-bigarray/*.so -/testsuite/tests/lib-bigarray/*.obj -/testsuite/tests/lib-bigarray/*.lib -/testsuite/tests/lib-bigarray/*.dll -/testsuite/tests/lib-bigarray/*.cm[ioxat] -/testsuite/tests/lib-bigarray/*.cmx[as] -/testsuite/tests/lib-bigarray/*.cmti -/testsuite/tests/lib-bigarray/*.annot -/testsuite/tests/lib-bigarray/*.result -/testsuite/tests/lib-bigarray/*.byte -/testsuite/tests/lib-bigarray/*.native -/testsuite/tests/lib-bigarray/program -/testsuite/tests/lib-bigarray/*.exe -/testsuite/tests/lib-bigarray/*.exe.manifest -/testsuite/tests/lib-bigarray/.DS_Store - -# /testsuite/tests/lib-bigarray-2/ -/testsuite/tests/lib-bigarray-2/# svn propset -R svn:ignore -F .svnignore . -/testsuite/tests/lib-bigarray-2/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/tests/lib-bigarray-2/_log -/testsuite/tests/lib-bigarray-2/*.so -/testsuite/tests/lib-bigarray-2/*.a -/testsuite/tests/lib-bigarray-2/*.result -/testsuite/tests/lib-bigarray-2/*.byte -/testsuite/tests/lib-bigarray-2/*.native -/testsuite/tests/lib-bigarray-2/program -/testsuite/tests/lib-bigarray-2/*.cm* -/testsuite/tests/lib-bigarray-2/*.o - -# /testsuite/tests/lib-digest/ -/testsuite/tests/lib-digest/*.o -/testsuite/tests/lib-digest/*.a -/testsuite/tests/lib-digest/*.so -/testsuite/tests/lib-digest/*.obj -/testsuite/tests/lib-digest/*.lib -/testsuite/tests/lib-digest/*.dll -/testsuite/tests/lib-digest/*.cm[ioxat] -/testsuite/tests/lib-digest/*.cmx[as] -/testsuite/tests/lib-digest/*.cmti -/testsuite/tests/lib-digest/*.annot -/testsuite/tests/lib-digest/*.result -/testsuite/tests/lib-digest/*.byte -/testsuite/tests/lib-digest/*.native -/testsuite/tests/lib-digest/program -/testsuite/tests/lib-digest/*.exe -/testsuite/tests/lib-digest/*.exe.manifest -/testsuite/tests/lib-digest/.DS_Store - -# /testsuite/tests/lib-dynlink-bytecode/ -/testsuite/tests/lib-dynlink-bytecode/*.o -/testsuite/tests/lib-dynlink-bytecode/*.a -/testsuite/tests/lib-dynlink-bytecode/*.so -/testsuite/tests/lib-dynlink-bytecode/*.obj -/testsuite/tests/lib-dynlink-bytecode/*.lib -/testsuite/tests/lib-dynlink-bytecode/*.dll -/testsuite/tests/lib-dynlink-bytecode/*.cm[ioxat] -/testsuite/tests/lib-dynlink-bytecode/*.cmx[as] -/testsuite/tests/lib-dynlink-bytecode/*.cmti -/testsuite/tests/lib-dynlink-bytecode/*.annot -/testsuite/tests/lib-dynlink-bytecode/*.result -/testsuite/tests/lib-dynlink-bytecode/*.byte -/testsuite/tests/lib-dynlink-bytecode/*.native -/testsuite/tests/lib-dynlink-bytecode/program -/testsuite/tests/lib-dynlink-bytecode/*.exe -/testsuite/tests/lib-dynlink-bytecode/*.exe.manifest -/testsuite/tests/lib-dynlink-bytecode/.DS_Store -/testsuite/tests/lib-dynlink-bytecode/main -/testsuite/tests/lib-dynlink-bytecode/static -/testsuite/tests/lib-dynlink-bytecode/custom -/testsuite/tests/lib-dynlink-bytecode/custom.exe -/testsuite/tests/lib-dynlink-bytecode/marshal.data -/testsuite/tests/lib-dynlink-bytecode/caml - -# /testsuite/tests/lib-dynlink-csharp/ -/testsuite/tests/lib-dynlink-csharp/*.o -/testsuite/tests/lib-dynlink-csharp/*.a -/testsuite/tests/lib-dynlink-csharp/*.so -/testsuite/tests/lib-dynlink-csharp/*.obj -/testsuite/tests/lib-dynlink-csharp/*.lib -/testsuite/tests/lib-dynlink-csharp/*.dll -/testsuite/tests/lib-dynlink-csharp/*.cm[ioxat] -/testsuite/tests/lib-dynlink-csharp/*.cmx[as] -/testsuite/tests/lib-dynlink-csharp/*.cmti -/testsuite/tests/lib-dynlink-csharp/*.annot -/testsuite/tests/lib-dynlink-csharp/*.result -/testsuite/tests/lib-dynlink-csharp/*.byte -/testsuite/tests/lib-dynlink-csharp/*.native -/testsuite/tests/lib-dynlink-csharp/program -/testsuite/tests/lib-dynlink-csharp/*.exe -/testsuite/tests/lib-dynlink-csharp/*.exe.manifest -/testsuite/tests/lib-dynlink-csharp/.DS_Store - -# /testsuite/tests/lib-dynlink-native/ -/testsuite/tests/lib-dynlink-native/*.o -/testsuite/tests/lib-dynlink-native/*.a -/testsuite/tests/lib-dynlink-native/*.so -/testsuite/tests/lib-dynlink-native/*.obj -/testsuite/tests/lib-dynlink-native/*.lib -/testsuite/tests/lib-dynlink-native/*.dll -/testsuite/tests/lib-dynlink-native/*.cm[ioxat] -/testsuite/tests/lib-dynlink-native/*.cmx[as] -/testsuite/tests/lib-dynlink-native/*.cmti -/testsuite/tests/lib-dynlink-native/*.annot -/testsuite/tests/lib-dynlink-native/*.result -/testsuite/tests/lib-dynlink-native/*.byte -/testsuite/tests/lib-dynlink-native/*.native -/testsuite/tests/lib-dynlink-native/program -/testsuite/tests/lib-dynlink-native/*.exe -/testsuite/tests/lib-dynlink-native/*.exe.manifest -/testsuite/tests/lib-dynlink-native/.DS_Store -/testsuite/tests/lib-dynlink-native/mypack.pack.s -/testsuite/tests/lib-dynlink-native/mypack.pack.asm -/testsuite/tests/lib-dynlink-native/result -/testsuite/tests/lib-dynlink-native/main -/testsuite/tests/lib-dynlink-native/main.exe -/testsuite/tests/lib-dynlink-native/marshal.data -/testsuite/tests/lib-dynlink-native/caml - -# /testsuite/tests/lib-dynlink-native/sub/ -/testsuite/tests/lib-dynlink-native/sub/*.o -/testsuite/tests/lib-dynlink-native/sub/*.a -/testsuite/tests/lib-dynlink-native/sub/*.so -/testsuite/tests/lib-dynlink-native/sub/*.obj -/testsuite/tests/lib-dynlink-native/sub/*.lib -/testsuite/tests/lib-dynlink-native/sub/*.dll -/testsuite/tests/lib-dynlink-native/sub/*.cm[ioxat] -/testsuite/tests/lib-dynlink-native/sub/*.cmx[as] -/testsuite/tests/lib-dynlink-native/sub/*.cmti -/testsuite/tests/lib-dynlink-native/sub/*.annot -/testsuite/tests/lib-dynlink-native/sub/*.result -/testsuite/tests/lib-dynlink-native/sub/*.byte -/testsuite/tests/lib-dynlink-native/sub/*.native -/testsuite/tests/lib-dynlink-native/sub/program -/testsuite/tests/lib-dynlink-native/sub/*.exe -/testsuite/tests/lib-dynlink-native/sub/*.exe.manifest -/testsuite/tests/lib-dynlink-native/sub/.DS_Store - -# /testsuite/tests/lib-format/ -/testsuite/tests/lib-format/*.o -/testsuite/tests/lib-format/*.a -/testsuite/tests/lib-format/*.so -/testsuite/tests/lib-format/*.obj -/testsuite/tests/lib-format/*.lib -/testsuite/tests/lib-format/*.dll -/testsuite/tests/lib-format/*.cm[ioxat] -/testsuite/tests/lib-format/*.cmx[as] -/testsuite/tests/lib-format/*.cmti -/testsuite/tests/lib-format/*.annot -/testsuite/tests/lib-format/*.result -/testsuite/tests/lib-format/*.byte -/testsuite/tests/lib-format/*.native -/testsuite/tests/lib-format/program -/testsuite/tests/lib-format/*.exe -/testsuite/tests/lib-format/*.exe.manifest -/testsuite/tests/lib-format/.DS_Store - -# /testsuite/tests/lib-hashtbl/ -/testsuite/tests/lib-hashtbl/*.o -/testsuite/tests/lib-hashtbl/*.a -/testsuite/tests/lib-hashtbl/*.so -/testsuite/tests/lib-hashtbl/*.obj -/testsuite/tests/lib-hashtbl/*.cm[ioxa] -/testsuite/tests/lib-hashtbl/*.cmx[as] -/testsuite/tests/lib-hashtbl/*.annot -/testsuite/tests/lib-hashtbl/*.result -/testsuite/tests/lib-hashtbl/*.byte -/testsuite/tests/lib-hashtbl/*.native -/testsuite/tests/lib-hashtbl/program -/testsuite/tests/lib-hashtbl/program.exe -/testsuite/tests/lib-hashtbl/.DS_Store - -# /testsuite/tests/lib-marshal/ -/testsuite/tests/lib-marshal/*.o -/testsuite/tests/lib-marshal/*.a -/testsuite/tests/lib-marshal/*.so -/testsuite/tests/lib-marshal/*.obj -/testsuite/tests/lib-marshal/*.lib -/testsuite/tests/lib-marshal/*.dll -/testsuite/tests/lib-marshal/*.cm[ioxat] -/testsuite/tests/lib-marshal/*.cmx[as] -/testsuite/tests/lib-marshal/*.cmti -/testsuite/tests/lib-marshal/*.annot -/testsuite/tests/lib-marshal/*.result -/testsuite/tests/lib-marshal/*.byte -/testsuite/tests/lib-marshal/*.native -/testsuite/tests/lib-marshal/program -/testsuite/tests/lib-marshal/*.exe -/testsuite/tests/lib-marshal/*.exe.manifest -/testsuite/tests/lib-marshal/.DS_Store - -# /testsuite/tests/lib-num/ -/testsuite/tests/lib-num/*.o -/testsuite/tests/lib-num/*.a -/testsuite/tests/lib-num/*.so -/testsuite/tests/lib-num/*.obj -/testsuite/tests/lib-num/*.lib -/testsuite/tests/lib-num/*.dll -/testsuite/tests/lib-num/*.cm[ioxat] -/testsuite/tests/lib-num/*.cmx[as] -/testsuite/tests/lib-num/*.cmti -/testsuite/tests/lib-num/*.annot -/testsuite/tests/lib-num/*.result -/testsuite/tests/lib-num/*.byte -/testsuite/tests/lib-num/*.native -/testsuite/tests/lib-num/program -/testsuite/tests/lib-num/*.exe -/testsuite/tests/lib-num/*.exe.manifest -/testsuite/tests/lib-num/.DS_Store - -# /testsuite/tests/lib-num-2/ -/testsuite/tests/lib-num-2/*.o -/testsuite/tests/lib-num-2/*.a -/testsuite/tests/lib-num-2/*.so -/testsuite/tests/lib-num-2/*.obj -/testsuite/tests/lib-num-2/*.cm[ioxa] -/testsuite/tests/lib-num-2/*.cmx[as] -/testsuite/tests/lib-num-2/*.annot -/testsuite/tests/lib-num-2/*.result -/testsuite/tests/lib-num-2/*.byte -/testsuite/tests/lib-num-2/*.native -/testsuite/tests/lib-num-2/program -/testsuite/tests/lib-num-2/program.exe -/testsuite/tests/lib-num-2/.DS_Store - -# /testsuite/tests/lib-printf/ -/testsuite/tests/lib-printf/*.o -/testsuite/tests/lib-printf/*.a -/testsuite/tests/lib-printf/*.so -/testsuite/tests/lib-printf/*.obj -/testsuite/tests/lib-printf/*.lib -/testsuite/tests/lib-printf/*.dll -/testsuite/tests/lib-printf/*.cm[ioxat] -/testsuite/tests/lib-printf/*.cmx[as] -/testsuite/tests/lib-printf/*.cmti -/testsuite/tests/lib-printf/*.annot -/testsuite/tests/lib-printf/*.result -/testsuite/tests/lib-printf/*.byte -/testsuite/tests/lib-printf/*.native -/testsuite/tests/lib-printf/program -/testsuite/tests/lib-printf/*.exe -/testsuite/tests/lib-printf/*.exe.manifest -/testsuite/tests/lib-printf/.DS_Store - -# /testsuite/tests/lib-random/ -/testsuite/tests/lib-random/*.o -/testsuite/tests/lib-random/*.a -/testsuite/tests/lib-random/*.so -/testsuite/tests/lib-random/*.obj -/testsuite/tests/lib-random/*.lib -/testsuite/tests/lib-random/*.dll -/testsuite/tests/lib-random/*.cm[ioxat] -/testsuite/tests/lib-random/*.cmx[as] -/testsuite/tests/lib-random/*.cmti -/testsuite/tests/lib-random/*.annot -/testsuite/tests/lib-random/*.result -/testsuite/tests/lib-random/*.byte -/testsuite/tests/lib-random/*.native -/testsuite/tests/lib-random/program -/testsuite/tests/lib-random/*.exe -/testsuite/tests/lib-random/*.exe.manifest -/testsuite/tests/lib-random/.DS_Store - -# /testsuite/tests/lib-scanf/ -/testsuite/tests/lib-scanf/*.o -/testsuite/tests/lib-scanf/*.a -/testsuite/tests/lib-scanf/*.so -/testsuite/tests/lib-scanf/*.obj -/testsuite/tests/lib-scanf/*.lib -/testsuite/tests/lib-scanf/*.dll -/testsuite/tests/lib-scanf/*.cm[ioxat] -/testsuite/tests/lib-scanf/*.cmx[as] -/testsuite/tests/lib-scanf/*.cmti -/testsuite/tests/lib-scanf/*.annot -/testsuite/tests/lib-scanf/*.result -/testsuite/tests/lib-scanf/*.byte -/testsuite/tests/lib-scanf/*.native -/testsuite/tests/lib-scanf/program -/testsuite/tests/lib-scanf/*.exe -/testsuite/tests/lib-scanf/*.exe.manifest -/testsuite/tests/lib-scanf/.DS_Store -/testsuite/tests/lib-scanf/tscanf_data - -# /testsuite/tests/lib-scanf-2/ -/testsuite/tests/lib-scanf-2/*.o -/testsuite/tests/lib-scanf-2/*.a -/testsuite/tests/lib-scanf-2/*.so -/testsuite/tests/lib-scanf-2/*.obj -/testsuite/tests/lib-scanf-2/*.lib -/testsuite/tests/lib-scanf-2/*.dll -/testsuite/tests/lib-scanf-2/*.cm[ioxat] -/testsuite/tests/lib-scanf-2/*.cmx[as] -/testsuite/tests/lib-scanf-2/*.cmti -/testsuite/tests/lib-scanf-2/*.annot -/testsuite/tests/lib-scanf-2/*.result -/testsuite/tests/lib-scanf-2/*.byte -/testsuite/tests/lib-scanf-2/*.native -/testsuite/tests/lib-scanf-2/program -/testsuite/tests/lib-scanf-2/*.exe -/testsuite/tests/lib-scanf-2/*.exe.manifest -/testsuite/tests/lib-scanf-2/.DS_Store - -# /testsuite/tests/lib-set/ -/testsuite/tests/lib-set/*.o -/testsuite/tests/lib-set/*.a -/testsuite/tests/lib-set/*.so -/testsuite/tests/lib-set/*.obj -/testsuite/tests/lib-set/*.cm[ioxa] -/testsuite/tests/lib-set/*.cmx[as] -/testsuite/tests/lib-set/*.annot -/testsuite/tests/lib-set/*.result -/testsuite/tests/lib-set/*.byte -/testsuite/tests/lib-set/*.native -/testsuite/tests/lib-set/program -/testsuite/tests/lib-set/program.exe -/testsuite/tests/lib-set/.DS_Store - -# /testsuite/tests/lib-str/ -/testsuite/tests/lib-str/*.o -/testsuite/tests/lib-str/*.a -/testsuite/tests/lib-str/*.so -/testsuite/tests/lib-str/*.obj -/testsuite/tests/lib-str/*.cm[ioxa] -/testsuite/tests/lib-str/*.cmx[as] -/testsuite/tests/lib-str/*.annot -/testsuite/tests/lib-str/*.result -/testsuite/tests/lib-str/*.byte -/testsuite/tests/lib-str/*.native -/testsuite/tests/lib-str/program -/testsuite/tests/lib-str/program.exe -/testsuite/tests/lib-str/.DS_Store - -# /testsuite/tests/lib-stream/ -/testsuite/tests/lib-stream/*.o -/testsuite/tests/lib-stream/*.a -/testsuite/tests/lib-stream/*.so -/testsuite/tests/lib-stream/*.obj -/testsuite/tests/lib-stream/*.cm[ioxa] -/testsuite/tests/lib-stream/*.cmx[as] -/testsuite/tests/lib-stream/*.annot -/testsuite/tests/lib-stream/*.result -/testsuite/tests/lib-stream/*.byte -/testsuite/tests/lib-stream/*.native -/testsuite/tests/lib-stream/program -/testsuite/tests/lib-stream/program.exe -/testsuite/tests/lib-stream/.DS_Store - -# /testsuite/tests/lib-systhreads/ -/testsuite/tests/lib-systhreads/*.o -/testsuite/tests/lib-systhreads/*.a -/testsuite/tests/lib-systhreads/*.so -/testsuite/tests/lib-systhreads/*.obj -/testsuite/tests/lib-systhreads/*.cm[ioxa] -/testsuite/tests/lib-systhreads/*.cmx[as] -/testsuite/tests/lib-systhreads/*.annot -/testsuite/tests/lib-systhreads/*.result -/testsuite/tests/lib-systhreads/*.byte -/testsuite/tests/lib-systhreads/*.native -/testsuite/tests/lib-systhreads/program -/testsuite/tests/lib-systhreads/program.exe -/testsuite/tests/lib-systhreads/.DS_Store - -# /testsuite/tests/lib-threads/ -/testsuite/tests/lib-threads/*.o -/testsuite/tests/lib-threads/*.a -/testsuite/tests/lib-threads/*.so -/testsuite/tests/lib-threads/*.obj -/testsuite/tests/lib-threads/*.cm[ioxa] -/testsuite/tests/lib-threads/*.cmx[as] -/testsuite/tests/lib-threads/*.annot -/testsuite/tests/lib-threads/*.result -/testsuite/tests/lib-threads/*.byte -/testsuite/tests/lib-threads/*.native -/testsuite/tests/lib-threads/program -/testsuite/tests/lib-threads/program.exe -/testsuite/tests/lib-threads/.DS_Store -/testsuite/tests/lib-threads/*.byt - -# /testsuite/tests/match-exception/ -/testsuite/tests/match-exception/*.o -/testsuite/tests/match-exception/*.a -/testsuite/tests/match-exception/*.so -/testsuite/tests/match-exception/*.obj -/testsuite/tests/match-exception/*.lib -/testsuite/tests/match-exception/*.dll -/testsuite/tests/match-exception/*.cm[ioxat] -/testsuite/tests/match-exception/*.cmx[as] -/testsuite/tests/match-exception/*.cmti -/testsuite/tests/match-exception/*.annot -/testsuite/tests/match-exception/*.result -/testsuite/tests/match-exception/*.byte -/testsuite/tests/match-exception/*.native -/testsuite/tests/match-exception/program -/testsuite/tests/match-exception/*.exe -/testsuite/tests/match-exception/*.exe.manifest -/testsuite/tests/match-exception/.DS_Store - -# /testsuite/tests/match-exception-warnings/ -/testsuite/tests/match-exception-warnings/*.o -/testsuite/tests/match-exception-warnings/*.a -/testsuite/tests/match-exception-warnings/*.so -/testsuite/tests/match-exception-warnings/*.obj -/testsuite/tests/match-exception-warnings/*.lib -/testsuite/tests/match-exception-warnings/*.dll -/testsuite/tests/match-exception-warnings/*.cm[ioxat] -/testsuite/tests/match-exception-warnings/*.cmx[as] -/testsuite/tests/match-exception-warnings/*.cmti -/testsuite/tests/match-exception-warnings/*.annot -/testsuite/tests/match-exception-warnings/*.result -/testsuite/tests/match-exception-warnings/*.byte -/testsuite/tests/match-exception-warnings/*.native -/testsuite/tests/match-exception-warnings/program -/testsuite/tests/match-exception-warnings/*.exe -/testsuite/tests/match-exception-warnings/*.exe.manifest -/testsuite/tests/match-exception-warnings/.DS_Store - -# /testsuite/tests/misc/ -/testsuite/tests/misc/*.o -/testsuite/tests/misc/*.a -/testsuite/tests/misc/*.so -/testsuite/tests/misc/*.obj -/testsuite/tests/misc/*.cm[ioxa] -/testsuite/tests/misc/*.cmx[as] -/testsuite/tests/misc/*.annot -/testsuite/tests/misc/*.result -/testsuite/tests/misc/*.byte -/testsuite/tests/misc/*.native -/testsuite/tests/misc/program -/testsuite/tests/misc/program.exe -/testsuite/tests/misc/.DS_Store - -# /testsuite/tests/misc-kb/ -/testsuite/tests/misc-kb/*.o -/testsuite/tests/misc-kb/*.a -/testsuite/tests/misc-kb/*.so -/testsuite/tests/misc-kb/*.obj -/testsuite/tests/misc-kb/*.lib -/testsuite/tests/misc-kb/*.dll -/testsuite/tests/misc-kb/*.cm[ioxat] -/testsuite/tests/misc-kb/*.cmx[as] -/testsuite/tests/misc-kb/*.cmti -/testsuite/tests/misc-kb/*.annot -/testsuite/tests/misc-kb/*.result -/testsuite/tests/misc-kb/*.byte -/testsuite/tests/misc-kb/*.native -/testsuite/tests/misc-kb/program -/testsuite/tests/misc-kb/*.exe -/testsuite/tests/misc-kb/*.exe.manifest -/testsuite/tests/misc-kb/.DS_Store - -# /testsuite/tests/misc-unsafe/ -/testsuite/tests/misc-unsafe/*.o -/testsuite/tests/misc-unsafe/*.a -/testsuite/tests/misc-unsafe/*.so -/testsuite/tests/misc-unsafe/*.obj -/testsuite/tests/misc-unsafe/*.cm[ioxa] -/testsuite/tests/misc-unsafe/*.cmx[as] -/testsuite/tests/misc-unsafe/*.annot -/testsuite/tests/misc-unsafe/*.result -/testsuite/tests/misc-unsafe/*.byte -/testsuite/tests/misc-unsafe/*.native -/testsuite/tests/misc-unsafe/program -/testsuite/tests/misc-unsafe/program.exe -/testsuite/tests/misc-unsafe/.DS_Store - -# /testsuite/tests/prim-bigstring/ -/testsuite/tests/prim-bigstring/*.o -/testsuite/tests/prim-bigstring/*.a -/testsuite/tests/prim-bigstring/*.so -/testsuite/tests/prim-bigstring/*.obj -/testsuite/tests/prim-bigstring/*.lib -/testsuite/tests/prim-bigstring/*.dll -/testsuite/tests/prim-bigstring/*.cm[ioxat] -/testsuite/tests/prim-bigstring/*.cmx[as] -/testsuite/tests/prim-bigstring/*.cmti -/testsuite/tests/prim-bigstring/*.annot -/testsuite/tests/prim-bigstring/*.result -/testsuite/tests/prim-bigstring/*.byte -/testsuite/tests/prim-bigstring/*.native -/testsuite/tests/prim-bigstring/program -/testsuite/tests/prim-bigstring/*.exe -/testsuite/tests/prim-bigstring/*.exe.manifest -/testsuite/tests/prim-bigstring/.DS_Store - -# /testsuite/tests/prim-bswap/ -/testsuite/tests/prim-bswap/*.o -/testsuite/tests/prim-bswap/*.a -/testsuite/tests/prim-bswap/*.so -/testsuite/tests/prim-bswap/*.obj -/testsuite/tests/prim-bswap/*.cm[ioxat] -/testsuite/tests/prim-bswap/*.cmx[as] -/testsuite/tests/prim-bswap/*.cmti -/testsuite/tests/prim-bswap/*.annot -/testsuite/tests/prim-bswap/*.result -/testsuite/tests/prim-bswap/*.byte -/testsuite/tests/prim-bswap/*.native -/testsuite/tests/prim-bswap/program -/testsuite/tests/prim-bswap/program.exe -/testsuite/tests/prim-bswap/.DS_Store - -# /testsuite/tests/prim-revapply/ -/testsuite/tests/prim-revapply/*.o -/testsuite/tests/prim-revapply/*.a -/testsuite/tests/prim-revapply/*.so -/testsuite/tests/prim-revapply/*.obj -/testsuite/tests/prim-revapply/*.cm[ioxa] -/testsuite/tests/prim-revapply/*.cmx[as] -/testsuite/tests/prim-revapply/*.annot -/testsuite/tests/prim-revapply/*.result -/testsuite/tests/prim-revapply/*.byte -/testsuite/tests/prim-revapply/*.native -/testsuite/tests/prim-revapply/program -/testsuite/tests/prim-revapply/program.exe -/testsuite/tests/prim-revapply/.DS_Store - -# /testsuite/tests/regression/pr5080-notes/ -/testsuite/tests/regression/pr5080-notes/*.o -/testsuite/tests/regression/pr5080-notes/*.a -/testsuite/tests/regression/pr5080-notes/*.so -/testsuite/tests/regression/pr5080-notes/*.obj -/testsuite/tests/regression/pr5080-notes/*.cm[ioxa] -/testsuite/tests/regression/pr5080-notes/*.cmx[as] -/testsuite/tests/regression/pr5080-notes/*.annot -/testsuite/tests/regression/pr5080-notes/*.result -/testsuite/tests/regression/pr5080-notes/*.byte -/testsuite/tests/regression/pr5080-notes/*.native -/testsuite/tests/regression/pr5080-notes/program -/testsuite/tests/regression/pr5080-notes/program.exe -/testsuite/tests/regression/pr5080-notes/.DS_Store - -# /testsuite/tests/regression/pr5233/ -/testsuite/tests/regression/pr5233/*.o -/testsuite/tests/regression/pr5233/*.a -/testsuite/tests/regression/pr5233/*.so -/testsuite/tests/regression/pr5233/*.obj -/testsuite/tests/regression/pr5233/*.lib -/testsuite/tests/regression/pr5233/*.dll -/testsuite/tests/regression/pr5233/*.cm[ioxat] -/testsuite/tests/regression/pr5233/*.cmx[as] -/testsuite/tests/regression/pr5233/*.cmti -/testsuite/tests/regression/pr5233/*.annot -/testsuite/tests/regression/pr5233/*.result -/testsuite/tests/regression/pr5233/*.byte -/testsuite/tests/regression/pr5233/*.native -/testsuite/tests/regression/pr5233/program -/testsuite/tests/regression/pr5233/*.exe -/testsuite/tests/regression/pr5233/*.exe.manifest -/testsuite/tests/regression/pr5233/.DS_Store - -# /testsuite/tests/regression/pr5757/ -/testsuite/tests/regression/pr5757/*.o -/testsuite/tests/regression/pr5757/*.a -/testsuite/tests/regression/pr5757/*.so -/testsuite/tests/regression/pr5757/*.obj -/testsuite/tests/regression/pr5757/*.lib -/testsuite/tests/regression/pr5757/*.dll -/testsuite/tests/regression/pr5757/*.cm[ioxat] -/testsuite/tests/regression/pr5757/*.cmx[as] -/testsuite/tests/regression/pr5757/*.cmti -/testsuite/tests/regression/pr5757/*.annot -/testsuite/tests/regression/pr5757/*.result -/testsuite/tests/regression/pr5757/*.byte -/testsuite/tests/regression/pr5757/*.native -/testsuite/tests/regression/pr5757/program -/testsuite/tests/regression/pr5757/*.exe -/testsuite/tests/regression/pr5757/*.exe.manifest -/testsuite/tests/regression/pr5757/.DS_Store - -# /testsuite/tests/regression/pr6024/ -/testsuite/tests/regression/pr6024/*.o -/testsuite/tests/regression/pr6024/*.a -/testsuite/tests/regression/pr6024/*.so -/testsuite/tests/regression/pr6024/*.obj -/testsuite/tests/regression/pr6024/*.lib -/testsuite/tests/regression/pr6024/*.dll -/testsuite/tests/regression/pr6024/*.cm[ioxat] -/testsuite/tests/regression/pr6024/*.cmx[as] -/testsuite/tests/regression/pr6024/*.cmti -/testsuite/tests/regression/pr6024/*.annot -/testsuite/tests/regression/pr6024/*.result -/testsuite/tests/regression/pr6024/*.byte -/testsuite/tests/regression/pr6024/*.native -/testsuite/tests/regression/pr6024/program -/testsuite/tests/regression/pr6024/*.exe -/testsuite/tests/regression/pr6024/*.exe.manifest -/testsuite/tests/regression/pr6024/.DS_Store - -# /testsuite/tests/runtime-errors/ -/testsuite/tests/runtime-errors/*.o -/testsuite/tests/runtime-errors/*.a -/testsuite/tests/runtime-errors/*.so -/testsuite/tests/runtime-errors/*.obj -/testsuite/tests/runtime-errors/*.lib -/testsuite/tests/runtime-errors/*.dll -/testsuite/tests/runtime-errors/*.cm[ioxat] -/testsuite/tests/runtime-errors/*.cmx[as] -/testsuite/tests/runtime-errors/*.cmti -/testsuite/tests/runtime-errors/*.annot -/testsuite/tests/runtime-errors/*.result -/testsuite/tests/runtime-errors/*.byte -/testsuite/tests/runtime-errors/*.native -/testsuite/tests/runtime-errors/program -/testsuite/tests/runtime-errors/*.exe -/testsuite/tests/runtime-errors/*.exe.manifest -/testsuite/tests/runtime-errors/.DS_Store -/testsuite/tests/runtime-errors/*.bytecode - -# /testsuite/tests/tool-debugger/ -/testsuite/tests/tool-debugger/*.o -/testsuite/tests/tool-debugger/*.a -/testsuite/tests/tool-debugger/*.so -/testsuite/tests/tool-debugger/*.obj -/testsuite/tests/tool-debugger/*.lib -/testsuite/tests/tool-debugger/*.dll -/testsuite/tests/tool-debugger/*.cm[ioxat] -/testsuite/tests/tool-debugger/*.cmx[as] -/testsuite/tests/tool-debugger/*.cmti -/testsuite/tests/tool-debugger/*.annot -/testsuite/tests/tool-debugger/*.result -/testsuite/tests/tool-debugger/*.byte -/testsuite/tests/tool-debugger/*.native -/testsuite/tests/tool-debugger/program -/testsuite/tests/tool-debugger/*.exe -/testsuite/tests/tool-debugger/*.exe.manifest -/testsuite/tests/tool-debugger/.DS_Store -/testsuite/tests/tool-debugger/compiler-libs - -# /testsuite/tests/tool-debugger/basic/ -/testsuite/tests/tool-debugger/basic/*.o -/testsuite/tests/tool-debugger/basic/*.a -/testsuite/tests/tool-debugger/basic/*.so -/testsuite/tests/tool-debugger/basic/*.obj -/testsuite/tests/tool-debugger/basic/*.lib -/testsuite/tests/tool-debugger/basic/*.dll -/testsuite/tests/tool-debugger/basic/*.cm[ioxat] -/testsuite/tests/tool-debugger/basic/*.cmx[as] -/testsuite/tests/tool-debugger/basic/*.cmti -/testsuite/tests/tool-debugger/basic/*.annot -/testsuite/tests/tool-debugger/basic/*.result -/testsuite/tests/tool-debugger/basic/*.byte -/testsuite/tests/tool-debugger/basic/*.native -/testsuite/tests/tool-debugger/basic/program -/testsuite/tests/tool-debugger/basic/*.exe -/testsuite/tests/tool-debugger/basic/*.exe.manifest -/testsuite/tests/tool-debugger/basic/.DS_Store -/testsuite/tests/tool-debugger/basic/compiler-libs - -# /testsuite/tests/tool-debugger/find-artifacts/ -/testsuite/tests/tool-debugger/find-artifacts/*.o -/testsuite/tests/tool-debugger/find-artifacts/*.a -/testsuite/tests/tool-debugger/find-artifacts/*.so -/testsuite/tests/tool-debugger/find-artifacts/*.obj -/testsuite/tests/tool-debugger/find-artifacts/*.lib -/testsuite/tests/tool-debugger/find-artifacts/*.dll -/testsuite/tests/tool-debugger/find-artifacts/*.cm[ioxat] -/testsuite/tests/tool-debugger/find-artifacts/*.cmx[as] -/testsuite/tests/tool-debugger/find-artifacts/*.cmti -/testsuite/tests/tool-debugger/find-artifacts/*.annot -/testsuite/tests/tool-debugger/find-artifacts/*.result -/testsuite/tests/tool-debugger/find-artifacts/*.byte -/testsuite/tests/tool-debugger/find-artifacts/*.native -/testsuite/tests/tool-debugger/find-artifacts/program -/testsuite/tests/tool-debugger/find-artifacts/*.exe -/testsuite/tests/tool-debugger/find-artifacts/*.exe.manifest -/testsuite/tests/tool-debugger/find-artifacts/.DS_Store -/testsuite/tests/tool-debugger/find-artifacts/compiler-libs -/testsuite/tests/tool-debugger/find-artifacts/out - -# /testsuite/tests/tool-debugger/no_debug_event/ -/testsuite/tests/tool-debugger/no_debug_event/*.o -/testsuite/tests/tool-debugger/no_debug_event/*.a -/testsuite/tests/tool-debugger/no_debug_event/*.so -/testsuite/tests/tool-debugger/no_debug_event/*.obj -/testsuite/tests/tool-debugger/no_debug_event/*.lib -/testsuite/tests/tool-debugger/no_debug_event/*.dll -/testsuite/tests/tool-debugger/no_debug_event/*.cm[ioxat] -/testsuite/tests/tool-debugger/no_debug_event/*.cmx[as] -/testsuite/tests/tool-debugger/no_debug_event/*.cmti -/testsuite/tests/tool-debugger/no_debug_event/*.annot -/testsuite/tests/tool-debugger/no_debug_event/*.result -/testsuite/tests/tool-debugger/no_debug_event/*.byte -/testsuite/tests/tool-debugger/no_debug_event/*.native -/testsuite/tests/tool-debugger/no_debug_event/program -/testsuite/tests/tool-debugger/no_debug_event/*.exe -/testsuite/tests/tool-debugger/no_debug_event/*.exe.manifest -/testsuite/tests/tool-debugger/no_debug_event/.DS_Store -/testsuite/tests/tool-debugger/no_debug_event/compiler-libs -/testsuite/tests/tool-debugger/no_debug_event/out -/testsuite/tests/tool-debugger/no_debug_event/c -/testsuite/tests/tool-debugger/no_debug_event/c.exe - -# /testsuite/tests/tool-lexyacc/ -/testsuite/tests/tool-lexyacc/*.o -/testsuite/tests/tool-lexyacc/*.a -/testsuite/tests/tool-lexyacc/*.so -/testsuite/tests/tool-lexyacc/*.obj -/testsuite/tests/tool-lexyacc/*.lib -/testsuite/tests/tool-lexyacc/*.dll -/testsuite/tests/tool-lexyacc/*.cm[ioxat] -/testsuite/tests/tool-lexyacc/*.cmx[as] -/testsuite/tests/tool-lexyacc/*.cmti -/testsuite/tests/tool-lexyacc/*.annot -/testsuite/tests/tool-lexyacc/*.result -/testsuite/tests/tool-lexyacc/*.byte -/testsuite/tests/tool-lexyacc/*.native -/testsuite/tests/tool-lexyacc/program -/testsuite/tests/tool-lexyacc/*.exe -/testsuite/tests/tool-lexyacc/*.exe.manifest -/testsuite/tests/tool-lexyacc/.DS_Store -/testsuite/tests/tool-lexyacc/scanner.ml -/testsuite/tests/tool-lexyacc/grammar.mli -/testsuite/tests/tool-lexyacc/grammar.ml - -# /testsuite/tests/tool-ocaml/ -/testsuite/tests/tool-ocaml/# svn propset -R svn:ignore -F .svnignore . -/testsuite/tests/tool-ocaml/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/tests/tool-ocaml/_log -/testsuite/tests/tool-ocaml/*.so -/testsuite/tests/tool-ocaml/*.a -/testsuite/tests/tool-ocaml/*.result -/testsuite/tests/tool-ocaml/*.byte -/testsuite/tests/tool-ocaml/*.native -/testsuite/tests/tool-ocaml/program -/testsuite/tests/tool-ocaml/*.cm* -/testsuite/tests/tool-ocaml/*.o - -# /testsuite/tests/tool-ocamldoc/ -/testsuite/tests/tool-ocamldoc/*.o -/testsuite/tests/tool-ocamldoc/*.a -/testsuite/tests/tool-ocamldoc/*.so -/testsuite/tests/tool-ocamldoc/*.obj -/testsuite/tests/tool-ocamldoc/*.cm[ioxa] -/testsuite/tests/tool-ocamldoc/*.cmx[as] -/testsuite/tests/tool-ocamldoc/*.annot -/testsuite/tests/tool-ocamldoc/*.result -/testsuite/tests/tool-ocamldoc/*.byte -/testsuite/tests/tool-ocamldoc/*.native -/testsuite/tests/tool-ocamldoc/program -/testsuite/tests/tool-ocamldoc/.DS_Store -/testsuite/tests/tool-ocamldoc/*.html -/testsuite/tests/tool-ocamldoc/*.sty -/testsuite/tests/tool-ocamldoc/*.css -/testsuite/tests/tool-ocamldoc/ocamldoc.out - -# /testsuite/tests/tool-toplevel/ -/testsuite/tests/tool-toplevel/*.o -/testsuite/tests/tool-toplevel/*.a -/testsuite/tests/tool-toplevel/*.so -/testsuite/tests/tool-toplevel/*.obj -/testsuite/tests/tool-toplevel/*.lib -/testsuite/tests/tool-toplevel/*.dll -/testsuite/tests/tool-toplevel/*.cm[ioxat] -/testsuite/tests/tool-toplevel/*.cmx[as] -/testsuite/tests/tool-toplevel/*.cmti -/testsuite/tests/tool-toplevel/*.annot -/testsuite/tests/tool-toplevel/*.result -/testsuite/tests/tool-toplevel/*.byte -/testsuite/tests/tool-toplevel/*.native -/testsuite/tests/tool-toplevel/program -/testsuite/tests/tool-toplevel/*.exe -/testsuite/tests/tool-toplevel/*.exe.manifest -/testsuite/tests/tool-toplevel/.DS_Store - -# /testsuite/tests/typing-extensions/ -/testsuite/tests/typing-extensions/*.o -/testsuite/tests/typing-extensions/*.a -/testsuite/tests/typing-extensions/*.so -/testsuite/tests/typing-extensions/*.obj -/testsuite/tests/typing-extensions/*.lib -/testsuite/tests/typing-extensions/*.dll -/testsuite/tests/typing-extensions/*.cm[ioxat] -/testsuite/tests/typing-extensions/*.cmx[as] -/testsuite/tests/typing-extensions/*.cmti -/testsuite/tests/typing-extensions/*.annot -/testsuite/tests/typing-extensions/*.result -/testsuite/tests/typing-extensions/*.byte -/testsuite/tests/typing-extensions/*.native -/testsuite/tests/typing-extensions/program -/testsuite/tests/typing-extensions/*.exe -/testsuite/tests/typing-extensions/*.exe.manifest -/testsuite/tests/typing-extensions/.DS_Store - -# /testsuite/tests/typing-fstclassmod/ -/testsuite/tests/typing-fstclassmod/*.o -/testsuite/tests/typing-fstclassmod/*.a -/testsuite/tests/typing-fstclassmod/*.so -/testsuite/tests/typing-fstclassmod/*.obj -/testsuite/tests/typing-fstclassmod/*.lib -/testsuite/tests/typing-fstclassmod/*.dll -/testsuite/tests/typing-fstclassmod/*.cm[ioxat] -/testsuite/tests/typing-fstclassmod/*.cmx[as] -/testsuite/tests/typing-fstclassmod/*.cmti -/testsuite/tests/typing-fstclassmod/*.annot -/testsuite/tests/typing-fstclassmod/*.result -/testsuite/tests/typing-fstclassmod/*.byte -/testsuite/tests/typing-fstclassmod/*.native -/testsuite/tests/typing-fstclassmod/program -/testsuite/tests/typing-fstclassmod/*.exe -/testsuite/tests/typing-fstclassmod/*.exe.manifest -/testsuite/tests/typing-fstclassmod/.DS_Store - -# /testsuite/tests/typing-gadts/ -/testsuite/tests/typing-gadts/*.o -/testsuite/tests/typing-gadts/*.a -/testsuite/tests/typing-gadts/*.so -/testsuite/tests/typing-gadts/*.obj -/testsuite/tests/typing-gadts/*.cm[ioxa] -/testsuite/tests/typing-gadts/*.cmx[as] -/testsuite/tests/typing-gadts/*.annot -/testsuite/tests/typing-gadts/*.result -/testsuite/tests/typing-gadts/*.byte -/testsuite/tests/typing-gadts/*.native -/testsuite/tests/typing-gadts/program -/testsuite/tests/typing-gadts/.DS_Store - -# /testsuite/tests/typing-implicit_unpack/ -/testsuite/tests/typing-implicit_unpack/*.o -/testsuite/tests/typing-implicit_unpack/*.a -/testsuite/tests/typing-implicit_unpack/*.so -/testsuite/tests/typing-implicit_unpack/*.obj -/testsuite/tests/typing-implicit_unpack/*.cm[ioxa] -/testsuite/tests/typing-implicit_unpack/*.cmx[as] -/testsuite/tests/typing-implicit_unpack/*.annot -/testsuite/tests/typing-implicit_unpack/*.result -/testsuite/tests/typing-implicit_unpack/*.byte -/testsuite/tests/typing-implicit_unpack/*.native -/testsuite/tests/typing-implicit_unpack/program -/testsuite/tests/typing-implicit_unpack/.DS_Store - -# /testsuite/tests/typing-labels/ -/testsuite/tests/typing-labels/*.o -/testsuite/tests/typing-labels/*.a -/testsuite/tests/typing-labels/*.so -/testsuite/tests/typing-labels/*.obj -/testsuite/tests/typing-labels/*.cm[ioxa] -/testsuite/tests/typing-labels/*.cmx[as] -/testsuite/tests/typing-labels/*.annot -/testsuite/tests/typing-labels/*.result -/testsuite/tests/typing-labels/*.byte -/testsuite/tests/typing-labels/*.native -/testsuite/tests/typing-labels/program -/testsuite/tests/typing-labels/program.exe -/testsuite/tests/typing-labels/.DS_Store - -# /testsuite/tests/typing-misc/ -/testsuite/tests/typing-misc/*.o -/testsuite/tests/typing-misc/*.a -/testsuite/tests/typing-misc/*.so -/testsuite/tests/typing-misc/*.obj -/testsuite/tests/typing-misc/*.cm[ioxa] -/testsuite/tests/typing-misc/*.cmx[as] -/testsuite/tests/typing-misc/*.annot -/testsuite/tests/typing-misc/*.result -/testsuite/tests/typing-misc/*.byte -/testsuite/tests/typing-misc/*.native -/testsuite/tests/typing-misc/program -/testsuite/tests/typing-misc/.DS_Store - -# /testsuite/tests/typing-modules/ -/testsuite/tests/typing-modules/# svn propset -R svn:ignore -F .svnignore . -/testsuite/tests/typing-modules/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/tests/typing-modules/_log -/testsuite/tests/typing-modules/*.so -/testsuite/tests/typing-modules/*.a -/testsuite/tests/typing-modules/*.result -/testsuite/tests/typing-modules/*.byte -/testsuite/tests/typing-modules/*.native -/testsuite/tests/typing-modules/program - -# /testsuite/tests/typing-modules-bugs/ -/testsuite/tests/typing-modules-bugs/*.o -/testsuite/tests/typing-modules-bugs/*.a -/testsuite/tests/typing-modules-bugs/*.so -/testsuite/tests/typing-modules-bugs/*.obj -/testsuite/tests/typing-modules-bugs/*.cm[ioxa] -/testsuite/tests/typing-modules-bugs/*.cmx[as] -/testsuite/tests/typing-modules-bugs/*.annot -/testsuite/tests/typing-modules-bugs/*.result -/testsuite/tests/typing-modules-bugs/*.byte -/testsuite/tests/typing-modules-bugs/*.native -/testsuite/tests/typing-modules-bugs/program -/testsuite/tests/typing-modules-bugs/program.exe -/testsuite/tests/typing-modules-bugs/.DS_Store - -# /testsuite/tests/typing-objects/ -/testsuite/tests/typing-objects/*.o -/testsuite/tests/typing-objects/*.a -/testsuite/tests/typing-objects/*.so -/testsuite/tests/typing-objects/*.obj -/testsuite/tests/typing-objects/*.cm[ioxa] -/testsuite/tests/typing-objects/*.cmx[as] -/testsuite/tests/typing-objects/*.annot -/testsuite/tests/typing-objects/*.result -/testsuite/tests/typing-objects/*.byte -/testsuite/tests/typing-objects/*.native -/testsuite/tests/typing-objects/program -/testsuite/tests/typing-objects/.DS_Store - -# /testsuite/tests/typing-objects-bugs/ -/testsuite/tests/typing-objects-bugs/# svn propset -R svn:ignore -F .svnignore . -/testsuite/tests/typing-objects-bugs/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/tests/typing-objects-bugs/_log -/testsuite/tests/typing-objects-bugs/*.so -/testsuite/tests/typing-objects-bugs/*.a -/testsuite/tests/typing-objects-bugs/*.result -/testsuite/tests/typing-objects-bugs/*.byte -/testsuite/tests/typing-objects-bugs/*.native -/testsuite/tests/typing-objects-bugs/program -/testsuite/tests/typing-objects-bugs/*.cm* -/testsuite/tests/typing-objects-bugs/*.o - -# /testsuite/tests/typing-poly/ -/testsuite/tests/typing-poly/*.o -/testsuite/tests/typing-poly/*.a -/testsuite/tests/typing-poly/*.so -/testsuite/tests/typing-poly/*.obj -/testsuite/tests/typing-poly/*.cm[ioxa] -/testsuite/tests/typing-poly/*.cmx[as] -/testsuite/tests/typing-poly/*.annot -/testsuite/tests/typing-poly/*.result -/testsuite/tests/typing-poly/*.byte -/testsuite/tests/typing-poly/*.native -/testsuite/tests/typing-poly/program -/testsuite/tests/typing-poly/.DS_Store - -# /testsuite/tests/typing-poly-bugs/ -/testsuite/tests/typing-poly-bugs/*.o -/testsuite/tests/typing-poly-bugs/*.a -/testsuite/tests/typing-poly-bugs/*.so -/testsuite/tests/typing-poly-bugs/*.obj -/testsuite/tests/typing-poly-bugs/*.cm[ioxa] -/testsuite/tests/typing-poly-bugs/*.cmx[as] -/testsuite/tests/typing-poly-bugs/*.annot -/testsuite/tests/typing-poly-bugs/*.result -/testsuite/tests/typing-poly-bugs/*.byte -/testsuite/tests/typing-poly-bugs/*.native -/testsuite/tests/typing-poly-bugs/program -/testsuite/tests/typing-poly-bugs/program.exe -/testsuite/tests/typing-poly-bugs/.DS_Store - -# /testsuite/tests/typing-polyvariants-bugs/ -/testsuite/tests/typing-polyvariants-bugs/# svn propset -R svn:ignore -F .svnignore . -/testsuite/tests/typing-polyvariants-bugs/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/tests/typing-polyvariants-bugs/_log -/testsuite/tests/typing-polyvariants-bugs/*.so -/testsuite/tests/typing-polyvariants-bugs/*.a -/testsuite/tests/typing-polyvariants-bugs/*.result -/testsuite/tests/typing-polyvariants-bugs/*.byte -/testsuite/tests/typing-polyvariants-bugs/*.native -/testsuite/tests/typing-polyvariants-bugs/program -/testsuite/tests/typing-polyvariants-bugs/*.cm* -/testsuite/tests/typing-polyvariants-bugs/*.o - -# /testsuite/tests/typing-polyvariants-bugs-2/ -/testsuite/tests/typing-polyvariants-bugs-2/# svn propset -R svn:ignore -F .svnignore . -/testsuite/tests/typing-polyvariants-bugs-2/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/tests/typing-polyvariants-bugs-2/_log -/testsuite/tests/typing-polyvariants-bugs-2/*.so -/testsuite/tests/typing-polyvariants-bugs-2/*.a -/testsuite/tests/typing-polyvariants-bugs-2/*.result -/testsuite/tests/typing-polyvariants-bugs-2/*.byte -/testsuite/tests/typing-polyvariants-bugs-2/*.native -/testsuite/tests/typing-polyvariants-bugs-2/program -/testsuite/tests/typing-polyvariants-bugs-2/*.cm* -/testsuite/tests/typing-polyvariants-bugs-2/*.o - -# /testsuite/tests/typing-private/ -/testsuite/tests/typing-private/*.o -/testsuite/tests/typing-private/*.a -/testsuite/tests/typing-private/*.so -/testsuite/tests/typing-private/*.obj -/testsuite/tests/typing-private/*.cm[ioxa] -/testsuite/tests/typing-private/*.cmx[as] -/testsuite/tests/typing-private/*.annot -/testsuite/tests/typing-private/*.result -/testsuite/tests/typing-private/*.byte -/testsuite/tests/typing-private/*.native -/testsuite/tests/typing-private/program -/testsuite/tests/typing-private/.DS_Store - -# /testsuite/tests/typing-private-bugs/ -/testsuite/tests/typing-private-bugs/# svn propset -R svn:ignore -F .svnignore . -/testsuite/tests/typing-private-bugs/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/tests/typing-private-bugs/_log -/testsuite/tests/typing-private-bugs/*.so -/testsuite/tests/typing-private-bugs/*.a -/testsuite/tests/typing-private-bugs/*.result -/testsuite/tests/typing-private-bugs/*.byte -/testsuite/tests/typing-private-bugs/*.native -/testsuite/tests/typing-private-bugs/program -/testsuite/tests/typing-private-bugs/*.cm* -/testsuite/tests/typing-private-bugs/*.o - -# /testsuite/tests/typing-recmod/ -/testsuite/tests/typing-recmod/# svn propset -R svn:ignore -F .svnignore . -/testsuite/tests/typing-recmod/# find . -name .svnignore -print | while read f; do svn propset svn:ignore -F $f `dirname $f`; done -/testsuite/tests/typing-recmod/_log -/testsuite/tests/typing-recmod/*.so -/testsuite/tests/typing-recmod/*.a -/testsuite/tests/typing-recmod/*.result -/testsuite/tests/typing-recmod/*.byte -/testsuite/tests/typing-recmod/*.native -/testsuite/tests/typing-recmod/program -/testsuite/tests/typing-recmod/*.cm* -/testsuite/tests/typing-recmod/*.o - -# /testsuite/tests/typing-short-paths/ -/testsuite/tests/typing-short-paths/*.o -/testsuite/tests/typing-short-paths/*.a -/testsuite/tests/typing-short-paths/*.so -/testsuite/tests/typing-short-paths/*.obj -/testsuite/tests/typing-short-paths/*.cm[ioxat] -/testsuite/tests/typing-short-paths/*.cmx[as] -/testsuite/tests/typing-short-paths/*.cmti -/testsuite/tests/typing-short-paths/*.annot -/testsuite/tests/typing-short-paths/*.result -/testsuite/tests/typing-short-paths/*.byte -/testsuite/tests/typing-short-paths/*.native -/testsuite/tests/typing-short-paths/program -/testsuite/tests/typing-short-paths/program.exe -/testsuite/tests/typing-short-paths/.DS_Store - -# /testsuite/tests/typing-signatures/ -/testsuite/tests/typing-signatures/*.o -/testsuite/tests/typing-signatures/*.a -/testsuite/tests/typing-signatures/*.so -/testsuite/tests/typing-signatures/*.obj -/testsuite/tests/typing-signatures/*.cm[ioxa] -/testsuite/tests/typing-signatures/*.cmx[as] -/testsuite/tests/typing-signatures/*.annot -/testsuite/tests/typing-signatures/*.result -/testsuite/tests/typing-signatures/*.byte -/testsuite/tests/typing-signatures/*.native -/testsuite/tests/typing-signatures/program -/testsuite/tests/typing-signatures/.DS_Store - -# /testsuite/tests/typing-sigsubst/ -/testsuite/tests/typing-sigsubst/*.o -/testsuite/tests/typing-sigsubst/*.a -/testsuite/tests/typing-sigsubst/*.so -/testsuite/tests/typing-sigsubst/*.obj -/testsuite/tests/typing-sigsubst/*.cm[ioxa] -/testsuite/tests/typing-sigsubst/*.cmx[as] -/testsuite/tests/typing-sigsubst/*.annot -/testsuite/tests/typing-sigsubst/*.result -/testsuite/tests/typing-sigsubst/*.byte -/testsuite/tests/typing-sigsubst/*.native -/testsuite/tests/typing-sigsubst/program -/testsuite/tests/typing-sigsubst/.DS_Store - -# /testsuite/tests/typing-typeparam/ -/testsuite/tests/typing-typeparam/*.o -/testsuite/tests/typing-typeparam/*.a -/testsuite/tests/typing-typeparam/*.so -/testsuite/tests/typing-typeparam/*.obj -/testsuite/tests/typing-typeparam/*.cm[ioxa] -/testsuite/tests/typing-typeparam/*.cmx[as] -/testsuite/tests/typing-typeparam/*.annot -/testsuite/tests/typing-typeparam/*.result -/testsuite/tests/typing-typeparam/*.byte -/testsuite/tests/typing-typeparam/*.native -/testsuite/tests/typing-typeparam/program -/testsuite/tests/typing-typeparam/.DS_Store - -# /testsuite/tests/typing-warnings/ -/testsuite/tests/typing-warnings/*.o -/testsuite/tests/typing-warnings/*.a -/testsuite/tests/typing-warnings/*.so -/testsuite/tests/typing-warnings/*.obj -/testsuite/tests/typing-warnings/*.cm[ioxat] -/testsuite/tests/typing-warnings/*.cmx[as] -/testsuite/tests/typing-warnings/*.cmti -/testsuite/tests/typing-warnings/*.annot -/testsuite/tests/typing-warnings/*.result -/testsuite/tests/typing-warnings/*.byte -/testsuite/tests/typing-warnings/*.native -/testsuite/tests/typing-warnings/program -/testsuite/tests/typing-warnings/program.exe -/testsuite/tests/typing-warnings/.DS_Store - -# /testsuite/tests/utils/ -/testsuite/tests/utils/*.o -/testsuite/tests/utils/*.a -/testsuite/tests/utils/*.so -/testsuite/tests/utils/*.obj -/testsuite/tests/utils/*.cm[ioxat] -/testsuite/tests/utils/*.cmx[as] -/testsuite/tests/utils/*.cmti -/testsuite/tests/utils/*.annot -/testsuite/tests/utils/*.result -/testsuite/tests/utils/*.byte -/testsuite/tests/utils/*.native -/testsuite/tests/utils/program -/testsuite/tests/utils/program.exe -/testsuite/tests/utils/.DS_Store - -# /testsuite/tests/warnings/ -/testsuite/tests/warnings/*.o -/testsuite/tests/warnings/*.a -/testsuite/tests/warnings/*.so -/testsuite/tests/warnings/*.obj -/testsuite/tests/warnings/*.lib -/testsuite/tests/warnings/*.dll -/testsuite/tests/warnings/*.cm[ioxat] -/testsuite/tests/warnings/*.cmx[as] -/testsuite/tests/warnings/*.cmti -/testsuite/tests/warnings/*.annot -/testsuite/tests/warnings/*.result -/testsuite/tests/warnings/*.byte -/testsuite/tests/warnings/*.native -/testsuite/tests/warnings/program -/testsuite/tests/warnings/*.exe -/testsuite/tests/warnings/*.exe.manifest -/testsuite/tests/warnings/.DS_Store - -# /tools/ -/tools/*.o -/tools/*.a -/tools/*.so -/tools/*.obj -/tools/*.lib -/tools/*.dll -/tools/*.cm[ioxat] -/tools/*.cmx[as] -/tools/*.cmti -/tools/*.annot -/tools/*.result -/tools/*.byte -/tools/*.native -/tools/program -/tools/*.exe -/tools/*.exe.manifest -/tools/.DS_Store -/tools/ocamldep -/tools/ocamldep.opt -/tools/ocamldep.bak -/tools/ocamlprof -/tools/opnames.ml -/tools/dumpobj -/tools/dumpapprox -/tools/objinfo -/tools/cvt_emit -/tools/cvt_emit.bak -/tools/cvt_emit.ml -/tools/ocamlcp -/tools/ocamloptp -/tools/ocamlmktop -/tools/primreq -/tools/ocamldumpobj -/tools/keywords -/tools/lexer299.ml -/tools/ocaml299to3 -/tools/ocamlmklib -/tools/ocamlmklibconfig.ml -/tools/lexer301.ml -/tools/scrapelabels -/tools/addlabels -/tools/objinfo_helper -/tools/read_cmt -/tools/read_cmt.opt - -# /toplevel/ -/toplevel/ocamlc -/toplevel/ocamlc.opt -/toplevel/expunge -/toplevel/ocaml -/toplevel/ocamlopt -/toplevel/ocamlopt.opt -/toplevel/ocamlcomp.sh -/toplevel/ocamlcompopt.sh -/toplevel/package-macosx -/toplevel/.DS_Store -/toplevel/*.annot -/toplevel/_boot_log1 -/toplevel/_boot_log2 -/toplevel/_build -/toplevel/_log -/toplevel/myocamlbuild_config.ml -/toplevel/ocamlnat -/toplevel/*.cm* -/toplevel/*.o - -# /typing/ -/typing/*.o -/typing/*.a -/typing/*.so -/typing/*.obj -/typing/*.dll -/typing/*.cm[ioxat] -/typing/*.cmx[as] -/typing/*.cmti -/typing/*.annot -/typing/*.result -/typing/*.byte -/typing/*.native -/typing/program -/typing/*.exe -/typing/.DS_Store - -# /utils/ -/utils/*.o -/utils/*.a -/utils/*.so -/utils/*.obj -/utils/*.dll -/utils/*.cm[ioxat] -/utils/*.cmx[as] -/utils/*.cmti -/utils/*.annot -/utils/*.result -/utils/*.byte -/utils/*.native -/utils/program -/utils/*.exe -/utils/.DS_Store -/utils/config.ml - -# /yacc/ -/yacc/*.o -/yacc/*.a -/yacc/*.so -/yacc/*.obj -/yacc/*.cm[ioxa] -/yacc/*.cmx[as] -/yacc/*.annot -/yacc/*.result -/yacc/*.byte -/yacc/*.native -/yacc/program -/yacc/program.exe -/yacc/.DS_Store -/yacc/ocamlyacc -/yacc/ocamlyacc.exe -/yacc/version.h -/yacc/.gdb_history diff --git a/vendor/ocaml/.ignore b/vendor/ocaml/.ignore deleted file mode 100644 index 05cabb066..000000000 --- a/vendor/ocaml/.ignore +++ /dev/null @@ -1,10 +0,0 @@ -ocamlc -ocamlc.opt -expunge -ocaml -ocamlopt -ocamlopt.opt -ocamlcomp.sh -ocamlcompopt.sh -package-macosx -ocamlnat diff --git a/vendor/ocaml/.merlin b/vendor/ocaml/.merlin deleted file mode 100644 index 997798408..000000000 --- a/vendor/ocaml/.merlin +++ /dev/null @@ -1,51 +0,0 @@ -S ./asmcomp -B ./asmcomp - -S ./bytecomp -B ./bytecomp - -S ./driver -B ./driver - -S ./lex -B ./lex - -S ./otherlibs/bigarray -B ./otherlibs/bigarray - -S ./otherlibs/dynlink -B ./otherlibs/dynlink - -S ./otherlibs/graph -B ./otherlibs/graph - -S ./otherlibs/num -B ./otherlibs/num - -S ./otherlibs/str -B ./otherlibs/str - -S ./otherlibs/systhreads -B ./otherlibs/systhreads - -S ./otherlibs/threads -B ./otherlibs/threads - -S ./otherlibs/unix -B ./otherlibs/unix - -S ./parsing -B ./parsing - -S ./stdlib -B ./stdlib - -S ./toplevel -B ./toplevel - -S ./typing -B ./typing - -S ./utils -B ./utils - diff --git a/vendor/ocaml/.npmignore b/vendor/ocaml/.npmignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/vendor/ocaml/.ocp-indent b/vendor/ocaml/.ocp-indent deleted file mode 100644 index 324a38276..000000000 --- a/vendor/ocaml/.ocp-indent +++ /dev/null @@ -1,2 +0,0 @@ -match_clause=4 -strict_with=auto diff --git a/vendor/ocaml/.travis-ci.sh b/vendor/ocaml/.travis-ci.sh deleted file mode 100644 index e34353afb..000000000 --- a/vendor/ocaml/.travis-ci.sh +++ /dev/null @@ -1,18 +0,0 @@ -case $XARCH in -i386) - ./configure - make world.opt - sudo make install - (cd testsuite && make all) - git clone git://github.com/ocaml/camlp4 -b 4.02 - (cd camlp4 && ./configure && make && sudo make install) - git clone git://github.com/ocaml/opam - (cd opam && ./configure && make lib-ext && make && sudo make install) - opam init -y -a git://github.com/ocaml/opam-repository - opam install -y utop - ;; -*) - echo unknown arch - exit 1 - ;; -esac diff --git a/vendor/ocaml/.travis.yml b/vendor/ocaml/.travis.yml deleted file mode 100644 index 3015c16d3..000000000 --- a/vendor/ocaml/.travis.yml +++ /dev/null @@ -1,4 +0,0 @@ -language: c -script: bash -ex .travis-ci.sh -env: - - XARCH=i386 diff --git a/vendor/ocaml/Changes b/vendor/ocaml/Changes deleted file mode 100644 index e7fdc9847..000000000 --- a/vendor/ocaml/Changes +++ /dev/null @@ -1,4187 +0,0 @@ -OCaml 4.02.3: -------------- - -Bug fixes: -- PR#6919: corrupted final_table - (ygrek) - -OCaml 4.02.2: -------------- - -(Changes that can break existing programs are marked with a "*") - -Language features: -- PR#6583: add a new class of binary operators with the same syntactic - precedence as method calls; these operators start with # followed - by a non-empty sequence of operator symbols (for instance #+, #!?). - It is also possible to use '#' as part of these extra symbols - (for instance ##, or #+#); this is rejected by the type-checker, - but can be used e.g. by ppx rewriters. - (Alain Frisch, request by Gabriel Radanne) -* PR#6016: add a "nonrec" keyword for type declarations - (Jérémie Dimino) - -Compilers: -- PR#6600: make -short-paths faster by building the printing map - incrementally - (Jacques Garrigue) -- PR#6642: replace $CAMLORIGIN in -ccopt with the path to cma or cmxa - (Peter Zotov, Gabriel Scherer, review by Damien Doligez) -- PR#6797: new option -output-complete-obj - to output an object file with included runtime and autolink libraries - (Peter Zotov) -- PR#6845: -no-check-prims to tell ocamlc not to check primitives in runtime - (Alain Frisch) -- GPR#149: Attach documentation comments to parse tree - (Leo White) -- GPR#159: Better locations for structure/signature items - (Leo White) - -Toplevel and debugger: -- PR#5958: generalized polymorphic #install_printer - (Pierre Chambart and Grégoire Henry) - -OCamlbuild: -- PR#6237: explicit "infer" tag to control or disable menhir --infer - (Hugo Heuzard) -- PR#6625: pass -linkpkg to files built with -output-obj. - (Peter Zotov) -- PR#6702: explicit "linkpkg" and "dontlink(foo)" flags - (Peter Zotov, Gabriel Scherer) -- PR#6712: Ignore common VCS directories - (Peter Zotov) -- PR#6720: pass -g to C compilers when tag 'debug' is set - (Peter Zotov, Gabriel Scherer) -- PR#6733: add .byte.so and .native.so targets to pass - -output-obj -cclib -shared. - (Peter Zotov) -- PR#6733: "runtime_variant(X)" to pass -runtime-variant X option. - (Peter Zotov) -- PR#6774: new menhir-specific flags "only_tokens" and "external_tokens(Foo)" - (François Pottier) - -Libraries: -- PR#6285: Add support for nanosecond precision in Unix.stat() - (Jérémie Dimino, report by user 'gfxmonk') -- PR#6781: Add higher baud rates to Unix termios - (Damien Doligez, report by Berke Durak) -- PR#6834: Add Obj.{first,last}_non_constant_constructor_tag - (Mark Shinwell, request by Gabriel Scherer) - -Runtime: -- PR#6078: Release the runtime system when calling caml_dlopen - (Jérémie Dimino) -- PR#6675: GC hooks - (Damien Doligez and Roshan James) - -Build system: -- PR#5418 (comments) : generate dependencies with $(CC) instead of gcc - (Damien Doligez and Michael Grünewald) -- PR#6266: Cross compilation for iOs, Android etc - (Peter Zotov, review by Damien Doligez and Mark Shinwell) - -Installation procedure: -- Update instructions for x86-64 PIC mode and POWER architecture builds - (Mark Shinwell) - -Bug fixes: -- PR#5271: Location.prerr_warning is hard-coded to use Format.err_formatter - (Damien Doligez, report by Rolf Rolles) -- PR#5395: OCamlbuild mishandles relative symlinks and include paths - (Damien Doligez, report by Didier Le Botlan) -- PR#5822: wrong value of Options.ext_dll on windows - (Damien Doligez and Daniel Weil) -- PR#5836, PR#6684: printing lazy values in ocamldebug may segfault - (Gabriel Scherer, request by the Coq team) -- PR#5887: move the byterun/*.h headers to byterun/caml/*.h to avoid - header name clashes - (Jérôme Vouillon and Adrien Nader and Peter Zotov) -- PR#6281: Graphics window does not acknowledge second click (double click) - (Kyle Headley) -- PR#6490: incorrect backtraces in gdb on AArch64. Also fixes incorrect - backtraces on 32-bit ARM. - (Mark Shinwell) -- PR#6573: extern "C" for systhreads/threads.h - (Mickaël Delahaye) -- PR#6575: Array.init evaluates callback although it should not do so - (Alain Frisch, report by Gerd Stolpmann) -- PR#6607: The manual doesn't mention 0x200 flag for OCAMLRUNPARAM=v - (Alain Frisch) -- PR#6616: allow meaningful use of -use-runtime without -custom. - (Peter Zotov) -- PR#6617: allow android build with pthreads support (since SDK r10c) - (Peter Zotov) -- PR#6626: ocamlbuild on cygwin cannot find ocamlfind - (Gergely Szilvasy) -- PR#6628: Configure script rejects legitimate arguments - (Michael Grünewald, Damien Doligez) -- PR#6630: Failure of tests/prim-bigstring/{big,}string.ml on big-endian - architectures - (Pierre Chambart, testing by Mark Shinwell) -- PR#6640: ocamlbuild: wrong "unused tag" warning on "precious" - (report by user 'william') -- PR#6652: ocamlbuild -clean does not print a newline after output - (Damien Doligez, report by Andi McClure) -- PR#6658: cross-compiler: version check not working on OS X - (Gerd Stolpmann) -- PR#6665: Failure of tests/asmcomp on sparc - (Stéphane Glondu) -- PR#6667: wrong implementation of %bswap16 on ARM64 - (Xavier Leroy) -- PR#6669: fix 4.02 regression in toplevel printing of lazy values - (Leo White, review by Gabriel Scherer) -- PR#6671: Windows: environment variable 'TZ' affects Unix.gettimeofday - (Mickael Delahaye and Damien Doligez) -- PR#6680: Missing parentheses in warning about polymorphic variant value - (Jacques Garrigue and Gabriel Scherer, report by Philippe Veber) -- PR#6686: Bug in [subst_boxed_number] - (Jérémie Dimino, Mark Shinwell) -- PR#6690: Uncaught exception (Not_found) with (wrong) wildcard or unification - type variable in place of a local abstract type - (Jacques Garrigue, report by Mikhail Mandrykin) -- PR#6693 (part two): Incorrect relocation types in x86-64 runtime system - (Peter Zotov, review by Jacques-Henri Jourdan, Xavier Leroy and Mark Shinwell) -- PR#6717: Pprintast does not print let-pattern attributes - (Gabriel Scherer, report by Peter Zotov) -- PR#6727: Printf.sprintf "%F" misbehavior - (Benoît Vaugon, report by Vassili Karpov) -- PR#6747: ocamlobjinfo: missing symbol caml_plugin_header due to underscore - (Damien Doligez, Maverick Woo) -- PR#6749: ocamlopt returns n for (n mod 1) instead of 0 - (Mark Shinwell and Jérémie Dimino) -- PR#6753: Num.quo_num and Num.mod_num incorrect for some negative arguments - (Xavier Leroy) -- PR#6758: Ocamldoc "analyse_module: parsetree and typedtree don't match" - (Damien Doligez, report by user 'maro') -- PR#6759: big_int_of_string incorrectly parses some hexa literals - (Damien Doligez, report by Pierre-yves Strub) -- PR#6763: #show with -short-paths doesn't select shortest type paths - (Jacques Garrigue, report by David Sheets) -- PR#6768: Typechecker overflow the stack on cyclic type - (Jacques Garrigue, report by user 'darktenaibre') -- PR#6772: asmrun/signals_asm.c doesn't compile on NetBSD/i386 - (Kenji Tokudome) -- PR#6775: Digest.file leaks file descriptor on error - (Valentin Gatien-Baron) -- PR#6779: Cross-compilers cannot link bytecode using custom primitives - (Damien Doligez, request by Peter Zotov) -- PR#6787: Soundness bug with polymorphic variants - (Jacques Garrigue, with help from Leo White and Grégoire Henry, - report by Michael O'Connor) -- PR#6790: otherlibs should be built with -g - (Damien Doligez, report by Peter Zotov) -- PR#6791: "%s@[", "%s@{" regression in Scanf - (Benoît Vaugon) -- PR#6793: ocamlbuild passes nonsensical "-ocamlc ..." commands to menhir - (Gabriel Scherer, report by Damien Doligez) -- PR#6799: include guards missing for unixsupport.h and other files - (Andreas Hauptmann) -- PR#6810: Improve documentation of Bigarray.Genarray.map_file - (Mark Shinwell and Daniel Bünzli) -- PR#6812: -short-paths and -no-alias-deps can create inconsistent assumptions - (Jacques Garrigue, report by Valentin Gatien-Baron) -- PR#6817: GADT exhaustiveness breakage with modules - (Leo White, report by Pierre Chambart) -- PR#6824: fix buffer sharing on partial application of Format.asprintf - (Gabriel Scherer, report by Alain Frisch) -- PR#6831: Build breaks for -aspp gcc on solaris-like OSs - (John Tibble) -- PR#6836: Assertion failure using -short-paths - (Jacques Garrigue, report by David Sheets) -- PR#6837: Build profiling libraries on FreeBSD and NetBSD x86-64 - (Mark Shinwell, report by Michael Grünewald) -- PR#6841: Changing compilation unit name with -o breaks ocamldebug - (Jacques Garrigue, report by Jordan Walke) -- PR#6843: record weak dependencies even when the .cmi is missing - (Leo White, Gabriel Scherer) -- PR#6849: Inverted pattern unification error - (Jacques Garrigue, report by Leo White) -- PR#6857: __MODULE__ doesn't give the current module with -o - (Jacques Garrigue, report by Valentin Gatien-Baron) -- PR#6862: Exhaustiveness check wrong for class constructor arguments - (Jacques Garrigue) -- PR#6869: Improve comment on [Hashtbl.hash_param] - (Mark Shinwell, report by Jun Furuse) -- PR#6870: Unsoundness when -rectypes fails to detect non-contractive type - (Jacques Garrigue, report by Stephen Dolan) -- PR#6872: Type-directed propagation fails to disambiguate variants - that are also exception constructors - (Jacques Garrigue, report by Romain Beauxis) -- PR#6878: AArch64 backend generates invalid asm: conditional branch - out of range (Mark Shinwell, report by Richard Jones, testing by Richard - Jones and Xavier Leroy, code review by Xavier Leroy and Thomas Refis) -- PR#6879: Wrong optimization of 1 mod n - (Mark Shinwell, report by Jean-Christophe Filliâtre) -- PR#6884: The __CYGWIN32__ #define should be replaced with __CYGWIN__ - (Adrien Nader) -- PR#6886: -no-alias-deps allows to build self-referential compilation units - (Jacques Garrigue, report by Valentin Gatien-Baron) -- PR#6889: ast_mapper fails to rewrite class attributes - (Sébastien Briais) -- PR#6893: ocamlbuild: "tag not used" warning when using (p)dep - (Gabriel Scherer, report by Christiano Haesbaert) -- GPR#143: fix getsockopt behaviour for boolean socket options - (Anil Madhavapeddy and Andrew Ray) -- GPR#190: typo in pervasives - (Guillaume Bury) -- Misplaced assertion in major_gc.c for no-naked-pointers mode - (Stephen Dolan, Mark Shinwell) - -Feature wishes: -- PR#6452, GPR#140: add internal suport for custom printing formats - (Jérémie Dimino) -- PR#6641: add -g, -ocamlcflags, -ocamloptflags options to ocamlmklib - (Peter Zotov) -- PR#6693: also build libasmrun_shared.so and lib{asm,caml}run_pic.a - (Peter Zotov, review by Mark Shinwell) -- PR#6842: export Typemod.modtype_of_package - (Jacques Garrigue, request by Jun Furuse) -- GPR#139: more versatile specification of locations of .annot - (Christophe Troestler, review by Damien Doligez) -- GPR#157: store the path of cmos inside debug section at link time - (Hugo Heuzard, review by Damien Doligez) -- GPR#191: Making gc.h and some part of memory.h public - (Thomas Refis) - -OCaml 4.02.1 (14 Oct 2014): ---------------------------- - -(Changes that can break existing programs are marked with a "*") - -Standard library: -* Add optional argument ?limit to Arg.align. - -- PR#4099: Bug in Makefile.nt: won't stop on error - (George Necula) -- PR#6181: Improve MSVC build - (Chen Gang) -- PR#6207: Configure doesn't detect features correctly on Haiku - (Jessica Hamilton) -- PR#6466: Non-exhaustive matching warning message for open types is confusing - (Peter Zotov) -- PR#6529: fix quadratic-time algorithm in Consistbl.extract. - (Xavier Leroy, Alain Frisch, relase-worthy report by Jacques-Pascal Deplaix) -- PR#6530: Add stack overflow handling for native code (OpenBSD i386 and amd64) - (Cristopher Zimmermann) -- PR#6533: broken semantics of %(%) when substituted by a box - (Benoît Vaugon, report by Boris Yakobowski) -- PR#6534: legacy support for %.10s - (Benoît Vaugon, Gabriel Scherer, report by Nick Chapman) -- PR#6536: better documentation of flag # in format strings - (Damien Doligez, report by Nick Chapman) -- PR#6544: Bytes and CamlinternalFormat missing from threads stdlib.cma - (Christopher Zimmermann) -- PR#6546: -dsource omits parens for `List ((`String "A")::[]) in patterns - (Gabriel Scherer, report by Peter Zotov) -- PR#6547: __MODULE__ aborts the compiler if the module name cannot be inferred - (Jacques Garrigue, report by Kaustuv Chaudhuri) -- PR#6549: Debug section is sometimes not readable when using -pack - (Hugo Heuzard, review by Gabriel Scherer) -- PR#6553: Missing command line options for ocamldoc - (Maxence Guesdon) -- PR#6554: fix race condition when retrieving backtraces - (Jérémie Dimino, Mark Shinwell). -- PR#6557: String.sub throws Invalid_argument("Bytes.sub") - (Damien Doligez, report by Oliver Bandel) -- PR#6562: Fix ocamldebug module source lookup - (Leo White) -- PR#6563: Inclusion of packs failing to run module initializers - (Jacques Garrigue, report by Mark Shinwell) -- PR#6564: infinite loop in Mtype.remove_aliases - (Jacques Garrigue, report by Mark Shinwell) -- PR#6565: compilation fails with Env.Error(_) - (Jacques Garrigue and Mark Shinwell) -- PR#6566: -short-paths and signature inclusion errors - (Jacques Garrigue, report by Mark Shinwell) -- PR#6572: Fatal error with recursive modules - (Jacques Garrigue, report by Quentin Stievenart) -- PR#6575: Array.init evaluates callback although it should not do so - (Alain Frisch, report by Gerd Stolpmann) -- PR#6578: Recursive module containing alias causes Segmentation fault - (Jacques Garrigue) -- PR#6581: Some bugs in generative functors - (Jacques Garrigue, report by Mark Shinwell) -- PR#6584: ocamldep support for "-open M" - (Gabriel Scherer, review by Damien Doligez, report by Hezekiah M. Carty) -- PR#6588: Code generation errors for ARM - (Mark Shinwell, Xavier Leroy) -- PR#6590: Improve Windows (MSVC and mingw) build - (Chen Gang) -- PR#6599: ocamlbuild: add -bin-annot when using -pack - (Christopher Zimmermann) -- PR#6602: Fatal error when tracing a function with abstract type - (Jacques Garrigue, report by Hugo Herbelin) -- ocamlbuild: add an -ocamlmklib option to change the ocamlmklib command - (Jérôme Vouillon) - -OCaml 4.02.0 (29 Aug 2014): ---------------------------- - -(Changes that can break existing programs are marked with a "*") - -Language features: -- Attributes and extension nodes - (Alain Frisch) -- Generative functors (PR#5905) - (Jacques Garrigue) -* Module aliases - (Jacques Garrigue) -* Alternative syntax for string literals {id|...|id} (can break comments) - (Alain Frisch) -- Separation between read-only strings (type string) and read-write byte - sequences (type bytes). Activated by command-line option -safe-string. - (Damien Doligez) -- PR#6318: Exception cases in pattern matching - (Jeremy Yallop, backend by Alain Frisch) -- PR#5584: Extensible open datatypes - (Leo White) - -Build system for the OCaml distribution: -- Use -bin-annot when building. -- Use GNU make instead of portable makefiles. -- Updated build instructions for 32-bit Mac OS X on Intel hardware. - -Shedding weight: -* Removed Camlp4 from the distribution, now available as third-party software. -* Removed Labltk from the distribution, now available as a third-party library. - -Type system: -* PR#6235: Keep typing of pattern cases independent in principal mode - (i.e. information from previous cases is no longer used when typing - patterns; cf. 'PR#6235' in testsuite/test/typing-warnings/records.ml) - (Jacques Garrigue) -- Allow opening a first-class module or applying a generative functor - in the body of a generative functor. Allow it also in the body of - an applicative functor if no types are created - (Jacques Garrigue, suggestion by Leo White) -* Module aliases are now typed in a specific way, which remembers their - identity. Compiled interfaces become smaller, but may depend on the - original modules. This also changes the signature inferred by "module type of". - (Jacques Garrigue, feedback from Leo White, Mark Shinwell and Nick Chapman) -- PR#6331: Slight change in the criterion to distinguish private - abbreviations and private row types: create a private abbreviation for - closed objects and fixed polymorphic variants. - (Jacques Garrigue) -* PR#6333: Compare first class module types structurally rather than - nominally. Value subtyping allows module subtyping as long as the internal - representation is unchanged. - (Jacques Garrigue) - -Compilers: -- More aggressive constant propagation, including float and - int32/int64/nativeint arithmetic. Constant propagation for floats - can be turned off with option -no-float-const-prop, for codes that - change FP rounding modes at run-time. - (Xavier Leroy) -- New back-end optimization pass: common subexpression elimination (CSE). - (Reuses results of previous computations instead of recomputing them.) - (Xavier Leroy) -- New back-end optimization pass: dead code elimination. - (Removes arithmetic and load instructions whose results are unused.) - (Xavier Leroy) -- PR#6269: Optimization of sequences of string patterns - (Benoît Vaugon and Luc Maranget) -- Experimental native code generator for AArch64 (ARM 64 bits) - (Xavier Leroy) -- PR#6042: Optimization of integer division and modulus by constant divisors - (Xavier Leroy and Phil Denys) -- Add "-open" command line flag for opening a single module before typing - (Leo White, Mark Shinwell and Nick Chapman) -* "-o" now sets module name to the output file name up to the first "." - (it also applies when "-o" is not given, i.e. the module name is then - the input file name up to the first ".") - (Leo White, Mark Shinwell and Nick Chapman) -* PR#5779: better sharing of structured constants - (Alain Frisch) -- PR#5817: new flag to keep locations in cmi files - (Alain Frisch) -- PR#5854: issue warning 3 when referring to a value marked with - the [@@ocaml.deprecated] attribute - (Alain Frisch, suggestion by Pierre-Marie Pédrot) -- PR#6017: a new format implementation based on GADTs - (Benoît Vaugon and Gabriel Scherer) -* PR#6203: Constant exception constructors no longer allocate - (Alain Frisch) -- PR#6260: avoid unnecessary boxing in let - (Vladimir Brankov) -- PR#6345: Better compilation of optional arguments with default values - (Alain Frisch, review by Jacques Garrigue) -- PR#6389: ocamlopt -opaque option for incremental native compilation - (Pierre Chambart, Gabriel Scherer) - -Toplevel interactive system: -- PR#5377: New "#show_*" directives - (ygrek, Jacques Garrigue and Alain Frisch) - -Runtime system: -- New configure option "-no-naked-pointers" to improve performance by - avoiding page table tests during block darkening and the marking phase - of the major GC. In this mode, all out-of-heap pointers must point at - things that look like OCaml values: in particular they must have a valid - header. The colour of said headers should be black. - (Mark Shinwell, reviews by Damien Doligez and Xavier Leroy) -- Fixed bug in native code version of [caml_raise_with_string] that could - potentially lead to heap corruption. - (Mark Shinwell) -* Blocks initialized by [CAMLlocal*] and [caml_alloc] are now filled with - [Val_unit] rather than zero. - (Mark Shinwell) -- Fixed a major performance problem on large heaps (~1GB) by making heap - increments proportional to heap size by default - (Damien Doligez) -- PR#4765: Structural equality treats exception specifically - (Alain Frisch) -- PR#5009: efficient comparison/indexing of exceptions - (Alain Frisch, request by Markus Mottl) -- PR#6075: avoid using unsafe C library functions (strcpy, strcat, sprintf) - (Xavier Leroy, reports from user 'jfc' and Anil Madhavapeddy) -- An ISO C99-compliant C compiler and standard library is now assumed. - (Plus special exceptions for MSVC.) In particular, emulation code for - 64-bit integer arithmetic was removed, the C compiler must support a - 64-bit integer type. - (Xavier Leroy) - -Standard library: -* Add new modules Bytes and BytesLabels for mutable byte sequences. - (Damien Doligez) -- PR#4986: add List.sort_uniq and Set.of_list - (Alain Frisch) -- PR#5935: a faster version of "raise" which does not maintain the backtrace - (Alain Frisch) -- PR#6146: support "Unix.kill pid Sys.sigkill" under Windows - (Romain Bardou and Alain Frisch) -- PR#6148: speed improvement for Buffer - (John Whitington) -- PR#6180: efficient creation of uninitialized float arrays - (Alain Frisch, request by Markus Mottl) -- PR#6355: Improve documentation regarding finalisers and multithreading - (Daniel Bünzli, Mark Shinwell) -- Trigger warning 3 for all values marked as deprecated in the documentation. - (Damien Doligez) - -OCamldoc: -- PR#6257: handle full doc comments for variant constructors and - record fields - (Maxence Guesdon, request by ygrek) -- PR#6274: allow doc comments on object types - (Thomas Refis) -- PR#6310: fix ocamldoc's subscript/superscript CSS font size - (Anil Madhavapeddy) -- PR#6425: fix generation of man pages - (Maxence Guesdon, report by Anil Madhavapeddy) - -Bug fixes: -- PR#2719: wrong scheduling of bound checks within a - try...with Invalid_argument -> _ ... (Xavier Leroy) -- PR#4719: Sys.executable_name wrong if executable name contains dots (Windows) - (Alain Frisch, report by Bart Jacobs) -- PR#5406 ocamlbuild: "tag 'package' does not expect a parameter" - (Gabriel Scherer) -- PR#5598, PR#6165: Alterations to handling of \013 in source files - breaking other tools - (David Allsopp and Damien Doligez) -- PR#5820: Fix camlp4 lexer roll back problem - (Hongbo Zhang) -- PR#5946: CAMLprim taking (void) as argument - (Benoît Vaugon) -- PR#6038: on x86-32, enforce 16-byte stack alignment for compatibility - with recent GCC and Clang. Win32/MSVC keeps 4-byte stack alignment. - (Xavier Leroy) -- PR#6062: Fix a 4.01 camlp4 DELETE_RULE regression caused by commit 13047 - (Hongbo Zhang, report by Christophe Troestler) -- PR#6173: Typing error message is worse than before - (Jacques Garrigue and John Whitington) -- PR#6174: OCaml compiler loops on an example using GADTs (-rectypes case) - (Jacques Garrigue and Grégoire Henry, report by Chantal Keller) -- PR#6175: open! was not suppored by camlp4 - (Hongbo Zhang) -- PR#6184: ocamlbuild: `ocamlfind ocamldep` does not support -predicate - (Jacques-Pascal Deplaix) -- PR#6194: Incorrect unused warning with first-class modules in patterns - (Jacques Garrigue, report by Markus Mottl and Leo White) -- PR#6211: in toplevel interactive use, bad interaction between uncaught - exceptions and multiple bindings of the form "let x = a let y = b;;". - (Xavier Leroy) -- PR#6216: inlining of GADT matches generates invalid assembly - (Xavier Leroy and Alain Frisch, report by Mark Shinwell) -- PR#6232: Don't use [mktemp] on platforms where [mkstemp] is available - (Stéphane Glondu, Mark Shinwell) -- PR#6233: out-of-bounds exceptions lose their locations on ARM, PowerPC - (Jacques-Henri Jourdan and Xavier Leroy, - report and testing by Stéphane Glondu) -- PR#6235: Issue with type information flowing through a variant pattern - (Jacques Garrigue, report by Hongbo Zhang) -- PR#6239: sometimes wrong stack alignment when raising exceptions - in -g mode with backtraces active - (Xavier Leroy, report by Yaron Minsky) -- PR#6240: Fail to expand module type abbreviation during substyping - (Jacques Garrigue, report by Leo White) -- PR#6241: Assumed inequality between paths involving functor arguments - (Jacques Garrigue, report by Jeremy Yallop) -- PR#6243: Make "ocamlopt -g" more resistant to ill-formed locations - (Xavier Leroy, report by Pierre-Marie Pédrot) -- PR#6262: equality of first-class modules take module aliases into account - (Alain Frisch and Leo White) -- PR#6268: -DMODEL_$(MODEL) not passed when building asmrun/arm.p.o - (Peter Michael Green) -- PR#6273: fix Sys.file_exists on large files (Win32) - (Christoph Bauer) -- PR#6275: Soundness bug related to type constraints - (Jacques Garrigue, report by Leo White) -- PR#6293: Assert_failure with invalid package type - (Jacques Garrigue, report by Elnatan Reisner) -- PR#6300: ocamlbuild -use-ocamlfind conflicts with -ocamlc - (Gabriel Scherer) -- PR#6302: bytecode debug information re-read from filesystem every time - (Jacques-Henri Jourdan) -- PR#6307: Behavior of 'module type of' w.r.t. module aliases - (Jacques Garrigue, report by Alain Frisch) -- PR#6332: Unix.open_process fails to pass empty arguments under Windows - (Damien Doligez, report Virgile Prevosto) -- PR#6346: Build failure with latest version of xcode on OSX - (Jérémie Dimino) -- PR#6348: Unification failure for GADT when original definition is hidden - (Leo White and Jacques Garrigue, report by Jeremy Yallop) -- PR#6352: Automatic removal of optional arguments and sequencing - (Jacques Garrigue and Alain Frisch) -- PR#6361: Hashtbl.hash not terminating on some lazy values w/ recursive types - (Xavier Leroy, report by Leo White) -- PR#6383: Exception Not_found when using object type in absent module - (Jacques Garrigue, report by Sébastien Briais) -- PR#6384: Uncaught Not_found exception with a hidden .cmi file - (Leo White) -- PR#6385: wrong allocation of large closures by the bytecode interpreter - (Xavier Leroy, report by Stephen Dolan) -- PR#6394: Assertion failed in Typecore.expand_path - (Alain Frisch and Jacques Garrigue) -- PR#6405: unsound interaction of -rectypes and GADTs - (Jacques Garrigue, report by Gabriel Scherer and Benoît Vaugon) -- PR#6408: Optional arguments given as ~?arg instead of ?arg in message - (Michael O'Connor) -- PR#6411: missing libgcc_s_sjlj-1.dll in mingw (add -static-libgcc) - (Jun Furuse and Alain Frisch, Jonathan Protzenko and Adrien Nader) -- PR#6436: Typos in @deprecated text in stdlib/arrayLabels.mli - (John Whitington) -- PR#6439: Don't use the deprecated [getpagesize] function - (John Whitington, Mark Shinwell) -- PR#6441: undetected tail-call in some mutually-recursive functions - (many arguments, and mutual block mixes functions and non-functions) - (Stefan Holdermans, review by Xavier Leroy) -- PR#6443: ocaml segfault when List.fold_left is traced then executed - (Jacques Garrigue, report by user 'Reventlov') -- PR#6451: some bugs in untypeast.ml - (Jun Furuse, review by Alain Frisch) -- PR#6460: runtime assertion failure with large [| e1;...eN |] - float array expressions - (Leo White) -- PR#6463: -dtypedtree fails on class fields - (Leo White) -- PR#6469: invalid -dsource printing of "external _pipe = ...", "Pervasives.(!)" - (Gabriel Scherer and Damien Doligez, user 'ngunn') -- PR#6482: ocamlbuild fails when _tags file in unhygienic directory - (Gabriel Scherer) -- PR#6502: ocamlbuild spurious warning on "use_menhir" tag - (Xavier Leroy) -- PR#6505: Missed Type-error leads to a segfault upon record access - (Jacques Garrigue, Jeremy Yallop, report by Christoph Höger) -- PR#6507: crash on AArch64 resulting from incorrect setting of - [caml_bottom_of_stack]. (Richard Jones, Mark Shinwell) -- PR#6509: add -linkall flag to ocamlcommon.cma - (Frédéric Bour) -- PR#6513: Fatal error Ctype.Unify(_) in functor type -- PR#6523: failure upon character bigarray access, and unnecessary change - in comparison ordering (Jeremy Yallop, Mark Shinwell) -- bound-checking bug in caml_string_{get,set}{16,32,64} - (Pierre Chambart and Gabriel Scherer, report by Nicolas Trangez) -- sometimes wrong stack alignment at out-of-bounds array access - (Gabriel Scherer and Xavier Leroy, report by Pierre Chambart) - -Features wishes: -- PR#4243: make the Makefiles parallelizable - (Grégoire Henry and Damien Doligez) -- PR#4323: have "of_string" in Num and Big_int work with binary and - hex representations - (Zoe Paraskevopoulou, review by Gabriel Scherer) -- PR#4771: Clarify documentation of Dynlink.allow_only - (Damien Doligez, report by David Allsopp) -- PR#4855: 'camlp4 -I +dir' accepted, dir is relative to 'camlp4 -where' - (Jun Furuse and Hongbo Zhang, report by Dmitry Grebeniuk) -- PR#5201: ocamlbuild: add --norc to the bash invocation to help performances - (Daniel Weil) -- PR#5650: Camlp4FoldGenerator doesn't handle well "abstract" types - (Hongbo Zhang) -- PR#5808: allow simple patterns, not just identifiers, in "let p : t = ..." - (Alain Frisch) -- PR#5851: warn when -r is disabled because no _tags file is present - (Gabriel Scherer) -- PR#5899: a programmer-friendly access to backtrace information - (Jacques-Henri Jourdan and Gabriel Scherer) -- PR#6000 comment 9644: add a warning for non-principal coercions to format - (Jacques Garrigue, report by Damien Doligez) -- PR#6054: add support for M.[ foo ], M.[| foo |] etc. - (Kaustuv Chaudhuri) -- PR#6064: GADT representation for Bigarray.kind + CAML_BA_CHAR runtime kind - (Jeremy Yallop, review by Gabriel Scherer) -- PR#6071: Add a -noinit option to the toplevel - (David Sheets) -- PR#6087: ocamlbuild, improve _tags parsing of escaped newlines - (Gabriel Scherer, request by Daniel Bünzli) -- PR#6109: Typos in ocamlbuild error messages - (Gabriel Kerneis) -- PR#6116: more efficient implementation of Digest.to_hex - (ygrek) -- PR#6142: add cmt file support to ocamlobjinfo - (Anil Madhavapeddy) -- PR#6166: document -ocamldoc option of ocamlbuild - (Xavier Clerc) -- PR#6182: better message for virtual objects and class types - (Leo White, Stephen Dolan) -- PR#6183: enhanced documentation for 'Unix.shutdown_connection' - (Anil Madhavapeddy, report by Jun Furuse) -- PR#6187: ocamlbuild: warn when using -plugin-tag(s) without myocamlbuild.ml - (Jacques-Pascal Deplaix) -- PR#6246: allow wildcard _ as for-loop index - (Alain Frisch, request by ygrek) -- PR#6267: more information printed by "bt" command of ocamldebug - (Josh Watzman) -- PR#6270: remove need for -I directives to ocamldebug in common case - (Josh Watzman, review by Xavier Clerc and Alain Frisch) -- PR#6311: Improve signature mismatch error messages - (Alain Frisch, suggestion by Daniel Bünzli) -- PR#6358: obey DESTDIR in install targets - (Gabriel Scherer, request by François Berenger) -- PR#6388, PR#6424: more parsetree correctness checks for -ppx users - (Alain Frisch, request by Peter Zotov and Jun Furuse) -- PR#6406: Expose OCaml version in C headers - (Peter Zotov and Romain Calascibetta) -- PR#6446: improve "unused declaration" warnings wrt. name shadowing - (Alain Frisch) -- PR#6495: ocamlbuild tags 'safe_string', 'unsafe_string' - (Anil Madhavapeddy) -- PR#6497: pass context information to -ppx preprocessors - (Peter Zotov, Alain Frisch) -- ocamllex: user-definable refill action - (Frédéric Bour, review by Gabriel Scherer and Luc Maranget) -- shorten syntax for functor signatures: "functor (M1:S1) (M2:S2) .. -> .." - (Thomas Gazagnaire and Jeremy Yallop, review by Gabriel Scherer) -- make ocamldebug -I auto-detection work with ocamlbuild - (Josh Watzman) - -OCaml 4.01.0 (12 Sep 2013): ---------------------------- - -(Changes that can break existing programs are marked with a "*") - -Other libraries: -- Labltk: updated to Tcl/Tk 8.6. - -Type system: -- PR#5759: use well-disciplined type information propagation to - disambiguate label and constructor names - (Jacques Garrigue, Alain Frisch and Leo P. White) -* Propagate type information towards pattern-matching, even in the presence of - polymorphic variants (discarding only information about possibly-present - constructors). As a result, matching against absent constructors is no longer - allowed for exact and fixed polymorphic variant types. - (Jacques Garrigue) -* PR#6035: Reject multiple declarations of the same method or instance variable - in an object - (Alain Frisch) - -Compilers: -- PR#5861: raise an error when multiple private keywords are used in type - declarations - (Hongbo Zhang) -- PR#5634: parsetree rewriter (-ppx flag) - (Alain Frisch) -- ocamldep now supports -absname - (Alain Frisch) -- PR#5768: On "unbound identifier" errors, use spell-checking to suggest names - present in the environment - (Gabriel Scherer) -- ocamlc has a new option -dsource to visualize the parsetree - (Alain Frisch, Hongbo Zhang) -- tools/eqparsetree compares two parsetree ignoring location - (Hongbo Zhang) -- ocamlopt now uses clang as assembler on OS X if available, which enables - CFI support for OS X. - (Benedikt Meurer) -- Added a new -short-paths option, which attempts to use the shortest - representation for type constructors inside types, taking open modules - into account. This can make types much more readable if your code - uses lots of functors. - (Jacques Garrigue) -- PR#5986: added flag -compat-32 to ocamlc, ensuring that the generated - bytecode executable can be loaded on 32-bit hosts. - (Xavier Leroy) -- PR#5980: warning on open statements which shadow an existing - identifier (if it is actually used in the scope of the open); new - open! syntax to silence it locally - (Alain Frisch, thanks to a report of Daniel Bünzli) -* warning 3 is extended to warn about other deprecated features: - - ISO-latin1 characters in identifiers - - uses of the (&) and (or) operators instead of (&&) and (||) - (Damien Doligez) -- Experimental OCAMLPARAM for ocamlc and ocamlopt - (Fabrice Le Fessant) -- PR#5571: incorrect ordinal number in error message - (Alain Frisch, report by John Carr) -- PR#6073: add signature to Tstr_include - (patch by Leo P. White) - -Standard library: -- PR#5899: expose a way to inspect the current call stack, - Printexc.get_callstack - (Gabriel Scherer, Jacques-Henri Jourdan, Alain Frisch) -- PR#5986: new flag Marshal.Compat_32 for the serialization functions - (Marshal.to_*), forcing the output to be readable on 32-bit hosts. - (Xavier Leroy) -- infix application operators |> and @@ in Pervasives - (Fabrice Le Fessant) -- PR#6176: new Format.asprintf function with a %a formatter - compatible with Format.fprintf (unlike Format.sprintf) - (Pierre Weis) - -Other libraries: -- PR#5568: add O_CLOEXEC flag to Unix.openfile, so that the returned - file descriptor is created in close-on-exec mode - (Xavier Leroy) - -Runtime system: -* PR#6019: more efficient implementation of caml_modify() and caml_initialize(). - The new implementations are less lenient than the old ones: now, - the destination pointer of caml_modify() must point within the minor or - major heaps, and the destination pointer of caml_initialize() must - point within the major heap. - (Xavier Leroy, from an experiment by Brian Nigito, with feedback - from Yaron Minsky and Gerd Stolpmann) - -Internals: -- Moved debugger/envaux.ml to typing/envaux.ml to publish env_of_only_summary - as part of compilerlibs, to be used on bin-annot files. - (Fabrice Le Fessant) -- The test suite can now be run without installing OCaml first. - (Damien Doligez) - -Bug fixes: -- PR#3236: Document the fact that queues are not thread-safe - (Damien Doligez) -- PR#3468: (part 1) Sys_error documentation - (Damien Doligez) -- PR#3679: Warning display problems - (Fabrice Le Fessant) -- PR#3963: Graphics.wait_next_event in Win32 hangs if window closed - (Damien Doligez) -- PR#4079: Queue.copy is now tail-recursive - (patch by Christophe Papazian) -- PR#4138: Documentation for Unix.mkdir - (Damien Doligez) -- PR#4469: emacs mode: caml-set-compile-command is annoying with ocamlbuild - (Daniel Bünzli) -- PR#4485: Graphics: Keyboard events incorrectly delivered in native code - (Damien Doligez, report by Sharvil Nanavati) -- PR#4502: ocamlbuild now reliably excludes the build-dir from hygiene check - (Gabriel Scherer, report by Romain Bardou) -- PR#4762: ?? is not used at all, but registered as a lexer token - (Alain Frisch) -- PR#4788: wrong error message when executable file is not found for backtrace - (Damien Doligez, report by Claudio Sacerdoti Coen) -- PR#4812: otherlibs/unix: add extern int code_of_unix_error (value error); - (Goswin von Berdelow) -- PR#4887: input_char after close_in crashes ocaml (msvc runtime) - (Alain Frisch and Christoph Bauer, report by ygrek) -- PR#4994: ocaml-mode doesn't work with xemacs21 - (Damien Doligez, report by Stéphane Glondu) -- PR#5098: creating module values may lead to memory leaks - (Alain Frisch, report by Milan Stanojević) -- PR#5102: ocamlbuild fails when using an unbound variable in rule dependency - (Xavier Clerc, report by Daniel Bünzli) -* PR#5119: camlp4 now raises a specific exception when 'DELETE_RULE' fails, - rather than raising 'Not_found' - (ygrek) -- PR#5121: %( %) in Format module seems to be broken - (Pierre Weis, first patch by Valentin Gatien-Baron, report by Khoo Yit Phang) -- PR#5178: document in INSTALL how to build a 32-bit version under Linux x86-64 - (Benjamin Monate) -- PR#5212: Improve ocamlbuild error messages of _tags parser - (ygrek) -- PR#5240: register exception printers for Unix.Unix_error and Dynlink.Error - (Jérémie Dimino) -- PR#5300: ocamlbuild: verbose parameter should implicitly set classic display - (Xavier Clerc, report by Robert Jakob) -- PR#5327: (Windows) Unix.select blocks if same socket listed in first and - third arguments - (David Allsopp, displaying impressive MSDN skills) -- PR#5343: ocaml -rectypes is unsound wrt module subtyping (was still unsound) - (Jacques Garrigue) -- PR#5350: missing return code checks in the runtime system - (Xavier Leroy) -- PR#5468: ocamlbuild should preserve order of parametric tags - (Wojciech Meyer, report by Dario Texeira) -- PR#5551: Avoid repeated lookups for missing cmi files - (Alain Frisch) -- PR#5552: unrecognized gcc option -no-cpp-precomp - (Damien Doligez, report by Markus Mottl) -* PR#5580: missed opportunities for constant propagation - (Xavier Leroy and John Carr) -- PR#5611: avoid clashes betwen .cmo files and output files during linking - (Wojciech Meyer) -- PR#5662: typo in md5.c - (Olivier Andrieu) -- PR#5673: type equality in a polymorphic field - (Jacques Garrigue, report by Jean-Louis Giavitto) -- PR#5674: Methods call are 2 times slower with 4.00 than with 3.12 - (Jacques Garrigue, Gabriel Scherer, report by Jean-Louis Giavitto) -- PR#5694: Exception raised by type checker - (Jacques Garrigue, report by Markus Mottl) -- PR#5695: remove warnings on sparc code emitter - (Fabrice Le Fessant) -- PR#5697: better location for warnings on statement expressions - (Dan Bensen) -- PR#5698: remove harcoded limit of 200000 labels in emitaux.ml - (Fabrice Le Fessant, report by Marcin Sawicki) -- PR#5702: bytecomp/bytelibrarian lib_sharedobjs was defined but never used - (Hongbo Zhang, Fabrice Le Fessant) -- PR#5708: catch Failure"int_of_string" in ocamldebug - (Fabrice Le Fessant, report by user 'schommer') -- PR#5712: (9) new option -bin-annot is not documented - (Damien Doligez, report by Hendrik Tews) -- PR#5731: instruction scheduling forgot to account for destroyed registers - (Xavier Leroy, Benedikt Meurer, reported by Jeffrey Scofield) -- PR#5734: improved Win32 implementation of Unix.gettimeofday - (David Allsopp) -- PR#5735: %apply and %revapply not first class citizens - (Fabrice Le Fessant, reported by Jun Furuse) -- PR#5738: first class module patterns not handled by ocamldep - (Fabrice Le Fessant, Jacques Garrigue, reported by Hongbo Zhang) -- PR#5739: Printf.printf "%F" (-.nan) returns -nan - (Xavier Leroy, David Allsopp, reported by Samuel Mimram) -- PR#5741: make pprintast.ml in compiler_libs - (Alain Frisch, Hongbo Zhang) -- PR#5747: 'unused open' warning not given when compiling with -annot - (Alain Frisch, reported by Valentin Gatien-Baron) -- PR#5752: missing dependencies at byte-code link with mlpack - (Wojciech Meyer, Nicholas Lucaroni) -- PR#5763: ocamlbuild does not give correct flags when running menhir - (Gabriel Scherer, reported by Philippe Veber) -- PR#5765: ocamllex doesn't preserve line directives - (Damien Doligez, reported by Martin Jambon) -- PR#5770: Syntax error messages involving unclosed parens are sometimes - incorrect - (Michel Mauny) -- PR#5772: problem with marshaling of mutually-recursive functions - (Jacques-Henri Jourdan, reported by Cédric Pasteur) -- PR#5775: several bug fixes for tools/pprintast.ml - (Hongbo Zhang) -- PR#5784: -dclambda option is ignored - (Pierre Chambart) -- PR#5785: misbehaviour with abstracted structural type used as GADT index - (Jacques Garrigue, report by Jeremy Yallop) -- PR#5787: Bad behavior of 'Unused ...' warnings in the toplevel - (Alain Frisch) -- PR#5793: integer marshalling is inconsistent between architectures - (Xavier Clerc, report by Pierre-Marie Pédrot) -- PR#5798: add ARM VFPv2 support for Raspbian (ocamlopt) - (Jeffrey Scofield and Anil Madhavapeddy, patch review by Benedikt Meurer) -- PR#5802: Avoiding "let" as a value name - (Jacques Garrigue, report by Tiphaine Turpin) -- PR#5805: Assert failure with warning 34 on pre-processed file - (Alain Frisch, report by Tiphaine Turpin) -- PR#5806: ensure that backtrace tests are always run (testsuite) - (Xavier Clerc, report by user 'michi') -- PR#5809: Generating .cmt files takes a long time, in case of type error - (Alain Frisch) -- PR#5810: error in switch printing when using -dclambda - (Pierre Chambart) -- PR#5811: Untypeast produces singleton tuples for constructor patterns - with only one argument - (Tiphaine Turpin) -- PR#5813: GC not called when unmarshaling repeatedly in a tight loop (ocamlopt) - (Xavier Leroy, report by David Waern) -- PR#5814: read_cmt -annot does not report internal references - (Alain Frisch) -- PR#5815: Multiple exceptions in signatures gives an error - (Leo P. White) -- PR#5816: read_cmt -annot does not work for partial .cmt files - (Alain Frisch) -- PR#5819: segfault when using [with] on large recursive record (ocamlopt) - (Xavier Leroy, Damien Doligez) -- PR#5821: Wrong record field is reported as duplicate - (Alain Frisch, report by Martin Jambon) -- PR#5824: Generate more efficient code for immediate right shifts. - (Pierre Chambart, review by Xavier Leroy) -- PR#5825: Add a toplevel primitive to use source file wrapped with the - coresponding module - (Grégoire Henry, Wojciech Meyer, caml-list discussion) -- PR#5833: README.win32 can leave the wrong flexlink in the path - (Damien Doligez, report by William Smith) -- PR#5835: nonoptional labeled arguments can be passed with '?' - (Jacques Garrigue, report by Elnatan Reisner) -- PR#5840: improved documentation for 'Unix.lseek' - (Xavier Clerc, report by Matej Košík) -- PR#5848: Assertion failure in type checker - (Jacques Garrigue, Alain Frisch, report by David Waern) -- PR#5858: Assert failure during typing of class - (Jacques Garrigue, report by Julien Signoles) -- PR#5865: assert failure when reporting undefined field label - (Jacques Garrigue, report by Anil Madhavapeddy) -- PR#5872: Performance: Buffer.add_char is not inlined - (Gerd Stolpmann, Damien Doligez) -- PR#5876: Uncaught exception with a typing error - (Alain Frisch, Gabriel Scherer, report by Julien Moutinho) -- PR#5877: multiple "open" can become expensive in memory - (Fabrice Le Fessant and Alain Frisch) -- PR#5880: 'Genlex.make_lexer' documention mentions the wrong exception - (Xavier Clerc, report by Virgile Prevosto) -- PR#5885: Incorrect rule for compiling C stubs when shared libraries are not - supported. - (Jérôme Vouillon) -- PR#5891: ocamlbuild: support rectypes tag for mlpack - (Khoo Yit Phang) -- PR#5892: GADT exhaustiveness check is broken - (Jacques Garrigue and Leo P. White) -- PR#5906: GADT exhaustiveness check is still broken - (Jacques Garrigue, report by Sébastien Briais) -- PR#5907: Undetected cycle during typecheck causes exceptions - (Jacques Garrigue, report by Pascal Zimmer) -- PR#5910: Fix code generation bug for "mod 1" on ARM. - (Benedikt Meurer, report by user 'jteg68') -- PR#5911: Signature substitutions fail in submodules - (Jacques Garrigue, report by Markus Mottl) -- PR#5912: add configure option -no-cfi (for OSX 10.6.x with XCode 4.0.2) - (Damien Doligez against XCode versions, report by Thomas Gazagnaire) -- PR#5914: Functor breaks with an equivalent argument signature - (Jacques Garrigue, report by Markus Mottl and Grégoire Henry) -- PR#5920, PR#5957: linking failure for big bytecodes on 32bit architectures - (Benoît Vaugon and Chet Murthy, report by Jun Furuse and Sebastien Mondet) -- PR#5928: Missing space between words in manual page for ocamlmktop - (Damien Doligez, report by Matej Košík) -- PR#5930: ocamldep leaks temporary preprocessing files - (Gabriel Scherer, report by Valentin Gatien-Baron) -- PR#5933: Linking is slow when there are functions with large arities - (Valentin Gatien-Baron, review by Gabriel Scherer) -- PR#5934: integer shift by negative amount (in otherlibs/num) - (Xavier Leroy, report by John Regehr) -- PR#5944: Bad typing performances of big variant type declaration - (Benoît Vaugon) -- PR#5945: Mix-up of Minor_heap_min and Minor_heap_max units - (Benoît Vaugon) -- PR#5948: GADT with polymorphic variants bug - (Jacques Garrigue, report by Leo P. White) -- PR#5953: Unix.system does not handle EINTR - (Jérémie Dimino) -- PR#5965: disallow auto-reference to a recursive module in its definition - (Alain Frisch, report by Arthur Windler via Gabriel Scherer) -- PR#5973: Format module incorrectly parses format string - (Pierre Weis, report by Frédéric Bour) -- PR#5974: better documentation for Str.regexp - (Damien Doligez, report by william) -- PR#5976: crash after recovering from two stack overflows (ocamlopt on MacOS X) - (Xavier Leroy, report by Pierre Boutillier) -- PR#5977: Build failure on raspberry pi: "input_value: integer too large" - (Alain Frisch, report by Sylvain Le Gall) -- PR#5981: Incompatibility check assumes abstracted types are injective - (Jacques Garrigue, report by Jeremy Yallop) -- PR#5982: caml_leave_blocking section and errno corruption - (Jérémie Dimino) -- PR#5985: Unexpected interaction between variance and GADTs - (Jacques Garrigue, Jeremy Yallop and Leo P. White and Gabriel Scherer) -- PR#5988: missing from the documentation: -impl is a valid flag for ocamlopt - (Damien Doligez, report by Vincent Bernardoff) -- PR#5989: Assumed inequalities involving private rows - (Jacques Garrigue, report by Jeremy Yallop) -- PR#5992: Crash when pattern-matching lazy values modifies the scrutinee - (Luc Maranget, Leo P. White) -- PR#5993: Variance of private type abbreviations not checked for modules - (Jacques Garrigue) -- PR#5997: Non-compatibility assumed for concrete types with same constructor - (Jacques Garrigue, report by Gabriel Scherer) -- PR#6004: Type information does not flow to "inherit" parameters - (Jacques Garrigue, report by Alain Frisch) -- PR#6005: Type unsoundness with recursive modules - (Jacques Garrigue, report by Jérémie Dimino and Josh Berdine) -- PR#6010: Big_int.extract_big_int gives wrong results on negative arguments - (Xavier Leroy, report by Drake Wilson via Stéphane Glondu) -- PR#6024: Format syntax for printing @ is incompatible with 3.12.1 - (Damien Doligez, report by Boris Yakobowski) -- PR#6001: Reduce the memory used by compiling Camlp4 - (Hongbo Zhang and Gabriel Scherer, report by Henri Gouraud) -- PR#6031: Camomile problem with -with-frame-pointers - (Fabrice Le Fessant, report by Anil Madhavapeddy) -- PR#6032: better Random.self_init under Windows - (Alain Frisch, Xavier Leroy) -- PR#6033: Matching.inline_lazy_force needs eta-expansion (command-line flags) - (Pierre Chambart, Xavier Leroy and Luc Maranget, - regression report by Gabriel Scherer) -- PR#6046: testsuite picks up the wrong ocamlrun dlls - (Anil Madhavapeddy) -- PR#6056: Using 'match' prevents generalization of values - (Jacques Garrigue, report by Elnatan Reisner) -- PR#6058: 'ocamlbuild -use-ocamlfind -tag thread -package threads t.cma' fails - (Gabriel Scherer, report by Hezekiah M. Carty) -- PR#6069: ocamldoc: lexing: empty token - (Maxence Guesdon, Grégoire Henry, report by ygrek) -- PR#6072: configure does not handle FreeBSD current (i.e. 10) correctly - (Damien Doligez, report by Prashanth Mundkur) -- PR#6074: Wrong error message for failing Condition.broadcast - (Markus Mottl) -- PR#6084: Define caml_modify and caml_initialize as weak symbols to help - with Netmulticore - (Xavier Leroy, Gerd Stolpmann) -- PR#6090: Module constraint + private type seems broken in ocaml 4.01.0 - (Jacques Garrigue, report by Jacques-Pascal Deplaix) -- PR#6109: Typos in ocamlbuild error messages - (Gabriel Kerneis) -- PR#6123: Assert failure when self escapes its class - (Jacques Garrigue, report by whitequark) -- PR#6158: Fatal error using GADTs - (Jacques Garrigue, report by Jeremy Yallop) -- PR#6163: Assert_failure using polymorphic variants in GADTs - (Jacques Garrigue, report by Leo P. White) -- PR#6164: segmentation fault on Num.power_num of 0/1 - (Fabrice Le Fessant, report by Johannes Kanig) -- PR#6210: Camlp4 location error - (Hongbo Zhang, report by Jun Furuse) - -Feature wishes: -- PR#5181: Merge common floating point constants in ocamlopt - (Benedikt Meurer) -- PR#5243: improve the ocamlbuild API documentation in signatures.mli - (Christophe Troestler) -- PR#5546: moving a function into an internal module slows down its use - (Alain Frisch, report by Fabrice Le Fessant) -- PR#5597: add instruction trace option 't' to OCAMLRUNPARAM - (Anil Madhavapeddy, Wojciech Meyer) -- PR#5676: IPv6 support under Windows - (Jérôme Vouillon, review by Jonathan Protzenko) -- PR#5721: configure -with-frame-pointers for Linux perf profiling - (Fabrice Le Fessant, test by Jérémie Dimino) -- PR#5722: toplevel: print full module path only for first record field - (Jacques Garrigue, report by ygrek) -- PR#5762: Add primitives for fast access to bigarray dimensions - (Pierre Chambart) -- PR#5769: Allow propagation of Sys.big_endian in native code - (Pierre Chambart, stealth commit by Fabrice Le Fessant) -- PR#5771: Add primitives for reading 2, 4, 8 bytes in strings and bigarrays - (Pierre Chambart) -- PR#5774: Add bswap primitives for amd64 and arm - (Pierre Chambart, test by Alain Frisch) -- PR#5795: Generate sqrtsd opcode instead of external call to sqrt on amd64 - (Pierre Chambart) -- PR#5827: provide a dynamic command line parsing mechanism - (Hongbo Zhang) -- PR#5832: patch to improve "wrong file naming" error messages - (William Smith) -- PR#5864: Add a find operation to Set - (François Berenger) -- PR#5886: Small changes to compile for Android - (Jérôme Vouillon, review by Benedikt Meurer) -- PR#5902: -ppx based pre-processor executables accept arguments - (Alain Frisch, report by Wojciech Meyer) -- PR#5986: Protect against marshaling 64-bit integers in bytecode - (Xavier Leroy, report by Alain Frisch) -- PR#6049: support for OpenBSD/macppc platform - (Anil Madhavapeddy, review by Benedikt Meurer) -- PR#6059: add -output-obj rules for ocamlbuild - (Anil Madhavapeddy) -- PR#6060: ocamlbuild tags 'principal', 'strict_sequence' and 'short_paths' - (Anil Madhavapeddy) -- ocamlbuild tag 'no_alias_deps' - (Daniel Bünzli) - -Tools: -- OCamlbuild now features a bin_annot tag to generate .cmt files. - (Jonathan Protzenko) -- OCamlbuild now features a strict_sequence tag to trigger the - strict-sequence option. - (Jonathan Protzenko) -- OCamlbuild now picks the non-core tools like ocamlfind and menhir from PATH - (Wojciech Meyer) -- PR#5884: Misc minor fixes and cleanup for emacs mode - (Stefan Monnier) -- PR#6030: Improve performance of -annot - (Guillaume Melquiond, Alain Frisch) - - -OCaml 4.00.1 (5 Oct 2012): --------------------------- - -Bug fixes: -- PR#4019: better documentation of Str.matched_string -- PR#5111: ocamldoc, heading tags inside spans tags is illegal in html -- PR#5278: better error message when typing "make" -- PR#5468: ocamlbuild should preserve order of parametric tags -- PR#5563: harden Unix.select against file descriptors above FD_SETSIZE -- PR#5690: "ocamldoc ... -text README" raises exception -- PR#5700: crash with native-code stack backtraces under MacOS 10.8 x86-64 -- PR#5707: AMD64 code generator: do not use r10 and r11 for parameter passing, - as these registers can be destroyed by the dynamic loader -- PR#5712: some documentation problems -- PR#5715: configuring with -no-shared-libs breaks under cygwin -- PR#5718: false positive on 'unused constructor' warning -- PR#5719: ocamlyacc generates code that is not warning 33-compliant -- PR#5725: ocamldoc output of preformatted code -- PR#5727: emacs caml-mode indents shebang line in toplevel scripts -- PR#5729: tools/untypeast.ml creates unary Pexp_tuple -- PR#5731: instruction scheduling forgot to account for destroyed registers -- PR#5735: %apply and %revapply not first class citizens -- PR#5738: first class module patterns not handled by ocamldep -- PR#5742: missing bound checks in Array.sub -- PR#5744: ocamldoc error on "val virtual" -- PR#5757: GC compaction bug (crash) -- PR#5758: Compiler bug when matching on floats -- PR#5761: Incorrect bigarray custom block size - - -OCaml 4.00.0 (26 Jul 2012): ---------------------------- - -(Changes that can break existing programs are marked with a "*") - -- The official name of the language is now OCaml. - -Language features: -- Added Generalized Algebraic Data Types (GADTs) to the language. - See chapter "Language extensions" of the reference manual for documentation. -- It is now possible to omit type annotations when packing and unpacking - first-class modules. The type-checker attempts to infer it from the context. - Using the -principal option guarantees forward compatibility. -- New (module M) and (module M : S) syntax in patterns, for immediate - unpacking of a first-class module. - -Compilers: -- Revised simplification of let-alias (PR#5205, PR#5288) -- Better reporting of compiler version mismatch in .cmi files -* Warning 28 is now enabled by default. -- New option -absname to use absolute paths in error messages -- Optimize away compile-time beta-redexes, e.g. (fun x y -> e) a b. -- Added option -bin-annot to dump the AST with type annotations. -- Added lots of new warnings about unused variables, opens, fields, - constructors, etc. -* New meaning for warning 7: it is now triggered when a method is overridden - with the "method" keyword. Use "method!" to avoid the warning. - -Native-code compiler: -- Optimized handling of partially-applied functions (PR#5287) -- Small improvements in code generated for array bounds checks (PR#5345, - PR#5360). -* New ARM backend (PR#5433): - . Supports both Linux/EABI (armel) and Linux/EABI+VFPv3 (armhf). - . Added support for the Thumb-2 instruction set with average code size - savings of 28%. - . Added support for position-independent code, natdynlink, profiling and - exception backtraces. -- Generation of CFI information, and filename/line number debugging (with -g) - annotations, enabling in particular precise stack backtraces with - the gdb debugger. Currently supported for x86 32-bits and 64-bits only. - (PR#5487) -- New tool: ocamloptp, the equivalent of ocamlcp for the native-code compiler. - -OCamldoc: -- PR#5645: ocamldoc doesn't handle module/type substitution in signatures -- PR#5544: improve HTML output (less formatting in html code) -- PR#5522: allow refering to record fields and variant constructors -- fix PR#5419 (error message in french) -- fix PR#5535 (no cross ref to class after dump+load) -* Use first class modules for custom generators, to be able to - load various plugins incrementally adding features to the current - generator -* PR#5507: Use Location.t structures for locations. -- fix: do not keep code when not told to keep code. - -Standard library: -- Added float functions "hypot" and "copysign" (PR#3806, PR#4752, PR#5246) -* Arg: options with empty doc strings are no longer included in the usage string - (PR#5437) -- Array: faster implementations of "blit", "copy", "sub", "append" and "concat" - (PR#2395, PR#2787, PR#4591) -* Hashtbl: - . Statistically-better generic hash function based on Murmur 3 (PR#5225) - . Fixed behavior of generic hash function w.r.t. -0.0 and NaN (PR#5222) - . Added optional "random" parameter to Hashtbl.create to randomize - collision patterns and improve security (PR#5572, CVE-2012-0839) - . Added "randomize" function and "R" parameter to OCAMLRUNPARAM - to turn randomization on by default (PR#5572, CVE-2012-0839) - . Added new functorial interface "MakeSeeded" to support randomization - with user-provided seeded hash functions. - . Install new header for C code. -- Filename: on-demand (lazy) initialization of the PRNG used by "temp_file". -- Marshal: marshalling of function values (flag Marshal.Closures) now - also works for functions that come from dynamically-loaded modules (PR#5215) -- Random: - . More random initialization (Random.self_init()), using /dev/urandom - when available (e.g. Linux, FreeBSD, MacOS X, Solaris) - * Faster implementation of Random.float (changes the generated sequences) -- Format strings for formatted input/output revised to correct PR#5380 - . Consistently treat %@ as a plain @ character - . Consistently treat %% as a plain % character -- Scanf: width and precision for floating point numbers are now handled -- Scanf: new function "unescaped" (PR#3888) -- Set and Map: more efficient implementation of "filter" and "partition" -- String: new function "map" (PR#3888) - -Installation procedure: -- Compiler internals are now installed in `ocamlc -where`/compiler-libs. - The files available there include the .cmi interfaces for all compiler - modules, plus the following libraries: - ocamlcommon.cma/.cmxa modules common to ocamlc, ocamlopt, ocaml - ocamlbytecomp.cma/.cmxa modules for ocamlc and ocaml - ocamloptcomp.cma/.cmxa modules specific to ocamlopt - ocamltoplevel.cma modules specific to ocaml - (PR#1804, PR#4653, frequently-asked feature). -* Some .cmi for toplevel internals that used to be installed in - `ocamlc -where` are now to be found in `ocamlc -where`/compiler-libs. - Add "-I +compiler-libs" where needed. -* toplevellib.cma is no longer installed because subsumed by - ocamlcommon.cma ocamlbytecomp.cma ocamltoplevel.cma -- Added a configuration option (-with-debug-runtime) to compile and install - a debug version of the runtime system, and a compiler option - (-runtime-variant) to select the debug runtime. - -Bug Fixes: - -- PR#1643: functions of the Lazy module whose named started with 'lazy_' have - been deprecated, and new ones without the prefix added -- PR#3571: in Bigarrays, call msync() before unmapping to commit changes -- PR#4292: various documentation problems -- PR#4511, PR#4838: local modules remove polymorphism -* PR#4549: Filename.dirname is not handling multiple / on Unix -- PR#4688: (Windows) special floating-point values aren't converted to strings - correctly -- PR#4697: Unix.putenv leaks memory on failure -- PR#4705: camlp4 does not allow to define types with `True or `False -- PR#4746: wrong detection of stack overflows in native code under Linux -- PR#4869: rare collisions between assembly labels for code and data -- PR#4880: "assert" constructs now show up in the exception stack backtrace -- PR#4892: Array.set could raise "out of bounds" before evaluating 3rd arg -- PR#4937: camlp4 incorrectly handles optional arguments if 'option' is - redefined -- PR#5024: camlp4r now handles underscores in irrefutable pattern matching of - records -- PR#5064, PR#5485: try to ensure that 4K words of stack are available - before calling into C functions, raising a Stack_overflow exception - otherwise. This reduces (but does not eliminate) the risk of - segmentation faults due to stack overflow in C code -- PR#5073: wrong location for 'Unbound record field label' error -- PR#5084: sub-sub-module building fails for native code compilation -- PR#5120: fix the output function of Camlp4.Debug.formatter -- PR#5131: compilation of custom runtime with g++ generates lots of warnings -- PR#5137: caml-types-explore does not work -- PR#5159: better documentation of type Lexing.position -- PR#5171: Map.join does more comparisons than needed -- PR#5176: emacs mode: stack overflow in regexp matcher -- PR#5179: port OCaml to mingw-w64 -- PR#5211: updated Genlex documentation to state that camlp4 is mandatory for - 'parser' keyword and associated notation -- PR#5214: ocamlfind plugin invokes 'cut' utility -- PR#5218: use $(MAKE) instead of "make" in Makefiles -- PR#5224: confusing error message in non-regular type definition -- PR#5231: camlp4: fix parsing of <:str_item< type t = $x$ >> -- PR#5233: finaliser on weak array gives dangling pointers (crash) -- PR#5238, PR#5277: Sys_error when getting error location -- PR#5261, PR#5497: Ocaml source-code examples are not "copy-paste-able" -* PR#5279: executable name is not initialized properly in caml_startup_code -- PR#5290: added hash functions for channels, nats, mutexes, conditions -- PR#5291: undetected loop in class initialization -- PR#5295: OS threads: problem with caml_c_thread_unregister() -- PR#5301: camlp4r and exception equal to another one with parameters -- PR#5305: prevent ocamlbuild from complaining about links to _build/ -- PR#5306: comparing to Thread.self() raises exception at runtime -- PR#5309: Queue.add is not thread/signal safe -- PR#5310: Ratio.create_ratio/create_normalized_ratio have misleading names -- PR#5311: better message for warning 23 -* PR#5312: command-line arguments @reponsefile auto-expansion feature - removed from the Windows OCaml runtime, to avoid conflicts with "-w @..." -- PR#5313: ocamlopt -g misses optimizations -- PR#5214: ocamlfind plugin invokes 'cut' utility -- PR#5316: objinfo now shows ccopts/ccobjs/force_link when applicable -- PR#5318: segfault on stack overflow when reading marshaled data -- PR#5319: %r11 clobbered by Lswitch in Windows AMD64 native-code compilation -- PR#5322: type abbreviations expanding to a universal type variable -- PR#5328: under Windows, Unix.select leaves sockets in non-blocking mode -- PR#5330: thread tag with '.top' and '.inferred.mli' targets -- PR#5331: ocamlmktop is not always a shell script -- PR#5335: Unix.environment segfaults after a call to clearenv -- PR#5338: sanitize.sh has windows style end-of-lines (mingw) -- PR#5344: some predefined exceptions need special printing -- PR#5349: Hashtbl.replace uses new key instead of reusing old key -- PR#5356: ocamlbuild handling of 'predicates' for ocamlfind -- PR#5364: wrong compilation of "((val m : SIG1) : SIG2)" -- PR#5370: ocamldep omits filename in syntax error message -- PR#5374: camlp4 creates wrong location for type definitions -- PR#5380: strange sscanf input segfault -- PR#5382: EOPNOTSUPP and ENOTSUPP different on exotic platforms -- PR#5383: build failure in Win32/MSVC -- PR#5387: camlp4: str_item and other syntactic elements with Nils are - not very usable -- PR#5389: compaction sometimes leaves a very large heap -- PR#5393: fails to build from source on GNU/kFreeBSD because of -R link option -- PR#5394: documentation for -dtypes is missing in manpage -- PR#5397: Filename.temp_dir_name should be mutable -- PR#5410: fix printing of class application with Camlp4 -- PR#5416: (Windows) Unix.(set|clear)_close_on_exec now preserves blocking mode -- PR#5435: ocamlbuild does not find .opt executables on Windows -- PR#5436: update object ids on unmarshaling -- PR#5442: camlp4: quotation issue with strings -- PR#5453: configure doesn't find X11 under Ubuntu/MultiarchSpec -- PR#5461: Double linking of bytecode modules -- PR#5463: Bigarray.*.map_file fail if empty array is requested -- PR#5465: increase stack size of ocamlopt.opt for windows -- PR#5469: private record type generated by functor loses abbreviation -- PR#5475: Wrapper script for interpreted LablTk wrongly handles command line - parameters -- PR#5476: bug in native code compilation of let rec on float arrays -- PR#5477: use pkg-config to configure graphics on linux -- PR#5481: update camlp4 magic numbers -- PR#5482: remove bashism in test suite scripts -- PR#5495: camlp4o dies on infix definition (or) -- PR#5498: Unification with an empty object only checks the absence of - the first method -- PR#5503: error when ocamlbuild is passed an absolute path as build directory -- PR#5509: misclassification of statically-allocated empty array that - falls exactly at beginning of an otherwise unused data page. -- PR#5510: ocamldep has duplicate -ml{,i}-synonym options -- PR#5511: in Bigarray.reshape, unwarranted limitation on new array dimensions. -- PR#5513: Int64.div causes floating point exception (ocamlopt, x86) -- PR#5516: in Bigarray C stubs, use C99 flexible array types if possible -- PR#5518: segfault with lazy empty array -- PR#5531: Allow ocamlbuild to add ocamldoc flags through -docflag - and -docflags switches -- PR#5538: combining -i and -annot in ocamlc -- PR#5543: in Bigarray.map_file, try to avoid using lseek() when growing file -- PR#5648: (probably fixed) test failures in tests/lib-threads -- PR#5551: repeated calls to find_in_path degrade performance -- PR#5552: Mac OS X: unrecognized gcc option "-no-cpp-precomp" -- PR#5555: add Hashtbl.reset to resize the bucket table to its initial size -- PR#5560: incompatible type for tuple pattern with -principal -- PR#5575: Random states are not marshallable across architectures -- PR#5579: camlp4: when a plugin is loaded in the toplevel, - Token.Filter.define_filter has no effect before the first syntax error -- PR#5585: typo: "explicitely" -- PR#5587: documentation: "allows to" is not correct English -- PR#5593: remove C file when -output-obj fails -- PR#5597: register names for instrtrace primitives in embedded bytecode -- PR#5598: add backslash-space support in strings in ocamllex -- PR#5603: wrong .file debug info generated by ocamlopt -g -- PR#5604: fix permissions of files created by ocamlbuild itself -- PR#5610: new unmarshaler (from PR#5318) fails to freshen object identifiers -- PR#5614: add missing -linkall flag when compiling ocamldoc.opt -- PR#5616: move ocamlbuild documentation to the reference manual -- PR#5619: Uncaught CType.Unify exception in the compiler -- PR#5620: invalid printing of type manifest (camlp4 revised syntax) -- PR#5637: invalid printing of anonymous type parameters (camlp4 revised syntax) -- PR#5643: issues with .cfi and .loc directives generated by ocamlopt -g -- PR#5644: Stream.count broken when used with Sapp or Slazy nodes -- PR#5647: Cannot use install_printer in debugger -- PR#5651: printer for abstract data type (camlp4 revised syntax) -- PR#5654: self pattern variable location tweak -- PR#5655: ocamlbuild doesn't pass cflags when building C stubs -- PR#5657: wrong error location for abbreviated record fields -- PR#5659: ocamlmklib -L option breaks with MSVC -- PR#5661: fixes for the test suite -- PR#5668: Camlp4 produces invalid syntax for "let _ = ..." -- PR#5671: initialization of compare_ext field in caml_final_custom_operations() -- PR#5677: do not use "value" as identifier (genprintval.ml) -- PR#5687: dynlink broken when used from "output-obj" main program (bytecode) -- problem with printing of string literals in camlp4 (reported on caml-list) -- emacs mode: colorization of comments and strings now works correctly -- problem with forall and method (reported on caml-list on 2011-07-26) -- crash when using OCAMLRUNPARAM=a=X with invalid X (reported in private) - -Feature wishes: -- PR#352: new option "-stdin" to make ocaml read stdin as a script -- PR#1164: better error message when mixing -a and .cmxa -- PR#1284: documentation: remove restriction on mixed streams -- PR#1496: allow configuring LIBDIR, BINDIR, and MANDIR relative to $(PREFIX) -- PR#1835: add Digest.from_hex -- PR#1898: toplevel: add option to suppress continuation prompts -- PR#4278: configure: option to disable "graph" library -- PR#4444: new String.trim function, removing leading and trailing whistespace -- PR#4549: make Filename.dirname/basename POSIX compliant -- PR#4830: add option -v to expunge.ml -- PR#4898: new Sys.big_endian boolean for machine endianness -- PR#4963, PR#5467: no extern "C" into ocaml C-stub headers -- PR#5199: tests are run only for bytecode if either native support is missing, - or a non-empty value is set to "BYTECODE_ONLY" Makefile variable -- PR#5215: marshalling of dynlinked closure -- PR#5236: new '%revapply' primitive with the semantics 'revapply x f = f x', - and '%apply' with semantics 'apply f x = f x'. -- PR#5255: natdynlink detection on powerpc, hurd, sparc -- PR#5295: OS threads: problem with caml_c_thread_unregister() -- PR#5297: compiler now checks existence of builtin primitives -- PR#5329: (Windows) more efficient Unix.select if all fd's are sockets -- PR#5357: warning for useless open statements -- PR#5358: first class modules don't allow "with type" declarations for types - in sub-modules -- PR#5385: configure: emit a warning when MACOSX_DEPLOYMENT_TARGET is set -- PR#5396: ocamldep: add options -sort, -all, and -one-line -- PR#5397: Filename.temp_dir_name should be mutable -- PR#5403: give better error message when emacs is not found in PATH -- PR#5411: new directive for the toplevel: #load_rec -- PR#5420: Unix.openfile share mode (Windows) -- PR#5421: Unix: do not leak fds in various open_proc* functions -- PR#5434: implement Unix.times in win32unix (partially) -- PR#5438: new warnings for unused declarations -- PR#5439: upgrade config.guess and config.sub -- PR#5445 and others: better printing of types with user-provided names -- PR#5454: Digest.compare is missing and md5 doc update -- PR#5455: .emacs instructions, add lines to recognize ocaml scripts -- PR#5456: pa_macro: replace __LOCATION__ after macro expansion; add LOCATION_OF -- PR#5461: bytecode: emit warning when linking two modules with the same name -- PR#5478: ocamlopt assumes ar command exists -- PR#5479: Num.num_of_string may raise an exception, not reflected in the - documentation. -- PR#5501: increase IO_BUFFER_SIZE to 64KiB -- PR#5532: improve error message when bytecode file is wrong -- PR#5555: add function Hashtbl.reset to resize the bucket table to - its initial size. -- PR#5586: increase UNIX_BUFFER_SIZE to 64KiB -- PR#5597: register names for instrtrace primitives in embedded bytecode -- PR#5599: Add warn() tag in ocamlbuild to control -w compiler switch -- PR#5628: add #remove_directory and Topdirs.remove_directory to remove - a directory from the load path -- PR#5636: in system threads library, issue with linking of pthread_atfork -- PR#5666: C includes don't provide a revision number -- ocamldebug: ability to inspect values that contain code pointers -- ocamldebug: new 'environment' directive to set environment variables - for debuggee -- configure: add -no-camlp4 option - -Shedding weight: -* Removed the obsolete native-code generators for Alpha, HPPA, IA64 and MIPS. -* The "DBM" library (interface with Unix DBM key-value stores) is no - longer part of this distribution. It now lives its own life at - https://forge.ocamlcore.org/projects/camldbm/ -* The "OCamlWin" toplevel user interface for MS Windows is no longer - part of this distribution. It now lives its own life at - https://forge.ocamlcore.org/projects/ocamltopwin/ - -Other changes: -- Copy VERSION file to library directory when installing. - - -OCaml 3.12.1 (4 Jul 2011): --------------------------- - -Bug fixes: -- PR#4345, PR#4767: problems with camlp4 printing of float values -- PR#4380: ocamlbuild should not use tput on windows -- PR#4487, PR#5164: multiple 'module type of' are incompatible -- PR#4552: ocamlbuild does not create symlinks when using '.itarget' file -- PR#4673, PR#5144: camlp4 fails on object copy syntax -- PR#4702: system threads: cleanup tick thread at exit -- PR#4732: camlp4 rejects polymorphic variants using keywords from macros -- PR#4778: Win32/MSVC port: rare syntax error in generated MASM assembly file -- PR#4794, PR#4959: call annotations not generated by ocamlopt -- PR#4820: revised syntax pretty printer crashes with 'Stack_overflow' -- PR#4928: wrong printing of classes and class types by camlp4 -- PR#4939: camlp4 rejects patterns of the '?x:_' form -- PR#4967: ocamlbuild passes wrong switches to ocamldep through menhir -- PR#4972: mkcamlp4 does not include 'dynlink.cma' -- PR#5039: ocamlbuild should use '-linkpkg' only when linking programs -- PR#5066: ocamldoc: add -charset option used in html generator -- PR#5069: fcntl() in caml_sys_open may block, do it within blocking section -- PR#5071, PR#5129, PR#5134: inconsistencies between camlp4 and camlp4* binaries -- PR#5080, PR#5104: regression in type constructor handling by camlp4 -- PR#5090: bad interaction between toplevel and camlp4 -- PR#5095: ocamlbuild ignores some tags when building bytecode objects -- PR#5100: ocamlbuild always rebuilds a 'cmxs' file -- PR#5103: build and install objinfo when building with ocamlbuild -- PR#5109: crash when a parser calls a lexer that calls another parser -- PR#5110: invalid module name when using optional argument -- PR#5115: bytecode executables produced by msvc64 port crash on 32-bit versions -- PR#5117: bigarray: wrong function name without HAS_MMAP; missing include -- PR#5118: Camlp4o and integer literals -- PR#5122: camlp4 rejects lowercase identifiers for module types -- PR#5123: shift_right_big_int returns a wrong zero -- PR#5124: substitution inside a signature leads to odd printing -- PR#5128: typo in 'Camlp4ListComprehension' syntax extension -- PR#5136: obsolete function used in emacs mode -- PR#5145: ocamldoc: missing html escapes -- PR#5146: problem with spaces in multi-line string constants -- PR#5149: (partial) various documentation problems -- PR#5156: rare compiler crash with objects -- PR#5165: ocamlbuild does not pass '-thread' option to ocamlfind -- PR#5167: camlp4r loops when printing package type -- PR#5172: camlp4 support for 'module type of' construct -- PR#5175: in bigarray accesses, make sure bigarray expr is evaluated only once -- PR#5177: Gc.compact implies Gc.full_major -- PR#5182: use bytecode version of ocamldoc to generate man pages -- PR#5184: under Windows, alignment issue with bigarrays mapped from files -- PR#5188: double-free corruption in bytecode system threads -- PR#5192: mismatch between words and bytes in interpreting max_young_wosize -- PR#5202: error in documentation of atan2 -- PR#5209: natdynlink incorrectly detected on BSD systems -- PR#5213: ocamlbuild should pass '-rectypes' to ocamldoc when needed -- PR#5217: ocamlfind plugin should add '-linkpkg' for toplevel -- PR#5228: document the exceptions raised by functions in 'Filename' -- PR#5229: typo in build script ('TAG_LINE' vs 'TAGLINE') -- PR#5230: error in documentation of Scanf.Scanning.open_in -- PR#5234: option -shared reverses order of -cclib options -- PR#5237: incorrect .size directives generated for x86-32 and x86-64 -- PR#5244: String.compare uses polymorphic compare_val (regression of PR#4194) -- PR#5248: regression introduced while fixing PR#5118 -- PR#5252: typo in docs -- PR#5258: win32unix: unix fd leak under windows -- PR#5269: (tentative fix) Wrong ext_ref entries in .annot files -- PR#5272: caml.el doesn't recognize downto as a keyword -- PR#5276: issue with ocamlc -pack and recursively-packed modules -- PR#5280: alignment constraints incorrectly autodetected on MIPS 32 -- PR#5281: typo in error message -- PR#5308: unused variables not detected in "include (struct .. end)" -- camlp4 revised syntax printing bug in the toplevel (reported on caml-list) -- configure: do not define _WIN32 under cygwin -- Hardened generic comparison in the case where two custom blocks - are compared and have different sets of custom operations. -- Hardened comparison between bigarrays in the case where the two - bigarrays have different kinds. -- Fixed wrong autodetection of expm1() and log1p(). -- don't add .exe suffix when installing the ocamlmktop shell script -- ocamldoc: minor fixes related to the display of ocamldoc options -- fixed bug with huge values in OCAMLRUNPARAM -- mismatch between declaration and definition of caml_major_collection_slice - -Feature wishes: -- PR#4992: added '-ml-synonym' and '-mli-synonym' options to ocamldep -- PR#5065: added '-ocamldoc' option to ocamlbuild -- PR#5139: added possibility to add options to ocamlbuild -- PR#5158: added access to current camlp4 parsers and printers -- PR#5180: improved instruction selection for float operations on amd64 -- stdlib: added a 'usage_string' function to Arg -- allow with constraints to add a type equation to a datatype definition -- ocamldoc: allow to merge '@before' tags like other ones -- ocamlbuild: allow dependency on file "_oasis" - -Other changes: -- Changed default minor heap size from 32k to 256k words. -- Added new operation 'compare_ext' to custom blocks, called when - comparing a custom block value with an unboxed integer. - - -Objective Caml 3.12.0 (2 Aug 2010): ------------------------------------ - -(Changes that can break existing programs are marked with a "*" ) - -Language features: -- Shorthand notation for records: in expressions and patterns, - { lbl } stands for { lbl = lbl } and { M.lbl } for { M.lbl = lbl } -- Record patterns of the form { lbl = pat; _ } to mark that not all - labels are listed, purposefully. (See new warning below.) -- Explicit naming of a generic type; in an expression - "fun ... (type t) ... -> e", the type t is considered abstract in its - scope (the arguments that follow it and the body of the function), - and then replaced by a fresh type variable. In particular, the type - t can be used in contexts where a type variable is not allowed - (e.g. for defining an exception in a local module). -- Explicit polymorphic types and polymorphic recursion. In let - definitions, one can write an explicit polymorphic type just - immediately the function name; the polymorphism will be enforced, - and recursive calls may use the polymorphism. - The syntax is the same as for polymorphic methods: - "let [rec] : 'a1 ... 'an. = ..." -- First-class packages modules. - New kind of type expression, for packaged modules: (module PT). - New kind of expression, to pack a module as a first-class value: - (module MODEXPR : PT). - New kind of module expression, to unpack a first-class value as a module: - (val EXPR : PT). - PT is a package type of the form "S" or - "S with type t1 = ... and ... and type tn = ..." (S refers to a module type). -- Local opening of modules in a subexpression. - Syntax: "let open M in e", or "M.(e)" -- In class definitions, method and instance variable override can now - be made explicit, by writing "method!", "val!" or "inherit!" in place of - "method", "val" and "inherit". It is an error to override an - undefined member (or to use overriding inheritance when nothing get - overridden). Additionally, these constructs disactivate respectively - warnings 7 (method override, code 'M') and 13 (instance variable - override, code 'V'). Note that, by default, warning 7 is inactive - and warning 13 is active. -- "Destructive" substitution in signatures. - By writing " with type t := " and - " with module M := " one replaces "t" and "M" - inside the signature, removing their respective fields. Among other - uses, this allows to merge two signatures containing identically - named fields. -* While fixing PR#4824, also corrected a gaping hole in the type checker, - which allowed instantiating separately object parameters and instance - variables in an interface. This hole was here since the beginning of - ocaml, and as a result many programs using object inheritance in a non - trivial way will need to be corrected. You can look at lablgtk2 for an - example. - -Compilers and toplevel: -- Warnings are now numbered and can be switched on and off individually. - The old system with letters referring to sets of warnings is still - supported. -- New warnings: - + 9 (code 'R') to signal record patterns without "; _" where - some labels of the record type are not listed in the pattern. - + 28 when giving a wildcard argument to a constant constructor in - a pattern-matching. - + 29 when an end-of-line appears unescaped in a string constant. - + 30 when the same constructor or record field is defined twice in - mutually-recursive type definitions. -* The semantics of warning 7 (code 'M', method override) have changed - (it now detects all overrides, not just repeated definitions inside - the same class body), and it is now inactive by default. -- Better error report in case of unbound qualified identifier: if the module - is unbound this error is reported in the first place. -- Added option '-strict-sequence' to force left hand part of sequence to have - type unit. -- Added option '-no-app-funct' to turn applicative functors off. - This option can help working around mysterious type incompatibilities - caused by the incomplete comparison of applicative paths F(X).t. - -Native-code compiler: -- AMD64: shorter and slightly more efficient code generated for - float comparisons. - -Standard library: -- Format: new function ikfprintf analoguous to ifprintf with a continuation - argument. -* PR#4210, #4245: stricter range checking in string->integer conversion - functions (int_of_string, Int32.of_string, Int64.of_string, - Nativeint.of_string). The decimal string corresponding to - max_int + 1 is no longer accepted. -- Scanf: to prevent confusion when mixing Scanf scanning functions and direct - low level input, value Scanf.stdin has been added. -* Random: changed the algorithm to produce better randomness. Now passes the - DieHard tests. -- Map: implement functions from Set that make sense for Map. - -Other libraries: -* Str: letters that constitute a word now include digits 0-9 and - underscore _. This changes the interpretation of '\b' (word boundary) - in regexps, but is more consistent with other regexp libraries. (PR#4874). - -Ocamlbuild: -- Add support for native dynlink. - -New tool: -- ocamlobjinfo: displays various information, esp. dependencies, for - compiled OCaml files (.cmi, .cmo, .cma, .cmx, .cmxa, .cmxs, and bytecode - executables). Extends and makes more official the old objinfo tool - that was installed by some OCaml packages. - -All tools: -- PR#4857: add a -vnum option to display the version number and nothing else - -Bug Fixes: -- PR#4012: Map.map and Map.mapi do not conform to specification -- PR#4478: better error messages for type definition mismatches -- PR#4683: labltk script uses fixed path on windows -- PR#4742: finalisation function raising an exception blocks other finalisations -- PR#4775: compiler crash on crazy types (temporary fix) -- PR#4824: narrowing the type of class parameters with a module specification -- PR#4862: relaxed value restriction and records -- PR#4884: optional arguments do not work when Some is redefined -- PR#4964: parenthesized names for infix functions in annot files -- PR#4970: better error message for instance variables -- PR#4975: spelling mistakes -- PR#4988: contravariance lost with ocamlc -i -- PR#5004: problem in Buffer.add_channel with very large lengths. -- PR#5008: on AMD64/MSVC port, rare float corruption during GC. -- PR#5018: wrong exception raised by Dynlink.loadfile. -- PR#5057: fatal typing error with local module + functor + polymorphic variant -- Wrong type for Obj.add_offset. -- Small problem with representation of Int32, Int64, and Nativeint constants. -- Use RTLD_LOCAL for native dynlink in private mode. - -Objective Caml 3.11.2 (20 Jan 2010): ------------------------------------- - -Bug fixes: -- PR#4151: better documentation for min and max w.r.t. NaN -- PR#4421: ocamlbuild uses wrong compiler for C files -- PR#4710, PR#4720: ocamlbuild does not use properly configuration information -- PR#4750: under some Windows installations, high start-up times for Unix lib -- PR#4777: problem with scanf and CRLF -- PR#4783: ocamlmklib problem under Windows -- PR#4810: BSD problem with socket addresses, e.g. in Unix.getnameinfo -- PR#4813: issue with parsing of float literals by the GNU assembler -- PR#4816: problem with modules and private types -- PR#4818: missed opportunity for type-based optimization of bigarray accesses -- PR#4821: check for duplicate method names in classes -- PR#4823: build problem on Mac OS X -- PR#4836: spurious errors raised by Unix.single_write under Windows -- PR#4841, PR#4860, PR#4930: problem with ocamlopt -output-obj under Mac OS X -- PR#4847: C compiler error with ocamlc -output-obj under Win64 -- PR#4856: ocamlbuild uses ocamlrun to execute a native plugin -- PR#4867, PR#4760: ocamlopt -shared fails on Mac OS X 64bit -- PR#4873: ocamlbuild ignores "thread" tag when building a custom toplevel -- PR#4890: ocamlbuild tries to use native plugin on bytecode-only arch -- PR#4896: ocamlbuild should always pass -I to tools for external libraries -- PR#4900: small bug triggering automatic compaction even if max_overhead = 1M -- PR#4902: bug in %.0F printf format -- PR#4910: problem with format concatenation -- PR#4922: ocamlbuild recompiles too many files -- PR#4923: missing \xff for scanf %S -- PR#4933: functors not handling private types correctly -- PR#4940: problem with end-of-line in DOS text mode, tentative fix -- PR#4953: problem compiling bytecode interpreter on ARM in Thumb mode. -- PR#4955: compiler crash when typing recursive type expression with constraint -- Module Printf: the simple conversion %F (without width indication) was not - treated properly. -- Makefile: problem with cygwin, flexdll, and symbolic links -- Various build problems with ocamlbuild under Windows with msvc - -Feature wishes: -- PR#9: (tentative implementation) make ocamldebug use #linenum annotations -- PR#123, PR#4477: custom exception printers -- PR#3456: Obj.double_field and Obj.set_double_field functions -- PR#4003: destination directory can be given to Filename.[open_]temp_file -- PR#4647: Buffer.blit function -- PR#4685: access to Filename.dir_sep -- PR#4703: support for debugging embedded applications -- PR#4723: "clear_rules" function to empty the set of ocamlbuild rules -- PR#4921: configure option to help cross-compilers - -Objective Caml 3.11.1 (12 Jun 2009): ------------------------------------- - -Bug fixes: -- PR#4095: ocamldebug: strange behaviour of control-C -- PR#4403: ocamldebug: improved handling of packed modules -- PR#4650: Str.regexp_case_fold mis-handling complemented character sets [^a] -- PR#4660: Scanf.format_from_string: handling of double quote -- PR#4666: Unix.exec* failure in multithread programs under MacOS X and FreeBSD -- PR#4667: debugger out of sync with dynlink changes -- PR#4678: random "out of memory" error with systhreads -- PR#4690: issue with dynamic loading under MacOS 10.5 -- PR#4692: wrong error message with options -i and -pack passed to ocamlc -- PR#4699: in otherlibs/dbm, fixed construction of dlldbm.so. -- PR#4704: error in caml_modify_generational_global_root() -- PR#4708: (ocamldoc) improved printing of infix identifiers such as "lor". -- PR#4722: typo in configure script -- PR#4729: documented the fact that PF_INET6 is not available on all platforms -- PR#4730: incorrect typing involving abbreviation "type 'a t = 'a" -- PR#4731: incorrect quoting of arguments passed to the assembler on x86-64 -- PR#4735: Unix.LargeFile.fstat cannot report size over 32bits on Win32 -- PR#4740: guard against possible processor error in - {Int32,Int64,Nativeint}.{div,rem} -- PR#4745: type inference wrongly produced non-generalizable type variables. -- PR#4749: better pipe size for win32unix -- PR#4756: printf: no error reported for wrong format '%_s' -- PR#4758: scanf: handling of \ by format '%S' -- PR#4766: incorrect simplification of some type abbreviations. -- PR#4768: printf: %F does not respect width and precision specifications -- PR#4769: Format.bprintf fails to flush -- PR#4775: fatal error Ctype.Unify during module type-checking (temporary fix) -- PR#4776: bad interaction between exceptions and classes -- PR#4780: labltk build problem under Windows. -- PR#4790: under Windows, map ERROR_NO_DATA Win32 error to EPIPE Unix error. -- PR#4792: bug in Big_int.big_int_of_int64 on 32-bit platforms. -- PR#4796: ocamlyacc: missing NUL termination of string -- PR#4804: bug in Big_int.int64_of_big_int on 32-bit platforms. -- PR#4805: improving compatibility with the clang C compiler -- PR#4809: issue with Unix.create_process under Win32 -- PR#4814: ocamlbrowser: crash when editing comments -- PR#4816: module abbreviations remove 'private' type restrictions -- PR#4817: Object type gives error "Unbound type parameter .." -- Module Parsing: improved computation of locations when an ocamlyacc rule - starts with an empty nonterminal -- Type-checker: fixed wrong variance computation for private types -- x86-32 code generator, MSVC port: wrong "fld" instruction generated. -- ocamlbuild: incorrectly using the compile-time value of $OCAMLLIB -- Makefile problem when configured with -no-shared-libs -- ocamldoc: use dynamic loading in native code - -Other changes: -- Improved wording of various error messages - (contributed by Jonathan Davies, Citrix). -- Support for 64-bit mode in Solaris/x86 (PR#4670). - - -Objective Caml 3.11.0 (03 Dec 2008): ------------------------------------- - -(Changes that can break existing programs are marked with a "*" ) - -Language features: -- Addition of lazy patterns: "lazy " matches suspensions whose values, - after forcing, match the pattern . -- Introduction of private abbreviation types "type t = private ", - for abstracting the actual manifest type in type abbreviations. -- Subtyping is now allowed between a private abbreviation and its definition, - and between a polymorphic method and its monomorphic instance. - -Compilers: -- The file name for a compilation unit should correspond to a valid - identifier (Otherwise dynamic linking and other things can fail, and - a warning is emitted.) -* Revised -output-obj: the output name must now be provided; its - extension must be one of .o/.obj, .so/.dll, or .c for the - bytecode compiler. The compilers can now produce a shared library - (with all the needed -ccopts/-ccobjs options) directly. -- -dtypes renamed to -annot, records (in .annot files) which function calls - are tail calls. -- All compiler error messages now include a file name and location, for - better interaction with Emacs' compilation mode. -- Optimized compilation of "lazy e" when the argument "e" is - already evaluated. -- Optimized compilation of equality tests with a variant constant constructor. -- The -dllib options recorded in libraries are no longer ignored when - -use_runtime or -use_prims is used (unless -no_auto_link is - explicitly used). -- Check that at most one of -pack, -a, -shared, -c, -output-obj is - given on the command line. -- Optimized compilation of private types as regular manifest types - (e.g. abbreviation to float, float array or record types with only - float fields). - -Native-code compiler: -- New port: Mac OS X / Intel in 64-bit mode (configure with -cc "gcc -m64"). -- A new option "-shared" to produce a plugin that can be dynamically - loaded with the native version of Dynlink. -- A new option "-nodynlink" to enable optimizations valid only for code - that is never dynlinked (no-op except for AMD64). -- More aggressive unboxing of floats and boxed integers. -- Can select which assembler and asm options to use at configuration time. - -Run-time system: -- New implementation of the page table describing the heap (two-level - array in 32 bits, sparse hashtable in 64 bits), fixes issues with address - space randomization on 64-bit OS (PR#4448). -- New "generational" API for registering global memory roots with the GC, - enables faster scanning of global roots. - (The functions are caml_*_generational_global_root in .) -- New function "caml_raise_with_args" to raise an exception with several - arguments from C. -- Changes in implementation of dynamic linking of C code: - under Win32, use Alain Frisch's flexdll implementation of the dlopen - API; under MacOSX, use dlopen API instead of MacOSX bundle API. -- Programs may now choose a first-fit allocation policy instead of - the default next-fit. First-fit reduces fragmentation but is - slightly slower in some cases. - -Standard library: -- Parsing library: new function "set_trace" to programmatically turn - on or off the printing of a trace during parsing. -- Printexc library: new functions "print_backtrace" and "get_backtrace" - to obtain a stack backtrace of the most recently raised exception. - New function "record_backtrace" to turn the exception backtrace mechanism - on or off from within a program. -- Scanf library: fine-tuning of meta format implementation; - fscanf behaviour revisited: only one input buffer is allocated for any - given input channel; - the %n conversion does not count a lookahead character as read. - -Other libraries: -- Dynlink: on some platforms, the Dynlink library is now available in - native code. The boolean Dynlink.is_native allows the program to - know whether it has been compiled in bytecode or in native code. -- Bigarrays: added "unsafe_get" and "unsafe_set" - (non-bound-checking versions of "get" and "set"). -- Bigarrays: removed limitation "array dimension < 2^31". -- Labltk: added support for TK 8.5. -- Num: added conversions between big_int and int32, nativeint, int64. - More efficient implementation of Num.quo_num and Num.mod_num. -- Threads: improved efficiency of mutex and condition variable operations; - improved interaction with Unix.fork (PR#4577). -- Unix: added getsockopt_error returning type Unix.error. - Added support for TCP_NODELAY and IPV6_ONLY socket options. -- Win32 Unix: "select" now supports all kinds of file descriptors. - Improved emulation of "lockf" (PR#4609). - -Tools: -- ocamldebug now supported under Windows (MSVC and Mingw ports), - but without the replay feature. (Contributed by Dmitry Bely - and Sylvain Le Gall at OCamlCore with support from Lexifi.) -- ocamldoc: new option -no-module-constraint-filter to include functions - hidden by signature constraint in documentation. -- ocamlmklib and ocamldep.opt now available under Windows ports. -- ocamlmklib no longer supports the -implib option. -- ocamlnat: an experimental native toplevel (not built by default). - -Camlp4: -* programs linked with camlp4lib.cma now also need dynlink.cma. - -Bug fixes: -- Major GC and heap compaction: fixed bug involving lazy values and - out-of-heap pointers. -- PR#3915: updated most man pages. -- PR#4261: type-checking of recursive modules -- PR#4308: better stack backtraces for "spontaneous" exceptions such as - Stack_overflow, Out_of_memory, etc. -- PR#4338: Str.global_substitute, Str.global_replace and the Str.*split* - functions are now tail-recursive. -- PR#4503: fixed bug in classify_float on ARM. -- PR#4512: type-checking of recursive modules -- PR#4517: crash in ocamllex-generated lexers. -- PR#4542: problem with return value of Unix.nice. -- PR#4557: type-checking of recursive modules. -- PR#4562: strange %n semantics in scanf. -- PR#4564: add note "stack is not executable" to object files generated by - ocamlopt (Linux/x86, Linux/AMD64). -- PR#4566: bug in Ratio.approx_ratio_fix and Num.approx_num_fix. -- PR#4582: clarified the documentation of functions in the String module. -- PR#4583: stack overflow in "ocamlopt -g" during closure conversion pass. -- PR#4585: ocamldoc and "val virtual" declarations. -- PR#4587: ocamldoc and escaped @ characters. -- PR#4605: Buffer.add_substitute was sometime wrong when target string had - backslashes. -- PR#4614: Inconsistent declaration of CamlCBCmd in LablTk library. - - -Objective Caml 3.10.2 (29 Feb 2008): ------------------------------------- - -Bug fixes: -- PR#1217 (partial) Typo in ocamldep man page -- PR#3952 (partial) ocamlopt: allocation problems on ARM -- PR#4339 (continued) ocamlopt: problems on HPPA -- PR#4455 str.mli not installed under Windows -- PR#4473 crash when accessing float array with polymorphic method -- PR#4480 runtime would not compile without gcc extensions -- PR#4481 wrong typing of exceptions with object arguments -- PR#4490 typo in error message -- Random crash on 32-bit when major_heap_increment >= 2^22 -- Big performance bug in Weak hashtables -- Small bugs in the make-package-macosx script -- Bug in typing of polymorphic variants (reported on caml-list) - - -Objective Caml 3.10.1 (11 Jan 2008): ------------------------------------- - -Bug fixes: -- PR#3830 small bugs in docs -- PR#4053 compilers: improved compilation time for large variant types -- PR#4174 ocamlopt: fixed ocamlopt -nopervasives -- PR#4199 otherlibs: documented a small problem in Unix.utimes -- PR#4280 camlp4: parsing of identifier (^) -- PR#4281 camlp4: parsing of type constraint -- PR#4285 runtime: cannot compile under AIX -- PR#4286 ocamlbuild: cannot compile under AIX and SunOS -- PR#4288 compilers: including a functor application with side effects -- PR#4295 camlp4 toplevel: synchronization after an error -- PR#4300 ocamlopt: crash with backtrace and illegal array access -- PR#4302 camlp4: list comprehension parsing problem -- PR#4304 ocamlbuild: handle -I correctly -- PR#4305 stdlib: alignment of Arg.Symbol -- PR#4307 camlp4: assertion failure -- PR#4312 camlp4: accept "let _ : int = 1" -- PR#4313 ocamlbuild: -log and missing directories -- PR#4315 camlp4: constraints in classes -- PR#4316 compilers: crash with recursive modules and Lazy -- PR#4318 ocamldoc: installation problem with Cygwin (tentative fix) -- PR#4322 ocamlopt: stack overflow under Windows -- PR#4325 compilers: wrong error message for unused var -- PR#4326 otherlibs: marshal Big_int on win64 -- PR#4327 ocamlbuild: make emacs look for .annot in _build directory -- PR#4328 camlp4: stack overflow with nil nodes -- PR#4331 camlp4: guards on fun expressions -- PR#4332 camlp4: parsing of negative 32/64 bit numbers -- PR#4336 compilers: unsafe recursive modules -- PR#4337 (note) camlp4: invalid character escapes -- PR#4339 ocamlopt: problems on HP-UX (tentative fix) -- PR#4340 camlp4: wrong pretty-printing of optional arguments -- PR#4348 ocamlopt: crash on Mac Intel -- PR#4349 camlp4: bug in private type definitions -- PR#4350 compilers: type errors with records and polymorphic variants -- PR#4352 compilers: terminal recursion under Windows (tentative fix) -- PR#4354 ocamlcp: mismatch with ocaml on polymorphic let -- PR#4358 ocamlopt: float constants wrong on ARM -- PR#4360 ocamldoc: string inside comment -- PR#4365 toplevel: wrong pretty-printing of polymorphic variants -- PR#4373 otherlibs: leaks in win32unix -- PR#4374 otherlibs: threads module not initialized -- PR#4375 configure: fails to build on bytecode-only architectures -- PR#4377 runtime: finalisation of infix pointers -- PR#4378 ocamlbuild: typo in plugin.ml -- PR#4379 ocamlbuild: problem with plugins under Windows -- PR#4382 compilers: typing of polymorphic record fields -- PR#4383 compilers: including module with private type -- PR#4385 stdlib: Int32/Int64.format are unsafe -- PR#4386 otherlibs: wrong signal numbers with Unix.sigprocmask etc. -- PR#4387 ocamlbuild: build directory not used properly -- PR#4392 ocamldep: optional argument of class -- PR#4394 otherlibs: infinite loops in Str -- PR#4397 otherlibs: wrong size for flag arrays in win32unix -- PR#4402 ocamldebug: doesn't work with -rectypes -- PR#4410 ocamlbuild: problem with plugin and -build -- PR#4411 otherlibs: crash with Unix.access under Windows -- PR#4412 stdlib: marshalling broken on 64 bit architectures -- PR#4413 ocamlopt: crash on AMD64 with out-of-bound access and reraise -- PR#4417 camlp4: pretty-printing of unary minus -- PR#4419 camlp4: problem with constraint in type class -- PR#4426 compilers: problem with optional labels -- PR#4427 camlp4: wrong pretty-printing of lists of functions -- PR#4433 ocamlopt: fails to build on MacOSX 10.5 -- PR#4435 compilers: crash with objects -- PR#4439 fails to build on MacOSX 10.5 -- PR#4441 crash when build on sparc64 linux -- PR#4442 stdlib: crash with weak pointers -- PR#4446 configure: fails to detect X11 on MacOSX 10.5 -- PR#4448 runtime: huge page table on 64-bit architectures -- PR#4450 compilers: stack overflow with recursive modules -- PR#4470 compilers: type-checking of recursive modules too restrictive -- PR#4472 configure: autodetection of libX11.so on Fedora x86_64 -- printf: removed (partially implemented) positional specifications -- polymorphic < and <= comparisons: some C compiler optimizations - were causing incorrect results when arguments are incomparable - -New features: -- made configure script work on PlayStation 3 -- ARM port: brought up-to-date for Debian 4.0 (Etch) -- many other small changes and bugfixes in camlp4, ocamlbuild, labltk, - emacs files - - -Objective Caml 3.10.0 (18 May 2007): ------------------------------------- - -(Changes that can break existing programs are marked with a "*" ) - -Language features: -- Added virtual instance variables in classes "val virtual v : t" -* Changed the behaviour of instance variable overriding; the new - definition replaces the old one, rather than creating a new - variable. - -New tools: -- ocamlbuild: compilation manager for OCaml applications and libraries. - See draft documentation at http://gallium.inria.fr/~pouillar/ -* Camlp4: heavily revised implementation, new API. - -New ports: -- MacOS X PowerPC 64 bits. -- MS Windows 64 bits (x64) using the Microsoft PSDK toolchain. -- MS Windows 32 bits using the Visual Studio 2005 toolchain. - -Compilers: -- Faster type-checking of functor applications. -- Referencing an interface compiled with -rectypes from a module - not compiled with -rectypes is now an error. -- Revised the "fragile matching" warning. - -Native-code compiler: -- Print a stack backtrace on an uncaught exception. - (Compile and link with ocamlopt -g; execute with OCAMLRUNPARAM=b.) - Supported on Intel/AMD in 32 and 64 bits, PPC in 32 and 64 bits. -- Stack overflow detection on MS Windows 32 bits (courtesy O. Andrieu). -- Stack overflow detection on MacOS X PPC and Intel. -- Intel/AMD 64 bits: generate position-independent code by default. -- Fixed bug involving -for-pack and missing .cmx files (PR#4124). -- Fixed bug causing duplication of literals (PR#4152). - -Run-time system: -- C/Caml interface functions take "char const *" arguments - instead of "char *" when appropriate. -- Faster string comparisons (fast case if strings are ==). - -Standard library: -- Refined typing of format strings (type format6). -- Printf, Format: new function ifprintf that consumes its arguments - and prints nothing (useful to print conditionally). -- Scanf: - new function format_from_string to convert a string to a format string; - new %r conversion to accomodate user defined scanners. -- Filename: improved Win32 implementation of Filename.quote. -- List: List.nth now tail-recursive. -- Sys: added Sys.is_directory. Some functions (e.g. Sys.command) that - could incorrectly raise Sys_io_blocked now raise Sys_error as intended. -- String and Char: the function ``escaped'' now escapes all the characters - especially handled by the compiler's lexer (PR#4220). - -Other libraries: -- Bigarray: mmap_file takes an optional argument specifying - the start position of the data in the mapped file. -- Dynlink: now defines only two modules, Dynlink and Dynlinkaux (internal), - reducing risks of name conflicts with user modules. -- Labltk under Win32: now uses Tcl/Tk 8.4 instead of 8.3 by default. -- VM threads: improved performance of I/O operations (less polling). -- Unix: new function Unix.isatty. -- Unix emulation under Win32: - fixed incorrect error reporting in several functions (PR#4097); - better handling of channels opened on sockets (PR#4098); - fixed GC bug in Unix.system (PR#4112). - -Documentation generator (OCamldoc): -- correctly handle '?' in value names (PR#4215) -- new option -hide-warnings not to print ocamldoc warnings - -Lexer generator (ocamllex): improved error reporting. - -License: fixed a typo in the "special exception" to the LGPL. - - -Objective Caml 3.09.3 (15 Sep 2006): ------------------------------------- - -Bug fixes: -- ocamldoc: -using modtype constraint to filter module elements displayed - in doc PR#4016 -- ocamldoc: error in merging of top dependencies of modules PR#4007 -- ocamldoc: -dot-colors has no effect PR#3981 -- ocamdloc: missing crossref in text from intro files PR#4066 -- compilers: segfault with recursive modules PR#4008 -- compilers: infinite loop when compiling objects PR#4018 -- compilers: bad error message when signature mismatch PR#4001 -- compilers: infinite loop with -rectypes PR#3999 -- compilers: contravariance bug in private rows -- compilers: unsafe cast with polymorphic exception PR#4002 -- native compiler: bad assembly code generated for AMD64 PR#4067 -- native compiler: stack alignment problems on MacOSX/i386 PR#4036 -- stdlib: crash in marshalling PR#4030 -- stdlib: crash when closing a channel twice PR#4039 -- stdlib: memory leak in Sys.readdir PR#4093 -- C interface: better definition of CAMLreturn PR#4068 -- otherlibs/unix: crash in gethostbyname PR#3043 -- tools: subtle problem with unset in makefile PR#4048 -- camlp4: install pa_o_fast.o PR#3812 -- camlp4: install more modules PR#3689 - -New features: -- ocamldoc: name resolution in cross-referencing {!name}: if name is not - found, then it is searched in the parent module/class, and in the parent - of the parent, and so on until it is found. -- ocamldoc: new option -short-functors to use a short form to display - functors in html generator PR#4017 -- ocamlprof: added "-version" option - - - -Objective Caml 3.09.2 (14 Apr 2006): ------------------------------------- - -Bug fixes: -- Makefile: problem with "make world.opt" PR#3954 -- compilers: problem compiling several modules with one command line PR#3979 -- compilers,ocamldoc: error message that Emacs cannot parse -- compilers: crash when printing type error PR#3968 -- compilers: -dtypes wrong for monomorphic type variables PR#3894 -- compilers: wrong warning on optional arguments PR#3980 -- compilers: crash when wrong use of type constructor in let rec PR#3976 -- compilers: better wording of "statement never returns" warning PR#3889 -- runtime: inefficiency of signal handling PR#3990 -- runtime: crashes with I/O in multithread programs PR#3906 -- camlp4: empty file name in error messages PR#3886 -- camlp4: stack overflow PR#3948 -- otherlibs/labltk: ocamlbrowser ignores its command line options PR#3961 -- otherlibs/unix: Unix.times wrong under Mac OS X PR#3960 -- otherlibs/unix: wrong doc for execvp and execvpe PR#3973 -- otherlibs/win32unix: random crash in Unix.stat PR#3998 -- stdlib: update_mod not found under Windows PR#3847 -- stdlib: Filename.dirname/basename wrong on Win32 PR#3933 -- stdlib: incomplete documentation of Pervasives.abs PR#3967 -- stdlib: Printf bugs PR#3902, PR#3955 -- tools/checkstack.c: missing include -- yacc: crash when given argument "-" PR#3956 - -New features: -- ported to MacOS X on Intel PR#3985 -- configure: added support for GNU Hurd PR#3991 - -Objective Caml 3.09.1 (4 Jan 2006): ------------------------------------ - -Bug fixes: -- compilers: raise not_found with -principal PR#3855 -- compilers: assert failure in typeclass.cml PR#3856 -- compilers: assert failure in typing/ctype.ml PR#3909 -- compilers: fatal error exception Ctype.Unify PR#3918 -- compilers: spurious warning Y in objects PR#3868 -- compilers: spurious warning Z on loop index PR#3907 -- compilers: error message that emacs cannot parse -- ocamlopt: problems with -for-pack/-pack PR#3825, PR#3826, PR#3919 -- ocamlopt: can't produce shared libraries on x86_64 PR#3869, PR#3924 -- ocamlopt: float alignment problem on SPARC PR#3944 -- ocamlopt: can't compile on MIPS PR#3936 -- runtime: missing dependence for ld.conf -- runtime: missing dependence for .depend.nt PR#3880 -- runtime: memory leak in caml_register_named_value PR#3940 -- runtime: crash in Marshal.to_buffer PR#3879 -- stdlib: Sys.time giving wrong results on Mac OS X PR#3850 -- stdlib: Weak.get_copy causing random crashes in rare cases -- stdlib, debugger, labltk: use TMPDIR if set PR#3895 -- stdlib: scanf bug on int32 and nativeint PR#3932 -- camlp4: mkcamlp4 option parsing problem PR#3941 -- camlp4: bug in pretty-printing of lazy/assert/new -- camlp4: update the unmaintained makefile for _loc name -- ocamldoc: several fixes see ocamldoc/Changes.txt -- otherlibs/str: bug in long sequences of alternatives PR#3783 -- otherlibs/systhreads: deadlock in Windows PR#3910 -- tools: update dumpobj to handle new event format PR#3873 -- toplevel: activate warning Y in toplevel PR#3832 - -New features: -- otherlibs/labltk: browser uses menu bars instead of menu buttons - -Objective Caml 3.09.0 (27 Oct 2006): ------------------------------------- - -(Changes that can break existing programs are marked with a "*" ) - -Language features: -- Introduction of private row types, for abstracting the row in object - and variant types. - -Type checking: -- Polymorphic variants with at most one constructor [< `A of t] are no - longer systematically promoted to the exact type [`A of t]. This was - more confusing than useful, and created problems with private row - types. - -Both compilers: -- Added warnings 'Y' and 'Z' for local variables that are bound but - never used. -- Added warning for some uses non-returning functions (e.g. raise), when they - are passed extra arguments, or followed by extra statements. -- Pattern matching: more prudent compilation in case of guards; fixed PR#3780. -- Compilation of classes: reduction in size of generated code. -- Compilation of "module rec" definitions: fixed a bad interaction with - structure coercion (to a more restrictive signature). - -Native-code compiler (ocamlopt): -* Revised implementation of the -pack option (packing of several compilation - units into one). The .cmx files that are to be packed with - "ocamlopt -pack -o P.cmx" must be compiled with "ocamlopt -for-pack P". - In exchange for this additional constraint, ocamlopt -pack is now - available on all platforms (no need for binutils). -* Fixed wrong evaluation order for arguments to certain inlined functions. -- Modified code generation for "let rec ... and ..." to reduce compilation - time (which was quadratic in the number of mutually-recursive functions). -- x86 port: support tail-calls for functions with up to 21 arguments. -- AMD64 port, Linux: recover from system stack overflow. -- Sparc port: more portable handling of out-of-bound conditions - on systems other than Solaris. - -Standard library: -- Pervasives: faster implementation of close_in, close_out. - set_binary_mode_{out,in} now working correctly under Cygwin. -- Printf: better handling of partial applications of the printf functions. -- Scanf: new function sscanf_format to read a format from a - string. The type of the resulting format is dynamically checked and - should be the type of the template format which is the second argument. -- Scanf: no more spurious lookahead attempt when the end of file condition - is set and a correct token has already been read and could be returned. - -Other libraries: -- System threads library: added Thread.sigmask; fixed race condition - in signal handling. -- Bigarray library: fixed bug in Array3.of_array. -- Unix library: use canonical signal numbers in results of Unix.wait*; - hardened Unix.establish_server against EINTR errors. - -Run-time system: -- Support platforms where sizeof(void *) = 8 and sizeof(long) = 4. -- Improved and cleaned up implementation of signal handling. - -Replay debugger: -- Improved handling of locations in source code. - -OCamldoc: -- extensible {foo } syntax -- user can give .txt files on the command line, containing ocamldoc formatted - text, to be able to include bigger texts out of source files -- -o option is now used by the html generator to indicate the prefix - of generated index files (to avoid conflict when a Index module exists - on case-insensitive file systems). - -Miscellaneous: -- Configuration information is installed in `ocamlc -where`/Makefile.config - and can be used by client Makefiles or shell scripts. - -Objective Caml 3.08.4 (11 Aug 2005): ------------------------------------- - -New features: -- configure: find X11 config in some 64-bit Linux distribs -- ocamldoc: (**/**) can be canceled with another (**/**) PR#3665 -- graphics: added resize_window -- graphics: check for invalid arguments to drawing primitives PR#3595 -- ocamlbrowser: use windows subsystem on mingw - -Bug fixes: -- ocamlopt: code generation problem on AMD64 PR#3640 -- wrong code generated for some classes PR#3576 -- fatal error when compiling some OO code PR#3745 -- problem with comparison on constant constructors PR#3608 -- camlp4: cryptic error message PR#3592 -- camlp4: line numbers in multi-line antiquotations PR#3549 -- camlp4: problem with make depend -- camlp4: parse error with :> PR#3561 -- camlp4: ident conversion problem with val/contents/contents__ -- camlp4: several small parsing problems PR#3688 -- ocamldebug: handling of spaces in executable file name PR#3736 -- emacs-mode: problem when caml-types-buffer is deleted by user PR#3704 -- ocamldoc: extra backslash in ocamldoc man page PR#3687 -- ocamldoc: improvements to HTML display PR#3698 -- ocamldoc: escaping of @ in info files -- ocamldoc: escaping of . and \ in man pages PR#3686 -- ocamldoc: better error reporting of misplaced comments -- graphics: fixed .depend file PR#3558 -- graphics: segfault with threads and graphics PR#3651 -- nums: several bugs: PR#3718, PR#3719, others -- nums: inline asm problems with gcc 4.0 PR#3604, PR#3637 -- threads: problem with backtrace -- unix: problem with getaddrinfo PR#3565 -- stdlib: documentation of Int32.rem and Int64.rem PR#3573 -- stdlib: documentation of List.rev_map2 PR#3685 -- stdlib: wrong order in Map.fold PR#3607 -- stdlib: documentation of maximum float array length PR#3714 -- better detection of cycles when using -rectypes -- missing case of module equality PR#3738 -- better error messages for unbound type variables -- stack overflow while printing type error message PR#3705 -- assert failure when typing some classes PR#3638 -- bug in type_approx -- better error messages related to type variance checking -- yacc: avoid name capture for idents of the Parsing module - - -Objective Caml 3.08.3 (24 Mar 2005): ------------------------------------- - -New features: -- support for ocamlopt -pack under Mac OS X (PR#2634, PR#3320) -- ignore unknown warning options for forward and backward compatibility -- runtime: export caml_compare_unordered (PR#3479) -- camlp4: install argl.* files (PR#3439) -- ocamldoc: add -man-section option -- labltk: add the "solid" relief option (PR#3343) - -Bug fixes: -- typing: fix unsoundness in type declaration variance inference. - Type parameters which are constrained must now have an explicit variant - annotation, otherwise they are invariant. This is not backward - compatible, so this might break code which either uses subtyping or - uses the relaxed value restriction (i.e. was not typable before 3.07) -- typing: erroneous partial match warning for polymorphic variants (PR#3424) -- runtime: handle the case of an empty command line (PR#3409, PR#3444) -- stdlib: make Sys.executable_name an absolute path in native code (PR#3303) -- runtime: fix memory leak in finalise.c -- runtime: auto-trigger compaction even if gc is called manually (PR#3392) -- stdlib: fix segfault in Obj.dup on zero-sized values (PR#3406) -- camlp4: correct parsing of the $ identifier (PR#3310, PR#3469) -- windows (MS tools): use link /lib instead of lib (PR#3333) -- windows (MS tools): change default install destination -- autoconf: better checking of SSE2 instructions (PR#3329, PR#3330) -- graphics: make close_graph close the X display as well as the window (PR#3312) -- num: fix big_int_of_string (empty string) (PR#3483) -- num: fix big bug on 64-bit architecture (PR#3299) -- str: better documentation of string_match and string_partial_match (PR#3395) -- unix: fix file descriptor leak in Unix.accept (PR#3423) -- unix: miscellaneous clean-ups -- unix: fix documentation of Unix.tm (PR#3341) -- graphics: fix problem when allocating lots of images under Windows (PR#3433) -- compiler: fix error message with -pack when .cmi is missing (PR#3028) -- cygwin: fix problem with compilation of camlheader (PR#3485) -- stdlib: Filename.basename doesn't return an empty string any more (PR#3451) -- stdlib: better documentation of Open_excl flag (PR#3450) -- ocamlcp: accept -thread option (PR#3511) -- ocamldep: handle spaces in file names (PR#3370) -- compiler: remove spurious warning in pattern-matching on variants (PR#3424) -- windows: better handling of InterpreterPath registry entry (PR#3334, PR#3432) - - -Objective Caml 3.08.2 (22 Nov 2004): ------------------------------------- - -Bug fixes: -- runtime: memory leak when unmarshalling big data structures (PR#3247) -- camlp4: incorrect line numbers in errors (PR#3188) -- emacs: xemacs-specific code, wrong call to "sit-for" -- ocamldoc: "Lexing: empty token" (PR#3173) -- unix: problem with close_process_* (PR#3191) -- unix: possible coredumps (PR#3252) -- stdlib: wrong order in Set.fold (PR#3161) -- ocamlcp: array out of bounds in profiled programs (PR#3267) -- yacc: problem with polymorphic variant types for grammar entries (PR#3033) - -Misc: -- export for caml_format_exception (PR#3080) -- clean up caml_search_exe_in_path (maybe PR#3079) -- camlp4: new function "make_lexer" for new-style locations -- unix: added missing #includes (PR#3088) - - -Objective Caml 3.08.1 (19 Aug 2004): ------------------------------------- - -Licence: -- The emacs files are now under GPL -- Slightly relaxed some conditions of the QPL - -Bug fixes: -- ld.conf now generated at compile-time instead of install-time -- fixed -pack on Windows XP (PR#2935) -- fixed Obj.tag (PR#2946) -- added support for multiple dlopen in Darwin -- run ranlib when installing camlp4 libraries (PR#2944) -- link camlp4opt with -linkall (PR#2949) -- camlp4 parsing of patterns now conforms to normal parsing (PR#3015) -- install camlp4 *.cmx files (PR#2955) -- fixed handling of linefeed in string constants in camlp4 (PR#3074) -- ocamldoc: fixed display of class parameters in HTML and LaTeX (PR#2994) -- ocamldoc: fixed display of link to class page in html (PR#2994) -- Windows toplevel GUI: assorted fixes (including PR#2932) - -Misc: -- added -v option to ocamllex -- ocamldoc: new -intf and -impl options supported (PR#3036) - -Objective Caml 3.08.0 (13 Jul 2004): ------------------------------------- - -(Changes that can break existing programs are marked with a "*" ) - -Language features: -- Support for immediate objects, i.e. objects defined without going - through a class. (Syntax is "object end".) - -Type-checking: -- When typing record construction and record patterns, can omit - the module qualification on all labels except one. I.e. - { M.l1 = ...; l2 = ... } is interpreted as { M.l1 = ...; M.l2 = ... } - -Both compilers: -- More compact compilation of classes. -- Much more efficient handling of class definitions inside functors - or local modules. -- Simpler representation for method tables. Objects can now be marshaled - between identical programs with the flag Marshal.Closures. -- Improved error messages for objects and variants. -- Improved printing of inferred module signatures (toplevel and ocamlc -i). - Recursion between type, class, class type and module definitions is now - correctly printed. -- The -pack option now accepts compiled interfaces (.cmi files) in addition - to compiled implementations (.cmo or .cmx). -* A compile-time error is signaled if an integer literal exceeds the - range of representable integers. -- Fixed code generation error for "module rec" definitions. -- The combination of options -c -o sets the name of the generated - .cmi / .cmo / .cmx files. - -Bytecode compiler: -- Option -output-obj is now compatible with Dynlink and - with embedded toplevels. - -Native-code compiler: -- Division and modulus by zero correctly raise exception Division_by_zero - (instead of causing a hardware trap). -- Improved compilation time for the register allocation phase. -- The float constant -0.0 was incorrectly treated as +0.0 on some processors. -- AMD64: fixed bugs in asm glue code for GC invocation and exception raising - from C. -- IA64: fixed incorrect code generated for "expr mod 1". -- PowerPC: minor performance tweaks for the G4 and G5 processors. - -Standard library: -* Revised handling of NaN floats in polymorphic comparisons. - The polymorphic boolean-valued comparisons (=, <, >, etc) now treat - NaN as uncomparable, as specified by the IEEE standard. - The 3-valued comparison (compare) treats NaN as equal to itself - and smaller than all other floats. As a consequence, x == y - no longer implies x = y but still implies compare x y = 0. -* String-to-integer conversions now fail if the result overflows - the range of integers representable in the result type. -* All array and string access functions now raise - Invalid_argument("index out of bounds") when a bounds check fails. - In earlier releases, different exceptions were raised - in bytecode and native-code. -- Module Buffer: new functions Buffer.sub, Buffer.nth -- Module Int32: new functions Int32.bits_of_float, Int32.float_of_bits. -- Module Map: new functions is_empty, compare, equal. -- Module Set: new function split. -* Module Gc: in-order finalisation, new function finalise_release. - -Other libraries: -- The Num library: complete reimplementation of the C/asm lowest - layer to work around potential licensing problems. - Improved speed on the PowerPC and AMD64 architectures. -- The Graphics library: improved event handling under MS Windows. -- The Str library: fixed bug in "split" functions with nullable regexps. -- The Unix library: - . Added Unix.single_write. - . Added support for IPv6. - . Bug fixes in Unix.closedir. - . Allow thread switching on Unix.lockf. - -Runtime System: -* Name space depollution: all global C identifiers are now prefixed - with "caml" to avoid name clashes with other libraries. This - includes the "external" primitives of the standard runtime. - -Ports: -- Windows ports: many improvements in the OCamlWin toplevel application - (history, save inputs to file, etc). Contributed by Christopher A. Watford. -- Native-code compilation supported for HPPA/Linux. Contributed by Guy Martin. -- Removed support for MacOS9. Mac OS 9 is obsolete and the port was not - updated since 3.05. -- Removed ocamlopt support for HPPA/Nextstep and Power/AIX. - -Ocamllex: -- #line directives in the input file are now accepted. -- Added character set concatenation operator "cset1 # cset2". - -Ocamlyacc: -- #line directives in the input file are now accepted. - -Camlp4: -* Support for new-style locations (line numbers, not just character numbers). -- See camlp4/CHANGES and camlp4/ICHANGES for more info. - - -Objective Caml 3.07 (29 Sep 2003): ----------------------------------- - -Language features: -- Experimental support for recursive module definitions - module rec A : SIGA = StructA and B : SIGB = StructB and ... -- Support for "private types", or more exactly concrete data types - with private constructors or labels. These data types can be - de-structured normally in pattern matchings, but values of these - types cannot be constructed directly outside of their defining module. -- Added integer literals of types int32, nativeint, int64 - (written with an 'l', 'n' or 'L' suffix respectively). - -Type-checking: -- Allow polymorphic generalization of covariant parts of expansive - expressions. For instance, if f: unit -> 'a list, "let x = f ()" - gives "x" the generalized type forall 'a. 'a list, instead of '_a list - as before. -- The typing of polymorphic variants in pattern matching has changed. - It is intended to be more regular, sticking to the principle of "closing - only the variants which would be otherwise incomplete". Two potential - consequences: (1) some types may be left open which were closed before, - and the resulting type might not match the interface anymore (expected to - be rare); (2) in some cases an incomplete match may be generated. -- Lots of bug fixes in the handling of polymorphism and recursion inside - types. -- Added a new "-dtypes" option to ocamlc/ocamlopt, and an emacs extension - "emacs/caml-types.el". The compiler option saves inferred type information - to file *.annot, and the emacs extension allows the user to look at the - type of any subexpression in the source file. Works even in the case - of a type error (all the types computed up to the error are available). - This new feature is also supported by ocamlbrowser. -- Disable "method is overridden" warning when the method was explicitly - redefined as virtual beforehand (i.e. not through inheritance). Typing - and semantics are unchanged. - -Both compilers: -- Added option "-dtypes" to dump detailed type information to a file. -- The "-i" option no longer generates compiled files, it only prints - the inferred types. -- The sources for the module named "Mod" can be placed either in Mod.ml or - in mod.ml. -- Compilation of "let rec" on non-functional values: tightened some checks, - relaxed some other checks. -- Fixed wrong code that was generated for "for i = a to max_int" - or "for i = a downto min_int". -- An explicit interface Mod.mli can now be provided for the module obtained - by ocamlc -pack -o Mod.cmo ... or ocamlopt -pack -o Mod.cmx ... -- Revised internal handling of source code locations, now handles - preprocessed code better. -- Pattern-matching bug on float literals fixed. -- Minor improvements on pattern-matching over variants. -- More efficient compilation of string comparisons and the "compare" function. -- More compact code generated for arrays of constants. -- Fixed GC bug with mutable record fields of type "exn". -- Added warning "E" for "fragile patterns": pattern matchings that would - not be flagged as partial if new constructors were added to the data type. - -Bytecode compiler: -- Added option -vmthread to select the threads library with VM-level - scheduling. The -thread option now selects the system threads library. - -Native-code compiler: -- New port: AMD64 (Opteron). -- Fixed instruction selection bug on expressions of the kind (raise Exn)(arg). -- Several bug fixes in ocamlopt -pack (tracking of imported modules, - command line too long). -- Signal handling bug fixed. -- x86 port: - Added -ffast-math option to use inline trigo and log functions. - Small performance tweaks for the Pentium 4. - Fixed illegal "imul" instruction generated by reloading phase. -- Sparc port: - Enhanced code generation for Sparc V8 (option -march=v8) and - Sparc V9 (option -march=v9). - Profiling support added for Solaris. -- PowerPC port: - Keep stack 16-aligned for compatibility with C calling conventions. - -Toplevel interactive system: -- Tightened interface consistency checks between .cmi files, .cm[oa] files - loaded by #load, and the running toplevel. -- #trace on mutually-recursive functions was broken, works again. -- Look for .ocamlinit file in home directory in addition to the current dir. - -Standard library: -- Match_failure and Assert_failure exceptions now report - (file, line, column), instead of (file, starting char, ending char). -- float_of_string, int_of_string: some ill-formed input strings were not - rejected. -- Added format concatenation, string_of_format, format_of_string. -- Module Arg: added new option handlers Set_string, Set_int, Set_float, - Symbol, Tuple. -- Module Format: tag handling is now turned off by default, - use [Format.set_tags true] to activate. -- Modules Lexing and Parsing: added better handling of positions - in source file. Added function Lexing.flush_input. -- Module Scanf: %n and %N formats to count characters / items read so far; - assorted bug fixes, %! to match end of input. New ``_'' special - flag to skip reresulting value. -- Module Format: tags are not activated by default. -- Modules Set and Map: fixed bugs causing trees to become unbalanced. -- Module Printf: less restrictive typing of kprintf. -- Module Random: better seeding; functions to generate random int32, int64, - nativeint; added support for explicit state management. -- Module Sys: added Sys.readdir for reading the contents of a directory. - -Runtime system: -- output_value/input_value: fixed bug with large blocks (>= 4 Mwords) - produced on a 64-bit platform and incorrectly read back on a 32-bit - platform. -- Fixed memory compaction bug involving input_value. -- Added MacOS X support for dynamic linking of C libraries. -- Improved stack backtraces on uncaught exceptions. -- Fixed float alignment problem on Sparc V9 with gcc 3.2. - -Other libraries: -- Dynlink: - By default, dynamically-loaded code now has access to all - modules defined by the program; new functions Dynlink.allow_only - and Dynlink.prohibit implement access control. - Fixed Dynlink problem with files generated with ocamlc -pack. - Protect against references to modules not yet fully initialized. -- LablTK/CamlTK: added support for TCL/TK 8.4. -- Str: reimplemented regexp matching engine, now less buggy, faster, - and LGPL instead of GPL. -- Graphics: fixed draw_rect and fill_rect bug under X11. -- System threads and bytecode threads libraries can be both installed. -- System threads: better implementation of Thread.exit. -- Bytecode threads: fixed two library initialization bugs. -- Unix: make Unix.openfile blocking to account for named pipes; - GC bug in Unix.*stat fixed; fixed problem with Unix.dup2 on Windows. - -Ocamllex: -- Can name parts of the matched input text, e.g. - "0" (['0'-'7']+ as s) { ... s ... } - -Ocamldebug: -- Handle programs that run for more than 2^30 steps. - -Emacs mode: -- Added file caml-types.el to interactively display the type information - saved by option -dtypes. - -Win32 ports: -- Cygwin port: recognize \ as directory separator in addition to / -- MSVC port: ocamlopt -pack works provided GNU binutils are installed. -- Graphics library: fixed bug in Graphics.blit_image; improved event handling. - -OCamldoc: -- new ty_code field for types, to keep code of a type (with option -keep-code) -- new ex_code field for types, to keep code of an exception - (with option -keep-code) -- some fixes in html generation -- don't overwrite existing style.css file when generating HTML -- create the ocamldoc.sty file when generating LaTeX (if nonexistent) -- man pages are now installed in man/man3 rather than man/mano -- fix: empty [] in generated HTML indexes - - -Objective Caml 3.06 (20 Aug 2002): ----------------------------------- - -Type-checking: -- Apply value restriction to polymorphic record fields. - -Run-time system: -- Fixed GC bug affecting lazy values. - -Both compilers: -- Added option "-version" to print just the version number. -- Fixed wrong dependencies in .cmi generated with the -pack option. - -Native-code compiler: -- Fixed wrong return value for inline bigarray assignments. - -Libraries: -- Unix.getsockopt: make sure result is a valid boolean. - -Tools: -- ocamlbrowser: improved error reporting; small Win32 fixes. - -Windows ports: -- Fixed two problems with the Mingw port under Cygwin 1.3. - - -Objective Caml 3.05 (29 Jul 2002): ----------------------------------- - -Language features: -- Support for polymorphic methods and record fields. -- Allows _ separators in integer and float literals, e.g. 1_000_000. - -Type-checker: -- New flag -principal to enforce principality of type inference. -- Fixed subtle typing bug with higher-order functors. -- Fixed several complexity problems; changed (again) the behaviour of - simple coercions. -- Fixed various bugs with objects and polymorphic variants. -- Improved some error messages. - -Both compilers: -- Added option "-pack" to assemble several compilation units as one unit - having the given units as sub-modules. -- More precise detection of unused sub-patterns in "or" patterns. -- Warnings for ill-formed \ escapes in string and character literals. -- Protect against spaces and other special characters in directory names. -- Added interface consistency check when building a .cma or .cmxa library. -- Minor reduction in code size for class initialization code. -- Added option "-nostdlib" to ignore standard library entirely. - -Bytecode compiler: -- Fixed issue with ocamlc.opt and dynamic linking. - -Native-code compiler: -- Added link-time check for multiply-defined module names. -- Fixed GC bug related to constant constructors of polymorphic variant types. -- Fixed compilation bug for top-level "include" statements. -- PowerPC port: work around limited range for relative branches, - thus removing assembler failures on large functions. -- IA64 port: fixed code generation bug for 3-way constructor matching. - -Toplevel interactive system: -- Can load object files given on command line before starting up. -- ocamlmktop: minimized possibility of name clashes with user-provided modules. - -Run-time system: -- Minor garbage collector no longer recursive. -- Better support for lazy data in the garbage collector. -- Fixed issues with the heap compactor. -- Fixed issues with finalized Caml values. -- The type "int64" is now supported on all platforms: we use software - emulation if the C compiler doesn't support 64-bit integers. -- Support for float formats that are neither big-endian nor little-endian - (one known example: the ARM). -- Fixed bug in callback*_exn functions in the exception-catching case. -- Work around gcc 2.96 bug on RedHat 7.2 and Mandrake 8.0, 8.1 among others. -- Stub DLLs now installed in subdir stublibs/ of standard library dir. - -Standard library: -- Protect against integer overflow in sub-string and sub-array bound checks. -- New module Complex implementing arithmetic over complex numbers. -- New module Scanf implementing format-based scanning a la scanf() in C. -- Module Arg: added alternate entry point Arg.parse_argv. -- Modules Char, Int32, Int64, Nativeint, String: added type "t" and function - "compare" so that these modules can be used directly with e.g. Set.Make. -- Module Digest: fixed issue with Digest.file on large files (>= 1Gb); - added Digest.to_hex. -- Module Filename: added Filename.open_temp_file to atomically create and - open the temp file; improved security of Filename.temp_file. -- Module Genlex: allow _ as first character of an identifier. -- Module Lazy: more efficient implementation. -- Module Lexing: improved performances for very large tokens. -- Module List: faster implementation of sorting functions. -- Module Printf: - added %S and %C formats (quoted, escaped strings and characters); - added kprintf (calls user-specified continuation on formatted string). -- Module Queue: faster implementation (courtesy of Francois Pottier). -- Module Random: added Random.bool. -- Module Stack: added Stack.is_empty. -- Module Pervasives: - added sub-module LargeFile to support files larger than 1Gb - (file offsets are int64 rather than int); - opening in "append" mode automatically sets "write" mode; - files are now opened in close-on-exec mode; - string_of_float distinguishes its output from a plain integer; - faster implementation of input_line for long lines. -- Module Sys: - added Sys.ocaml_version containing the OCaml version number; - added Sys.executable_name containing the (exact) path of the - file being executable; - Sys.argv.(0) is now unchanged w.r.t. what was provided as 0-th argument - by the shell. -- Module Weak: added weak hash tables. - -Other libraries: -- Bigarray: - support for bigarrays of complex numbers; - added functions Genarray.dims, - {Genarray,Array1,Array2,Array3}.{kind,layout}. -- Dynlink: fixed bug with loading of mixed-mode Caml/C libraries. -- LablTK: - now supports also the CamlTK API (no labels); - support for Activate and Deactivate events; - support for virtual events; - added UTF conversion; - export the tcl interpreter as caml value, to avoid DLL dependencies. -- Unix: - added sub-module LargeFile to support files larger than 1Gb - (file offsets are int64 rather than int); - added POSIX opening flags (O_NOCTTY, O_*SYNC); - use reentrant functions for gethostbyname and gethostbyaddr when available; - fixed bug in Unix.close_process and Unix.close_process_full; - removed some overhead in Unix.select. - -Tools: -- ocamldoc (the documentation generator) is now part of the distribution. -- Debugger: now supports the option -I +dir. -- ocamllex: supports the same identifiers as ocamlc; warns for - bad \ escapes in strings and characters. -- ocamlbrowser: - recenter the module boxes when showing a cross-reference; - include the current directory in the ocaml path. - -Windows port: -- Can now compile with Mingw (the GNU compilers without the Cygwin - runtime library) in addition to MSVC. -- Toplevel GUI: wrong filenames were given to #use and #load commands; - read_line() was buggy for short lines (2 characters or less). -- OCamlBrowser: now fully functional. -- Graphics library: fixed several bugs in event handling. -- Threads library: fixed preemption bug. -- Unix library: better handling of the underlying differences between - sockets and regular file descriptors; - added Unix.lockf and a better Unix.rename (thanks to Tracy Camp). -- LablTk library: fixed a bug in Fileinput - - -Objective Caml 3.04 (13 Dec 2001): ----------------------------------- - -Type-checker: -- Allowed coercing self to the type of the current class, avoiding - an obscure error message about "Self type cannot be unified..." - -Both compilers: -- Use OCAMLLIB environment variable to find standard library, falls - back on CAMLLIB if not defined. -- Report out-of-range ASCII escapes in character or string literals - such as "\256". - -Byte-code compiler: -- The -use-runtime and -make-runtime flags are back by popular demand - (same behavior as in 3.02). -- Dynamic loading (of the C part of mixed Caml/C libraries): arrange that - linking in -custom mode uses the static libraries for the C parts, - not the shared libraries, for maximal robustness and compatibility with - 3.02. - -Native-code compiler: -- Fixed bug in link-time consistency checking. - -Tools: -- ocamlyacc: added parser debugging support (set OCAMLRUNPARAM=p to get - a trace of the pushdown automaton actions). -- ocamlcp: was broken in 3.03 (Sys_error), fixed. - -Run-time system: -- More work on dynamic loading of the C part of mixed Caml/C libraries. -- On uncaught exception, flush output channels before printing exception - message and backtrace. -- Corrected several errors in exception backtraces. - -Standard library: -- Pervasives: integer division and modulus are now fully specified - on negative arguments (with round-towards-zero semantics). -- Pervasives.float_of_string: now raises Failure on ill-formed input. -- Pervasives: added useful float constants max_float, min_float, epsilon_float. -- printf functions in Printf and Format: added % formats for int32, nativeint, - int64; "*" in width and precision specifications now supported - (contributed by Thorsten Ohl). -- Added Hashtbl.copy, Stack.copy. -- Hashtbl: revised resizing strategy to avoid quadratic behavior - on Hashtbl.add. -- New module MoreLabels providing labelized versions of modules - Hashtbl, Map and Set. -- Pervasives.output_value and Marshal.to_* : improved hashing strategy - for internal data structures, avoid excessive slowness on - quasi-linearly-allocated inputs. - -Other libraries: -- Num: fixed bug in big integer exponentiation (Big_int.power_*). - -Windows port: -- New GUI for interactive toplevel (Jacob Navia). -- The Graphics library is now available for stand-alone executables - (Jacob Navia). -- Unix library: improved reporting of system error codes. -- Fixed error in "globbing" of * and ? patterns on command line. - -Emacs mode: small fixes; special color highlighting for ocamldoc comments. - -License: added special exception to the LGPL'ed code (libraries and - runtime system) allowing unrestricted linking, whether static or dynamic. - - -Objective Caml 3.03 ALPHA (12 Oct 2001): ----------------------------------------- - -Language: -- Removed built-in syntactic sugar for streams and stream patterns - [< ... >], now supported via CamlP4, which is now included in the - distribution. -- Switched the default behaviour to labels mode (labels are compulsory), - but allows omitting labels when a function application is complete. - -nolabels mode is available but deprecated for programming. - (See also scrapelabels and addlabels tools below.) -- Removed all labels in the standard libraries, except labltk. - Labelized versions are kept for ArrayLabels, ListLabels, StringLabels - and UnixLabels. "open StdLabels" gives access to the first three. -- Extended polymorphic variant type syntax, allowing union types and - row abbreviations for both sub- and super-types. #t deprecated in types. -- See the Upgrading file for how to adapt to all the changes above. - -Type-checker: -- Fixed obscure bug in module typing causing the type-checker to loop - on signatures of the form - module type M - module A: sig module type T = sig module T: M end end - module B: A.T -- Improved efficiency of module type-checking via lazy computation of - certain signature summary information. -- An empty polymorphic variant type is now an error. - -Both compilers: -- Fixed wrong code generated for "struct include M ... end" when M - contains one or several "external" declarations. - -Byte-code compiler: -- Protect against VM stack overflow caused by module initialization code - with many local variables. -- Support for dynamic loading of the C part of mixed Caml/C libraries. -- Removed the -use-runtime and -make-runtime flags, obsoleted by dynamic - loading of C libraries. - -Native-code compiler: -- Attempt to recover gracefully from system stack overflow. Currently - works on x86 under Linux and BSD. -- Alpha: work around "as" bug in Tru64 5.1. - -Toplevel environment: -- Revised printing of inferred types and evaluation results - so that an external printer (e.g. Camlp4's) can be hooked in. - -Tools: -- The CamlP4 pre-processor-pretty-printer is now included in the standard - distribution. -- New tool ocamlmklib to help build mixed Caml/C libraries. -- New tool scrapelabels and addlabels, to either remove (non-optional) - labels in interfaces, or automatically add them in the definitions. - They provide easy transition from classic mode ocaml 3.02 sources, - depending on whether you want to keep labels or not. -- ocamldep: added -pp option to handle preprocessed source files. - -Run-time system: -- Support for dynamic loading of the C part of mixed Caml/C libraries. - Currently works under Linux, FreeBSD, Windows, Tru64, Solaris and Irix. -- Implemented registration of global C roots with a skip list, - runs much faster when there are many global C roots. -- Autoconfiguration script: fixed wrong detection of Mac OS X; problem - with the Sparc, gcc 3.0, and float alignment fixed. - -Standard library: -- Added Pervasives.flush_all to flush all opened output channels. - -Other libraries: -- All libraries revised to allow dynamic loading of the C part. -- Graphics under X Windows: revised event handling, should no longer lose - mouse events between two calls to wait_next_event(); wait_next_event() - now interruptible by signals. -- Bigarrays: fixed bug in marshaling of big arrays. - -Windows port: -- Fixed broken Unix.{get,set}sockopt* - - - -Objective Caml 3.02 (30 Jul 2001): ----------------------------------- - -Both compilers: -- Fixed embarrassing bug in pattern-matching compilation - (affected or-patterns containing variable bindings). -- More optimizations in pattern-matching compilation. - -Byte-code compiler: -- Protect against VM stack overflow caused by functions with many local - variables. - -Native-code compiler: -- Removed re-sharing of string literals, causes too many surprises with - in-place string modifications. -- Corrected wrong compilation of toplevel "include" statements. -- Fixed bug in runtime function "callbackN_exn". -- Signal handlers receive the conventional signal number as argument - instead of the system signal number (same behavior as with the - bytecode compiler). -- ARM port: fixed issue with immediate operand overflow in large functions. - -Toplevel environment: -- User-definer printers (for #install_printer) now receive as first argument - the pretty-printer formatter where to print their second argument. - Old printers (with only one argument) still supported for backward - compatibility. - -Standard library: -- Module Hashtbl: added Hashtbl.fold. - -Other libraries: -- Dynlink: better error reporting in add_interfaces for missing .cmi files. -- Graphics: added more drawing functions (multiple points, polygons, - multiple lines, splines). -- Bytecode threads: the module Unix is now thread-safe, ThreadUnix is - deprecated. Unix.exec* now resets standard descriptors to blocking mode. -- Native threads: fixed a context-switch-during-GC problem causing - certain C runtime functions to fail, most notably input_value. -- Unix.inet_addr_of_string: call inet_aton() when available so as to - handle correctly the address 255.255.255.255. -- Unix: added more getsockopt and setsockopt functions to get/set - options that have values other than booleans. -- Num: added documentation for the Big_int module. - -Tools: -- ocamldep: fixed wrong dependency issue with nested modules. - -Run-time system: -- Removed floating-point error at start-up on some non-IEEE platforms - (e.g. FreeBSD prior to 4.0R). -- Stack backtrace mechanism now works for threads that terminate on - an uncaught exception. - -Auto-configuration: -- Updated config.guess and config.sub scripts, should recognize a greater - number of recent platform. - -Windows port: -- Fixed broken Unix.waitpid. Unix.file_descr can now be compared or hashed. -- Toplevel application: issue with spaces in name of stdlib directory fixed. - -MacOS 9 port: -- Removed the last traces of support for 68k - - -Objective Caml 3.01 (09 Mar 2001): ----------------------------------- - -New language features: -- Variables are allowed in "or" patterns, e.g. - match l with [t] | [_;t] -> ... t ... -- "include " to re-export all components of a - structure inside another structure. -- Variance annotation on parameters of type declarations, e.g. - type (+'a,-'b,'c) t (covariant in 'a, contravariant in 'b, invariant in 'c) - -New ports: -- Intel IA64/Itanium under Linux (including the native-code compiler). -- Cygwin under MS Windows. This port is an alternative to the earlier - Windows port of OCaml, which relied on MS compilers; the Cygwin - Windows port does not need MS Visual C++ nor MASM, runs faster - in bytecode, and has a better implementation of the Unix library, - but currently lacks threads and COM component support. - -Type-checking: -- Relaxed "monomorphic restriction" on type constructors in a - mutually-recursive type definition, e.g. the following is again allowed - type u = C of int t | D of string t and 'a t = ... -- Fixed name-capture bug in "include SIG" and "SIG with ..." constructs. -- Improved implicit subtypes built by (... :> ty), closer to intuition. -- Several bug fixes in type-checking of variants. -- Typing of polymorphic variants is more restrictive: - do not allow conjunctive types inside the same pattern matching. - a type has either an upper bound, or all its tags are in the lower bound. - This may break some programs (this breaks lablgl-0.94). - -Both compilers: -- Revised compilation of pattern matching. -- Option -I + to search a subdirectory of the standard - library directory (i.e. write "ocamlc -I +labltk" instead of - "ocamlc -I /usr/local/lib/ocaml/labltk"). -- Option -warn-error to turn warnings into errors. -- Option -where to print the location of the standard library directory. -- Assertions are now type-checked even if the -noassert option is given, - thus -noassert can no longe change the types of modules. - -Bytecode compiler and bytecode interpreter: -- Print stack backtrace when a program aborts due to an uncaught exception - (requires compilation with -g and running with ocamlrun -b or - OCAMLRUNPARAM="b=1"). - -Native-code compiler: -- Better unboxing optimizations on the int32, int64, and nativeint types. -- Tail recursion preserved for functions having more parameters than - available registers (but tail calls to other functions are still - turned off if parameters do not fit entirely in registers). -- Fixed name-capture bug in function inlining. -- Improved spilling/reloading strategy for conditionals. -- IA32, Alpha: better alignment of branch targets. -- Removed spurious dependency on the -lcurses library. - -Toplevel environment: -- Revised handling of top-level value definitions, allows reclaimation - of definitions that are shadowed by later definitions with the same names. - (E.g. "let x = ;; let x = 1;;" allows to be reclaimed.) -- Revised the tracing facility so that for standard library functions, - only calls from user code are traced, not calls from the system. -- Added a "*" prompt when within a comment. - -Runtime system: -- Fixed portability issue on bcopy() vs memmove(), affecting Linux RedHat 7.0 - in particular. -- Structural comparisons (=, <>, <, <=, >, >=, compare) reimplemented - so as to avoid overflowing the C stack. -- Input/output functions: arrange so that reads and writes on closed - in_channel or out_channel raise Sys_error immediately. - -Standard library: -- Module Gc: changed some counters to float in order to avoid overflow; - added alarms -- Module Hashtbl: added Hashtbl.replace. -- Module Int64: added bits_of_float, float_of_bits (access to IEEE 754 - representation of floats). -- Module List: List.partition now tail-rec; - improved memory behavior of List.stable_sort. -- Module Nativeint: added Nativeint.size (number of bits in a nativeint). -- Module Obj: fixed incorrect resizing of float arrays in Obj.resize. -- Module Pervasives: added float constants "infinity", "neg_infinity", "nan"; - added a "classify_float" function to test a float for NaN, infinity, etc. -- Pervasives.input_value: fixed bug affecting shared custom objects. -- Pervasives.output_value: fixed size bug affecting "int64" values. -- Pervasives.int_of_string, {Int32,Int64,Nativeint}.of_string: - fixed bug causing bad digits to be accepted without error. -- Module Random: added get_state and set_state to checkpoint the generator. -- Module Sys: signal handling functions are passed the system-independent - signal number rather than the raw system signal number whenever possible. -- Module Weak: added Weak.get_copy. - -Other libraries: -- Bigarray: added Bigarray.reshape to take a view of the elements of a - bigarray with different dimensions or number of dimensions; - fixed bug causing "get" operations to be unavailable in custom - toplevels including Bigarray. -- Dynlink: raise an error instead of crashing when the loaded module - refers to the not-yet-initialized module performing a dynlink operation. -- Bytecode threads: added a thread-safe version of the Marshal module; - fixed a rare GC bug in the thread scheduler. -- POSIX threads: fixed compilation problem with threads.cmxa. -- Both thread libraries: better tail-recursion in Event.sync. -- Num library: fixed bug in square roots (Nat.sqrt_nat, Big_int.sqrt_big_int). - -Tools: -- ocamldep: fixed missing dependencies on labels of record patterns and - record construction operations - -Win32 port: -- Unix.waitpid now implements the WNOHANG option. - -Mac OS ports: -- Mac OS X public beta is supported. -- Int64.format works on Mac OS 8/9. - - -Objective Caml 3.00 (25 Apr 2000): ----------------------------------- - -Language: -- OCaml/OLabl merger: - * Support for labeled and optional arguments for functions and classes. - * Support for variant types (sum types compared by structure). - See tutorial (chapter 2 of the OCaml manual) for more information. -- Syntactic change: "?" in stream error handlers changed to "??". -- Added exception renaming in structures (exception E = F). -- (OCaml 2.99/OLabl users only) Label syntax changed to preserve - backward compatibility with 2.0x (labeled function application - is f ~lbl:arg instead of f lbl:arg). A tool is provided to help - convert labelized programs to OCaml 3.00. - -Both compilers: -- Option -labels to select commuting label mode (labels are mandatory, - but labeled arguments can be passed in a different order than in - the definition of the function; in default mode, labels may be omitted, - but argument reordering is only allowed for optional arguments). -- Libraries (.cma and .cmxa files) now "remember" C libraries given - at library construction time, and add them back at link time. - Allows linking with e.g. just unix.cma instead of - unix.cma -custom -cclib -lunix -- Revised printing of error messages, now use Format.fprintf; no visible - difference for users, but could facilitate internationalization later. -- Fixed bug in unboxing of records containing only floats. -- Fixed typing bug involving applicative functors as components of modules. -- Better error message for inconsistencies between compiled interfaces. - -Bytecode compiler: -- New "modular" format for bytecode executables; no visible differences - for users, but will facilitate further extensions later. -- Fixed problems in signal handling. - -Native-code compiler: -- Profiling support on x86 under FreeBSD -- Open-coding and unboxing optimizations for the new integer types - int32, int64, nativeint, and for bigarrays. -- Fixed instruction selection bug with "raise" appearing in arguments - of strict operators, e.g. "1 + raise E". -- Better error message when linking incomplete/incorrectly ordered set - of .cmx files. -- Optimized scanning of global roots during GC, can reduce total running - time by up to 8% on GC-intensive programs. - -Interactive toplevel: -- Better printing of exceptions, including arguments, when possible. -- Fixed rare GC bug occurring during interpretation of scripts. -- Added consistency checks between interfaces and implementations - during #load. - -Run-time system: -- Added support for "custom" heap blocks (heap blocks carrying - C functions for finalization, comparison, hashing, serialization - and deserialization). -- Support for finalisation functions written in Caml. - -Standard library: -- New modules Int32, Int64, Nativeint for 32-bit, 64-bit and - platform-native integers -- Module Array: added Array.sort, Array.stable_sort. -- Module Gc: added Gc.finalise to attach Caml finalisation functions to - arbitrary heap-allocated data. -- Module Hashtbl: do not bomb when resizing very large table. -- Module Lazy: raise Lazy.Undefined when a lazy evaluation needs itself. -- Module List: added List.sort, List.stable_sort; fixed bug in List.rev_map2. -- Module Map: added mapi (iteration with key and data). -- Module Set: added iterators for_all, exists, filter, partition. -- Module Sort: still here but deprecated in favor of new sorting functions - in Array and List. -- Module Stack: added Stack.top -- Module String: fixed boundary condition on String.rindex_from -- Added labels on function arguments where appropriate. - -New libraries and tools: -- ocamlbrowser: graphical browser for OCaml sources and compiled interfaces, - supports cross-referencing, editing, running the toplevel. -- LablTK: GUI toolkit based on TK, using labeled and optional arguments, - easier to use than CamlTK. -- Bigarray: large, multi-dimensional numerical arrays, facilitate - interfacing with C/Fortran numerical code, efficient support for - advanced array operations such as slicing and memory-mapping of files. - -Other libraries: -- Bytecode threads: timer-based preemption was broken, works back again; - fixed bug in Pervasives.input_line; exported Thread.yield. -- System threads: several GC / reentrancy bugs fixed in buffered I/O - and Unix I/O; revised Thread.join implementation for strict POSIX - conformance; exported Thread.yield. -- Graphics: added support for double buffering; added, current_x, current_y, - rmoveto, rlineto, and draw_rect. -- Num: fixed bug in Num.float_of_num. -- Str: worked around potential symbol conflicts with C standard library. -- Dbm: fixed bug with Dbm.iter on empty database. - -New or updated ports: -- Alpha/Digital Unix: lifted 256M limitation on total memory space - induced by -taso -- Port to AIX 4.3 on PowerPC -- Port to HPUX 10 on HPPA -- Deprecated 680x0 / SunOS port - -Macintosh port: -- Implemented the Unix and Thread libraries. -- The toplevel application does not work on 68k Macintoshes; maybe - later if there's a demand. -- Added a new tool, ocamlmkappli, to build an application from a - program written in O'Caml. - - -Objective Caml 2.04 (26 Nov 1999): ----------------------------------- - -- C interface: corrected inconsistent change in the CAMLparam* macros. -- Fixed internal error in ocamlc -g. -- Fixed type-checking of "S with ...", where S is a module type name - abbreviating another module type name. -- ocamldep: fixed stdout/stderr mismatch after failing on one file. -- Random.self_init more random. -- Windows port: - - Toplevel application: fixed spurious crash on exit. - - Native-code compiler: fixed bug in assembling certain - floating-point constants (masm doesn't grok 2e5, wants 2.0e5). - -Objective Caml 2.03 (19 Nov 1999): ----------------------------------- - -New ports: -- Ported to BeOS / Intel x86 (bytecode and native-code). -- BSD / Intel x86 port now supports both a.out and ELF binary formats. -- Added support for {Net,Open}BSD / Alpha. -- Revamped Rhapsody port, now works on MacOS X server. - -Syntax: -- Warning for "(*)" and "*)" outside comment. -- Removed "#line LINENO", too ambiguous with a method invocation; - the equivalent "# LINENO" is still supported. - -Typing: -- When an incomplete pattern-matching is detected, report also a - value or value template that is not covered by the cases of - the pattern-matching. -- Several bugs in class type matching and in type error reporting fixed. -- Added an option -rectypes to support general recursive types, - not just those involving object types. - -Bytecode compiler: -- Minor cleanups in the bytecode emitter. -- Do not remove "let x = y" bindings in -g mode; makes it easier to - debug the code. - -Native-code compiler: -- Fixed bug in grouping of allocations performed in the same basic block. -- Fixed bug in constant propagation involving expressions containing - side-effects. -- Fixed incorrect code generation for "for" loops whose upper bound is - a reference assigned inside the loop. -- MIPS code generator: work around a bug in the IRIX 6 assembler. - -Toplevel: -- Fixed incorrect redirection of standard formatter to stderr - while executing toplevel scripts. - -Standard library: -- Added List.rev_map, List.rev_map2. -- Documentation of List functions now says which functions are - tail-rec, and how much stack space is needed for non-tailrec functions. -- Wrong type for Printf.bprintf fixed. -- Fixed weird behavior of Printf.sprintf and Printf.bprintf in case of - partial applications. -- Added Random.self_init, which initializes the PRNG from the system date. -- Sort.array: serious bugs fixed. -- Stream.count: fixed incorrect behavior with ocamlopt. - -Run-time system and external interface: -- Fixed weird behavior of signal handlers w.r.t. signal masks and exceptions - raised from the signal handler. -- Fixed bug in the callback*_exn() functions. - -Debugger: -- Fixed wrong printing of float record fields and elements of float arrays. -- Supports identifiers starting with '_'. - -Profiler: -- Handles .mli files, so ocamlcp can be used to replace ocamlc (e.g. in a - makefile). -- Now works on programs that use stream expressions and stream parsers. - -Other libraries: -- Graphics: under X11, treat all mouse buttons equally; fixed problem - with current font reverting to the default font when the graphics - window is resized. -- Str: fixed reentrancy bugs in Str.replace and Str.full_split. -- Bytecode threads: set standard I/O descriptors to non-blocking mode. -- OS threads: revised implementation of Thread.wait_signal. -- All threads: added Event.wrap_abort, Event.choose []. -- Unix.localtime, Unix.gmtime: check for errors. -- Unix.create_process: now supports arbitrary redirections of std descriptors. -- Added Unix.open_process_full. -- Implemented Unix.chmod under Windows. -- Big_int.square_big_int now gives the proper sign to its result. - -Others: -- ocamldep: don't stop at first error, skip to next file. -- Emacs mode: updated with Garrigue and Zimmerman's snapshot of 1999/10/18. -- configure script: added -prefix option. -- Windows toplevel application: fixed problem with graphics library - not loading properly. - - -Objective Caml 2.02 (04 Mar 1999): ----------------------------------- - -* Type system: - - Check that all components of a signature have unique names. - - Fixed bug in signature matching involving a type component and - a module component, both sharing an abstract type. - - Bug involving recursive classes constrained by a class type fixed. - - Fixed bugs in printing class types and in printing unification errors. - -* Compilation: - - Changed compilation scheme for "{r with lbl = e}" when r has many fields - so as to avoid code size explosion. - -* Native-code compiler: - - Better constant propagation in boolean expressions and in conditionals. - - Removal of unused arguments during function inlining. - - Eliminated redundant tagging/untagging in bit shifts. - - Static allocation of closures for functions without free variables, - reduces the size of initialization code. - - Revised compilation scheme for definitions at top level of compilation - units, so that top level functions have no free variables. - - Coalesced multiple allocations of heap blocks inside one expression - (e.g. x :: y :: z allocates the two conses in one step). - - Ix86: better handling of large integer constants in instruction selection. - - MIPS: fixed wrong asm generated for String.length "literal". - -* Standard library: - - Added the "ignore" primitive function, which just throws away its - argument and returns "()". It allows to write - "ignore(f x); y" if "f x" doesn't have type unit and you don't - want the warning caused by "f x; y". - - Added the "Buffer" module (extensible string buffers). - - Module Format: added formatting to buffers and to strings. - - Added "mem" functions (membership test) to Hashtbl and Map. - - Module List: added find, filter, partition. - Renamed remove and removeq to remove_assoc and remove_assq. - - Module Marshal: fixed bug in marshaling functions when passed functional - values defined by mutual recursion with other functions. - - Module Printf: added Printf.bprintf (print to extensible buffer); - added %i format as synonymous for %d (as per the docs). - - Module Sort: added Sort.array (Quicksort). - -* Runtime system: - - New callback functions for callbacks with arbitrary many arguments - and for catching Caml exceptions escaping from a callback. - -* The ocamldep dependency generator: now performs full parsing of the - sources, taking into account the scope of module bindings. - -* The ocamlyacc parser generator: fixed sentinel error causing wrong - tables to be generated in some cases. - -* The str library: - - Added split_delim, full_split as variants of split that control - more precisely what happens to delimiters. - - Added replace_matched for separate matching and replacement operations. - -* The graphics library: - - Bypass color lookup for 16 bpp and 32 bpp direct-color displays. - - Larger color cache. - -* The thread library: - - Bytecode threads: more clever use of non-blocking I/O, makes I/O - operations faster. - - POSIX threads: gcc-ism removed, should now compile on any ANSI C compiler. - - Both: avoid memory leak in the Event module when a communication - offer is never selected. - -* The Unix library: - - Fixed inversion of ctime and mtime in Unix.stat, Unix.fstat, Unix.lstat. - - Unix.establish_connection: properly reclaim socket if connect fails. - -* The DBM library: no longer crashes when calling Dbm.close twice. - -* Emacs mode: - - Updated with Garrigue and Zimmerman's latest version. - - Now include an "ocamltags" script for using etags on OCaml sources. - -* Win32 port: - - Fixed end-of-line bug in ocamlcp causing problems with generated sources. - - -Objective Caml 2.01 (09 Dec 1998): ----------------------------------- - -* Typing: - - Added warning for expressions of the form "a; b" where a does not have - type "unit"; catches silly mistake such as - "record.lbl = newval; ..." instead of "record.lbl <- newval; ...". - - Typing bug in "let module" fixed. - -* Compilation: - - Fixed bug in compilation of recursive and mutually recursive classes. - - Option -w to turn specific warnings on/off. - - Option -cc to choose the C compiler used with ocamlc -custom and ocamlopt. - -* Bytecode compiler and bytecode interpreter: - - Intel x86: removed asm declaration causing "fixed or forbidden register - spilled" error with egcs and gcc 2.8 (but not with gcc 2.7, go figure). - - Revised handling of debugging information, allows faster linking with -g. - -* Native-code compiler: - - Fixed bugs in integer constant propagation. - - Out-of-bound accesses in array and strings now raise an Invalid_argument - exception (like the bytecode system) instead of stopping the program. - - Corrected scheduling of bound checks. - - Port to the StrongARM under Linux (e.g. Corel Netwinder). - - I386: fixed bug in profiled code (ocamlopt -p). - - Mips: switched to -n32 model under IRIX; dropped the Ultrix port. - - Sparc: simplified the addressing modes, allows for better scheduling. - - Fixed calling convention bug for Pervasives.modf. - -* Toplevel: - - #trace works again. - - ocamlmktop: use matching ocamlc, not any ocamlc from the search path. - -* Memory management: - - Fixed bug in heap expansion that could cause the GC to loop. - -* C interface: - - New macros CAMLparam... and CAMLlocal... to simplify the handling - of local roots in C code. - - Simplified procedure for allocating and filling Caml blocks from C. - - Declaration of string_length in . - -* Standard library: - - Module Format: added {get,set}_all_formatter_output_functions, - formatter_of_out_channel, and the control sequence @ in printf. - - Module List: added mem_assoc, mem_assq, remove, removeq. - - Module Pervasives: added float_of_int (synonymous for float), - int_of_float (truncate), int_of_char (Char.code), char_of_int (Char.chr), - bool_of_string. - - Module String: added contains, contains_from, rcontains_from. - -* Unix library: - - Unix.lockf: added F_RLOCK, F_TRLOCK; use POSIX locks whenever available. - - Unix.tc{get,set}attr: added non-standard speeds 57600, 115200, 230400. - - Unix.chroot: added. - -* Threads: - - Bytecode threads: improved speed of I/O scheduling. - - Native threads: fixed a bug involving signals and exceptions - generated from C. - -* The "str" library: - - Added Str.string_partial_match. - - Bumped size of internal stack. - -* ocamlyacc: emit correct '# lineno' directive for prelude part of .mly file. - -* Emacs editing mode: updated with Jacques Garrigue's newest code. - -* Windows port: - - Added support for the "-cclib -lfoo" option (instead of - -cclib /full/path/libfoo.lib as before). - - Threads: fixed a bug at initialization time. - -* Macintosh port: source code for Macintosh application merged in. - - -Objective Caml 2.00 (19 Aug 1998): ----------------------------------- - -* Language: - - New class language. See http://caml.inria.fr/ocaml/refman/ - for a tutorial (chapter 2) and for the reference manual (section 4.9). - - Local module definitions "let module X = in ". - - Record copying with update "{r with lbl1 = expr1; ...}". - - Array patterns "[|pat1; ...;patN|]" in pattern-matchings. - - New reserved keywords: "object", "initializer". - - No longer reserved: "closed", "protected". - -* Bytecode compiler: - - Use the same compact memory representations for float arrays, float - records and recursive closures as the native-code compiler. - - More type-dependent optimizations. - - Added the -use_runtime and -make_runtime flags to build separately - and reuse afterwards custom runtime systems - (inspired by Fabrice Le Fessant's patch). - -* Native-code compiler: - - Cross-module constant propagation of integer constants. - - More type-dependent optimizations. - - More compact code generated for "let rec" over data structures. - - Better code generated for "for" loops (test at bottom of code). - - More aggressive scheduling of stores. - - Added -p option for time profiling with gprof - (fully supported on Intel x86/Linux and Alpha/Digital Unix only) - (inspired by Aleksey Nogin's patch). - - A case of bad spilling with high register pressure fixed. - - Fixed GC bug when GC called from C without active Caml code. - - Alpha: $gp handling revised to follow Alpha's standard conventions, - allow running "atom" and "pixie" on ocamlopt-generated binaries. - - Intel x86: use movzbl and movsbl systematically to load 8-bit and 16-bit - quantities, no more hacks with partial registers (better for the - Pentium Pro, worse for the Pentium). - - PowerPC: more aggressive scheduling of return address reloading. - - Sparc: scheduling bug related to register pairs fixed. - -* Runtime system: - - Better printing of uncaught exceptions (print a fully qualified - name whenever possible). - -* New ports: - - Cray T3E (bytecode only) (in collaboration with CEA). - - PowerMac under Rhapsody. - - SparcStations under Linux. - -* Standard library: - - Added set_binary_mode_in and set_binary_mode_out in Pervasives - to toggle open channels between text and binary modes. - - output_value and input_value check that the given channel is in - binary mode. - - input_value no longer fails on very large marshalled data (> 16 Mbytes). - - Module Arg: added option Rest. - - Module Filename: temp_file no longer loops if temp dir doesn't exist. - - Module List: added rev_append (tail-rec alternative to @). - - Module Set: tell the truth about "elements" returning a sorted list; - added min_elt, max_elt, singleton. - - Module Sys: added Sys.time for simple measuring of CPU time. - -* ocamllex: - - Check for overflow when generating the tables for the automaton. - - Error messages in generated .ml file now point to .mll source. - - Added "let = " to name regular expressions - (inspired by Christian Lindig's patch). - -* ocamlyacc: - - Better error recovery in presence of EOF tokens. - - Error messages in generated .ml file now point to .mly source. - - Generated .ml file now type-safe even without the generated .mli file. - -* The Unix library: - - Use float instead of int to represent Unix times (number of seconds - from the epoch). This fixes a year 2005 problem on 32-bit platforms. - Functions affected: stat, lstat, fstat, time, gmtime, localtime, - mktime, utimes. - - Added putenv. - - Better handling of "unknown" error codes (EUNKNOWNERR). - - Fixed endianness bug in getservbyport. - - win32unix (the Win32 implementation of the Unix library) now has - the same interface as the unix implementation, this allows exchange - of compiled .cmo and .cmi files between Unix and Win32. - -* The thread libraries: - - Bytecode threads: bug with escaping exceptions fixed. - - System threads (POSIX, Win32): malloc/free bug fixed; signal bug fixed. - - Both: added Thread.wait_signal to wait synchronously for signals. - -* The graph library: bigger color cache. - -* The str library: added Str.quote, Str.regexp_string, - Str.regexp_string_case_fold. - -* Emacs mode: - - Fixed bug with paragraph fill. - - Fixed bug with next-error under Emacs 20. - - -Objective Caml 1.07 (11 Dec 1997): ----------------------------------- - -* Native-code compiler: - - Revised interface between generated code and GC, fixes serious GC - problems with signals and native threads. - - Added "-thread" option for compatibility with ocamlc. - -* Debugger: correctly print instance variables of objects. - -* Run-time system: ported to OpenBSD. - -* Standard library: fixed wrong interface for Marshal.to_buffer and - Obj.unmarshal. - -* Num library: added Intel x86 optimized asm code (courtesy of - Bernard Serpette). - -* Thread libraries: - - Native threads: fixed GC bugs and installation procedure. - - Bytecode threads: fixed problem with "Marshal" module. - - Both: added Event.always. - -* MS Windows port: better handling of long command lines in Sys.command - -Objective Caml 1.06 (18 Nov 1997): ----------------------------------- - -* Language: - - Added two new keywords: "assert" (check assertion) and "lazy" - (delay evaluation). - - Allow identifiers to start with "_" (such identifiers are treated - as lowercase idents). - -* Objects: - - Added "protected" methods (visible only from subclasses, can be hidden - in class type declared in module signature). - - Objects can be compared using generic comparison functions. - - Fixed compilation of partial application of object constructors. - -* Type system: - - Occur-check now more strict (all recursions must traverse an object). - - A few bugs fixed. - -* Run-time system: - - A heap compactor was implemented, so long-running programs can now - fight fragmentation. - - The meaning of the "space_overhead" parameter has changed. - - The macros Push_roots and Pop_roots are superseded by Begin_roots* and - End_roots. - - Bytecode executable includes list of primitives used, avoids crashes - on version mismatch. - - Reduced startup overhead for marshalling, much faster marshalling of - small objects. - - New exception Stack_overflow distinct from Out_of_memory. - - Maximum stack size configurable. - - I/O revised for compatibility with compactor and with native threads. - - All C code ANSIfied (new-style function declarations, etc). - - Threaded code work on all 64-bit processors, not just Alpha/Digital Unix. - - Better printing of uncaught exceptions. - -* Both compilers: - - Parsing: more detailed reporting of syntax errors (e.g. shows - unmatched opening parenthesis on missing closing parenthesis). - - Check consistency between interfaces (.cmi). - - Revised rules for determining dependencies between modules. - - Options "-verbose" for printing calls to C compiler, "-noassert" - for turning assertion checks off. - -* Native-code compiler: - - Machine-dependent parts rewritten using inheritance instead of - parameterized modules. - - GC bug in value let rec fixed. - - Port to Linux/Alpha. - - Sparc: cleaned up use of %g registers, now compatible with Solaris threads. - -* Top-level interactive system: - - Can execute Caml script files given on command line. - - Reads commands from ./.ocamlinit on startup. - - Now thread-compatible. - -* Standard library: - - New library module: Lazy (delayed computations). - - New library module: Marshal. Allows marshalling to strings and - transmission of closures between identical programs (SPMD parallelism). - - Filename: "is_absolute" is superseded by "is_implicit" and "is_relative". - To adapt old programs, change "is_absolute x" to "not (is_implicit x)" - (but the new "is_relative" is NOT the opposite of the old "is_absolute"). - - Array, Hashtbl, List, Map, Queue, Set, Stack, Stream: - the "iter" functions now take as argument a unit-returning function. - - Format: added "printf" interface to the formatter (see the documentation). - Revised behaviour of simple boxes: no more than one new line is output - when consecutive break hints should lead to multiple line breaks. - - Stream: revised implementation, renamed Parse_failure to Failure and - Parse_error to Error (don't you love gratuitous changes?). - - String: added index, rindex, index_from, rindex_from. - - Array: added mapi, iteri, fold_left, fold_right, init. - - Added Map.map, Set.subset, Printexc.to_string. - -* ocamllex: lexers generated by ocamllex can now handle all characters, - including '\000'. - -* ocamlyacc: fixed bug with function closures returned by parser rules. - -* Debugger: - - Revised generation of events. - - Break on function entrance. - - New commands start/previous. - - The command loadprinter now try to recursively load required - modules. - - Numerous small fixes. - -* External libraries: - - systhreads: can now use POSIX threads; POSIX and Win32 threads are - now supported by the native-code compiler. - - dbm and graph: work in native code. - - num: fixed bug in Nat.nat_of_string. - - str: fixed deallocation bug with case folding. - - win32unix: use Win32 handles instead of (buggy) VC++ emulation of Unix - file handles; added gettimeofday. - -* Emacs editing mode and debugger interface updated to July '97 version. - -Objective Caml 1.05 (21 Mar 1997): ----------------------------------- - -* Typing: fixed several bugs causing spurious type errors. - -* Native-code compiler: fixed instruction selection bug causing GC to -see ill-formed pointers; fixed callbacks to support invocation from a -main program in C. - -* Standard library: fixed String.lowercase; Weak now resists integers. - -* Toplevel: multiple phrases without intermediate ";;" now really supported; -fixed value printing problems where the wrong printer was selected. - -* Debugger: fixed printing problem with local references; revised -handling of checkpoints; various other small fixes. - -* Macintosh port: fixed signed division problem in bytecomp/emitcode.ml - -Objective Caml 1.04 (11 Mar 1997): ----------------------------------- - -* Replay debugger ported from Caml Light; added debugger support in - compiler (option -g) and runtime system. Debugger is alpha-quality - and needs testing. - -* Parsing: - - Support for "# linenum" directives. - - At toplevel, allow several phrases without intermediate ";;". - -* Typing: - - Allow constraints on datatype parameters, e.g. - type 'a foo = ... constraint 'a = 'b * 'c. - - Fixed bug in signature matching in presence of free type variables '_a. - - Extensive cleanup of internals of type inference. - -* Native-code compilation: - - Inlining of small functions at point of call (fairly conservative). - - MIPS code generator ported to SGI IRIX 6. - - Better code generated for large integer constants. - - Check for urgent GC when allocating large objects in major heap. - - PowerPC port: better scheduling, reduced TOC consumption. - - HPPA port: handle long conditional branches gracefully, - several span-dependent bugs fixed. - -* Standard library: - - More floating-point functions (all ANSI C float functions now available). - - Hashtbl: added functorial interface (allow providing own equality - and hash functions); rehash when resizing, avoid memory leak on - Hashtbl.remove. - - Added Char.uppercase, Char.lowercase, String.uppercase, String.lowercase, - String.capitalize, String.uncapitalize. - - New module Weak for manipulating weak pointers. - - New module Callback for registering closures and exceptions to be - used from C. - -* Foreign interface: - - Better support for callbacks (C calling Caml), exception raising - from C, and main() in C. Added function to remove a global root. - - Option -output-obj to package Caml code as a C library. - -* Thread library: fixed bug in timed_read and timed_write operations; - Lexing.from_function and Lexing.from_channel now reentrant. - -* Unix interface: renamed EACCESS to EACCES (the POSIX name); added setsid; - fixed bug in inet_addr_of_string for 64-bit platforms. - -* Ocamlyacc: default error function no longer prevents error recovery. - -* Ocamllex: fixed reentrancy problem w.r.t. exceptions during refill; - fixed output problem (\r\r\n) under Win32. - -* Macintosh port: - - The makefiles are provided for compiling and installing O'Caml on - a Macintosh with MPW 3.4.1. - - An application with the toplevel in a window is forthcoming. - -* Windows NT/95 port: updated toplevel GUI to that of Caml Light 0.73. - -* Emacs editing mode and debugger interface included in distribution. - - -Objective Caml 1.03 (29 Oct 1996): ----------------------------------- - -* Typing: - - bug with type names escaping their scope via unification with - non-generalized type variables '_a completely fixed; - - fixed bug in occur check : it was too restrictive; - - fixed bug of coercion operators; - - check that no two types of the same name are generated in a module - (there was no check for classes); - - "#install_printer" works again; - - fixed bug in printing of subtyping errors; - - in class interfaces, construct "method m" (without type) change - the status of method m from abstract to concrete; - - in a recursive definition of class interfaces, a class can now - inherit from a previous class; - - typing of a method make use of an eventual previously given type - of this method, yielding clearer type errors. - -* Compilation (ocamlc and ocamlopt): - - fixed bug in compilation of classes. - -* Native-code compilation: - - optimization of functions taking tuples of arguments; - - code emitter for the Motorola 680x0 processors (retrocomputing week); - - Alpha/OSF1: generate frame descriptors, avoids crashes when e.g. - exp() or log() cause a domain error; fixed bug with - String.length "literal"; - - Sparc, Mips, HPPA: removed marking of scanned stack frames - (benefits do not outweight cost). - -* Standard library: - - Arg.parse now prints documentation for command-line options; - - I/O buffers (types in_channel and out_channel) now heap-allocated, - avoids crashing when closing a channel several times; - - Overflow bug in compare() fixed; - - GC bug in raising Sys_error from I/O functions fixed; - - Parsing.symbol_start works even for epsilon productions. - -* Foreign interface: main() in C now working, fixed bug in library - order at link time. - -* Thread library: guard against calling thread functions before Thread.create. - -* Unix library: fixed getsockopt, setsockopt, open_process_{in,out}. - -* Perl-free, cpp-free, cholesterol-free installation procedure. - - -Objective Caml 1.02 (27 Sep 1996): ----------------------------------- - -* Typing: - - fixed bug with type names escaping their scope via unification - with non-generalized type variables '_a; - - keep #class abbreviations longer; - - faster checking of well-formed abbreviation definitions; - - stricter checking of "with" constraints over signatures (arity - mismatch, overriding of an already manifest type). - -* Compilation (ocamlc and ocamlopt): - - fixed bug in compilation of recursive classes; - - [|...|] and let...rec... allowed inside definitions of recursive - data structures; - -* Bytecode compilation: fixed overflow in linker for programs with - more than 65535 globals and constants. - -* Native-code compilation: - - ocamlopt ported to HPPA under HP/UX, Intel x86 under Solaris 2, - PowerMacintosh under MkLinux; - - fixed two bugs related to floating-point arrays (one with "t array" - where t is an abstract type implemented as float, one with - comparison between two float arrays on 32 bit platforms); - - fixed reloading/spilling problem causing non-termination of - register allocation; - - fixed bugs in handling of () causing loss of tail recursion; - - fixed reloading bug in indirect calls. - -* Windows NT/95 port: - - complete port of the threads library (Pascal Cuoq); - - partial port of the Unix library (Pascal Cuoq); - - expansion of *, ? and @ on the command line. - -* Standard library: - - bug in in List.exists2 fixed; - - bug in "Random.int n" for very large n on 64-bit machines fixed; - - module Format: added a "general purpose" type of box (open_box); - can output on several formatters at the same time. - -* The "threads" library: - - implementation on top of native threads available for Win32 and - POSIX 1003.1c; - - added -thread option to select a thread-safe version of the - standard library, the ThreadIO module is no longer needed. - -* The "graph" library: avoid invalid pixmaps when doing - open_graph/close_graph several times. - -* The "dynlink" library: support for "private" (no re-export) dynamic loading. - -* ocamlyacc: skip '...' character literals correctly. - -* C interface: C code linked with O'Caml code can provide its own main() - and call caml_main() later. - - -Objective Caml 1.01 (12 Jun 1996): ----------------------------------- - -* Typing: better report of type incompatibilities; - non-generalizable type variables in a struct...end no longer flagged - immediately as an error; - name clashes during "open" avoided. - -* Fixed bug in output_value where identical data structures - could have different external representations; this bug caused wrong - "inconsistent assumptions" errors when checking compatibility of - interfaces at link-time. - -* Standard library: fixed bug in Array.blit on overlapping array sections - -* Unmarshaling from strings now working. - -* ocamlc, ocamlopt: new flags -intf and -impl to force compilation as - an implementation/an interface, regardless of file extension; - overflow bug on wide-range integer pattern-matchings fixed. - -* ocamlc: fixed bytecode generation bug causing problems with compilation - units defining more than 256 values - -* ocamlopt, all platforms: - fixed GC bug in "let rec" over data structures; - link startup file first, fixes "undefined symbol" errors with some - libraries. - -* ocamlopt, Intel x86: - more efficient calling sequence for calling C functions; - floating-point wars, chapter 5: don't use float stack for holding - float pseudo-registers, stack-allocating them is just as efficient. - -* ocamlopt, Alpha and Intel x86: more compact calling sequence for garbage - collection. - -* ocamllex: generated automata no longer use callbacks for refilling - the input buffer (works better with threads); character literals - correctly skipped inside actions. - -* ocamldep: "-I" directories now searched in the right order - -* Thread library: incompatibilities with callbacks, signals, and - dynamic linking removed; scheduling bug with Thread.wait fixed. - -* New "dbm" library, interfaces with NDBM. - -* Object-oriented extensions: - instance variables can now be omitted in class types; - some error messages have been made clearer; - several bugs fixes. - -Objective Caml 1.00 (9 May 1996): ---------------------------------- - -* Merge of Jerome Vouillon and Didier Remy's object-oriented -extensions. - -* All libraries: all "new" functions renamed to "create" because "new" -is now a reserved keyword. - -* Compilation of "or" patterns (pat1 | pat2) completely revised to -avoid code size explosion. - -* Compiler support for preprocessing source files (-pp flag). - -* Library construction: flag -linkall to force linking of all units in -a library. - -* Native-code compiler: port to the Sparc under NetBSD. - -* Toplevel: fixed bug when tracing several times the same function -under different names. - -* New format for marshaling arbitrary data structures, allows -marshaling to/from strings. - -* Standard library: new module Genlex (configurable lexer for streams) - -* Thread library: much better support for I/O and blocking system calls. - -* Graphics library: faster reclaimation of unused pixmaps. - -* Unix library: new functions {set,clear}_nonblock, {set,clear}_close_on_exec, -{set,get}itimer, inet_addr_any, {get,set}sockopt. - -* Dynlink library: added support for linking libraries (.cma files). - -Caml Special Light 1.15 (15 Mar 1996): --------------------------------------- - -* Caml Special Light now runs under Windows NT and 95. Many thanks to -Kevin Gallo (Microsoft Research) who contributed his initial port. - -* csllex now generates tables for a table-driven automaton. -The resulting lexers are smaller and run faster. - -* Completely automatic configuration script. - -* Typing: more stringent checking of module type definitions against -manifest module type specifications. - -* Toplevel: recursive definitions of values now working. - -* Native-code compiler, all platforms: - toplevel "let"s with refutable patterns now working; - fixed bug in assignment to float record fields; - direct support for floating-point negation and absolute value. - -* Native-code compiler, x86: fixed bug with tail calls (with more than -4 arguments) from a function with a one-word stack frame. - -* Native-code compiler, Sparc: problem with -compact fixed. - -* Thread library: support for non-blocking writes; scheduler revised. - -* Unix library: bug in gethostbyaddr fixed; bounds checking for read, -write, etc. - -Caml Special Light 1.14 (8 Feb 1996): -------------------------------------- - -* cslopt ported to the PowerPC/RS6000 architecture. Better support for -AIX in the bytecode system as well. - -* cslopt, all platforms: fixed bug in live range splitting around catch/exit. - -* cslopt for the Intel (floating-point wars, chapter 4): -implemented Ershov's algorithm to minimize floating-point stack usage; -out-of-order pops fixed. - -* Several bug fixes in callbacks and signals. - -Caml Special Light 1.13 (4 Jan 1996): -------------------------------------- - -* Pattern-matching compilation revised to factor out accesses inside -matched structures. - -* Callbacks and signals now supported in cslopt. -Signals are only detected at allocation points, though. -Added callback functions with 2 and 3 arguments. - -* More explicit error messages when a native-code program aborts due -to array or string bound violations. - -* In patterns, "C _" allowed even if the constructor C has several arguments. - -* && and || allowed as alternate syntax for & and or. - -* cslopt for the Intel: code generation for floating-point -operations entirely redone for the third time (a pox on whomever at -Intel decided to organize the floating-point registers as a stack). - -* cslopt for the Sparc: don't use Sparc V8 smul and sdiv instructions, -emulation on V7 processors is abysmal. - -Caml Special Light 1.12 (30 Nov 1995): --------------------------------------- - -* Fixed an embarrassing bug with references to floats. - -Caml Special Light 1.11 (29 Nov 1995): --------------------------------------- - -* Streams and stream parsers a la Caml Light are back (thanks to -Daniel de Rauglaudre). - -* User-level concurrent threads, with low-level shared memory primitives -(locks and conditions) as well as channel-based communication primitives -with first-class synchronous events, in the style of Reppy's CML. - -* The native-code compiler has been ported to the HP PA-RISC processor -running under NextStep (sorry, no HPUX, its linker keeps dumping -core on me). - -* References not captured in a function are optimized into variables. - -* Fixed several bugs related to exceptions. - -* Floats behave a little more as specified in the IEEE standard -(believe it or not, but x < y is not the negation of x >= y). - -* Lower memory consumption for the native-code compiler. - -Caml Special Light 1.10 (07 Nov 1995): --------------------------------------- - -* Many bug fixes (too many to list here). - -* Module language: introduction of a "with module" notation over -signatures for concise sharing of all type components of a signature; -better support for concrete types in signatures. - -* Native-code compiler: the Intel 386 version has been ported to -NextStep and FreeBSD, and generates better code (especially for -floats) - -* Tools and libraries: the Caml Light profiler and library for -arbitrary-precision arithmetic have been ported (thanks to John -Malecki and Victor Manuel Gulias Fernandez); better docs for the Unix -and regexp libraries. - -Caml Special Light 1.07 (20 Sep 1995): --------------------------------------- - -* Syntax: optional ;; allowed in compilation units and structures -(back by popular demand) - -* cslopt: -generic handling of float arrays fixed -direct function application when the function expr is not a path fixed -compilation of "let rec" over values fixed -multiple definitions of a value name in a module correctly handled -no calls to ranlib in Solaris - -* csltop: #trace now working - -* Standard library: added List.memq; documentation of Array fixed. - -Caml Special Light 1.06 (12 Sep 1995): --------------------------------------- - -* First public release. diff --git a/vendor/ocaml/INSTALL b/vendor/ocaml/INSTALL deleted file mode 100644 index a83bbd3bd..000000000 --- a/vendor/ocaml/INSTALL +++ /dev/null @@ -1,356 +0,0 @@ - Installing OCaml on a Unix machine - ---------------------------------- - -PREREQUISITES - -* The GNU C compiler gcc is recommended, as the bytecode - interpreter takes advantage of gcc-specific features to enhance - performance. gcc is the standard compiler under Linux, MacOS X, - and many other systems. - -* If you do not have write access to /tmp, you should set the environment - variable TMPDIR to the name of some other temporary directory. - -* Under HP/UX, the GNU C compiler gcc, the GNU assembler gas, and GNU make - are all *required*. The vendor-provided compiler, assembler and make - have major problems. - -* GNU make is needed to build ocamlbuild. If your system's default - make is not GNU make, you need to define the GNUMAKE environment - variable to the name of GNU make, typically with this command: - - export GNUMAKE=gmake - -INSTALLATION INSTRUCTIONS - -1- Configure the system. From the top directory, do: - - ./configure - -This generates the three configuration files "Makefile", "m.h" and "s.h" -in the config/ subdirectory. - -The "configure" script accepts the following options: - --prefix (default: /usr/local) - Set the PREFIX variable used to define the defaults of the - following three options. Must be an absolute path name. - --bindir (default: $(PREFIX)/bin) - Directory where the binaries will be installed. - Must be an absolute path name, or start with "$(PREFIX)" - --libdir (default: $(PREFIX)/lib/ocaml) - Directory where the OCaml library will be installed - Must be an absolute path name, or start with "$(PREFIX)" - --mandir (default: $(PREFIX)/man/man1) - Directory where the manual pages will be installed - Must be an absolute path name, or start with "$(PREFIX)" - --cc (default: gcc if available, cc otherwise) - C compiler to use for building the system - --libs (default: none) - Extra libraries to link with the system - --no-curses - Do not use the curses library. - --host (default: determined automatically) - The type of the host machine, in GNU's "configuration name" - format (CPU-COMPANY-SYSTEM or CPU-COMPANY-KERNEL-SYSTEM). - This info is generally determined automatically by the - "configure" script, and rarely ever needs to be provided by - hand. The installation instructions for gcc or emacs contain a - complete list of configuration names. - --target (default: same as -host) - The type of the target machine, in GNU's "configuration name" - format (CPU-COMPANY-SYSTEM or CPU-COMPANY-KERNEL-SYSTEM). - Setting this will setup OCaml as a cross-compiler which runs on - $host and produces code for $target. This requires a C toolchain - which also produces code for $target and a native OCaml - compiler of the exact same version (if you want a cross 4.00.1, - you need a native 4.00.1). - --x11include (default: determined automatically) --x11lib (default: determined automatically) - Location of the X11 include directory (e.g. /usr/X11R6/include) - and the X11 library directory (e.g. /usr/X11R6/lib). - --no-pthread - Do not attempt to use POSIX threads. - --with-pthread - Attempt to use POSIX threads (this is the default). - --no-shared-libs - Do not configure support for shared libraries - --dldefs --dllibs - These options specify where to find the libraries for dynamic - linking (i.e. use of shared libraries). "-dldefs" specifies - options for finding the header files, and "-dllibs" for finding - the C libraries. - --as (default: determined automatically) - The assembler to use for assembling ocamlopt-generated code. - --aspp (default: determined automatically) - The assembler to use for assembling the parts of the - run-time system manually written in assembly language. - This assembler must preprocess its input with the C preprocessor. - --with-debug-runtime - Compile and install the debug version of the runtimes, useful - for debugging C stubs and other low-level code. - --verbose - Verbose output of the configuration tests. Use it if the outcome - of configure is not what you were expecting. - --no-debugger - Do not build ocamldebug. - --no-ocamldoc - Do not build ocamldoc. - --no-ocamlbuild - Do not build ocamlbuild. - --no-graph - Do not compile the Graphics library. - --partialld (default: determined automatically) - The linker and options to use for producing an object file - (rather than an executable) from several other object files. - --no-cfi - Do not compile support for CFI directives. - -Examples: - - Standard installation in /usr/{bin,lib,man} instead of /usr/local: - ./configure -prefix /usr - - Installation in /usr, man pages in section "l": - ./configure -bindir /usr/bin -libdir /usr/lib/ocaml -mandir /usr/man/manl - or: - ./configure -prefix /usr -mandir '$(PREFIX)/man/manl' - - On a Linux x86-64 host, to build a 32-bit version of OCaml: - ./configure -cc "gcc -m32" -as "as --32" -aspp "gcc -m32 -c" \ - -host i386-linux -partialld "ld -r -melf_i386" - - On a Linux x86-64 host, to build the run-time system in PIC mode, - no special options should be required---the libraries should be built - automatically. The old instructions were: - ./configure -cc "gcc -fPIC" -aspp "gcc -c -fPIC" - - On a 64-bit POWER architecture host running Linux, OCaml only operates - in a 32-bit environment. If your system compiler is configured as 32-bit, - e.g. Red Hat 5.9, you don't need to do anything special. If that is - not the case (e.g. Red Hat 6.4), then IBM's "Advance Toolchain" can - be used. For example: - export PATH=/opt/at7.0/bin:$PATH - ./configure -cc "gcc -m32" -as "as -a32" -aspp "gcc -m32 -c" \ - -partialld "ld -r -m elf32ppc" - - On a MacOSX 10.5/Intel Core 2 or MacOSX 10.5/PowerPC host, - to build a 64-bit version of OCaml: - ./configure -cc "gcc -m64" - - On Intel Mac OS X, to build a 32-bit version of OCaml: - ./configure -host "i386-apple-darwin13.2.0" -cc "gcc -arch i386 -m32" \ - -as "as -arch i386" -aspp "gcc -arch i386 -m32 -c" - - For Sun Solaris with the "acc" compiler: - ./configure -cc "acc -fast" -libs "-lucb" - - For Sun Solaris on Sparc 64bit, to compile natively (32bit only) - ./configure -cc "gcc -m32" -as "as -32" -aspp "gcc -m32 -c" - - For AIX 4.3 with the IBM compiler xlc: - ./configure -cc "xlc_r -D_AIX43 -Wl,-bexpall,-brtl -qmaxmem=8192" - - -If something goes wrong during the automatic configuration, or if the -generated files cause errors later on, then look at the template files - - config/Makefile-templ - config/m-templ.h - config/s-templ.h - -for guidance on how to edit the generated files by hand. - -2- From the top directory, do: - - make world - -This builds the OCaml bytecode compiler for the first time. This -phase is fairly verbose; consider redirecting the output to a file: - - make world > log.world 2>&1 # in sh - make world >& log.world # in csh - -3- (Optional) To be sure everything works well, you can try to -bootstrap the system --- that is, to recompile all OCaml sources with -the newly created compiler. From the top directory, do: - - make bootstrap - -or, better: - - make bootstrap > log.bootstrap 2>&1 # in sh - make bootstrap >& log.bootstrap # in csh - -The "make bootstrap" checks that the bytecode programs compiled with -the new compiler are identical to the bytecode programs compiled with -the old compiler. If this is the case, you can be pretty sure the -system has been correctly compiled. Otherwise, this does not -necessarily mean something went wrong. The best thing to do is to try -a second bootstrapping phase: just do "make bootstrap" again. It will -either crash almost immediately, or re-re-compile everything correctly -and reach the fixpoint. - -4- If your platform is supported by the native-code compiler (as -reported during the autoconfiguration), you can now build the -native-code compiler. From the top directory, do: - - make opt -or: - make opt > log.opt 2>&1 # in sh - make opt >& log.opt # in csh - -5- Compile fast versions of the OCaml compilers, by compiling them -with the native-code compiler (you have only compiled them to bytecode -so far). Just do: - - make opt.opt - -Later, you can compile your programs to bytecode using ocamlc.opt -instead of ocamlc, and to native-code using ocamlopt.opt instead of -ocamlopt. The ".opt" compilers should run faster than the normal -compilers, especially on large input files, but they may take longer -to start due to increased code size. If compilation times are an issue on -your programs, try the ".opt" compilers to see if they make a -significant difference. - -An alternative, and faster approach to steps 2 to 5 is - - make world.opt # to build using native-code compilers - -The result is equivalent to "make world opt opt.opt", but this may -fail if anything goes wrong in native-code generation. - -6- You can now install the OCaml system. This will create the -following commands (in the binary directory selected during -autoconfiguration): - - ocamlc the batch bytecode compiler - ocamlopt the batch native-code compiler (if supported) - ocamlrun the runtime system for the bytecode compiler - ocamlyacc the parser generator - ocamllex the lexer generator - ocaml the interactive, toplevel-based system - ocamlmktop a tool to make toplevel systems that integrate - user-defined C primitives and OCaml code - ocamldebug the source-level replay debugger - ocamldep generator of "make" dependencies for OCaml sources - ocamldoc documentation generator - ocamlprof execution count profiler - ocamlcp the bytecode compiler in profiling mode - -and also, if you built them during step 5, - - ocamlc.opt the batch bytecode compiler compiled with ocamlopt - ocamlopt.opt the batch native-code compiler compiled with ocamlopt - ocamllex.opt the lexer generator compiled with ocamlopt - -From the top directory, become superuser and do: - - umask 022 # make sure to give read & execute permission to all - make install - -7- Installation is complete. Time to clean up. From the toplevel -directory, do "make clean". - -8- (Optional) The emacs/ subdirectory contains Emacs-Lisp files for an -OCaml editing mode and an interface for the debugger. To install -these files, change to the emacs/ subdirectory and do - - make EMACSDIR= install -or - make install - -In the latter case, the destination directory defaults to the -"site-lisp" directory of your Emacs installation. - -9- After installation, do *not* strip the ocamldebug and ocamlbrowser -executables. (These are mixed-mode executables, containing both -compiled C code and OCaml bytecode; stripping erases the bytecode!) -Other executables such as ocamlrun can safely be stripped. - -IF SOMETHING GOES WRONG: - -Read the "common problems" and "machine-specific hints" section at the -end of this file. - -Check the files m.h and s.h in config/. Wrong endianness or alignment -constraints in m.h will immediately crash the bytecode interpreter. - -If you get a "segmentation violation" signal, check the limits on the -stack size and data segment size (type "limit" under csh or -"ulimit -a" under bash). Make sure the limit on the stack size is -at least 4M. - -Try recompiling the runtime system with optimizations turned off -(change CFLAGS in byterun/Makefile and asmrun/Makefile). -The runtime system contains some complex, atypical pieces of C code -that can uncover bugs in optimizing compilers. Alternatively, try -another C compiler (e.g. gcc instead of the vendor-supplied cc). - -You can also build a debug version of the runtime system. Go to the -byterun/ directory and do "make ocamlrund". Then, copy ocamlrund to -../boot/ocamlrun, and try again. This version of the runtime system -contains lots of assertions and sanity checks that could help you -pinpoint the problem. - - -COMMON PROBLEMS: - -* The Makefiles do not support parallel make (e.g. make -j2). -Fix: do not pass the -j option to make, and be patient. - -* The Makefiles use the "include" directive, which is not supported by -all versions of make. Use GNU make if this is a problem. - -* Solaris make mishandles a space in our Makefiles, so you have to use GNU -make to build on Solaris. - -* The Makefiles assume that make executes commands by calling /bin/sh. They -won't work if /bin/csh is called instead. You may have to unset the SHELL -environment variable, or set it to /bin/sh. - -* On some systems, localization causes build problems. You should -try to set the C locale (export LC_ALL=C) before compiling if you have -strange errors while compiling OCaml. - -* gcc 2.7.2.1 generates incorrect code for the runtime system in -O mode -on some Intel x86 platforms (e.g. Linux RedHat 4.1 and 4.2). -If this causes a problem, the solution is to upgrade to 2.7.2.3 or above. - -* Some versions of gcc 2.96 for the Intel x86 (as found in RedHat 7.2, -Mandrake 8.0 and Mandrake 8.1) generates incorrect code for the runtime -system. The "configure" script tries to work around this problem. - -* On HP 9000/700 machines under HP/UX 9. Some versions of cc are -unable to compile correctly the runtime system (wrong code is -generated for (x - y) where x is a pointer and y an integer). -Fix: use gcc. - -* Under MacOS X 10.6, with XCode 4.0.2, the configure script mistakenly -detects support for CFI directives in the assembler. -Fix: give the "-no-cfi" option to configure. diff --git a/vendor/ocaml/LICENSE b/vendor/ocaml/LICENSE deleted file mode 100644 index 8209011f9..000000000 --- a/vendor/ocaml/LICENSE +++ /dev/null @@ -1,627 +0,0 @@ -In the following, "the Library" refers to all files marked "Copyright -INRIA" in the following directories and their sub-directories: - - asmrun, byterun, config, otherlibs, stdlib, win32caml - -and "the Compiler" refers to all files marked "Copyright INRIA" in the -following directories and their sub-directories: - - asmcomp, boot, build, bytecomp, debugger, driver, lex, man, - ocamlbuild, ocamldoc, parsing, testsuite, tools, toplevel, typing, - utils, yacc - -The Compiler is distributed under the terms of the Q Public License -version 1.0 with a change to choice of law (included below). - -The Library is distributed under the terms of the GNU Library General -Public License version 2 (included below). - -As a special exception to the Q Public Licence, you may develop -application programs, reusable components and other software items -that link with the original or modified versions of the Compiler -and are not made available to the general public, without any of the -additional requirements listed in clause 6c of the Q Public licence. - -As a special exception to the GNU Library General Public License, you -may link, statically or dynamically, a "work that uses the Library" -with a publicly distributed version of the Library to produce an -executable file containing portions of the Library, and distribute -that executable file under terms of your choice, without any of the -additional requirements listed in clause 6 of the GNU Library General -Public License. By "a publicly distributed version of the Library", -we mean either the unmodified Library as distributed by INRIA, or a -modified version of the Library that is distributed under the -conditions defined in clause 2 of the GNU Library General Public -License. This exception does not however invalidate any other reasons -why the executable file might be covered by the GNU Library General -Public License. - ----------------------------------------------------------------------- - - THE Q PUBLIC LICENSE version 1.0 - - Copyright (C) 1999 Troll Tech AS, Norway. - Everyone is permitted to copy and - distribute this license document. - -The intent of this license is to establish freedom to share and change -the software regulated by this license under the open source model. - -This license applies to any software containing a notice placed by the -copyright holder saying that it may be distributed under the terms of -the Q Public License version 1.0. Such software is herein referred to -as the Software. This license covers modification and distribution of -the Software, use of third-party application programs based on the -Software, and development of free software which uses the Software. - - Granted Rights - -1. You are granted the non-exclusive rights set forth in this license -provided you agree to and comply with any and all conditions in this -license. Whole or partial distribution of the Software, or software -items that link with the Software, in any form signifies acceptance of -this license. - -2. You may copy and distribute the Software in unmodified form -provided that the entire package, including - but not restricted to - -copyright, trademark notices and disclaimers, as released by the -initial developer of the Software, is distributed. - -3. You may make modifications to the Software and distribute your -modifications, in a form that is separate from the Software, such as -patches. The following restrictions apply to modifications: - - a. Modifications must not alter or remove any copyright notices - in the Software. - - b. When modifications to the Software are released under this - license, a non-exclusive royalty-free right is granted to the - initial developer of the Software to distribute your - modification in future versions of the Software provided such - versions remain available under these terms in addition to any - other license(s) of the initial developer. - -4. You may distribute machine-executable forms of the Software or -machine-executable forms of modified versions of the Software, -provided that you meet these restrictions: - - a. You must include this license document in the distribution. - - b. You must ensure that all recipients of the machine-executable - forms are also able to receive the complete machine-readable - source code to the distributed Software, including all - modifications, without any charge beyond the costs of data - transfer, and place prominent notices in the distribution - explaining this. - - c. You must ensure that all modifications included in the - machine-executable forms are available under the terms of this - license. - -5. You may use the original or modified versions of the Software to -compile, link and run application programs legally developed by you or -by others. - -6. You may develop application programs, reusable components and other -software items that link with the original or modified versions of the -Software. These items, when distributed, are subject to the following -requirements: - - a. You must ensure that all recipients of machine-executable - forms of these items are also able to receive and use the - complete machine-readable source code to the items without any - charge beyond the costs of data transfer. - - b. You must explicitly license all recipients of your items to - use and re-distribute original and modified versions of the - items in both machine-executable and source code forms. The - recipients must be able to do so without any charges whatsoever, - and they must be able to re-distribute to anyone they choose. - - c. If the items are not available to the general public, and the - initial developer of the Software requests a copy of the items, - then you must supply one. - - Limitations of Liability - -In no event shall the initial developers or copyright holders be -liable for any damages whatsoever, including - but not restricted to - -lost revenue or profits or other direct, indirect, special, incidental -or consequential damages, even if they have been advised of the -possibility of such damages, except to the extent invariable law, if -any, provides otherwise. - - No Warranty - -The Software and this license document are provided AS IS with NO -WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - - Choice of Law - -This license is governed by the Laws of France. - ----------------------------------------------------------------------- - - GNU LIBRARY GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the library GPL. It is - numbered 2 because it goes with version 2 of the ordinary GPL.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Library General Public License, applies to some -specially designated Free Software Foundation software, and to any -other libraries whose authors decide to use it. You can use it for -your libraries, 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 library, or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link a program with the library, you must provide -complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - Our method of protecting your rights has two steps: (1) copyright -the library, and (2) offer you this license which gives you legal -permission to copy, distribute and/or modify the library. - - Also, for each distributor's protection, we want to make certain -that everyone understands that there is no warranty for this free -library. If the library is modified by someone else and passed on, we -want its recipients to know that what they have is not the original -version, 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 companies distributing free -software will individually obtain patent licenses, thus in effect -transforming the program into proprietary software. To prevent this, -we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - Most GNU software, including some libraries, is covered by the ordinary -GNU General Public License, which was designed for utility programs. This -license, the GNU Library General Public License, applies to certain -designated libraries. This license is quite different from the ordinary -one; be sure to read it in full, and don't assume that anything in it is -the same as in the ordinary license. - - The reason we have a separate public license for some libraries is that -they blur the distinction we usually make between modifying or adding to a -program and simply using it. Linking a program with a library, without -changing the library, is in some sense simply using the library, and is -analogous to running a utility program or application program. However, in -a textual and legal sense, the linked executable is a combined work, a -derivative of the original library, and the ordinary General Public License -treats it as such. - - Because of this blurred distinction, using the ordinary General -Public License for libraries did not effectively promote software -sharing, because most developers did not use the libraries. We -concluded that weaker conditions might promote sharing better. - - However, unrestricted linking of non-free programs would deprive the -users of those programs of all benefit from the free status of the -libraries themselves. This Library General Public License is intended to -permit developers of non-free programs to use free libraries, while -preserving your freedom as a user of such programs to change the free -libraries that are incorporated in them. (We have not seen how to achieve -this as regards changes in header files, but we have achieved it as regards -changes in the actual functions of the Library.) The hope is that this -will lead to faster development of free libraries. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, while the latter only -works together with the library. - - Note that it is possible for a library to be covered by the ordinary -General Public License rather than by this special one. - - GNU LIBRARY GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library which -contains a notice placed by the copyright holder or other authorized -party saying it may be distributed under the terms of this Library -General Public License (also called "this License"). Each licensee is -addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, 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 library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete 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 distribute a copy of this License along with the -Library. - - 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 Library or any portion -of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -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 Library, 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 Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you 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. - - If distribution of 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 satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also compile or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - c) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - d) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. 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. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library 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. - - 9. 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 Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -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. - - 11. 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 Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library 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 Library. - -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. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library 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. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Library 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 Library -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 Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -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 - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "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 -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. 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 LIBRARY 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 -LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. 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 library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, - MA 02111-1307, USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! diff --git a/vendor/ocaml/Makefile b/vendor/ocaml/Makefile deleted file mode 100644 index a1640ab82..000000000 --- a/vendor/ocaml/Makefile +++ /dev/null @@ -1,886 +0,0 @@ -######################################################################### -# # -# OCaml # -# # -# Xavier Leroy, projet Cristal, INRIA Rocquencourt # -# # -# Copyright 1999 Institut National de Recherche en Informatique et # -# en Automatique. All rights reserved. This file is distributed # -# under the terms of the Q Public License version 1.0. # -# # -######################################################################### - -# The main Makefile - -include config/Makefile -CAMLRUN ?= boot/ocamlrun -CAMLYACC ?= boot/ocamlyacc -include stdlib/StdlibModules - -CAMLC=$(CAMLRUN) boot/ocamlc -nostdlib -I boot -CAMLOPT=$(CAMLRUN) ./ocamlopt -nostdlib -I stdlib -I otherlibs/dynlink -COMPFLAGS=-strict-sequence -w +33..39+48+50 -w -40 -warn-error A -bin-annot \ - -safe-string $(INCLUDES) -LINKFLAGS= - -YACCFLAGS=-v -CAMLLEX=$(CAMLRUN) boot/ocamllex -CAMLDEP=$(CAMLRUN) tools/ocamldep -DEPFLAGS=$(INCLUDES) -SHELL=/bin/sh -MKDIR=mkdir -p - -OCAMLBUILDBYTE=$(WITH_OCAMLBUILD:=.byte) -OCAMLBUILDNATIVE=$(WITH_OCAMLBUILD:=.native) - -OCAMLDOC_OPT=$(WITH_OCAMLDOC:=.opt) - -INCLUDES=-I utils -I parsing -I typing -I bytecomp -I asmcomp -I driver \ - -I toplevel - -UTILS=utils/config.cmo utils/clflags.cmo \ - utils/misc.cmo utils/tbl.cmo \ - utils/terminfo.cmo utils/ccomp.cmo utils/warnings.cmo \ - utils/consistbl.cmo - -PARSING=parsing/location.cmo parsing/longident.cmo \ - parsing/docstrings.cmo parsing/ast_helper.cmo \ - parsing/syntaxerr.cmo parsing/parser.cmo \ - parsing/lexer.cmo parsing/parse.cmo parsing/printast.cmo \ - parsing/pprintast.cmo \ - parsing/ast_mapper.cmo parsing/depend.cmo - -TYPING=typing/ident.cmo typing/path.cmo \ - typing/primitive.cmo typing/types.cmo \ - typing/btype.cmo typing/oprint.cmo \ - typing/subst.cmo typing/predef.cmo \ - typing/datarepr.cmo typing/cmi_format.cmo typing/env.cmo \ - typing/typedtree.cmo typing/printtyped.cmo typing/ctype.cmo \ - typing/printtyp.cmo typing/includeclass.cmo \ - typing/mtype.cmo typing/envaux.cmo typing/includecore.cmo \ - typing/typedtreeIter.cmo typing/typedtreeMap.cmo typing/cmt_format.cmo \ - typing/includemod.cmo typing/typetexp.cmo typing/parmatch.cmo \ - typing/stypes.cmo typing/typecore.cmo \ - typing/typedecl.cmo typing/typeclass.cmo \ - typing/typemod.cmo - -COMP=bytecomp/lambda.cmo bytecomp/printlambda.cmo \ - bytecomp/typeopt.cmo bytecomp/switch.cmo bytecomp/matching.cmo \ - bytecomp/translobj.cmo bytecomp/translcore.cmo \ - bytecomp/translclass.cmo bytecomp/translmod.cmo \ - bytecomp/simplif.cmo bytecomp/runtimedef.cmo \ - driver/pparse.cmo driver/main_args.cmo \ - driver/compenv.cmo driver/compmisc.cmo - - -# @Hack We hardcode `super_packed` here. It's generated with the following -# command: -# ../../jscomp/bin/bspack.exe -bs-no-implicit-include -bs-main Super_main -I ../../jscomp/super_errors/ -I ../../jscomp/ext/ -I driver -o super_packed.ml -# -# I commented out `caml_string_length_based_compare` because I couldn't figure out how to build -# the C code and link it inside ocaml. -# -# We probably should fix the makefile up to point to some rules which allow -# building super_errors in a better way. -# Ben - August 11th 2017 -super_packed.cmo: $(UTILS) $(PARSING) $(TYPING) - $(CAMLC) $(COMPFLAGS) -c super_packed.ml - -COMMON=$(UTILS) $(PARSING) $(TYPING) super_packed.cmo $(COMP) - -BYTECOMP=bytecomp/meta.cmo bytecomp/instruct.cmo bytecomp/bytegen.cmo \ - bytecomp/printinstr.cmo bytecomp/opcodes.cmo bytecomp/emitcode.cmo \ - bytecomp/bytesections.cmo bytecomp/dll.cmo bytecomp/symtable.cmo \ - bytecomp/bytelink.cmo bytecomp/bytelibrarian.cmo bytecomp/bytepackager.cmo \ - driver/errors.cmo driver/compile.cmo - -ASMCOMP=asmcomp/arch.cmo asmcomp/debuginfo.cmo \ - asmcomp/cmm.cmo asmcomp/printcmm.cmo \ - asmcomp/reg.cmo asmcomp/mach.cmo asmcomp/proc.cmo \ - asmcomp/clambda.cmo asmcomp/printclambda.cmo asmcomp/compilenv.cmo \ - asmcomp/closure.cmo asmcomp/strmatch.cmo asmcomp/cmmgen.cmo \ - asmcomp/printmach.cmo asmcomp/selectgen.cmo asmcomp/selection.cmo \ - asmcomp/comballoc.cmo \ - asmcomp/CSEgen.cmo asmcomp/CSE.cmo \ - asmcomp/liveness.cmo \ - asmcomp/spill.cmo asmcomp/split.cmo \ - asmcomp/interf.cmo asmcomp/coloring.cmo \ - asmcomp/reloadgen.cmo asmcomp/reload.cmo \ - asmcomp/deadcode.cmo \ - asmcomp/printlinear.cmo asmcomp/linearize.cmo \ - asmcomp/schedgen.cmo asmcomp/scheduling.cmo \ - asmcomp/branch_relaxation_intf.cmo \ - asmcomp/branch_relaxation.cmo \ - asmcomp/emitaux.cmo asmcomp/emit.cmo asmcomp/asmgen.cmo \ - asmcomp/asmlink.cmo asmcomp/asmlibrarian.cmo asmcomp/asmpackager.cmo \ - driver/opterrors.cmo driver/optcompile.cmo - -TOPLEVEL=toplevel/genprintval.cmo toplevel/toploop.cmo \ - toplevel/trace.cmo toplevel/topdirs.cmo toplevel/topmain.cmo - -BYTESTART=driver/main.cmo -driver/main.cmo: super_packed.cmo driver/main.ml - $(CAMLC) $(COMPFLAGS) -c driver/main.ml - -OPTSTART=driver/optmain.cmo - -TOPLEVELSTART=toplevel/topstart.cmo - -NATTOPOBJS=$(UTILS) $(PARSING) $(TYPING) $(COMP) $(ASMCOMP) \ - toplevel/genprintval.cmo toplevel/opttoploop.cmo toplevel/opttopdirs.cmo \ - toplevel/opttopmain.cmo toplevel/opttopstart.cmo - -PERVASIVES=$(STDLIB_MODULES) outcometree topdirs toploop - -# For users who don't read the INSTALL file -defaultentry: - @echo "Please refer to the installation instructions in file INSTALL." - @echo "If you've just unpacked the distribution, something like" - @echo " ./configure" - @echo " make world.opt" - @echo " make install" - @echo "should work. But see the file INSTALL for more details." - -# Recompile the system using the bootstrap compiler -all: - $(MAKE) runtime - $(MAKE) coreall - $(MAKE) ocaml - $(MAKE) otherlibraries $(OCAMLBUILDBYTE) $(WITH_DEBUGGER) \ - $(WITH_OCAMLDOC) - -# Compile everything the first time -world: - $(MAKE) coldstart - $(MAKE) all - -# Compile also native code compiler and libraries, fast -world.opt: - $(MAKE) coldstart - $(MAKE) opt.opt - -# Hard bootstrap how-to: -# (only necessary in some cases, for example if you remove some primitive) -# -# make coreboot [old system -- you were in a stable state] -# -# make clean runtime coreall -# -# make clean runtime coreall -# make coreboot [new system -- now in a stable state] - -# Core bootstrapping cycle -coreboot: -# Save the original bootstrap compiler - $(MAKE) backup -# Promote the new compiler but keep the old runtime -# This compiler runs on boot/ocamlrun and produces bytecode for -# byterun/ocamlrun - $(MAKE) promote-cross -# Rebuild ocamlc and ocamllex (run on byterun/ocamlrun) - $(MAKE) partialclean - $(MAKE) ocamlc ocamllex ocamltools -# Rebuild the library (using byterun/ocamlrun ./ocamlc) - $(MAKE) library-cross -# Promote the new compiler and the new runtime - $(MAKE) promote -# Rebuild the core system - $(MAKE) partialclean - $(MAKE) core -# Check if fixpoint reached - $(MAKE) compare - -# Bootstrap and rebuild the whole system. -# The compilation of ocaml will fail if the runtime has changed. -# Never mind, just do make bootstrap to reach fixpoint again. -bootstrap: - $(MAKE) coreboot - $(MAKE) all - $(MAKE) compare - -LIBFILES=stdlib.cma std_exit.cmo *.cmi camlheader - -# Start up the system from the distribution compiler -coldstart: - cd byterun; $(MAKE) all - cp byterun/ocamlrun$(EXE) boot/ocamlrun$(EXE) - cd yacc; $(MAKE) all - cp yacc/ocamlyacc$(EXE) boot/ocamlyacc$(EXE) - cd stdlib; $(MAKE) COMPILER=../boot/ocamlc all - cd stdlib; cp $(LIBFILES) ../boot - if test -f boot/libcamlrun.a; then :; else \ - ln -s ../byterun/libcamlrun.a boot/libcamlrun.a; fi - if test -d stdlib/caml; then :; else \ - ln -s ../byterun/caml stdlib/caml; fi - -# Build the core system: the minimum needed to make depend and bootstrap -core: - $(MAKE) coldstart - $(MAKE) coreall - -# Recompile the core system using the bootstrap compiler -coreall: - $(MAKE) ocamlc - $(MAKE) ocamllex ocamlyacc ocamltools library - -# Save the current bootstrap compiler -MAXSAVED=boot/Saved/Saved.prev/Saved.prev/Saved.prev/Saved.prev/Saved.prev -backup: - if test -d boot/Saved; then : ; else mkdir boot/Saved; fi - if test -d $(MAXSAVED); then rm -r $(MAXSAVED); else : ; fi - mv boot/Saved boot/Saved.prev - mkdir boot/Saved - mv boot/Saved.prev boot/Saved/Saved.prev - cp boot/ocamlrun$(EXE) boot/Saved - mv boot/ocamlc boot/ocamllex boot/ocamlyacc$(EXE) boot/ocamldep \ - boot/Saved - cd boot; cp $(LIBFILES) Saved - -# Promote the newly compiled system to the rank of cross compiler -# (Runs on the old runtime, produces code for the new runtime) -promote-cross: - cp ocamlc boot/ocamlc - cp lex/ocamllex boot/ocamllex - cp yacc/ocamlyacc$(EXE) boot/ocamlyacc$(EXE) - cp tools/ocamldep boot/ocamldep - cd stdlib; cp $(LIBFILES) ../boot - -# Promote the newly compiled system to the rank of bootstrap compiler -# (Runs on the new runtime, produces code for the new runtime) -promote: promote-cross - cp byterun/ocamlrun$(EXE) boot/ocamlrun$(EXE) - -# Restore the saved bootstrap compiler if a problem arises -restore: - mv boot/Saved/* boot - rmdir boot/Saved - mv boot/Saved.prev boot/Saved - -# Check if fixpoint reached -compare: - @if cmp boot/ocamlc ocamlc && cmp boot/ocamllex lex/ocamllex \ - && cmp boot/ocamldep tools/ocamldep; \ - then echo "Fixpoint reached, bootstrap succeeded."; \ - else echo "Fixpoint not reached, try one more bootstrapping cycle."; \ - fi - -# Remove old bootstrap compilers -cleanboot: - rm -rf boot/Saved/Saved.prev/* - -# Compile the native-code compiler -opt-core: - $(MAKE) runtimeopt - $(MAKE) ocamlopt - $(MAKE) libraryopt - -opt: - $(MAKE) runtimeopt - $(MAKE) ocamlopt - $(MAKE) libraryopt - $(MAKE) otherlibrariesopt ocamltoolsopt $(OCAMLBUILDNATIVE) - -# Native-code versions of the tools -opt.opt: - $(MAKE) checkstack - $(MAKE) runtime - $(MAKE) core - $(MAKE) ocaml - $(MAKE) opt-core - $(MAKE) ocamlc.opt - $(MAKE) otherlibraries $(WITH_DEBUGGER) $(WITH_OCAMLDOC) \ - $(OCAMLBUILDBYTE) - $(MAKE) ocamlopt.opt - $(MAKE) otherlibrariesopt - $(MAKE) ocamllex.opt ocamltoolsopt ocamltoolsopt.opt $(OCAMLDOC_OPT) \ - $(OCAMLBUILDNATIVE) - -base.opt: - $(MAKE) checkstack - $(MAKE) runtime - $(MAKE) core - $(MAKE) ocaml - $(MAKE) opt-core - $(MAKE) ocamlc.opt - $(MAKE) otherlibraries $(OCAMLBUILDBYTE) $(WITH_DEBUGGER) \ - $(WITH_OCAMLDOC) - $(MAKE) ocamlopt.opt - $(MAKE) otherlibrariesopt - -# Installation - -COMPLIBDIR=$(LIBDIR)/compiler-libs - -INSTALL_BINDIR=$(DESTDIR)$(BINDIR) -INSTALL_LIBDIR=$(DESTDIR)$(LIBDIR) -INSTALL_COMPLIBDIR=$(DESTDIR)$(COMPLIBDIR) -INSTALL_STUBLIBDIR=$(DESTDIR)$(STUBLIBDIR) -INSTALL_MANDIR=$(DESTDIR)$(MANDIR) - -install: - if test -d $(INSTALL_BINDIR); then : ; \ - else $(MKDIR) $(INSTALL_BINDIR); fi - if test -d $(INSTALL_LIBDIR); then : ; \ - else $(MKDIR) $(INSTALL_LIBDIR); fi - if test -d $(INSTALL_STUBLIBDIR); then : ; \ - else $(MKDIR) $(INSTALL_STUBLIBDIR); fi - if test -d $(INSTALL_COMPLIBDIR); then : ; \ - else $(MKDIR) $(INSTALL_COMPLIBDIR); fi - if test -d $(INSTALL_MANDIR)/man$(MANEXT); then : ; \ - else $(MKDIR) $(INSTALL_MANDIR)/man$(MANEXT); fi - cp VERSION $(INSTALL_LIBDIR)/ - cd $(INSTALL_LIBDIR); rm -f dllbigarray.so dllnums.so dllthreads.so \ - dllunix.so dllgraphics.so dllstr.so - cd byterun; $(MAKE) install - cp ocamlc $(INSTALL_BINDIR)/ocamlc$(EXE) - cp ocaml $(INSTALL_BINDIR)/ocaml$(EXE) - cd stdlib; $(MAKE) install - cp lex/ocamllex $(INSTALL_BINDIR)/ocamllex$(EXE) - cp $(CAMLYACC)$(EXE) $(INSTALL_BINDIR)/ocamlyacc$(EXE) - cp utils/*.cmi parsing/*.cmi typing/*.cmi bytecomp/*.cmi driver/*.cmi \ - toplevel/*.cmi $(INSTALL_COMPLIBDIR) - cp compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma \ - compilerlibs/ocamltoplevel.cma $(BYTESTART) $(TOPLEVELSTART) \ - $(INSTALL_COMPLIBDIR) - cp expunge $(INSTALL_LIBDIR)/expunge$(EXE) - cp toplevel/topdirs.cmi $(INSTALL_LIBDIR) - cd tools; $(MAKE) install - -cd man; $(MAKE) install - for i in $(OTHERLIBRARIES); do \ - (cd otherlibs/$$i; $(MAKE) install) || exit $$?; \ - done - if test -n "$(WITH_OCAMLDOC)"; then (cd ocamldoc; $(MAKE) install); else :; fi - if test -n "$(WITH_DEBUGGER)"; then (cd debugger; $(MAKE) install); \ - else :; fi - if test -n "$(WITH_OCAMLBUILD)"; then (cd ocamlbuild; $(MAKE) install); \ - else :; fi - cp config/Makefile $(INSTALL_LIBDIR)/Makefile.config - if test -f ocamlopt; then $(MAKE) installopt; else :; fi - -# Installation of the native-code compiler -installopt: - cd asmrun; $(MAKE) install - cp ocamlopt $(INSTALL_BINDIR)/ocamlopt$(EXE) - cd stdlib; $(MAKE) installopt - cp asmcomp/*.cmi $(INSTALL_COMPLIBDIR) - cp compilerlibs/ocamloptcomp.cma $(OPTSTART) $(INSTALL_COMPLIBDIR) - if test -n "$(WITH_OCAMLDOC)"; then (cd ocamldoc; $(MAKE) installopt); \ - else :; fi - if test -n "$(WITH_OCAMLBUILD)"; then (cd ocamlbuild; $(MAKE) installopt); \ - else :; fi - for i in $(OTHERLIBRARIES); \ - do (cd otherlibs/$$i; $(MAKE) installopt) || exit $$?; done - if test -f ocamlopt.opt ; then $(MAKE) installoptopt; fi - cd tools; $(MAKE) installopt - -installoptopt: - cp ocamlc.opt $(INSTALL_BINDIR)/ocamlc.opt$(EXE) - cp ocamlopt.opt $(INSTALL_BINDIR)/ocamlopt.opt$(EXE) - cp lex/ocamllex.opt $(INSTALL_BINDIR)/ocamllex.opt$(EXE) - cp compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlcommon.a \ - compilerlibs/ocamlbytecomp.cmxa compilerlibs/ocamlbytecomp.a \ - compilerlibs/ocamloptcomp.cmxa compilerlibs/ocamloptcomp.a \ - $(BYTESTART:.cmo=.cmx) $(BYTESTART:.cmo=.o) \ - $(OPTSTART:.cmo=.cmx) $(OPTSTART:.cmo=.o) \ - $(INSTALL_COMPLIBDIR) - cd $(INSTALL_COMPLIBDIR) && $(RANLIB) ocamlcommon.a ocamlbytecomp.a \ - ocamloptcomp.a - -# Run all tests - -tests: opt.opt - cd testsuite; $(MAKE) clean && $(MAKE) all - -# The clean target - -clean:: partialclean - -# Shared parts of the system - -compilerlibs/ocamlcommon.cma: $(COMMON) - $(CAMLC) -a -linkall -o $@ $(COMMON) -partialclean:: - rm -f compilerlibs/ocamlcommon.cma - -# The bytecode compiler - -compilerlibs/ocamlbytecomp.cma: $(BYTECOMP) - $(CAMLC) -a -o $@ $(BYTECOMP) -partialclean:: - rm -f compilerlibs/ocamlbytecomp.cma - -ocamlc: compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma $(BYTESTART) - $(CAMLC) $(LINKFLAGS) -compat-32 -o ocamlc \ - compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma $(BYTESTART) - -# The native-code compiler - -compilerlibs/ocamloptcomp.cma: $(ASMCOMP) - $(CAMLC) -a -o $@ $(ASMCOMP) -partialclean:: - rm -f compilerlibs/ocamloptcomp.cma - -ocamlopt: compilerlibs/ocamlcommon.cma compilerlibs/ocamloptcomp.cma $(OPTSTART) - $(CAMLC) $(LINKFLAGS) -o ocamlopt \ - compilerlibs/ocamlcommon.cma compilerlibs/ocamloptcomp.cma $(OPTSTART) - -partialclean:: - rm -f ocamlopt - -# The toplevel - -compilerlibs/ocamltoplevel.cma: $(TOPLEVEL) - $(CAMLC) -a -o $@ $(TOPLEVEL) -partialclean:: - rm -f compilerlibs/ocamltoplevel.cma - -ocaml: compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma \ - compilerlibs/ocamltoplevel.cma $(TOPLEVELSTART) expunge - $(CAMLC) $(LINKFLAGS) -linkall -o ocaml.tmp \ - compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma \ - compilerlibs/ocamltoplevel.cma $(TOPLEVELSTART) - - $(CAMLRUN) ./expunge ocaml.tmp ocaml $(PERVASIVES) - rm -f ocaml.tmp - -partialclean:: - rm -f ocaml - -# The native toplevel - -ocamlnat: ocamlopt otherlibs/dynlink/dynlink.cmxa $(NATTOPOBJS:.cmo=.cmx) - $(CAMLOPT) $(LINKFLAGS) otherlibs/dynlink/dynlink.cmxa -o ocamlnat \ - $(NATTOPOBJS:.cmo=.cmx) -linkall - -toplevel/opttoploop.cmx: otherlibs/dynlink/dynlink.cmxa - -otherlibs/dynlink/dynlink.cmxa: otherlibs/dynlink/natdynlink.ml - cd otherlibs/dynlink && $(MAKE) allopt - -# The configuration file - -utils/config.ml: utils/config.mlp config/Makefile - @rm -f utils/config.ml - sed -e 's|%%LIBDIR%%|$(LIBDIR)|' \ - -e 's|%%BYTERUN%%|$(BINDIR)/ocamlrun|' \ - -e 's|%%CCOMPTYPE%%|cc|' \ - -e 's|%%BYTECC%%|$(BYTECC) $(BYTECCCOMPOPTS) $(SHAREDCCCOMPOPTS)|' \ - -e 's|%%NATIVECC%%|$(NATIVECC) $(NATIVECCCOMPOPTS)|' \ - -e 's|%%PACKLD%%|$(PACKLD)|' \ - -e 's|%%BYTECCLIBS%%|$(BYTECCLIBS)|' \ - -e 's|%%NATIVECCLIBS%%|$(NATIVECCLIBS)|' \ - -e 's|%%RANLIBCMD%%|$(RANLIBCMD)|' \ - -e 's|%%ARCMD%%|$(ARCMD)|' \ - -e 's|%%CC_PROFILE%%|$(CC_PROFILE)|' \ - -e 's|%%ARCH%%|$(ARCH)|' \ - -e 's|%%MODEL%%|$(MODEL)|' \ - -e 's|%%SYSTEM%%|$(SYSTEM)|' \ - -e 's|%%EXT_OBJ%%|.o|' \ - -e 's|%%EXT_ASM%%|.s|' \ - -e 's|%%EXT_LIB%%|.a|' \ - -e 's|%%EXT_DLL%%|.so|' \ - -e 's|%%SYSTHREAD_SUPPORT%%|$(SYSTHREAD_SUPPORT)|' \ - -e 's|%%ASM%%|$(ASM)|' \ - -e 's|%%ASM_CFI_SUPPORTED%%|$(ASM_CFI_SUPPORTED)|' \ - -e 's|%%WITH_FRAME_POINTERS%%|$(WITH_FRAME_POINTERS)|' \ - -e 's|%%MKDLL%%|$(MKDLL)|' \ - -e 's|%%MKEXE%%|$(MKEXE)|' \ - -e 's|%%MKMAINDLL%%|$(MKMAINDLL)|' \ - -e 's|%%HOST%%|$(HOST)|' \ - -e 's|%%TARGET%%|$(TARGET)|' \ - utils/config.mlp > utils/config.ml - -partialclean:: - rm -f utils/config.ml - -beforedepend:: utils/config.ml - -# The parser - -parsing/parser.mli parsing/parser.ml: parsing/parser.mly - $(CAMLYACC) $(YACCFLAGS) parsing/parser.mly - -partialclean:: - rm -f parsing/parser.mli parsing/parser.ml parsing/parser.output - -beforedepend:: parsing/parser.mli parsing/parser.ml - -# The lexer - -parsing/lexer.ml: parsing/lexer.mll - $(CAMLLEX) parsing/lexer.mll - -partialclean:: - rm -f parsing/lexer.ml - -beforedepend:: parsing/lexer.ml - -# Shared parts of the system compiled with the native-code compiler - -compilerlibs/ocamlcommon.cmxa: $(COMMON:.cmo=.cmx) - $(CAMLOPT) -a -linkall -o $@ $(COMMON:.cmo=.cmx) -partialclean:: - rm -f compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlcommon.a - -# The bytecode compiler compiled with the native-code compiler - -compilerlibs/ocamlbytecomp.cmxa: $(BYTECOMP:.cmo=.cmx) - $(CAMLOPT) -a -o $@ $(BYTECOMP:.cmo=.cmx) -partialclean:: - rm -f compilerlibs/ocamlbytecomp.cmxa compilerlibs/ocamlbytecomp.a - -ocamlc.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlbytecomp.cmxa \ - $(BYTESTART:.cmo=.cmx) - $(CAMLOPT) $(LINKFLAGS) -ccopt "$(BYTECCLINKOPTS)" -o ocamlc.opt \ - compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlbytecomp.cmxa \ - $(BYTESTART:.cmo=.cmx) -cclib "$(BYTECCLIBS)" - -partialclean:: - rm -f ocamlc.opt - -# The native-code compiler compiled with itself - -compilerlibs/ocamloptcomp.cmxa: $(ASMCOMP:.cmo=.cmx) - $(CAMLOPT) -a -o $@ $(ASMCOMP:.cmo=.cmx) -partialclean:: - rm -f compilerlibs/ocamloptcomp.cmxa compilerlibs/ocamloptcomp.a - -ocamlopt.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \ - $(OPTSTART:.cmo=.cmx) - $(CAMLOPT) $(LINKFLAGS) -o ocamlopt.opt \ - compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \ - $(OPTSTART:.cmo=.cmx) - -partialclean:: - rm -f ocamlopt.opt - -$(COMMON:.cmo=.cmx) $(BYTECOMP:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx): ocamlopt - -# The numeric opcodes - -bytecomp/opcodes.ml: byterun/caml/instruct.h - sed -n -e '/^enum/p' -e 's/,//g' -e '/^ /p' byterun/caml/instruct.h | \ - awk -f tools/make-opcodes > bytecomp/opcodes.ml - -partialclean:: - rm -f bytecomp/opcodes.ml - -beforedepend:: bytecomp/opcodes.ml - -# The predefined exceptions and primitives - -byterun/primitives: - cd byterun; $(MAKE) primitives - -bytecomp/runtimedef.ml: byterun/primitives byterun/caml/fail.h - (echo 'let builtin_exceptions = [|'; \ - sed -n -e 's|.*/\* \("[A-Za-z_]*"\) \*/$$| \1;|p' byterun/caml/fail.h | \ - sed -e '$$s/;$$//'; \ - echo '|]'; \ - echo 'let builtin_primitives = [|'; \ - sed -e 's/.*/ "&";/' -e '$$s/;$$//' byterun/primitives; \ - echo '|]') > bytecomp/runtimedef.ml - -partialclean:: - rm -f bytecomp/runtimedef.ml - -beforedepend:: bytecomp/runtimedef.ml - -# Choose the right machine-dependent files - -asmcomp/arch.ml: asmcomp/$(ARCH)/arch.ml - ln -s $(ARCH)/arch.ml asmcomp/arch.ml - -partialclean:: - rm -f asmcomp/arch.ml - -beforedepend:: asmcomp/arch.ml - -asmcomp/proc.ml: asmcomp/$(ARCH)/proc.ml - ln -s $(ARCH)/proc.ml asmcomp/proc.ml - -partialclean:: - rm -f asmcomp/proc.ml - -beforedepend:: asmcomp/proc.ml - -asmcomp/selection.ml: asmcomp/$(ARCH)/selection.ml - ln -s $(ARCH)/selection.ml asmcomp/selection.ml - -partialclean:: - rm -f asmcomp/selection.ml - -beforedepend:: asmcomp/selection.ml - -asmcomp/CSE.ml: asmcomp/$(ARCH)/CSE.ml - ln -s $(ARCH)/CSE.ml asmcomp/CSE.ml - -partialclean:: - rm -f asmcomp/CSE.ml - -beforedepend:: asmcomp/CSE.ml - -asmcomp/reload.ml: asmcomp/$(ARCH)/reload.ml - ln -s $(ARCH)/reload.ml asmcomp/reload.ml - -partialclean:: - rm -f asmcomp/reload.ml - -beforedepend:: asmcomp/reload.ml - -asmcomp/scheduling.ml: asmcomp/$(ARCH)/scheduling.ml - ln -s $(ARCH)/scheduling.ml asmcomp/scheduling.ml - -partialclean:: - rm -f asmcomp/scheduling.ml - -beforedepend:: asmcomp/scheduling.ml - -# Preprocess the code emitters - -asmcomp/emit.ml: asmcomp/$(ARCH)/emit.mlp tools/cvt_emit - $(CAMLRUN) tools/cvt_emit < asmcomp/$(ARCH)/emit.mlp > asmcomp/emit.ml \ - || { rm -f asmcomp/emit.ml; exit 2; } - -partialclean:: - rm -f asmcomp/emit.ml - -beforedepend:: asmcomp/emit.ml - -tools/cvt_emit: tools/cvt_emit.mll - cd tools && $(MAKE) cvt_emit - -# The "expunge" utility - -expunge: compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma \ - toplevel/expunge.cmo - $(CAMLC) $(LINKFLAGS) -o expunge compilerlibs/ocamlcommon.cma \ - compilerlibs/ocamlbytecomp.cma toplevel/expunge.cmo - -partialclean:: - rm -f expunge - -# The runtime system for the bytecode compiler - -runtime: - cd byterun; $(MAKE) all - if test -f stdlib/libcamlrun.a; then :; else \ - ln -s ../byterun/libcamlrun.a stdlib/libcamlrun.a; fi - -clean:: - cd byterun; $(MAKE) clean - rm -f stdlib/libcamlrun.a - rm -f stdlib/caml - -alldepend:: - cd byterun; $(MAKE) depend - -# The runtime system for the native-code compiler - -runtimeopt: makeruntimeopt - cp asmrun/libasmrun.a stdlib/libasmrun.a - -makeruntimeopt: - cd asmrun; $(MAKE) all - -clean:: - cd asmrun; $(MAKE) clean - rm -f stdlib/libasmrun.a - -alldepend:: - cd asmrun; $(MAKE) depend - -# The library - -library: ocamlc - cd stdlib; $(MAKE) all - -library-cross: - cd stdlib; $(MAKE) CAMLRUN=../byterun/ocamlrun all - -libraryopt: - cd stdlib; $(MAKE) allopt - -partialclean:: - cd stdlib; $(MAKE) clean - -alldepend:: - cd stdlib; $(MAKE) depend - -# The lexer and parser generators - -ocamllex: ocamlyacc ocamlc - cd lex; $(MAKE) all - -ocamllex.opt: ocamlopt - cd lex; $(MAKE) allopt - -partialclean:: - cd lex; $(MAKE) clean - -alldepend:: - cd lex; $(MAKE) depend - -ocamlyacc: - cd yacc; $(MAKE) all - -clean:: - cd yacc; $(MAKE) clean - -# Tools - -ocamltools: ocamlc ocamlyacc ocamllex asmcomp/cmx_format.cmi \ - asmcomp/printclambda.cmo - cd tools; $(MAKE) all - -ocamltoolsopt: ocamlopt - cd tools; $(MAKE) opt - -ocamltoolsopt.opt: ocamlc.opt ocamlyacc ocamllex asmcomp/cmx_format.cmi \ - asmcomp/printclambda.cmx - cd tools; $(MAKE) opt.opt - -partialclean:: - cd tools; $(MAKE) clean - -alldepend:: - cd tools; $(MAKE) depend - -# OCamldoc - -ocamldoc: ocamlc ocamlyacc ocamllex otherlibraries - cd ocamldoc && $(MAKE) all - -ocamldoc.opt: ocamlc.opt ocamlyacc ocamllex - cd ocamldoc && $(MAKE) opt.opt - -# Documentation - -html_doc: ocamldoc - make -C ocamldoc html_doc - @echo "documentation is in ./ocamldoc/stdlib_html/" - -partialclean:: - cd ocamldoc && $(MAKE) clean - -alldepend:: - cd ocamldoc && $(MAKE) depend - -# The extra libraries - -otherlibraries: ocamltools - for i in $(OTHERLIBRARIES); do \ - (cd otherlibs/$$i; $(MAKE) all) || exit $$?; \ - done - -otherlibrariesopt: - for i in $(OTHERLIBRARIES); do \ - (cd otherlibs/$$i; $(MAKE) allopt) || exit $$?; \ - done - -partialclean:: - for i in $(OTHERLIBRARIES); do \ - (cd otherlibs/$$i && $(MAKE) partialclean); \ - done - -clean:: - for i in $(OTHERLIBRARIES); do (cd otherlibs/$$i && $(MAKE) clean); done - -alldepend:: - for i in $(OTHERLIBRARIES); do (cd otherlibs/$$i; $(MAKE) depend); done - -# The replay debugger - -ocamldebugger: ocamlc ocamlyacc ocamllex otherlibraries - cd debugger; $(MAKE) all - -partialclean:: - cd debugger; $(MAKE) clean - -alldepend:: - cd debugger; $(MAKE) depend - -# Ocamlbuild - -ocamlbuild.byte: ocamlc otherlibraries - cd ocamlbuild && $(MAKE) all - -ocamlbuild.native: ocamlopt otherlibrariesopt - cd ocamlbuild && $(MAKE) allopt - -partialclean:: - cd ocamlbuild && $(MAKE) clean - -alldepend:: - cd ocamlbuild && $(MAKE) depend - -# Check that the stack limit is reasonable. - -checkstack: - @if $(MKEXE) -o tools/checkstack$(EXE) tools/checkstack.c; \ - then tools/checkstack$(EXE); \ - else :; \ - fi - @rm -f tools/checkstack - -# Make clean in the test suite - -clean:: - cd testsuite; $(MAKE) clean - -# Make MacOS X package - -package-macosx: - sudo rm -rf package-macosx/root - $(MAKE) PREFIX="`pwd`"/package-macosx/root install - tools/make-package-macosx - sudo rm -rf package-macosx/root - -clean:: - rm -rf package-macosx/*.pkg package-macosx/*.dmg - -# Default rules - -.SUFFIXES: .ml .mli .cmo .cmi .cmx - -.ml.cmo: - $(CAMLC) $(COMPFLAGS) -c $< - -.mli.cmi: - $(CAMLC) $(COMPFLAGS) -c $< - -.ml.cmx: - $(CAMLOPT) $(COMPFLAGS) -c $< - -partialclean:: - for d in utils parsing typing bytecomp asmcomp driver toplevel tools; \ - do rm -f $$d/*.cm[ioxt] $$d/*.cmti $$d/*.annot $$d/*.[so] $$d/*~; done - rm -f *~ - -depend: beforedepend - (for d in utils parsing typing bytecomp asmcomp driver toplevel; \ - do $(CAMLDEP) $(DEPFLAGS) $$d/*.mli $$d/*.ml; \ - done) > .depend - -alldepend:: depend - -distclean: - $(MAKE) clean - rm -f boot/ocamlrun boot/ocamlrun.exe boot/camlheader boot/ocamlyacc \ - boot/*.cm* boot/libcamlrun.a - rm -f config/Makefile config/m.h config/s.h - rm -f tools/*.bak - rm -f ocaml ocamlc - rm -f testsuite/_log - -.PHONY: all backup bootstrap checkstack clean -.PHONY: partialclean beforedepend alldepend cleanboot coldstart -.PHONY: compare core coreall -.PHONY: coreboot defaultentry depend distclean install installopt -.PHONY: library library-cross libraryopt -.PHONY: ocamlbuild.byte ocamlbuild.native ocamldebugger ocamldoc -.PHONY: ocamldoc.opt ocamllex ocamllex.opt ocamltools ocamltoolsopt -.PHONY: ocamltoolsopt.opt ocamlyacc opt-core opt opt.opt otherlibraries -.PHONY: otherlibrariesopt package-macosx promote promote-cross -.PHONY: restore runtime runtimeopt makeruntimeopt world world.opt - -include .depend diff --git a/vendor/ocaml/Makefile.nt b/vendor/ocaml/Makefile.nt deleted file mode 100644 index 3179374c7..000000000 --- a/vendor/ocaml/Makefile.nt +++ /dev/null @@ -1,763 +0,0 @@ -######################################################################### -# # -# OCaml # -# # -# Xavier Leroy, projet Cristal, INRIA Rocquencourt # -# # -# Copyright 1999 Institut National de Recherche en Informatique et # -# en Automatique. All rights reserved. This file is distributed # -# under the terms of the Q Public License version 1.0. # -# # -######################################################################### - -# The main Makefile - -include config/Makefile -CAMLRUN ?= boot/ocamlrun -CAMLYACC ?= boot/ocamlyacc -include stdlib/StdlibModules - -CAMLC=$(CAMLRUN) boot/ocamlc -nostdlib -I boot -CAMLOPT=$(CAMLRUN) ./ocamlopt -nostdlib -I stdlib -I otherlibs/dynlink -COMPFLAGS=-strict-sequence -w +33..39+48 -warn-error A -bin-annot $(INCLUDES) -LINKFLAGS= -YACCFLAGS= -CAMLLEX=$(CAMLRUN) boot/ocamllex -CAMLDEP=$(CAMLRUN) tools/ocamldep -DEPFLAGS=$(INCLUDES) - -OCAMLBUILDBYTE=$(WITH_OCAMLBUILD:=.byte) -OCAMLBUILDNATIVE=$(WITH_OCAMLBUILD:=.native) - -OCAMLDOC_OPT=$(WITH_OCAMLDOC:=.opt) - -INCLUDES=-I utils -I parsing -I typing -I bytecomp -I asmcomp -I driver \ - -I toplevel - -UTILS=utils/misc.cmo utils/tbl.cmo utils/config.cmo \ - utils/clflags.cmo utils/terminfo.cmo utils/ccomp.cmo utils/warnings.cmo \ - utils/consistbl.cmo - -PARSING=parsing/location.cmo parsing/longident.cmo \ - parsing/docstrings.cmo parsing/ast_helper.cmo \ - parsing/syntaxerr.cmo parsing/parser.cmo \ - parsing/lexer.cmo parsing/parse.cmo parsing/printast.cmo \ - parsing/pprintast.cmo \ - parsing/ast_mapper.cmo - -TYPING=typing/ident.cmo typing/path.cmo \ - typing/primitive.cmo typing/types.cmo \ - typing/btype.cmo typing/oprint.cmo \ - typing/subst.cmo typing/predef.cmo \ - typing/datarepr.cmo typing/cmi_format.cmo typing/env.cmo \ - typing/typedtree.cmo typing/printtyped.cmo typing/ctype.cmo \ - typing/printtyp.cmo typing/includeclass.cmo \ - typing/mtype.cmo typing/envaux.cmo typing/includecore.cmo \ - typing/typedtreeIter.cmo typing/typedtreeMap.cmo typing/cmt_format.cmo \ - typing/includemod.cmo typing/typetexp.cmo typing/parmatch.cmo \ - typing/stypes.cmo typing/typecore.cmo \ - typing/typedecl.cmo typing/typeclass.cmo \ - typing/typemod.cmo - -COMP=bytecomp/lambda.cmo bytecomp/printlambda.cmo \ - bytecomp/typeopt.cmo bytecomp/switch.cmo bytecomp/matching.cmo \ - bytecomp/translobj.cmo bytecomp/translcore.cmo \ - bytecomp/translclass.cmo bytecomp/translmod.cmo \ - bytecomp/simplif.cmo bytecomp/runtimedef.cmo \ - driver/pparse.cmo driver/main_args.cmo \ - driver/compenv.cmo driver/compmisc.cmo - -COMMON=$(UTILS) $(PARSING) $(TYPING) $(COMP) - -BYTECOMP=bytecomp/meta.cmo bytecomp/instruct.cmo bytecomp/bytegen.cmo \ - bytecomp/printinstr.cmo bytecomp/opcodes.cmo bytecomp/emitcode.cmo \ - bytecomp/bytesections.cmo bytecomp/dll.cmo bytecomp/symtable.cmo \ - bytecomp/bytelink.cmo bytecomp/bytelibrarian.cmo bytecomp/bytepackager.cmo \ - driver/errors.cmo driver/compile.cmo - -ASMCOMP=asmcomp/arch.cmo asmcomp/debuginfo.cmo \ - asmcomp/cmm.cmo asmcomp/printcmm.cmo \ - asmcomp/reg.cmo asmcomp/mach.cmo asmcomp/proc.cmo \ - asmcomp/clambda.cmo asmcomp/printclambda.cmo asmcomp/compilenv.cmo \ - asmcomp/closure.cmo asmcomp/strmatch.cmo asmcomp/cmmgen.cmo \ - asmcomp/printmach.cmo asmcomp/selectgen.cmo asmcomp/selection.cmo \ - asmcomp/comballoc.cmo \ - asmcomp/CSEgen.cmo asmcomp/CSE.cmo \ - asmcomp/liveness.cmo \ - asmcomp/spill.cmo asmcomp/split.cmo \ - asmcomp/interf.cmo asmcomp/coloring.cmo \ - asmcomp/reloadgen.cmo asmcomp/reload.cmo \ - asmcomp/deadcode.cmo \ - asmcomp/printlinear.cmo asmcomp/linearize.cmo \ - asmcomp/schedgen.cmo asmcomp/scheduling.cmo \ - asmcomp/emitaux.cmo asmcomp/emit.cmo asmcomp/asmgen.cmo \ - asmcomp/asmlink.cmo asmcomp/asmlibrarian.cmo asmcomp/asmpackager.cmo \ - driver/opterrors.cmo driver/optcompile.cmo - -TOPLEVEL=toplevel/genprintval.cmo toplevel/toploop.cmo \ - toplevel/trace.cmo toplevel/topdirs.cmo toplevel/topmain.cmo - -BYTESTART=driver/main.cmo - -OPTSTART=driver/optmain.cmo - -TOPLEVELSTART=toplevel/topstart.cmo - -PERVASIVES=$(STDLIB_MODULES) outcometree topdirs toploop - -# For users who don't read the INSTALL file -defaultentry: - @echo "Please refer to the installation instructions in file README.win32." - -# Recompile the system using the bootstrap compiler -all: runtime ocamlc ocamllex ocamlyacc ocamltools library ocaml \ - otherlibraries $(OCAMLBUILDBYTE) $(WITH_DEBUGGER) \ - $(WITH_OCAMLDOC) - -# The compilation of ocaml will fail if the runtime has changed. -# Never mind, just do make bootstrap to reach fixpoint again. - -# Compile everything the first time -world: coldstart all - -# Core bootstrapping cycle -coreboot: -# Save the original bootstrap compiler - $(MAKEREC) backup -# Promote the new compiler but keep the old runtime -# This compiler runs on boot/ocamlrun and produces bytecode for -# byterun/ocamlrun - $(MAKEREC) promote-cross -# Rebuild ocamlc and ocamllex (run on byterun/ocamlrun) - $(MAKEREC) partialclean - $(MAKEREC) ocamlc ocamllex ocamltools -# Rebuild the library (using byterun/ocamlrun ./ocamlc) - $(MAKEREC) library-cross -# Promote the new compiler and the new runtime - $(MAKEREC) promote -# Rebuild the core system - $(MAKEREC) partialclean - $(MAKEREC) core -# Check if fixpoint reached - $(MAKEREC) compare - -# Do a complete bootstrapping cycle -bootstrap: - $(MAKEREC) coreboot - $(MAKEREC) all - $(MAKEREC) compare - -LIBFILES=stdlib.cma std_exit.cmo *.cmi camlheader - -# Start up the system from the distribution compiler -coldstart: - cd byterun ; $(MAKEREC) all - cp byterun/ocamlrun.exe boot/ocamlrun.exe - cd yacc ; $(MAKEREC) all - cp yacc/ocamlyacc.exe boot/ocamlyacc.exe - cd stdlib ; $(MAKEREC) COMPILER=../boot/ocamlc all - cd stdlib ; cp $(LIBFILES) ../boot - -# Build the core system: the minimum needed to make depend and bootstrap -core: runtime ocamlc ocamllex ocamlyacc ocamltools library - -# Save the current bootstrap compiler -MAXSAVED=boot/Saved/Saved.prev/Saved.prev/Saved.prev/Saved.prev/Saved.prev -backup: - mkdir -p boot/Saved - if test -d $(MAXSAVED); then rm -r $(MAXSAVED); fi - mv boot/Saved boot/Saved.prev - mkdir boot/Saved - mv boot/Saved.prev boot/Saved/Saved.prev - cp boot/ocamlrun.exe boot/Saved/ocamlrun.exe - cd boot ; mv ocamlc ocamllex ocamldep ocamlyacc.exe Saved - cd boot ; cp $(LIBFILES) Saved - -# Promote the newly compiled system to the rank of cross compiler -# (Runs on the old runtime, produces code for the new runtime) -promote-cross: - cp ocamlc boot/ocamlc - cp lex/ocamllex boot/ocamllex - cp yacc/ocamlyacc.exe boot/ocamlyacc.exe - cp tools/ocamldep boot/ocamldep - cd stdlib ; cp $(LIBFILES) ../boot - -# Promote the newly compiled system to the rank of bootstrap compiler -# (Runs on the new runtime, produces code for the new runtime) -promote: promote-cross - cp byterun/ocamlrun.exe boot/ocamlrun.exe - -# Restore the saved bootstrap compiler if a problem arises -restore: - cd boot/Saved ; mv * .. - rmdir boot/Saved - mv boot/Saved.prev boot/Saved - -# Check if fixpoint reached -compare: - - cmp -i 4096 boot/ocamlc ocamlc - - cmp -i 4096 boot/ocamllex lex/ocamllex - - cmp -i 4096 boot/ocamldep tools/ocamldep - -# Remove old bootstrap compilers -cleanboot: - rm -rf boot/Saved/Saved.prev/* - -# Compile the native-code compiler -opt-core: - $(MAKE) -f Makefile.nt runtimeopt - $(MAKE) -f Makefile.nt ocamlopt - $(MAKE) -f Makefile.nt libraryopt - -opt: - $(MAKE) -f Makefile.nt opt-core - $(MAKE) -f Makefile.nt otherlibrariesopt ocamltoolsopt - -# Native-code versions of the tools -opt.opt: core opt-core ocamlc.opt all ocamlopt.opt ocamllex.opt \ - ocamltoolsopt ocamltoolsopt.opt $(OCAMLBUILDNATIVE) $(OCAMLDOC_OPT) - -# Complete build using fast compilers -world.opt: coldstart opt.opt - -# Installation - -COMPLIBDIR=$(LIBDIR)/compiler-libs - -INSTALL_BINDIR=$(DESTDIR)$(BINDIR) -INSTALL_LIBDIR=$(DESTDIR)$(LIBDIR) -INSTALL_COMPLIBDIR=$(DESTDIR)$(COMPLIBDIR) -INSTALL_STUBLIBDIR=$(DESTDIR)$(STUBLIBDIR) -INSTALL_MANDIR=$(DESTDIR)$(MANDIR) - -install: installbyt installopt - -installbyt: - mkdir -p $(INSTALL_BINDIR) - mkdir -p $(INSTALL_LIBDIR) - mkdir -p $(INSTALL_STUBLIBDIR) - mkdir -p $(INSTALL_COMPLIBDIR) - cp VERSION $(INSTALL_LIBDIR)/ - cd byterun ; $(MAKEREC) install - cp ocamlc $(INSTALL_BINDIR)/ocamlc.exe - cp ocaml $(INSTALL_BINDIR)/ocaml.exe - cd stdlib ; $(MAKEREC) install - cp lex/ocamllex $(INSTALL_BINDIR)/ocamllex.exe - cp yacc/ocamlyacc.exe $(INSTALL_BINDIR)/ocamlyacc.exe - cp utils/*.cmi parsing/*.cmi typing/*.cmi bytecomp/*.cmi driver/*.cmi \ - toplevel/*.cmi $(INSTALL_COMPLIBDIR) - cp compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma \ - compilerlibs/ocamltoplevel.cma $(BYTESTART) $(TOPLEVELSTART) \ - $(INSTALL_COMPLIBDIR) - cp expunge $(INSTALL_LIBDIR)/expunge.exe - cp toplevel/topdirs.cmi $(INSTALL_LIBDIR) - cd tools ; $(MAKEREC) install - for i in $(OTHERLIBRARIES); do \ - $(MAKEREC) -C otherlibs/$$i install || exit $$?; \ - done - if test -n "$(WITH_OCAMLDOC)"; then (cd ocamldoc; $(MAKEREC) install); \ - else :; fi - if test -n "$(WITH_DEBUGGER)"; then (cd debugger; $(MAKEREC) install); \ - else :; fi - if test -n "$(WITH_OCAMLBUILD)"; then (cd ocamlbuild; $(MAKE) install); \ - else :; fi - cp config/Makefile $(INSTALL_LIBDIR)/Makefile.config - cp README $(INSTALL_DISTRIB)/Readme.general.txt - cp README.win32 $(INSTALL_DISTRIB)/Readme.windows.txt - cp LICENSE $(INSTALL_DISTRIB)/License.txt - cp Changes $(INSTALL_DISTRIB)/Changes.txt - -# Installation of the native-code compiler -installopt: - cd asmrun ; $(MAKEREC) install - cp ocamlopt $(INSTALL_BINDIR)/ocamlopt.exe - cd stdlib ; $(MAKEREC) installopt - cp asmcomp/*.cmi $(INSTALL_COMPLIBDIR) - cp compilerlibs/ocamloptcomp.cma $(OPTSTART) $(INSTALL_COMPLIBDIR) - if test -n "$(WITH_OCAMLDOC)"; then (cd ocamldoc; $(MAKEREC) installopt); fi - if test -n "$(WITH_OCAMLBUILD)"; then (cd ocamlbuild; $(MAKE) installopt); \ - else :; fi - for i in $(OTHERLIBRARIES); do \ - $(MAKEREC) -C otherlibs/$$i installopt || exit $$?; \ - done - if test -f ocamlopt.opt ; then $(MAKEREC) installoptopt; fi - cd tools; $(MAKE) installopt - -installoptopt: - cp ocamlc.opt $(INSTALL_BINDIR)/ocamlc.opt$(EXE) - cp ocamlopt.opt $(INSTALL_BINDIR)/ocamlopt.opt$(EXE) - cp lex/ocamllex.opt $(INSTALL_BINDIR)/ocamllex.opt$(EXE) - cp compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlcommon.$(A) \ - compilerlibs/ocamlbytecomp.cmxa compilerlibs/ocamlbytecomp.$(A) \ - compilerlibs/ocamloptcomp.cmxa compilerlibs/ocamloptcomp.$(A) \ - $(BYTESTART:.cmo=.cmx) $(BYTESTART:.cmo=.$(O)) \ - $(OPTSTART:.cmo=.cmx) $(OPTSTART:.cmo=.$(O)) \ - $(INSTALL_COMPLIBDIR) - -clean:: partialclean - -# The compiler - -compilerlibs/ocamlcommon.cma: $(COMMON) - $(CAMLC) -a -o $@ $(COMMON) -partialclean:: - rm -f compilerlibs/ocamlcommon.cma - -# The bytecode compiler - -compilerlibs/ocamlbytecomp.cma: $(BYTECOMP) - $(CAMLC) -a -o $@ $(BYTECOMP) -partialclean:: - rm -f compilerlibs/ocamlbytecomp.cma - -ocamlc: compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma $(BYTESTART) - $(CAMLC) $(LINKFLAGS) -compat-32 -o ocamlc compilerlibs/ocamlcommon.cma \ - compilerlibs/ocamlbytecomp.cma $(BYTESTART) - -partialclean:: - rm -f ocamlc - -# The native-code compiler - -compilerlibs/ocamloptcomp.cma: $(ASMCOMP) - $(CAMLC) -a -o $@ $(ASMCOMP) -partialclean:: - rm -f compilerlibs/ocamloptcomp.cma - -ocamlopt: compilerlibs/ocamlcommon.cma compilerlibs/ocamloptcomp.cma $(OPTSTART) - $(CAMLC) $(LINKFLAGS) -o ocamlopt \ - compilerlibs/ocamlcommon.cma compilerlibs/ocamloptcomp.cma $(OPTSTART) - -partialclean:: - rm -f ocamlopt - -# The toplevel - -compilerlibs/ocamltoplevel.cma: $(TOPLEVEL) - $(CAMLC) -a -o $@ $(TOPLEVEL) -partialclean:: - rm -f compilerlibs/ocamltoplevel.cma - -ocaml: compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma \ - compilerlibs/ocamltoplevel.cma $(TOPLEVELSTART) expunge - $(CAMLC) $(LINKFLAGS) -linkall -o ocaml.tmp \ - compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma \ - compilerlibs/ocamltoplevel.cma $(TOPLEVELSTART) - - $(CAMLRUN) ./expunge ocaml.tmp ocaml $(PERVASIVES) - rm -f ocaml.tmp - -partialclean:: - rm -f ocaml - -# The native toplevel - -ocamlnat: ocamlopt otherlibs/dynlink/dynlink.cmxa $(NATTOPOBJS:.cmo=.cmx) - $(CAMLOPT) $(LINKFLAGS) otherlibs/dynlink/dynlink.cmxa -o ocamlnat \ - $(NATTOPOBJS:.cmo=.cmx) -linkall - -toplevel/opttoploop.cmx: otherlibs/dynlink/dynlink.cmxa - -otherlibs/dynlink/dynlink.cmxa: otherlibs/dynlink/natdynlink.ml - cd otherlibs/dynlink && $(MAKE) -f Makefile.nt allopt - - -# The configuration file - -utils/config.ml: utils/config.mlp config/Makefile - @rm -f utils/config.ml - sed -e "s|%%LIBDIR%%|$(LIBDIR)|" \ - -e "s|%%BYTERUN%%|ocamlrun|" \ - -e 's|%%CCOMPTYPE%%|$(CCOMPTYPE)|' \ - -e "s|%%BYTECC%%|$(BYTECC) $(BYTECCCOMPOPTS)|" \ - -e "s|%%NATIVECC%%|$(NATIVECC) $(NATIVECCCOMPOPTS)|" \ - -e "s|%%PARTIALLD%%|$(PARTIALLD)|" \ - -e "s|%%PACKLD%%|$(PACKLD)|" \ - -e "s|%%BYTECCLIBS%%|$(BYTECCLIBS)|" \ - -e "s|%%NATIVECCLIBS%%|$(NATIVECCLIBS)|" \ - -e 's|%%RANLIBCMD%%|$(RANLIBCMD)|' \ - -e 's|%%ARCMD%%|$(ARCMD)|' \ - -e 's|%%BINUTILS_NM%%|$(BINUTILS_NM)|' \ - -e 's|%%BINUTILS_OBJCOPY%%|$(BINUTILS_OBJCOPY)|' \ - -e "s|%%ARCH%%|$(ARCH)|" \ - -e "s|%%MODEL%%|$(MODEL)|" \ - -e "s|%%SYSTEM%%|$(SYSTEM)|" \ - -e "s|%%EXT_OBJ%%|.$(O)|" \ - -e "s|%%EXT_ASM%%|.$(S)|" \ - -e "s|%%EXT_LIB%%|.$(A)|" \ - -e "s|%%EXT_DLL%%|.dll|" \ - -e "s|%%SYSTHREAD_SUPPORT%%|true|" \ - -e 's|%%ASM%%|$(ASM)|' \ - -e 's|%%ASM_CFI_SUPPORTED%%|false|' \ - -e 's|%%WITH_FRAME_POINTERS%%|false|' \ - -e 's|%%MKDLL%%|$(MKDLL)|' \ - -e 's|%%MKEXE%%|$(MKEXE)|' \ - -e 's|%%MKMAINDLL%%|$(MKMAINDLL)|' \ - -e 's|%%CC_PROFILE%%||' \ - -e 's|%%HOST%%|$(HOST)|' \ - -e 's|%%TARGET%%|$(TARGET)|' \ - utils/config.mlp > utils/config.ml - -partialclean:: - rm -f utils/config.ml - -beforedepend:: utils/config.ml - -# The parser - -parsing/parser.mli parsing/parser.ml: parsing/parser.mly - $(CAMLYACC) $(YACCFLAGS) parsing/parser.mly - -partialclean:: - rm -f parsing/parser.mli parsing/parser.ml parsing/parser.output - -beforedepend:: parsing/parser.mli parsing/parser.ml - -# The lexer - -parsing/lexer.ml: parsing/lexer.mll - $(CAMLLEX) parsing/lexer.mll - -partialclean:: - rm -f parsing/lexer.ml - -beforedepend:: parsing/lexer.ml - -# Shared parts of the system compiled with the native-code compiler - -compilerlibs/ocamlcommon.cmxa: $(COMMON:.cmo=.cmx) - $(CAMLOPT) -a -o $@ $(COMMON:.cmo=.cmx) -partialclean:: - rm -f compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlcommon.$(A) - -# The bytecode compiler compiled with the native-code compiler - -compilerlibs/ocamlbytecomp.cmxa: $(BYTECOMP:.cmo=.cmx) - $(CAMLOPT) -a -o $@ $(BYTECOMP:.cmo=.cmx) -partialclean:: - rm -f compilerlibs/ocamlbytecomp.cmxa compilerlibs/ocamlbytecomp.$(A) - -ocamlc.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlbytecomp.cmxa \ - $(BYTESTART:.cmo=.cmx) - $(CAMLOPT) $(LINKFLAGS) -ccopt "$(BYTECCLINKOPTS)" -o ocamlc.opt \ - compilerlibs/ocamlcommon.cmxa compilerlibs/ocamlbytecomp.cmxa \ - $(BYTESTART:.cmo=.cmx) -cclib "$(BYTECCLIBS)" - -partialclean:: - rm -f ocamlc.opt - -# The native-code compiler compiled with itself - -compilerlibs/ocamloptcomp.cmxa: $(ASMCOMP:.cmo=.cmx) - $(CAMLOPT) -a -o $@ $(ASMCOMP:.cmo=.cmx) -partialclean:: - rm -f compilerlibs/ocamloptcomp.cmxa compilerlibs/ocamloptcomp.$(A) - -ocamlopt.opt: compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \ - $(OPTSTART:.cmo=.cmx) - $(CAMLOPT) $(LINKFLAGS) -o ocamlopt.opt \ - compilerlibs/ocamlcommon.cmxa compilerlibs/ocamloptcomp.cmxa \ - $(OPTSTART:.cmo=.cmx) - -partialclean:: - rm -f ocamlopt.opt - -$(COMMON:.cmo=.cmx) $(BYTECOMP:.cmo=.cmx) $(ASMCOMP:.cmo=.cmx): ocamlopt - -# The numeric opcodes - -bytecomp/opcodes.ml: byterun/caml/instruct.h - sed -n -e "/^enum/p" -e "s|,||g" -e "/^ /p" byterun/caml/instruct.h | \ - gawk -f tools/make-opcodes > bytecomp/opcodes.ml - -partialclean:: - rm -f bytecomp/opcodes.ml - -beforedepend:: bytecomp/opcodes.ml - -# The predefined exceptions and primitives - -byterun/primitives: - cd byterun ; $(MAKEREC) primitives - -bytecomp/runtimedef.ml: byterun/primitives byterun/caml/fail.h - (echo 'let builtin_exceptions = [|'; \ - sed -n -e 's|.*/\* \("[A-Za-z_]*"\) \*/$$| \1;|p' byterun/caml/fail.h | \ - sed -e '$$s/;$$//'; \ - echo '|]'; \ - echo 'let builtin_primitives = [|'; \ - sed -e 's/.*/ "&";/' -e '$$s/;$$//' byterun/primitives; \ - echo '|]') > bytecomp/runtimedef.ml - -partialclean:: - rm -f bytecomp/runtimedef.ml - -beforedepend:: bytecomp/runtimedef.ml - -# Choose the right machine-dependent files - -asmcomp/arch.ml: asmcomp/$(ARCH)/arch.ml - cp asmcomp/$(ARCH)/arch.ml asmcomp/arch.ml - -partialclean:: - rm -f asmcomp/arch.ml - -beforedepend:: asmcomp/arch.ml - -ifeq ($(TOOLCHAIN),msvc) -ASMCOMP_EMIT=asmcomp/$(ARCH)/emit_nt.mlp -else -ASMCOMP_EMIT=asmcomp/$(ARCH)/emit.mlp -endif - -asmcomp/proc.ml: asmcomp/$(ARCH)/proc.ml - cp asmcomp/$(ARCH)/proc.ml asmcomp/proc.ml - -partialclean:: - rm -f asmcomp/proc.ml - -beforedepend:: asmcomp/proc.ml - -asmcomp/selection.ml: asmcomp/$(ARCH)/selection.ml - cp asmcomp/$(ARCH)/selection.ml asmcomp/selection.ml - -partialclean:: - rm -f asmcomp/selection.ml - -beforedepend:: asmcomp/selection.ml - -asmcomp/CSE.ml: asmcomp/$(ARCH)/CSE.ml - cp asmcomp/$(ARCH)/CSE.ml asmcomp/CSE.ml - -partialclean:: - rm -f asmcomp/CSE.ml - -beforedepend:: asmcomp/CSE.ml - -asmcomp/reload.ml: asmcomp/$(ARCH)/reload.ml - cp asmcomp/$(ARCH)/reload.ml asmcomp/reload.ml - -partialclean:: - rm -f asmcomp/reload.ml - -beforedepend:: asmcomp/reload.ml - -asmcomp/scheduling.ml: asmcomp/$(ARCH)/scheduling.ml - cp asmcomp/$(ARCH)/scheduling.ml asmcomp/scheduling.ml - -partialclean:: - rm -f asmcomp/scheduling.ml - -beforedepend:: asmcomp/scheduling.ml - -# Preprocess the code emitters - -asmcomp/emit.ml: $(ASMCOMP_EMIT) tools/cvt_emit - $(CAMLRUN) tools/cvt_emit < $(ASMCOMP_EMIT) > asmcomp/emit.ml - -partialclean:: - rm -f asmcomp/emit.ml - -beforedepend:: asmcomp/emit.ml - -tools/cvt_emit: tools/cvt_emit.mll - cd tools ; $(MAKEREC) cvt_emit - -# The "expunge" utility - -expunge: compilerlibs/ocamlcommon.cma compilerlibs/ocamlbytecomp.cma \ - toplevel/expunge.cmo - $(CAMLC) $(LINKFLAGS) -o expunge compilerlibs/ocamlcommon.cma \ - compilerlibs/ocamlbytecomp.cma toplevel/expunge.cmo - -partialclean:: - rm -f expunge - -# The runtime system for the bytecode compiler - -runtime: makeruntime stdlib/libcamlrun.$(A) - -makeruntime: - cd byterun ; $(MAKEREC) all -stdlib/libcamlrun.$(A): byterun/libcamlrun.$(A) - cp byterun/libcamlrun.$(A) stdlib/libcamlrun.$(A) -clean:: - cd byterun ; $(MAKEREC) clean - rm -f stdlib/libcamlrun.$(A) -alldepend:: - cd byterun ; $(MAKEREC) depend - -# The runtime system for the native-code compiler - -runtimeopt: makeruntimeopt stdlib/libasmrun.$(A) - -makeruntimeopt: - cd asmrun ; $(MAKEREC) all -stdlib/libasmrun.$(A): asmrun/libasmrun.$(A) - cp asmrun/libasmrun.$(A) stdlib/libasmrun.$(A) -clean:: - cd asmrun ; $(MAKEREC) clean - rm -f stdlib/libasmrun.$(A) -alldepend:: - cd asmrun ; $(MAKEREC) depend - -# The library - -library: - cd stdlib ; $(MAKEREC) all -library-cross: - cd stdlib ; $(MAKEREC) CAMLRUN=../byterun/ocamlrun all -libraryopt: - cd stdlib ; $(MAKEREC) allopt -partialclean:: - cd stdlib ; $(MAKEREC) clean -alldepend:: - cd stdlib ; $(MAKEREC) depend - -# The lexer and parser generators - -ocamllex: - cd lex ; $(MAKEREC) all -ocamllex.opt: - cd lex ; $(MAKEREC) allopt -partialclean:: - cd lex ; $(MAKEREC) clean -alldepend:: - cd lex ; $(MAKEREC) depend - -ocamlyacc: - cd yacc ; $(MAKEREC) all -clean:: - cd yacc ; $(MAKEREC) clean - -# Tools - -ocamltools: ocamlc ocamlyacc ocamllex asmcomp/cmx_format.cmi \ - asmcomp/printclambda.cmo - cd tools ; $(MAKEREC) all - -ocamltoolsopt: - cd tools ; $(MAKEREC) opt - -ocamltoolsopt.opt: ocamlc.opt ocamlyacc ocamllex asmcomp/cmx_format.cmi \ - asmcomp/printclambda.cmx - cd tools ; $(MAKEREC) opt.opt - -partialclean:: - cd tools ; $(MAKEREC) clean -alldepend:: - cd tools ; $(MAKEREC) depend - -# OCamldoc - -ocamldoc: - cd ocamldoc ; $(MAKEREC) all -ocamldoc.opt: - cd ocamldoc ; $(MAKEREC) opt.opt -partialclean:: - cd ocamldoc ; $(MAKEREC) clean -alldepend:: - cd ocamldoc ; $(MAKEREC) depend - -# The extra libraries - -otherlibraries: - for i in $(OTHERLIBRARIES); do \ - $(MAKEREC) -C otherlibs/$$i all || exit $$?; \ - done -otherlibrariesopt: - for i in $(OTHERLIBRARIES); \ - do $(MAKEREC) -C otherlibs/$$i allopt || exit $$?; \ - done -partialclean:: - for i in $(OTHERLIBRARIES); \ - do $(MAKEREC) -C otherlibs/$$i partialclean || exit $$?; \ - done -clean:: - for i in $(OTHERLIBRARIES); do \ - $(MAKEREC) -C otherlibs/$$i clean || exit $$?; \ - done -alldepend:: - for i in $(OTHERLIBRARIES); do \ - $(MAKEREC) -C otherlibs/$$i depend || exit $$?; \ - done - -# The replay debugger - -ocamldebugger: ocamlc ocamlyacc ocamllex - cd debugger; $(MAKEREC) all -partialclean:: - cd debugger; $(MAKEREC) clean -alldepend:: - cd debugger; $(MAKEREC) depend - -# Ocamlbuild - -ocamlbuild.byte: ocamlc otherlibraries - cd ocamlbuild && $(MAKE) all - -ocamlbuild.native: ocamlopt otherlibrariesopt - cd ocamlbuild && $(MAKE) allopt - -partialclean:: - cd ocamlbuild && $(MAKE) clean - -alldepend:: - cd ocamlbuild && $(MAKE) depend - -# Make clean in the test suite - -clean:: - cd testsuite; $(MAKE) clean - -# Default rules - -.SUFFIXES: .ml .mli .cmo .cmi .cmx - -.ml.cmo: - $(CAMLC) $(COMPFLAGS) -c $< - -.mli.cmi: - $(CAMLC) $(COMPFLAGS) -c $< - -.ml.cmx: - $(CAMLOPT) $(COMPFLAGS) -c $< - -partialclean:: - rm -f utils/*.cm* utils/*.$(O) utils/*.$(S) - rm -f parsing/*.cm* parsing/*.$(O) parsing/*.$(S) - rm -f typing/*.cm* typing/*.$(O) typing/*.$(S) - rm -f bytecomp/*.cm* bytecomp/*.$(O) bytecomp/*.$(S) - rm -f asmcomp/*.cm* asmcomp/*.$(O) asmcomp/*.$(S) - rm -f driver/*.cm* driver/*.$(O) driver/*.$(S) - rm -f toplevel/*.cm* toplevel/*.$(O) toplevel/*.$(S) - rm -f tools/*.cm* tools/*.$(O) tools/*.$(S) - -depend: beforedepend - (for d in utils parsing typing bytecomp asmcomp driver toplevel; \ - do $(CAMLDEP) $(DEPFLAGS) $$d/*.mli $$d/*.ml; \ - done) > .depend - -alldepend:: depend - -distclean: - $(MAKE) clean - rm -f asmrun/.depend.nt byterun/.depend.nt - rm -f boot/ocamlrun boot/ocamlrun.exe boot/camlheader boot/ocamlyacc \ - boot/*.cm* boot/libcamlrun.a - rm -f config/Makefile config/m.h config/s.h - rm -f tools/*.bak - rm -f ocaml ocamlc - rm -f testsuite/_log - -.PHONY: all backup bootstrap checkstack clean -.PHONY: partialclean beforedepend alldepend cleanboot coldstart -.PHONY: compare core coreall -.PHONY: coreboot defaultentry depend distclean install installopt -.PHONY: library library-cross libraryopt ocamlbuild-mixed-boot -.PHONY: ocamlbuild.byte ocamlbuild.native ocamldebugger ocamldoc -.PHONY: ocamldoc.opt ocamllex ocamllex.opt ocamltools ocamltoolsopt -.PHONY: ocamltoolsopt.opt ocamlyacc opt-core opt opt.opt otherlibraries -.PHONY: otherlibrariesopt promote promote-cross -.PHONY: restore runtime runtimeopt makeruntimeopt world world.opt - -include .depend diff --git a/vendor/ocaml/README b/vendor/ocaml/README deleted file mode 100644 index 093ad8edf..000000000 --- a/vendor/ocaml/README +++ /dev/null @@ -1,130 +0,0 @@ -OVERVIEW: - -OCaml is an implementation of the ML language, based on the Caml Light -dialect extended with a complete class-based object system and a -powerful module system in the style of Standard ML. - -OCaml comprises two compilers. One generates bytecode which is then -interpreted by a C program. This compiler runs quickly, generates -compact code with moderate memory requirements, and is portable to -essentially any 32 or 64 bit Unix platform. Performance of generated -programs is quite good for a bytecoded implementation. This compiler -can be used either as a standalone, batch-oriented compiler that -produces standalone programs, or as an interactive, toplevel-based -system. - -The other compiler generates high-performance native code for a number -of processors. Compilation takes longer and generates bigger code, but -the generated programs deliver excellent performance, while retaining -the moderate memory requirements of the bytecode compiler. The -native-code compiler currently runs on the following platforms: - -Tier 1 (actively used and maintained by the core OCaml team): - - AMD64 (Opteron) Linux, MacOS X, MS Windows - IA32 (Pentium) Linux, FreeBSD, MacOS X, MS Windows - PowerPC Linux, MacOS X - ARM Linux - -Tier 2 (maintained when possible, with help from users): - - AMD64 FreeBSD, OpenBSD - IA32 (Pentium) NetBSD, OpenBSD, Solaris 9 - PowerPC NetBSD - SPARC Solaris, Linux, NetBSD - -Other operating systems for the processors above have not been tested, -but the compiler may work under other operating systems with little work. - -Before the introduction of objects, OCaml was known as Caml Special -Light. OCaml is almost upwards compatible with Caml Special Light, -except for a few additional reserved keywords that have forced some -renaming of standard library functions. - -CONTENTS: - - Changes what's new with each release - INSTALL instructions for installation - LICENSE license and copyright notice - Makefile main Makefile - README this file - README.win32 infos on the MS Windows ports of OCaml - asmcomp/ native-code compiler and linker - asmrun/ native-code runtime library - boot/ bootstrap compiler - bytecomp/ bytecode compiler and linker - byterun/ bytecode interpreter and runtime system - config/ autoconfiguration stuff - debugger/ source-level replay debugger - driver/ driver code for the compilers - emacs/ OCaml editing mode and debugger interface for GNU Emacs - lex/ lexer generator - maccaml/ the Macintosh GUI - ocamldoc/ documentation generator - otherlibs/ several external libraries - parsing/ syntax analysis - stdlib/ standard library - tools/ various utilities - toplevel/ interactive system - typing/ typechecking - utils/ utility libraries - yacc/ parser generator - -COPYRIGHT: - -All files marked "Copyright INRIA" in this distribution are copyright -1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -2007, 2008, 2009, 2010, 2011, 2012 Institut National de Recherche en -Informatique et en Automatique (INRIA) and distributed under the -conditions stated in file LICENSE. - -INSTALLATION: - -See the file INSTALL for installation instructions on Unix, Linux and -MacOS X machines. For MS Windows, see README.win32. - -DOCUMENTATION: - -The OCaml manual is distributed in HTML, PDF, Postscript, DVI, and -Emacs Info files. It is available on the World Wide Web, at - - http://caml.inria.fr/ - -AVAILABILITY: - -The complete OCaml distribution can be accessed at - - http://caml.inria.fr/ - -KEEPING IN TOUCH WITH THE CAML COMMUNITY: - -There exists a mailing list of users of the OCaml implementations -developed at INRIA. The purpose of this list is to share -experience, exchange ideas (and even code), and report on applications -of the OCaml language. Messages can be written in English or in -French. The list has more than 1000 subscribers. - -Messages to the list should be sent to: - - caml-list@inria.fr - -You can subscribe to this list via the Web interface at - - https://sympa-roc.inria.fr/wws/info/caml-list - -Archives of the list are available on the Web site above. - -The Usenet news groups comp.lang.ml and comp.lang.functional -also contains discussions about the ML family of programming languages, -including OCaml. - -BUG REPORTS AND USER FEEDBACK: - -Please report bugs using the Web interface to the bug-tracking system -at http://caml.inria.fr/bin/caml-bugs - -To be effective, bug reports should include a complete program -(preferably small) that exhibits the unexpected behavior, and the -configuration you are using (machine type, etc). - -You can also contact the implementors directly at caml@inria.fr. diff --git a/vendor/ocaml/README.win32 b/vendor/ocaml/README.win32 deleted file mode 100644 index 0f520f466..000000000 --- a/vendor/ocaml/README.win32 +++ /dev/null @@ -1,453 +0,0 @@ - Release notes on the MS Windows ports of OCaml - ---------------------------------------------- - -There are no less than five ports of OCaml for MS Windows available: - - a native Win32 port, built with the Microsoft development tools; - - a native Win32 port, built with the 32-bit version of the gcc - compiler from the mingw-w64 project, packaged in Cygwin - (under the name mingw64-i686); - - a native Win32 port, built with the 64-bit version of the gcc - compiler from the mingw-w64 project, packaged in Cygwin - (under the name mingw64-x86_64); - - a port consisting of the Unix sources compiled under the Cygwin - Unix-like environment for Windows; - - a native Win64 port (64-bit Windows), built with the Microsoft - development tools. - -Here is a summary of the main differences between these ports: - - Native MS Native MinGW Cygwin - -64 bits? Win32 or Win64 Win32 or Win64 Win32 only - -Third-party software required - - for base bytecode system none none none - - for ocamlc -custom MSVC Cygwin Cygwin - - for native-code generation MSVC+MASM Cygwin Cygwin - -Speed of bytecode interpreter 70% 100% 100% - -Replay debugger yes (**) yes (**) yes - -The Unix library partial partial full - -The Threads library yes yes yes - -The Graphics library yes yes no - -Restrictions on generated executables? none none yes (*) - -(*) Cygwin-generated .exe files refer to a DLL that is distributed under -the GPL. Thus, these .exe files can only be distributed under a license -that is compatible with the GPL. Executables generated by MSVC or by -MinGW have no such restrictions. - -(**) The debugger is supported but the "replay" functions are not enabled. -Other functions are available (step, goto, run...). - -The remainder of this document gives more information on each port. - ------------------------------------------------------------------------------- - - The native Win32 port built with Microsoft Windows SDK - ------------------------------------------------------ - -REQUIREMENTS: - -This port runs under MS Windows 7 (32 and 64 bits), Vista, XP, and 2000. - -The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...) -runs without any additional tools. - -The native-code compiler (ocamlopt) requires the Microsoft Windows SDK -(item [1]) and the flexdll tool (item [2]). - -Statically linking OCaml bytecode with C code (ocamlc -custom) also requires -items [1] and [2]. - - -INSTALLATION: - -The binary distribution is a self-installing executable archive. -Just run it and it should install OCaml automatically. - -THIRD-PARTY SOFTWARE: - -[1] Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1. - Can be downloaded for free from - http://www.microsoft.com/downloads/en/default.aspx - under the name "Microsoft Windows 7 SDK". - -[2] flexdll version 0.31 or later. - Can be downloaded from http://alain.frisch.fr/flexdll.html - -RECOMPILATION FROM THE SOURCES: - -The command-line tools can be recompiled from the Unix source -distribution (ocaml-X.YY.Z.tar.gz), which also contains the files modified -for Windows. - -You will need the following software components to perform the recompilation: -- Windows NT, 2000, XP, Vista, or 7 (32 or 64 bits). -- Items [1] and [2] from the list of recommended software above. -- The Cygwin port of GNU tools, available from http://www.cygwin.com/ - Install at least the following packages (and their dependencies): - diffutils, dos2unix, gcc-core, make, ncurses. - -First, you need to set up your cygwin environment for using the MS -tools. The following assumes that you have installed [1], [2], and [3] -in their default directories. If this is not the case, you will need -to adjust the paths accordingly. - - Open a Windows Command Prompt and enter the following command: - set PFPATH=C:\Program Files - If you are compiling on the 64-bit version of Windows 7, enter the - following instead: - set PFPATH=C:\Program Files (x86) - - Then enter the following commands: - cd "%PFPATH%\Microsoft Visual Studio 9.0\VC\bin" - set FLEXDLLDIR=%PFPATH%\flexdll - vcvars32 - echo VCPATH="`cygpath -p '%Path%'`" >C:\cygwin\tmp\msenv - echo LIBPATH="%LIBPATH%" >>C:\cygwin\tmp\msenv - echo INCLUDE="%INCLUDE%;%FLEXDLLDIR%" >>C:\cygwin\tmp\msenv - echo FLPATH="`cygpath '%FLEXDLLDIR%'`" >>C:\cygwin\tmp\msenv - echo PATH="$VCPATH:$FLPATH:$PATH" >>C:\cygwin\tmp\msenv - echo export PATH LIB LIBPATH INCLUDE >>C:\cygwin\tmp\msenv - echo export OCAMLBUILD_FIND=/usr/bin/find >>C:\cygwin\tmp\msenv - - Open a Cygwin shell and enter the following commands: - tr -d '\r' .msenv32 - echo '. $HOME/.msenv32' >>.bashrc - -Now, close the Command Prompt and the shell and you're set up for -using the MS tools under Cygwin. - - -To recompile OCaml, start a new Cygwin shell and change to the top-level -directory of the OCaml distribution. Then, do - - cp config/m-nt.h config/m.h - cp config/s-nt.h config/s.h - cp config/Makefile.msvc config/Makefile - -Then, edit config/Makefile as needed, following the comments in this file. -Normally, the only variable that need to be changed is - PREFIX where to install everything - -Finally, use "make -f Makefile.nt" to build the system, e.g. - - make -f Makefile.nt world - make -f Makefile.nt bootstrap - make -f Makefile.nt opt - make -f Makefile.nt opt.opt - make -f Makefile.nt install - -NOTES: - -* The VC++ compiler does not implement "computed gotos", and therefore -generates inefficient code for byterun/interp.c. Consequently, the -performance of bytecode programs is about 2/3 of that obtained under -Unix/GCC or Cygwin or Mingw on similar hardware. - -* Libraries available in this port: "num", "str", "threads", "graphics", -and large parts of "unix". - -* The replay debugger is partially supported (no reverse execution). - -CREDITS: - -The initial port of Caml Special Light (the ancestor of OCaml) to -Windows NT was done by Kevin Gallo at Microsoft Research, who kindly -contributed his changes to the OCaml project. - ------------------------------------------------------------------------------- - - The native Win32 and Win64 ports built with Mingw - ------------------------------------------------- - -REQUIREMENTS: - -Those ports run under MS Windows Seven, Vista, XP, and 2000. - -The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...) -runs without any additional tools. - -The native-code compiler (ocamlopt), as well as static linking of -OCaml bytecode with C code (ocamlc -custom), require -the Cygwin development tools, available at - http://www.cygwin.com/ -and the flexdll tool, available at - http://alain.frisch.fr/flexdll.html -You will need to install at least the following Cygwin packages for -the 32-bit flavor (use the Setup tool from Cygwin): - - mingw64-i686-binutils - mingw64-i686-gcc-core - mingw64-i686-runtime - -and the following packages for the 64-bit: - - mingw64-x86_64-binutils - mingw64-x86_64-gcc-core - mingw64-x86_64-runtime - -NOTES: - - - Do not use the Cygwin version of flexdll for this port. - - - There is another 32-bit gcc compiler, from the MinGW.org - project, packaged in Cygwin under the name mingw-gcc. - It is not currently supported by flexdll and OCaml. - - - The standard gcc compiler shipped with Cygwin used to - support a "-mno-cygwin" option, which turned the compiler - into a mingw compiler. This option was used - by previous versions of flexdll and OCaml, but it is no - longer available in recent version, hence the switch - to another toolchain packaged in Cygwin. - - - The standalone mingw toolchain from the MinGW-w64 project - (http://mingw-w64.sourceforge.net/) is not supported. - Please use the version packaged in Cygwin instead. - -INSTALLATION: - -The binary distribution is a self-installing executable archive. -Just run it and it should install OCaml automatically. - - -RECOMPILATION FROM THE SOURCES: - -You will need the following software components to perform the recompilation: -- Windows NT, 2000, XP, Vista, or Seven. -- Cygwin: http://cygwin.com/ - Install at least the following packages (and their dependencies, as - computed by Cygwin's setup.exe): - - For both flavor of OCaml (32-bit and 64-bit): - diffutils - make - ncurses - - For the 32 bit flavor of OCaml: - mingw64-i686-binutils - mingw64-i686-gcc-core - mingw64-i686-runtime - - For the 64 bit flavor of OCaml: - mingw64-x86_64-binutils - mingw64-x86_64-gcc-core - mingw64-x86_64-runtime - -- The flexdll tool (see above). Do not forget to add the flexdll directory - to your PATH - -The standalone mingw toolchain from the MinGW-w64 project -(http://mingw-w64.sourceforge.net/) is not supported. Please use the -version packaged in Cygwin instead. - -Start a new Cygwin shell and unpack the source distribution -(ocaml-X.YY.Z.tar.gz) with "tar xzf". Change to the top-level -directory of the OCaml distribution. Then, do - - cp config/m-nt.h config/m.h - cp config/s-nt.h config/s.h - -For a 32 bit OCaml: - cp config/Makefile.mingw config/Makefile - -For a 64 bit OCaml: - cp config/Makefile.mingw64 config/Makefile - -Then, edit config/Makefile as needed, following the comments in this file. -Normally, the only variable that need to be changed is - PREFIX where to install everything - -Finally, use "make -f Makefile.nt" to build the system, e.g. - - make -f Makefile.nt world - make -f Makefile.nt bootstrap - make -f Makefile.nt opt - make -f Makefile.nt opt.opt - make -f Makefile.nt install - - -NOTES: - -* Libraries available in this port: "num", "str", "threads", "graphics", - and large parts of "unix". - -* The replay debugger is partially supported (no reverse execution). - -* The default Makefile.mingw and Makefile.mingw64 pass -static-libgcc to the linker. - For more information on this topic: - - http://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/Link-Options.html#Link-Options - http://caml.inria.fr/mantis/view.php?id=6411 - ------------------------------------------------------------------------------- - - The Cygwin port of OCaml - ------------------------ - -REQUIREMENTS: - -This port requires the Cygwin environment from Cygnus/RedHat, which -is freely available at: - http://www.cygwin.com/ - -It also requires the flexdll tool, available at: - http://alain.frisch.fr/flexdll.html - -This port runs under all versions of MS Windows supported by Cygwin. - - -INSTALLATION: - -We do not distribute binaries for this port, but they can be found -in the Cygwin distribution (use the Setup tool from Cygwin and select -the OCaml packages). Alternatively, recompile from the source distribution. - - -RECOMPILATION FROM THE SOURCES: - -Before starting, make sure that the gcc version installed by cygwin -is not 4.5.3 (it has a bug that affects OCaml). If needed, use cygwin's -setup.exe to downgrade to 4.3.4. - -You will need to recompile (and install) flexdll from source with -Cygwin's C compiler because the official binary version of flexdll -doesn't handle Cygwin's symbolic links and sometimes fails to -launch the C compiler. - -In order to recompile flexdll, you first need to configure, compile, -and install OCaml without flexdll support (configure with options --no-shared-libs), then modify the flexdll Makefile to change -line 51 from: - LINKFLAGS = -ccopt "-link version_res.o" -to: - LINKFLAGS = -cclib version_res.o - -Then "make CHAINS=cygwin" and add the flexdll directory to your PATH. -Make sure to add it before "/usr/bin" or you will get cygwin's flexlink. - -Then, in OCaml's source directory, type: - make clean - make distclean -and follow the instructions for Unix machines given in the file INSTALL. - - -NOTES: - -- There is a problem with cygwin's port of gcc version 4.5.3. You should - use cygwin's setup program to downgrade to 4.3.4 before compiling OCaml. -- The replay debugger is fully supported. -- When upgrading from 3.12.0 to 3.12.1, you will need to remove - /usr/local/bin/ocamlmktop.exe before typing "make install". -- In order to use the "graph" library, you will need to use Cygwin's - setup.exe to install the xinit, and libX11-devel packages before compiling - OCaml. - ------------------------------------------------------------------------------- - - The native Win64 port built with Microsoft Windows SDK - ------------------------------------------------------ - -REQUIREMENTS: - -This port runs under MS Windows XP 64, Windows Server 64, and -Windows 7 64 on Intel64/AMD64 machines. - -The base bytecode system (ocamlc, ocaml, ocamllex, ocamlyacc, ...) -runs without any additional tools. - -Statically linking OCaml bytecode with C code (ocamlc -custom) requires the -Microsoft Platform SDK compiler (item [1] in the section -"third-party software" below) and the flexdll tool (item [2]). - -The native-code compiler (ocamlopt) requires the Microsoft compiler -and the Microsoft assembler MASM64 (item [1]) and the flexdll tool (item [2]). - -INSTALLATION: - -There is no binary distribution yet. Please compile from sources as -described below. - - -THIRD-PARTY SOFTWARE: - -[1] Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1. - Can be downloaded for free from - http://www.microsoft.com/downloads/en/default.aspx - under the name "Microsoft Windows 7 SDK". - -[2] flexdll version 0.31 or later. - Can be downloaded from http://alain.frisch.fr/flexdll.html - - -RECOMPILATION FROM THE SOURCES: - -The command-line tools can be recompiled from the Unix source -distribution (ocaml-X.YZ.tar.gz), which also contains the files modified -for Windows. - -You will need the following software components to perform the recompilation: -- Windows XP 64, Windows Server 64, or Windows 7 64. -- Items [1] and [2] from the list of recommended software above. -- The Cygwin port of GNU tools, available from http://www.cygwin.com/ - Install at least the following packages: diffutils, make, ncurses. - -First, you need to set up your cygwin environment for using the MS -tools. The following assumes that you have installed [1] and [2] -in their default directories. If this is not the case, you will need -to adjust the paths accordingly. - - Open a Windows Command Prompt and enter the following commands: - set PFPATH=C:\Program Files (x86) - cd "%PFPATH%\Microsoft Visual Studio 9.0\VC\bin" - vcvars64 - echo VCPATH="`cygpath -p '%Path%'`" >C:\cygwin\tmp\msenv - echo LIBPATH="%LIBPATH%" >>C:\cygwin\tmp\msenv - echo FLPATH="`cygpath '%PFPATH%\flexdll'`" >>C:\cygwin\tmp\msenv - echo PATH="$VCPATH:$FLPATH:$PATH" >>C:\cygwin\tmp\msenv - echo export PATH LIB LIBPATH INCLUDE >>C:\cygwin\tmp\msenv - echo export OCAMLBUILD_FIND=/usr/bin/find >>C:\cygwin\tmp\msenv - - Open a Cygwin shell and enter the following commands: - tr -d '\r' .msenv64 - echo '. $HOME/.msenv64' >>.bashrc - -Now, close the Command Prompt and the shell and you're set up for -using the MS tools under Cygwin. - - -To recompile OCaml, start a new Cygwin shell and change to the top-level -directory of the OCaml distribution. Then, do - - cp config/m-nt.h config/m.h - cp config/s-nt.h config/s.h - cp config/Makefile.msvc64 config/Makefile - -Then, edit config/Makefile as needed, following the comments in this file. -Normally, the only variable that need to be changed is - PREFIX where to install everything - -Finally, use "make -f Makefile.nt" to build the system, e.g. - - make -f Makefile.nt world - make -f Makefile.nt bootstrap - make -f Makefile.nt opt - make -f Makefile.nt opt.opt - make -f Makefile.nt install - - -NOTES: - -* Libraries available in this port: "num", "str", "threads", "graphics", - and large parts of "unix". - -* The replay debugger is partially supported (no reverse execution). - -* The graphical browser ocamlbrowser is not supported. diff --git a/vendor/ocaml/VERSION b/vendor/ocaml/VERSION deleted file mode 100644 index 7e88c820b..000000000 --- a/vendor/ocaml/VERSION +++ /dev/null @@ -1,4 +0,0 @@ -4.02.3+BS - -# The version string is the first line of this file. -# It must be in the format described in stdlib/sys.mli diff --git a/vendor/ocaml/asmcomp/.ignore b/vendor/ocaml/asmcomp/.ignore deleted file mode 100644 index 8c24e74ad..000000000 --- a/vendor/ocaml/asmcomp/.ignore +++ /dev/null @@ -1,7 +0,0 @@ -emit.ml -arch.ml -proc.ml -selection.ml -reload.ml -scheduling.ml -CSE.ml diff --git a/vendor/ocaml/asmcomp/CSEgen.ml b/vendor/ocaml/asmcomp/CSEgen.ml deleted file mode 100644 index 6571ad53f..000000000 --- a/vendor/ocaml/asmcomp/CSEgen.ml +++ /dev/null @@ -1,322 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Common subexpression elimination by value numbering over extended - basic blocks. *) - -open Mach - -type valnum = int - -(* We maintain sets of equations of the form - valnums = operation(valnums) - plus a mapping from registers to valnums (value numbers). *) - -type rhs = operation * valnum array - -module Equations = - Map.Make(struct type t = rhs let compare = Pervasives.compare end) - -type numbering = - { num_next: int; (* next fresh value number *) - num_eqs: valnum array Equations.t; (* mapping rhs -> valnums *) - num_reg: valnum Reg.Map.t } (* mapping register -> valnum *) - -let empty_numbering = - { num_next = 0; num_eqs = Equations.empty; num_reg = Reg.Map.empty } - -(** Generate a fresh value number [v] and associate it to register [r]. - Returns a pair [(n',v)] with the updated value numbering [n']. *) - -let fresh_valnum_reg n r = - let v = n.num_next in - ({n with num_next = v + 1; num_reg = Reg.Map.add r v n.num_reg}, v) - -(* Same, for a set of registers [rs]. *) - -let array_fold_transf (f: numbering -> 'a -> numbering * 'b) n (a: 'a array) - : numbering * 'b array = - match Array.length a with - | 0 -> (n, [||]) - | 1 -> let (n', b) = f n a.(0) in (n', [|b|]) - | l -> let b = Array.make l 0 and n = ref n in - for i = 0 to l - 1 do - let (n', x) = f !n a.(i) in - b.(i) <- x; n := n' - done; - (!n, b) - -let fresh_valnum_regs n rs = - array_fold_transf fresh_valnum_reg n rs - -(** [valnum_reg n r] returns the value number for the contents of - register [r]. If none exists, a fresh value number is returned - and associated with register [r]. The possibly updated numbering - is also returned. [valnum_regs] is similar, but for an array of - registers. *) - -let valnum_reg n r = - try - (n, Reg.Map.find r n.num_reg) - with Not_found -> - fresh_valnum_reg n r - -let valnum_regs n rs = - array_fold_transf valnum_reg n rs - -(* Look up the set of equations for an equation with the given rhs. - Return [Some res] if there is one, where [res] is the lhs. *) - -let find_equation n rhs = - try - Some(Equations.find rhs n.num_eqs) - with Not_found -> - None - -(* Find a register containing the given value number. *) - -let find_reg_containing n v = - Reg.Map.fold (fun r v' res -> if v' = v then Some r else res) - n.num_reg None - -(* Find a set of registers containing the given value numbers. *) - -let find_regs_containing n vs = - match Array.length vs with - | 0 -> Some [||] - | 1 -> begin match find_reg_containing n vs.(0) with - | None -> None - | Some r -> Some [|r|] - end - | l -> let rs = Array.make l Reg.dummy in - begin try - for i = 0 to l - 1 do - match find_reg_containing n vs.(i) with - | None -> raise Exit - | Some r -> rs.(i) <- r - done; - Some rs - with Exit -> - None - end - -(* Associate the given value number to the given result register, - without adding new equations. *) - -let set_known_reg n r v = - { n with num_reg = Reg.Map.add r v n.num_reg } - -(* Associate the given value numbers to the given result registers, - without adding new equations. *) - -let array_fold2 f n a1 a2 = - let l = Array.length a1 in - assert (l = Array.length a2); - let n = ref n in - for i = 0 to l - 1 do n := f !n a1.(i) a2.(i) done; - !n - -let set_known_regs n rs vs = - array_fold2 set_known_reg n rs vs - -(* Record the effect of a move: no new equations, but the result reg - maps to the same value number as the argument reg. *) - -let set_move n src dst = - let (n1, v) = valnum_reg n src in - { n1 with num_reg = Reg.Map.add dst v n1.num_reg } - -(* Record the equation [fresh valnums = rhs] and associate the given - result registers [rs] to [fresh valnums]. *) - -let set_fresh_regs n rs rhs = - let (n1, vs) = fresh_valnum_regs n rs in - { n1 with num_eqs = Equations.add rhs vs n.num_eqs } - -(* Forget everything we know about the given result registers, - which are receiving unpredictable values at run-time. *) - -let set_unknown_regs n rs = - { n with num_reg = Array.fold_right Reg.Map.remove rs n.num_reg } - -(* Keep only the equations satisfying the given predicate. *) - -let filter_equations pred n = - { n with num_eqs = Equations.filter (fun (op,_) res -> pred op) n.num_eqs } - -(* Prepend a set of moves before [i] to assign [srcs] to [dsts]. *) - -let insert_single_move i src dst = instr_cons (Iop Imove) [|src|] [|dst|] i - -let insert_move srcs dsts i = - match Array.length srcs with - | 0 -> i - | 1 -> instr_cons (Iop Imove) srcs dsts i - | l -> (* Parallel move: first copy srcs into tmps one by one, - then copy tmps into dsts one by one *) - let tmps = Reg.createv_like srcs in - let i1 = array_fold2 insert_single_move i tmps dsts in - array_fold2 insert_single_move i1 srcs tmps - -(* Classification of operations *) - -type op_class = - | Op_pure (* pure arithmetic, produce one or several result *) - | Op_checkbound (* checkbound-style: no result, can raise an exn *) - | Op_load (* memory load *) - | Op_store of bool (* memory store, false = init, true = assign *) - | Op_other (* anything else that does not allocate nor store in memory *) - -class cse_generic = object (self) - -(* Default classification of operations. Can be overriden in - processor-specific files to classify specific operations better. *) - -method class_of_operation op = - match op with - | Imove | Ispill | Ireload -> assert false (* treated specially *) - | Iconst_int _ | Iconst_float _ | Iconst_symbol _ - | Iconst_blockheader _ -> Op_pure - | Icall_ind | Icall_imm _ | Itailcall_ind | Itailcall_imm _ - | Iextcall _ -> assert false (* treated specially *) - | Istackoffset _ -> Op_other - | Iload(_,_) -> Op_load - | Istore(_,_,asg) -> Op_store asg - | Ialloc _ -> assert false (* treated specially *) - | Iintop(Icheckbound) -> Op_checkbound - | Iintop _ -> Op_pure - | Iintop_imm(Icheckbound, _) -> Op_checkbound - | Iintop_imm(_, _) -> Op_pure - | Inegf | Iabsf | Iaddf | Isubf | Imulf | Idivf - | Ifloatofint | Iintoffloat -> Op_pure - | Ispecific _ -> Op_other - -(* Operations that are so cheap that it isn't worth factoring them. *) - -method is_cheap_operation op = - match op with - | Iconst_int _ | Iconst_blockheader _ -> true - | _ -> false - -(* Forget all equations involving memory loads. Performed after a - non-initializing store *) - -method private kill_loads n = - filter_equations (fun o -> self#class_of_operation o <> Op_load) n - -(* Perform CSE on the given instruction [i] and its successors. - [n] is the value numbering current at the beginning of [i]. *) - -method private cse n i = - match i.desc with - | Iend | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _) - | Iexit _ | Iraise _ -> - i - | Iop (Imove | Ispill | Ireload) -> - (* For moves, we associate the same value number to the result reg - as to the argument reg. *) - let n1 = set_move n i.arg.(0) i.res.(0) in - {i with next = self#cse n1 i.next} - | Iop (Icall_ind | Icall_imm _ | Iextcall _) -> - (* For function calls, we should at least forget: - - equations involving memory loads, since the callee can - perform arbitrary memory stores; - - equations involving arithmetic operations that can - produce bad pointers into the heap (see below for Ialloc); - - mappings from hardware registers to value numbers, - since the callee does not preserve these registers. - That doesn't leave much usable information: checkbounds - could be kept, but won't be usable for CSE as one of their - arguments is always a memory load. For simplicity, we - just forget everything. *) - {i with next = self#cse empty_numbering i.next} - | Iop (Ialloc _) -> - (* For allocations, we must avoid extending the live range of a - pseudoregister across the allocation if this pseudoreg can - contain a value that looks like a pointer into the heap but - is not a pointer to the beginning of a Caml object. PR#6484 - is an example of such a value (a derived pointer into a - block). In the absence of more precise typing information, - we just forget everything. *) - {i with next = self#cse empty_numbering i.next} - | Iop op -> - begin match self#class_of_operation op with - | Op_pure | Op_checkbound | Op_load -> - let (n1, varg) = valnum_regs n i.arg in - let n2 = set_unknown_regs n1 (Proc.destroyed_at_oper i.desc) in - begin match find_equation n1 (op, varg) with - | Some vres -> - (* This operation was computed earlier. *) - (* Are there registers that hold the results computed earlier? *) - begin match find_regs_containing n1 vres with - | Some res when (not (self#is_cheap_operation op)) - && (not (Proc.regs_are_volatile res)) -> - (* We can replace res <- op args with r <- move res, - provided res are stable (non-volatile) registers. - If the operation is very cheap to compute, e.g. - an integer constant, don't bother. *) - let n3 = set_known_regs n1 i.res vres in - (* This is n1 above and not n2 because the move - does not destroy any regs *) - insert_move res i.res (self#cse n3 i.next) - | _ -> - (* We already computed the operation but lost its - results. Associate the result registers to - the result valnums of the previous operation. *) - let n3 = set_known_regs n2 i.res vres in - {i with next = self#cse n3 i.next} - end - | None -> - (* This operation produces a result we haven't seen earlier. *) - let n3 = set_fresh_regs n2 i.res (op, varg) in - {i with next = self#cse n3 i.next} - end - | Op_store false | Op_other -> - (* An initializing store or an "other" operation do not invalidate - any equations, but we do not know anything about the results. *) - let n1 = set_unknown_regs n (Proc.destroyed_at_oper i.desc) in - let n2 = set_unknown_regs n1 i.res in - {i with next = self#cse n2 i.next} - | Op_store true -> - (* A non-initializing store can invalidate - anything we know about prior loads. *) - let n1 = set_unknown_regs n (Proc.destroyed_at_oper i.desc) in - let n2 = set_unknown_regs n1 i.res in - let n3 = self#kill_loads n2 in - {i with next = self#cse n3 i.next} - end - (* For control structures, we set the numbering to empty at every - join point, but propagate the current numbering across fork points. *) - | Iifthenelse(test, ifso, ifnot) -> - let n1 = set_unknown_regs n (Proc.destroyed_at_oper i.desc) in - {i with desc = Iifthenelse(test, self#cse n1 ifso, self#cse n1 ifnot); - next = self#cse empty_numbering i.next} - | Iswitch(index, cases) -> - let n1 = set_unknown_regs n (Proc.destroyed_at_oper i.desc) in - {i with desc = Iswitch(index, Array.map (self#cse n1) cases); - next = self#cse empty_numbering i.next} - | Iloop(body) -> - {i with desc = Iloop(self#cse empty_numbering body); - next = self#cse empty_numbering i.next} - | Icatch(nfail, body, handler) -> - {i with desc = Icatch(nfail, self#cse n body, - self#cse empty_numbering handler); - next = self#cse empty_numbering i.next} - | Itrywith(body, handler) -> - {i with desc = Itrywith(self#cse n body, - self#cse empty_numbering handler); - next = self#cse empty_numbering i.next} - -method fundecl f = - {f with fun_body = self#cse empty_numbering f.fun_body} - -end diff --git a/vendor/ocaml/asmcomp/CSEgen.mli b/vendor/ocaml/asmcomp/CSEgen.mli deleted file mode 100644 index 0b375ff57..000000000 --- a/vendor/ocaml/asmcomp/CSEgen.mli +++ /dev/null @@ -1,35 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Common subexpression elimination by value numbering over extended - basic blocks. *) - -type op_class = - | Op_pure (* pure, produce one result *) - | Op_checkbound (* checkbound-style: no result, can raise an exn *) - | Op_load (* memory load *) - | Op_store of bool (* memory store, false = init, true = assign *) - | Op_other (* anything else that does not allocate nor store in memory *) - -class cse_generic : object - (* The following methods can be overriden to handle processor-specific - operations. *) - - method class_of_operation: Mach.operation -> op_class - - method is_cheap_operation: Mach.operation -> bool - (* Operations that are so cheap that it isn't worth factoring them. *) - - (* The following method is the entry point and should not be overridden *) - method fundecl: Mach.fundecl -> Mach.fundecl - -end diff --git a/vendor/ocaml/asmcomp/amd64/CSE.ml b/vendor/ocaml/asmcomp/amd64/CSE.ml deleted file mode 100644 index aee43d2bc..000000000 --- a/vendor/ocaml/asmcomp/amd64/CSE.ml +++ /dev/null @@ -1,38 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* CSE for the AMD64 *) - -open Arch -open Mach -open CSEgen - -class cse = object (self) - -inherit cse_generic as super - -method! class_of_operation op = - match op with - | Ispecific spec -> - begin match spec with - | Ilea _ -> Op_pure - | Istore_int(_, _, is_asg) | Istore_symbol(_, _, is_asg) -> Op_store is_asg - | Ioffset_loc(_, _) -> Op_store true - | Ifloatarithmem _ | Ifloatsqrtf _ -> Op_load - | Ibswap _ | Isqrtf -> super#class_of_operation op - end - | _ -> super#class_of_operation op - -end - -let fundecl f = - (new cse)#fundecl f diff --git a/vendor/ocaml/asmcomp/amd64/arch.ml b/vendor/ocaml/asmcomp/amd64/arch.ml deleted file mode 100644 index a4f1abd97..000000000 --- a/vendor/ocaml/asmcomp/amd64/arch.ml +++ /dev/null @@ -1,130 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 2000 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Machine-specific command-line options *) - -let pic_code = ref true - -let command_line_options = - [ "-fPIC", Arg.Set pic_code, - " Generate position-independent machine code (default)"; - "-fno-PIC", Arg.Clear pic_code, - " Generate position-dependent machine code" ] - -(* Specific operations for the AMD64 processor *) - -open Format - -type addressing_mode = - Ibased of string * int (* symbol + displ *) - | Iindexed of int (* reg + displ *) - | Iindexed2 of int (* reg + reg + displ *) - | Iscaled of int * int (* reg * scale + displ *) - | Iindexed2scaled of int * int (* reg + reg * scale + displ *) - -type specific_operation = - Ilea of addressing_mode (* "lea" gives scaled adds *) - | Istore_int of nativeint * addressing_mode * bool - (* Store an integer constant *) - | Istore_symbol of string * addressing_mode * bool (* Store a symbol *) - | Ioffset_loc of int * addressing_mode (* Add a constant to a location *) - | Ifloatarithmem of float_operation * addressing_mode - (* Float arith operation with memory *) - | Ibswap of int (* endiannes conversion *) - | Isqrtf (* Float square root *) - | Ifloatsqrtf of addressing_mode (* Float square root from memory *) -and float_operation = - Ifloatadd | Ifloatsub | Ifloatmul | Ifloatdiv - -(* Sizes, endianness *) - -let big_endian = false - -let size_addr = 8 -let size_int = 8 -let size_float = 8 - -let allow_unaligned_access = true - -(* Behavior of division *) - -let division_crashes_on_overflow = true - -(* Operations on addressing modes *) - -let identity_addressing = Iindexed 0 - -let offset_addressing addr delta = - match addr with - Ibased(s, n) -> Ibased(s, n + delta) - | Iindexed n -> Iindexed(n + delta) - | Iindexed2 n -> Iindexed2(n + delta) - | Iscaled(scale, n) -> Iscaled(scale, n + delta) - | Iindexed2scaled(scale, n) -> Iindexed2scaled(scale, n + delta) - -let num_args_addressing = function - Ibased(s, n) -> 0 - | Iindexed n -> 1 - | Iindexed2 n -> 2 - | Iscaled(scale, n) -> 1 - | Iindexed2scaled(scale, n) -> 2 - -(* Printing operations and addressing modes *) - -let print_addressing printreg addr ppf arg = - match addr with - | Ibased(s, 0) -> - fprintf ppf "\"%s\"" s - | Ibased(s, n) -> - fprintf ppf "\"%s\" + %i" s n - | Iindexed n -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a%s" printreg arg.(0) idx - | Iindexed2 n -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a + %a%s" printreg arg.(0) printreg arg.(1) idx - | Iscaled(scale, n) -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a * %i%s" printreg arg.(0) scale idx - | Iindexed2scaled(scale, n) -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a + %a * %i%s" printreg arg.(0) printreg arg.(1) scale idx - -let print_specific_operation printreg op ppf arg = - match op with - | Ilea addr -> print_addressing printreg addr ppf arg - | Istore_int(n, addr, is_assign) -> - fprintf ppf "[%a] := %nd %s" - (print_addressing printreg addr) arg n - (if is_assign then "(assign)" else "(init)") - | Istore_symbol(lbl, addr, is_assign) -> - fprintf ppf "[%a] := \"%s\" %s" - (print_addressing printreg addr) arg lbl - (if is_assign then "(assign)" else "(init)") - | Ioffset_loc(n, addr) -> - fprintf ppf "[%a] +:= %i" (print_addressing printreg addr) arg n - | Isqrtf -> - fprintf ppf "sqrtf %a" printreg arg.(0) - | Ifloatsqrtf addr -> - fprintf ppf "sqrtf float64[%a]" - (print_addressing printreg addr) [|arg.(0)|] - | Ifloatarithmem(op, addr) -> - let op_name = function - | Ifloatadd -> "+f" - | Ifloatsub -> "-f" - | Ifloatmul -> "*f" - | Ifloatdiv -> "/f" in - fprintf ppf "%a %s float64[%a]" printreg arg.(0) (op_name op) - (print_addressing printreg addr) - (Array.sub arg 1 (Array.length arg - 1)) - | Ibswap i -> - fprintf ppf "bswap_%i %a" i printreg arg.(0) diff --git a/vendor/ocaml/asmcomp/amd64/emit.mlp b/vendor/ocaml/asmcomp/amd64/emit.mlp deleted file mode 100644 index d56d0f5f2..000000000 --- a/vendor/ocaml/asmcomp/amd64/emit.mlp +++ /dev/null @@ -1,864 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Emission of x86-64 (AMD 64) assembly code *) - -open Cmm -open Arch -open Proc -open Reg -open Mach -open Linearize -open Emitaux - -(* [Branch_relaxation] is not used in this file, but is required by - emit.mlp files for certain other targets; the reference here ensures - that when releases are being prepared the .depend files are correct - for all targets. *) -open! Branch_relaxation - -let macosx = (Config.system = "macosx") -let mingw64 = (Config.system = "mingw64") -let cygwin = (Config.system = "cygwin") - -let fp = Config.with_frame_pointers - -(* Tradeoff between code size and code speed *) - -let fastcode_flag = ref true - -let stack_offset = ref 0 - -(* Layout of the stack frame *) - -let frame_required () = - fp || !contains_calls || num_stack_slots.(0) > 0 || num_stack_slots.(1) > 0 - -let frame_size () = (* includes return address *) - if frame_required() then begin - let sz = - (!stack_offset + 8 * (num_stack_slots.(0) + num_stack_slots.(1)) + 8 - + (if fp then 8 else 0) ) - in Misc.align sz 16 - end else - !stack_offset + 8 - -let slot_offset loc cl = - match loc with - Incoming n -> frame_size() + n - | Local n -> - if cl = 0 - then !stack_offset + n * 8 - else !stack_offset + (num_stack_slots.(0) + n) * 8 - | Outgoing n -> n - -(* Symbols *) - -let emit_symbol s = - if macosx then emit_string "_"; - Emitaux.emit_symbol '$' s - -let emit_call s = - if !Clflags.dlcode && not macosx && not mingw64 && not cygwin - then `call {emit_symbol s}@PLT` - else `call {emit_symbol s}` - -let emit_jump s = - if !Clflags.dlcode && not macosx && not mingw64 && not cygwin - then `jmp {emit_symbol s}@PLT` - else `jmp {emit_symbol s}` - -let load_symbol_addr s = - if !Clflags.dlcode && not mingw64 && not cygwin - then `movq {emit_symbol s}@GOTPCREL(%rip)` - else if !pic_code - then `leaq {emit_symbol s}(%rip)` - else `movq ${emit_symbol s}` - -(* Output a label *) - -let emit_label lbl = - emit_string ".L"; emit_int lbl - -let emit_data_label lbl = - emit_string ".Ld"; emit_int lbl - -(* Output a .align directive. *) - -let emit_align n = - let n = if macosx then Misc.log2 n else n in - ` .align {emit_int n}\n` - -let emit_Llabel fallthrough lbl = - if not fallthrough && !fastcode_flag then emit_align 4; - emit_label lbl - -(* Output a pseudo-register *) - -let emit_reg = function - { loc = Reg r } -> - emit_string (register_name r) - | { loc = Stack s } as r -> - let ofs = slot_offset s (register_class r) in - `{emit_int ofs}(%rsp)` - | { loc = Unknown } -> - assert false - -(* Output a reference to the lower 8, 16 or 32 bits of a register *) - -let reg_low_8_name = - [| "%al"; "%bl"; "%dil"; "%sil"; "%dl"; "%cl"; "%r8b"; "%r9b"; - "%r12b"; "%r13b"; "%r10b"; "%r11b"; "%bpl" |] -let reg_low_16_name = - [| "%ax"; "%bx"; "%di"; "%si"; "%dx"; "%cx"; "%r8w"; "%r9w"; - "%r12w"; "%r13w"; "%r10w"; "%r11w"; "%bp" |] -let reg_low_32_name = - [| "%eax"; "%ebx"; "%edi"; "%esi"; "%edx"; "%ecx"; "%r8d"; "%r9d"; - "%r12d"; "%r13d"; "%r10d"; "%r11d"; "%ebp" |] - -let emit_subreg tbl r = - match r.loc with - Reg r when r < 13 -> - emit_string tbl.(r) - | Stack s -> - let ofs = slot_offset s (register_class r) in - `{emit_int ofs}(%rsp)` - | _ -> - assert false - -let emit_reg8 r = emit_subreg reg_low_8_name r -let emit_reg16 r = emit_subreg reg_low_16_name r -let emit_reg32 r = emit_subreg reg_low_32_name r - -(* Output an addressing mode *) - -let emit_addressing addr r n = - match addr with - | Ibased _ when !Clflags.dlcode -> assert false - | Ibased(s, d) -> - `{emit_symbol s}`; - if d <> 0 then ` + {emit_int d}`; - `(%rip)` - | Iindexed d -> - if d <> 0 then emit_int d; - `({emit_reg r.(n)})` - | Iindexed2 d -> - if d <> 0 then emit_int d; - `({emit_reg r.(n)}, {emit_reg r.(n+1)})` - | Iscaled(2, d) -> - if d <> 0 then emit_int d; - `({emit_reg r.(n)}, {emit_reg r.(n)})` - | Iscaled(scale, d) -> - if d <> 0 then emit_int d; - `(, {emit_reg r.(n)}, {emit_int scale})` - | Iindexed2scaled(scale, d) -> - if d <> 0 then emit_int d; - `({emit_reg r.(n)}, {emit_reg r.(n+1)}, {emit_int scale})` - -(* Record live pointers at call points -- see Emitaux *) - -let record_frame_label live dbg = - let lbl = new_label() in - let live_offset = ref [] in - Reg.Set.iter - (function - {typ = Addr; loc = Reg r} -> - live_offset := ((r lsl 1) + 1) :: !live_offset - | {typ = Addr; loc = Stack s} as reg -> - live_offset := slot_offset s (register_class reg) :: !live_offset - | _ -> ()) - live; - frame_descriptors := - { fd_lbl = lbl; - fd_frame_size = frame_size(); - fd_live_offset = !live_offset; - fd_debuginfo = dbg } :: !frame_descriptors; - lbl - -let record_frame live dbg = - let lbl = record_frame_label live dbg in `{emit_label lbl}:\n` - -(* Record calls to the GC -- we've moved them out of the way *) - -type gc_call = - { gc_lbl: label; (* Entry label *) - gc_return_lbl: label; (* Where to branch after GC *) - gc_frame: label } (* Label of frame descriptor *) - -let call_gc_sites = ref ([] : gc_call list) - -let emit_call_gc gc = - `{emit_label gc.gc_lbl}: {emit_call "caml_call_gc"}\n`; - `{emit_label gc.gc_frame}: jmp {emit_label gc.gc_return_lbl}\n` - -(* Record calls to caml_ml_array_bound_error. - In -g mode, we maintain one call to caml_ml_array_bound_error - per bound check site. Without -g, we can share a single call. *) - -type bound_error_call = - { bd_lbl: label; (* Entry label *) - bd_frame: label } (* Label of frame descriptor *) - -let bound_error_sites = ref ([] : bound_error_call list) -let bound_error_call = ref 0 - -let bound_error_label dbg = - if !Clflags.debug then begin - let lbl_bound_error = new_label() in - let lbl_frame = record_frame_label Reg.Set.empty dbg in - bound_error_sites := - { bd_lbl = lbl_bound_error; bd_frame = lbl_frame } :: !bound_error_sites; - lbl_bound_error - end else begin - if !bound_error_call = 0 then bound_error_call := new_label(); - !bound_error_call - end - -let emit_call_bound_error bd = - `{emit_label bd.bd_lbl}: {emit_call "caml_ml_array_bound_error"}\n`; - `{emit_label bd.bd_frame}:\n` - -let emit_call_bound_errors () = - List.iter emit_call_bound_error !bound_error_sites; - if !bound_error_call > 0 then - `{emit_label !bound_error_call}: {emit_call "caml_ml_array_bound_error"}\n` - -(* Names for instructions *) - -let instr_for_intop = function - Iadd -> "addq" - | Isub -> "subq" - | Imul -> "imulq" - | Iand -> "andq" - | Ior -> "orq" - | Ixor -> "xorq" - | Ilsl -> "salq" - | Ilsr -> "shrq" - | Iasr -> "sarq" - | _ -> assert false - -let instr_for_floatop = function - Iaddf -> "addsd" - | Isubf -> "subsd" - | Imulf -> "mulsd" - | Idivf -> "divsd" - | _ -> assert false - -let instr_for_floatarithmem = function - Ifloatadd -> "addsd" - | Ifloatsub -> "subsd" - | Ifloatmul -> "mulsd" - | Ifloatdiv -> "divsd" - -let name_for_cond_branch = function - Isigned Ceq -> "e" | Isigned Cne -> "ne" - | Isigned Cle -> "le" | Isigned Cgt -> "g" - | Isigned Clt -> "l" | Isigned Cge -> "ge" - | Iunsigned Ceq -> "e" | Iunsigned Cne -> "ne" - | Iunsigned Cle -> "be" | Iunsigned Cgt -> "a" - | Iunsigned Clt -> "b" | Iunsigned Cge -> "ae" - -(* Output an = 0 or <> 0 test. *) - -let output_test_zero arg = - match arg.loc with - Reg r -> ` testq {emit_reg arg}, {emit_reg arg}\n` - | _ -> ` cmpq $0, {emit_reg arg}\n` - -(* Output a floating-point compare and branch *) - -let emit_float_test cmp neg arg lbl = - (* Effect of comisd on flags and conditional branches: - ZF PF CF cond. branches taken - unordered 1 1 1 je, jb, jbe, jp - > 0 0 0 jne, jae, ja - < 0 0 1 jne, jbe, jb - = 1 0 0 je, jae, jbe. - If FP traps are on (they are off by default), - comisd traps on QNaN and SNaN but ucomisd traps on SNaN only. - *) - match (cmp, neg) with - | (Ceq, false) | (Cne, true) -> - let next = new_label() in - ` ucomisd {emit_reg arg.(1)}, {emit_reg arg.(0)}\n`; - ` jp {emit_label next}\n`; (* skip if unordered *) - ` je {emit_label lbl}\n`; (* branch taken if x=y *) - `{emit_label next}:\n` - | (Cne, false) | (Ceq, true) -> - ` ucomisd {emit_reg arg.(1)}, {emit_reg arg.(0)}\n`; - ` jp {emit_label lbl}\n`; (* branch taken if unordered *) - ` jne {emit_label lbl}\n` (* branch taken if xy *) - | (Clt, _) -> - ` comisd {emit_reg arg.(0)}, {emit_reg arg.(1)}\n`; (* swap compare *) - if not neg then - ` ja {emit_label lbl}\n` (* branch taken if y>x i.e. x - ` comisd {emit_reg arg.(0)}, {emit_reg arg.(1)}\n`; (* swap compare *) - if not neg then - ` jae {emit_label lbl}\n` (* branch taken if y>=x i.e. x<=y *) - else - ` jb {emit_label lbl}\n` (* taken if unordered or y - ` comisd {emit_reg arg.(1)}, {emit_reg arg.(0)}\n`; - if not neg then - ` ja {emit_label lbl}\n` (* branch taken if x>y *) - else - ` jbe {emit_label lbl}\n` (* taken if unordered or x<=y i.e. !(x>y) *) - | (Cge, _) -> - ` comisd {emit_reg arg.(1)}, {emit_reg arg.(0)}\n`; (* swap compare *) - if not neg then - ` jae {emit_label lbl}\n` (* branch taken if x>=y *) - else - ` jb {emit_label lbl}\n` (* taken if unordered or x=y) *) - -(* Deallocate the stack frame before a return or tail call *) - -let output_epilogue f = - if frame_required() then begin - let n = frame_size() - 8 - (if fp then 8 else 0) in - ` addq ${emit_int n}, %rsp\n`; - cfi_adjust_cfa_offset (-n); - if fp then begin - ` popq %rbp\n` - end; - f (); - (* reset CFA back cause function body may continue *) - cfi_adjust_cfa_offset n - end - else - f () - -(* Floating-point constants *) - -let float_constants = ref ([] : (int64 * int) list) - -let add_float_constant cst = - let repr = Int64.bits_of_float cst in - try - List.assoc repr !float_constants - with - Not_found -> - let lbl = new_label() in - float_constants := (repr, lbl) :: !float_constants; - lbl - -let emit_float_constant (cst, lbl) = - `{emit_label lbl}:`; - emit_float64_directive ".quad" cst - -(* Output the assembly code for an instruction *) - -(* Name of current function *) -let function_name = ref "" -(* Entry point for tail recursive calls *) -let tailrec_entry_point = ref 0 - -(* Emit an instruction *) -let emit_instr fallthrough i = - emit_debug_info i.dbg; - match i.desc with - Lend -> () - | Lop(Imove | Ispill | Ireload) -> - let src = i.arg.(0) and dst = i.res.(0) in - if src.loc <> dst.loc then begin - match src.typ, src.loc, dst.loc with - Float, Reg _, Reg _ -> - ` movapd {emit_reg src}, {emit_reg dst}\n` - | Float, _, _ -> - ` movsd {emit_reg src}, {emit_reg dst}\n` - | _ -> - ` movq {emit_reg src}, {emit_reg dst}\n` - end - | Lop(Iconst_int n | Iconst_blockheader n) -> - if n = 0n then begin - match i.res.(0).loc with - Reg n -> ` xorq {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` - | _ -> ` movq $0, {emit_reg i.res.(0)}\n` - end else if n <= 0x7FFFFFFFn && n >= -0x80000000n then - ` movq ${emit_nativeint n}, {emit_reg i.res.(0)}\n` - else - ` movabsq ${emit_nativeint n}, {emit_reg i.res.(0)}\n` - | Lop(Iconst_float f) -> - begin match Int64.bits_of_float f with - | 0x0000_0000_0000_0000L -> (* +0.0 *) - ` xorpd {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` - | _ -> - let lbl = add_float_constant f in - ` movsd {emit_label lbl}(%rip), {emit_reg i.res.(0)}\n` - end - | Lop(Iconst_symbol s) -> - ` {load_symbol_addr s}, {emit_reg i.res.(0)}\n` - | Lop(Icall_ind) -> - ` call *{emit_reg i.arg.(0)}\n`; - record_frame i.live i.dbg - | Lop(Icall_imm(s)) -> - ` {emit_call s}\n`; - record_frame i.live i.dbg - | Lop(Itailcall_ind) -> - output_epilogue begin fun () -> - ` jmp *{emit_reg i.arg.(0)}\n` - end - | Lop(Itailcall_imm s) -> - if s = !function_name then - ` jmp {emit_label !tailrec_entry_point}\n` - else begin - output_epilogue begin fun () -> - ` {emit_jump s}\n` - end - end - | Lop(Iextcall(s, alloc)) -> - if alloc then begin - ` {load_symbol_addr s}, %rax\n`; - ` {emit_call "caml_c_call"}\n`; - record_frame i.live i.dbg; - ` {load_symbol_addr "caml_young_ptr"}, %r11\n`; - ` movq (%r11), %r15\n`; - end else begin - ` {emit_call s}\n` - end - | Lop(Istackoffset n) -> - if n < 0 - then ` addq ${emit_int(-n)}, %rsp\n` - else ` subq ${emit_int(n)}, %rsp\n`; - cfi_adjust_cfa_offset n; - stack_offset := !stack_offset + n - | Lop(Iload(chunk, addr)) -> - let dest = i.res.(0) in - begin match chunk with - | Word -> - ` movq {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Byte_unsigned -> - ` movzbq {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Byte_signed -> - ` movsbq {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Sixteen_unsigned -> - ` movzwq {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Sixteen_signed -> - ` movswq {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Thirtytwo_unsigned -> - ` movl {emit_addressing addr i.arg 0}, {emit_reg32 dest}\n` - | Thirtytwo_signed -> - ` movslq {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Single -> - ` cvtss2sd {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Double | Double_u -> - ` movsd {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - end - | Lop(Istore(chunk, addr, _)) -> - begin match chunk with - | Word -> - ` movq {emit_reg i.arg.(0)}, {emit_addressing addr i.arg 1}\n` - | Byte_unsigned | Byte_signed -> - ` movb {emit_reg8 i.arg.(0)}, {emit_addressing addr i.arg 1}\n` - | Sixteen_unsigned | Sixteen_signed -> - ` movw {emit_reg16 i.arg.(0)}, {emit_addressing addr i.arg 1}\n` - | Thirtytwo_signed | Thirtytwo_unsigned -> - ` movl {emit_reg32 i.arg.(0)}, {emit_addressing addr i.arg 1}\n` - | Single -> - ` cvtsd2ss {emit_reg i.arg.(0)}, %xmm15\n`; - ` movss %xmm15, {emit_addressing addr i.arg 1}\n` - | Double | Double_u -> - ` movsd {emit_reg i.arg.(0)}, {emit_addressing addr i.arg 1}\n` - end - | Lop(Ialloc n) -> - if !fastcode_flag then begin - let lbl_redo = new_label() in - `{emit_label lbl_redo}: subq ${emit_int n}, %r15\n`; - if !Clflags.dlcode then begin - ` {load_symbol_addr "caml_young_limit"}, %rax\n`; - ` cmpq (%rax), %r15\n`; - end else - ` cmpq {emit_symbol "caml_young_limit"}(%rip), %r15\n`; - let lbl_call_gc = new_label() in - let lbl_frame = record_frame_label i.live Debuginfo.none in - ` jb {emit_label lbl_call_gc}\n`; - ` leaq 8(%r15), {emit_reg i.res.(0)}\n`; - call_gc_sites := - { gc_lbl = lbl_call_gc; - gc_return_lbl = lbl_redo; - gc_frame = lbl_frame } :: !call_gc_sites - end else begin - begin match n with - 16 -> ` {emit_call "caml_alloc1"}\n` - | 24 -> ` {emit_call "caml_alloc2"}\n` - | 32 -> ` {emit_call "caml_alloc3"}\n` - | _ -> ` movq ${emit_int n}, %rax\n`; - ` {emit_call "caml_allocN"}\n` - end; - `{record_frame i.live Debuginfo.none} leaq 8(%r15), {emit_reg i.res.(0)}\n` - end - | Lop(Iintop(Icomp cmp)) -> - ` cmpq {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`; - let b = name_for_cond_branch cmp in - ` set{emit_string b} %al\n`; - ` movzbq %al, {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Icomp cmp, n)) -> - ` cmpq ${emit_int n}, {emit_reg i.arg.(0)}\n`; - let b = name_for_cond_branch cmp in - ` set{emit_string b} %al\n`; - ` movzbq %al, {emit_reg i.res.(0)}\n` - | Lop(Iintop Icheckbound) -> - let lbl = bound_error_label i.dbg in - ` cmpq {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`; - ` jbe {emit_label lbl}\n` - | Lop(Iintop_imm(Icheckbound, n)) -> - let lbl = bound_error_label i.dbg in - ` cmpq ${emit_int n}, {emit_reg i.arg.(0)}\n`; - ` jbe {emit_label lbl}\n` - | Lop(Iintop(Idiv | Imod)) -> - ` cqto\n`; - ` idivq {emit_reg i.arg.(1)}\n` - | Lop(Iintop(Ilsl | Ilsr | Iasr as op)) -> - (* We have i.arg.(0) = i.res.(0) and i.arg.(1) = %rcx *) - ` {emit_string(instr_for_intop op)} %cl, {emit_reg i.res.(0)}\n` - | Lop(Iintop Imulh) -> - ` imulq {emit_reg i.arg.(1)}\n` - | Lop(Iintop op) -> - (* We have i.arg.(0) = i.res.(0) *) - ` {emit_string(instr_for_intop op)} {emit_reg i.arg.(1)}, {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Iadd, n)) when i.arg.(0).loc <> i.res.(0).loc -> - ` leaq {emit_int n}({emit_reg i.arg.(0)}), {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Iadd, 1) | Iintop_imm(Isub, -1)) -> - ` incq {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Iadd, -1) | Iintop_imm(Isub, 1)) -> - ` decq {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(op, n)) -> - (* We have i.arg.(0) = i.res.(0) *) - ` {emit_string(instr_for_intop op)} ${emit_int n}, {emit_reg i.res.(0)}\n` - | Lop(Inegf) -> - ` xorpd {emit_symbol "caml_negf_mask"}(%rip), {emit_reg i.res.(0)}\n` - | Lop(Iabsf) -> - ` andpd {emit_symbol "caml_absf_mask"}(%rip), {emit_reg i.res.(0)}\n` - | Lop(Iaddf | Isubf | Imulf | Idivf as floatop) -> - ` {emit_string(instr_for_floatop floatop)} {emit_reg i.arg.(1)}, {emit_reg i.res.(0)}\n` - | Lop(Ifloatofint) -> - ` cvtsi2sdq {emit_reg i.arg.(0)}, {emit_reg i.res.(0)}\n` - | Lop(Iintoffloat) -> - ` cvttsd2siq {emit_reg i.arg.(0)}, {emit_reg i.res.(0)}\n` - | Lop(Ispecific(Ilea addr)) -> - ` leaq {emit_addressing addr i.arg 0}, {emit_reg i.res.(0)}\n` - | Lop(Ispecific(Istore_int(n, addr, _))) -> - ` movq ${emit_nativeint n}, {emit_addressing addr i.arg 0}\n` - | Lop(Ispecific(Istore_symbol(s, addr, _))) -> - assert (not !pic_code && not !Clflags.dlcode); - ` movq ${emit_symbol s}, {emit_addressing addr i.arg 0}\n` - | Lop(Ispecific(Ioffset_loc(n, addr))) -> - ` addq ${emit_int n}, {emit_addressing addr i.arg 0}\n` - | Lop(Ispecific(Ifloatarithmem(op, addr))) -> - ` {emit_string(instr_for_floatarithmem op)} {emit_addressing addr i.arg 1}, {emit_reg i.res.(0)}\n` - | Lop(Ispecific(Ibswap size)) -> - begin match size with - | 16 -> - ` xchg %ah, %al\n`; - ` movzwq {emit_reg16 i.res.(0)}, {emit_reg i.res.(0)}\n` - | 32 -> - ` bswap {emit_reg32 i.res.(0)}\n`; - ` movslq {emit_reg32 i.res.(0)}, {emit_reg i.res.(0)}\n` - | 64 -> - ` bswap {emit_reg i.res.(0)}\n` - | _ -> assert false - end - | Lop(Ispecific Isqrtf) -> - ` sqrtsd {emit_reg i.arg.(0)}, {emit_reg i.res.(0)}\n` - | Lop(Ispecific(Ifloatsqrtf addr)) -> - ` sqrtsd {emit_addressing addr i.arg 0}, {emit_reg i.res.(0)}\n` - | Lreloadretaddr -> - () - | Lreturn -> - output_epilogue begin fun () -> - ` ret\n` - end - | Llabel lbl -> - `{emit_Llabel fallthrough lbl}:\n` - | Lbranch lbl -> - ` jmp {emit_label lbl}\n` - | Lcondbranch(tst, lbl) -> - begin match tst with - Itruetest -> - output_test_zero i.arg.(0); - ` jne {emit_label lbl}\n` - | Ifalsetest -> - output_test_zero i.arg.(0); - ` je {emit_label lbl}\n` - | Iinttest cmp -> - ` cmpq {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`; - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Iinttest_imm((Isigned Ceq | Isigned Cne | - Iunsigned Ceq | Iunsigned Cne) as cmp, 0) -> - output_test_zero i.arg.(0); - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Iinttest_imm(cmp, n) -> - ` cmpq ${emit_int n}, {emit_reg i.arg.(0)}\n`; - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Ifloattest(cmp, neg) -> - emit_float_test cmp neg i.arg lbl - | Ioddtest -> - ` testb $1, {emit_reg8 i.arg.(0)}\n`; - ` jne {emit_label lbl}\n` - | Ieventest -> - ` testb $1, {emit_reg8 i.arg.(0)}\n`; - ` je {emit_label lbl}\n` - end - | Lcondbranch3(lbl0, lbl1, lbl2) -> - ` cmpq $1, {emit_reg i.arg.(0)}\n`; - begin match lbl0 with - None -> () - | Some lbl -> ` jb {emit_label lbl}\n` - end; - begin match lbl1 with - None -> () - | Some lbl -> ` je {emit_label lbl}\n` - end; - begin match lbl2 with - None -> () - | Some lbl -> ` jg {emit_label lbl}\n` - end - | Lswitch jumptbl -> - let lbl = new_label() in - (* rax and rdx are clobbered by the Lswitch, - meaning that no variable that is live across the Lswitch - is assigned to rax or rdx. However, the argument to Lswitch - can still be assigned to one of these two registers, so - we must be careful not to clobber it before use. *) - let (tmp1, tmp2) = - if i.arg.(0).loc = Reg 0 (* rax *) - then (phys_reg 4 (*rdx*), phys_reg 0 (*rax*)) - else (phys_reg 0 (*rax*), phys_reg 4 (*rdx*)) in - ` leaq {emit_label lbl}(%rip), {emit_reg tmp1}\n`; - ` movslq ({emit_reg tmp1}, {emit_reg i.arg.(0)}, 4), {emit_reg tmp2}\n`; - ` addq {emit_reg tmp2}, {emit_reg tmp1}\n`; - ` jmp *{emit_reg tmp1}\n`; - if macosx then - ` .const\n` - else if mingw64 || cygwin then - ` .section .rdata,\"dr\"\n` - else - ` .section .rodata\n`; - emit_align 4; - `{emit_label lbl}:`; - for i = 0 to Array.length jumptbl - 1 do - ` .long {emit_label jumptbl.(i)} - {emit_label lbl}\n` - done; - ` .text\n` - | Lsetuptrap lbl -> - ` call {emit_label lbl}\n` - | Lpushtrap -> - cfi_adjust_cfa_offset 8; - ` pushq %r14\n`; - cfi_adjust_cfa_offset 8; - ` movq %rsp, %r14\n`; - stack_offset := !stack_offset + 16 - | Lpoptrap -> - ` popq %r14\n`; - cfi_adjust_cfa_offset (-8); - ` addq $8, %rsp\n`; - cfi_adjust_cfa_offset (-8); - stack_offset := !stack_offset - 16 - | Lraise k -> - begin match !Clflags.debug, k with - | true, Lambda.Raise_regular -> - ` {emit_call "caml_raise_exn"}\n`; - record_frame Reg.Set.empty i.dbg - | true, Lambda.Raise_reraise -> - ` {emit_call "caml_reraise_exn"}\n`; - record_frame Reg.Set.empty i.dbg - | false, _ - | true, Lambda.Raise_notrace -> - ` movq %r14, %rsp\n`; - ` popq %r14\n`; - ` ret\n` - end - -let rec emit_all fallthrough i = - match i.desc with - | Lend -> () - | _ -> - emit_instr fallthrough i; - emit_all (Linearize.has_fallthrough i.desc) i.next - -(* Emission of the profiling prelude *) - -let emit_profile () = - match Config.system with - | "linux" | "gnu" -> - (* mcount preserves rax, rcx, rdx, rsi, rdi, r8, r9 explicitly - and rbx, rbp, r12-r15 like all C functions. This includes - all the registers used for argument passing, so we don't - need to preserve other regs. We do need to initialize rbp - like mcount expects it, though. *) - ` pushq %r10\n`; - if not fp then - ` movq %rsp, %rbp\n`; - ` {emit_call "mcount"}\n`; - ` popq %r10\n` - | _ -> - () (*unsupported yet*) - -(* Emission of a function declaration *) - -let fundecl fundecl = - function_name := fundecl.fun_name; - fastcode_flag := fundecl.fun_fast; - tailrec_entry_point := new_label(); - stack_offset := 0; - call_gc_sites := []; - bound_error_sites := []; - bound_error_call := 0; - ` .text\n`; - emit_align 16; - if macosx - && not !Clflags.output_c_object - && is_generic_function fundecl.fun_name - then (* PR#4690 *) - ` .private_extern {emit_symbol fundecl.fun_name}\n` - else - ` .globl {emit_symbol fundecl.fun_name}\n`; - `{emit_symbol fundecl.fun_name}:\n`; - emit_debug_info fundecl.fun_dbg; - cfi_startproc (); - if fp then begin - ` pushq %rbp\n`; - cfi_adjust_cfa_offset 8; - ` movq %rsp, %rbp\n`; - end; - if !Clflags.gprofile then emit_profile(); - if frame_required() then begin - let n = frame_size() - 8 - (if fp then 8 else 0) in - ` subq ${emit_int n}, %rsp\n`; - cfi_adjust_cfa_offset n; - end; - `{emit_label !tailrec_entry_point}:\n`; - emit_all true fundecl.fun_body; - List.iter emit_call_gc !call_gc_sites; - emit_call_bound_errors (); - cfi_endproc (); - begin match Config.system with - "linux" | "gnu" -> - ` .type {emit_symbol fundecl.fun_name},@function\n`; - ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n` - | _ -> () - end - -(* Emission of data *) - -let emit_item = function - Cglobal_symbol s -> - ` .globl {emit_symbol s}\n`; - | Cdefine_symbol s -> - `{emit_symbol s}:\n` - | Cdefine_label lbl -> - `{emit_data_label lbl}:\n` - | Cint8 n -> - ` .byte {emit_int n}\n` - | Cint16 n -> - ` .word {emit_int n}\n` - | Cint32 n -> - ` .long {emit_nativeint n}\n` - | Cint n -> - ` .quad {emit_nativeint n}\n` - | Csingle f -> - emit_float32_directive ".long" (Int32.bits_of_float f) - | Cdouble f -> - emit_float64_directive ".quad" (Int64.bits_of_float f) - | Csymbol_address s -> - ` .quad {emit_symbol s}\n` - | Clabel_address lbl -> - ` .quad {emit_data_label lbl}\n` - | Cstring s -> - emit_string_directive " .ascii " s - | Cskip n -> - if n > 0 then ` .space {emit_int n}\n` - | Calign n -> - emit_align n - -let data l = - ` .data\n`; - List.iter emit_item l - -(* Beginning / end of an assembly file *) - -let begin_assembly() = - reset_debug_info(); (* PR#5603 *) - float_constants := []; - if !Clflags.dlcode then begin - (* from amd64.S; could emit these constants on demand *) - if macosx then - ` .literal16\n` - else if mingw64 || cygwin then - ` .section .rdata,\"dr\"\n` - else - ` .section .rodata.cst8,\"a\",@progbits\n`; - emit_align 16; - `{emit_symbol "caml_negf_mask"}: .quad 0x8000000000000000, 0\n`; - emit_align 16; - `{emit_symbol "caml_absf_mask"}: .quad 0x7FFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF\n` - end; - let lbl_begin = Compilenv.make_symbol (Some "data_begin") in - ` .data\n`; - ` .globl {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n`; - let lbl_begin = Compilenv.make_symbol (Some "code_begin") in - ` .text\n`; - ` .globl {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n`; - if macosx then ` nop\n` (* PR#4690 *) - -let end_assembly() = - if !float_constants <> [] then begin - if macosx then - ` .literal8\n` - else if mingw64 || cygwin then - ` .section .rdata,\"dr\"\n` - else - ` .section .rodata.cst8,\"a\",@progbits\n`; - List.iter emit_float_constant !float_constants - end; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - if macosx then ` nop\n`; (* suppress "ld warning: atom sorting error" *) - ` .globl {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - ` .data\n`; - let lbl_end = Compilenv.make_symbol (Some "data_end") in - ` .globl {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - ` .long 0\n`; - let lbl = Compilenv.make_symbol (Some "frametable") in - ` .globl {emit_symbol lbl}\n`; - `{emit_symbol lbl}:\n`; - emit_frames - { efa_label = (fun l -> ` .quad {emit_label l}\n`); - efa_16 = (fun n -> ` .word {emit_int n}\n`); - efa_32 = (fun n -> ` .long {emit_int32 n}\n`); - efa_word = (fun n -> ` .quad {emit_int n}\n`); - efa_align = emit_align; - efa_label_rel = - if macosx then begin - let setcnt = ref 0 in - fun lbl ofs -> - incr setcnt; - ` .set L$set${emit_int !setcnt}, ({emit_label lbl} - .) + {emit_int32 ofs}\n`; - ` .long L$set${emit_int !setcnt}\n` - end else begin - fun lbl ofs -> - ` .long ({emit_label lbl} - .) + {emit_int32 ofs}\n` - end; - efa_def_label = (fun l -> `{emit_label l}:\n`); - efa_string = (fun s -> emit_string_directive " .asciz " s) }; - if Config.system = "linux" then - (* Mark stack as non-executable, PR#4564 *) - ` .section .note.GNU-stack,\"\",%progbits\n` diff --git a/vendor/ocaml/asmcomp/amd64/emit_nt.mlp b/vendor/ocaml/asmcomp/amd64/emit_nt.mlp deleted file mode 100644 index f14e69cd3..000000000 --- a/vendor/ocaml/asmcomp/amd64/emit_nt.mlp +++ /dev/null @@ -1,795 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Emission of x86-64 (AMD 64) assembly code, MASM syntax *) - -module StringSet = - Set.Make(struct type t = string let compare (x:t) y = compare x y end) - -open Cmm -open Arch -open Proc -open Reg -open Mach -open Linearize -open Emitaux - -let rdx = phys_reg 4 - -(* Tradeoff between code size and code speed *) - -let fastcode_flag = ref true - -let stack_offset = ref 0 - -(* Layout of the stack frame *) - -let frame_required () = - !contains_calls || num_stack_slots.(0) > 0 || num_stack_slots.(1) > 0 - -let frame_size () = (* includes return address *) - if frame_required() then begin - let sz = - (!stack_offset + 8 * (num_stack_slots.(0) + num_stack_slots.(1)) + 8) - in Misc.align sz 16 - end else - !stack_offset + 8 - -let slot_offset loc cl = - match loc with - Incoming n -> frame_size() + n - | Local n -> - if cl = 0 - then !stack_offset + n * 8 - else !stack_offset + (num_stack_slots.(0) + n) * 8 - | Outgoing n -> n - -(* Output a 32 or 64 bit integer in hex *) - -let emit_int32 n = emit_printf "0%lxh" n -let emit_int64 n = emit_printf "0%Lxh" n - -(* Symbols *) - -let emit_symbol s = - Emitaux.emit_symbol '$' s - -(* Record symbols used and defined - at the end generate extern for those - used but not defined *) - -let symbols_defined = ref StringSet.empty -let symbols_used = ref StringSet.empty - -let add_def_symbol s = - symbols_defined := StringSet.add s !symbols_defined - -let add_used_symbol s = - symbols_used := StringSet.add s !symbols_used - -(* Output a label *) - -let emit_label lbl = - emit_string "L"; emit_int lbl - -let emit_data_label lbl = - emit_string "Ld"; emit_int lbl - -(* Output a .align directive. *) - -let emit_align n = - ` ALIGN {emit_int n}\n` - -let emit_Llabel fallthrough lbl = - if not fallthrough && !fastcode_flag then emit_align 4; - emit_label lbl - -(* Output a pseudo-register *) - -let emit_reg = function - { loc = Reg r } -> - emit_string (register_name r) - | { loc = Stack s; typ = Float } as r -> - let ofs = slot_offset s (register_class r) in - `REAL8 PTR {emit_int ofs}[rsp]` - | { loc = Stack s; typ = _ } as r -> - let ofs = slot_offset s (register_class r) in - `QWORD PTR {emit_int ofs}[rsp]` - | { loc = Unknown } -> - assert false - -(* Output a reference to the lower 8, 16 or 32 bits of a register *) - -let reg_low_8_name = - [| "al"; "bl"; "dil"; "sil"; "dl"; "cl"; "r8b"; "r9b"; - "r12b"; "r13b"; "r10b"; "r11b"; "bpl" |] -let reg_low_16_name = - [| "ax"; "bx"; "di"; "si"; "dx"; "cx"; "r8w"; "r9w"; - "r12w"; "r13w"; "r10w"; "r11w"; "bp" |] -let reg_low_32_name = - [| "eax"; "ebx"; "edi"; "esi"; "edx"; "ecx"; "r8d"; "r9d"; - "r12d"; "r13d"; "r10d"; "r11d"; "ebp" |] - -let emit_subreg tbl pref r = - match r.loc with - Reg r when r < 13 -> - emit_string tbl.(r) - | Stack s -> - let ofs = slot_offset s (register_class r) in - `{emit_string pref} PTR {emit_int ofs}[rsp]` - | _ -> - assert false - -let emit_reg8 r = emit_subreg reg_low_8_name "BYTE" r -let emit_reg16 r = emit_subreg reg_low_16_name "WORD" r -let emit_reg32 r = emit_subreg reg_low_32_name "DWORD" r - -(* Output an addressing mode *) - -let emit_signed_int d = - if d > 0 then emit_char '+'; - if d <> 0 then emit_int d - -let emit_addressing addr r n = - match addr with - Ibased(s, d) -> - add_used_symbol s; - `{emit_symbol s}{emit_signed_int d}` - | Iindexed d -> - `[{emit_reg r.(n)}{emit_signed_int d}]` - | Iindexed2 d -> - `[{emit_reg r.(n)}+{emit_reg r.(n+1)}{emit_signed_int d}]` - | Iscaled(2, d) -> - `[{emit_reg r.(n)}+{emit_reg r.(n)}{emit_signed_int d}]` - | Iscaled(scale, d) -> - `[{emit_reg r.(n)}*{emit_int scale}{emit_signed_int d}]` - | Iindexed2scaled(scale, d) -> - `[{emit_reg r.(n)}+{emit_reg r.(n+1)}*{emit_int scale}{emit_signed_int d}]` - -(* Record live pointers at call points *) - -let record_frame_label live dbg = - let lbl = new_label() in - let live_offset = ref [] in - Reg.Set.iter - (function - {typ = Addr; loc = Reg r} -> - live_offset := ((r lsl 1) + 1) :: !live_offset - | {typ = Addr; loc = Stack s} as reg -> - live_offset := slot_offset s (register_class reg) :: !live_offset - | _ -> ()) - live; - frame_descriptors := - { fd_lbl = lbl; - fd_frame_size = frame_size(); - fd_live_offset = !live_offset; - fd_debuginfo = dbg } :: !frame_descriptors; - lbl - -let record_frame live dbg = - let lbl = record_frame_label live dbg in `{emit_label lbl}:\n` - -(* Record calls to the GC -- we've moved them out of the way *) - -type gc_call = - { gc_lbl: label; (* Entry label *) - gc_return_lbl: label; (* Where to branch after GC *) - gc_frame: label } (* Label of frame descriptor *) - -let call_gc_sites = ref ([] : gc_call list) - -let emit_call_gc gc = - `{emit_label gc.gc_lbl}: call {emit_symbol "caml_call_gc"}\n`; - `{emit_label gc.gc_frame}: jmp {emit_label gc.gc_return_lbl}\n` - -(* Record calls to caml_ml_array_bound_error. - In -g mode, we maintain one call to caml_ml_array_bound_error - per bound check site. Without -g, we can share a single call. *) - -type bound_error_call = - { bd_lbl: label; (* Entry label *) - bd_frame: label } (* Label of frame descriptor *) - -let bound_error_sites = ref ([] : bound_error_call list) -let bound_error_call = ref 0 - -let bound_error_label dbg = - if !Clflags.debug then begin - let lbl_bound_error = new_label() in - let lbl_frame = record_frame_label Reg.Set.empty dbg in - bound_error_sites := - { bd_lbl = lbl_bound_error; bd_frame = lbl_frame } :: !bound_error_sites; - lbl_bound_error - end else begin - if !bound_error_call = 0 then bound_error_call := new_label(); - !bound_error_call - end - -let emit_call_bound_error bd = - `{emit_label bd.bd_lbl}: call caml_ml_array_bound_error\n`; - `{emit_label bd.bd_frame}:\n` - -let emit_call_bound_errors () = - List.iter emit_call_bound_error !bound_error_sites; - if !bound_error_call > 0 then - `{emit_label !bound_error_call}: call caml_ml_array_bound_error\n` - -(* Names for instructions *) - -let instr_for_intop = function - Iadd -> "add" - | Isub -> "sub" - | Imul -> "imul" - | Iand -> "and" - | Ior -> "or" - | Ixor -> "xor" - | Ilsl -> "sal" - | Ilsr -> "shr" - | Iasr -> "sar" - | _ -> assert false - -let instr_for_floatop = function - Iaddf -> "addsd" - | Isubf -> "subsd" - | Imulf -> "mulsd" - | Idivf -> "divsd" - | _ -> assert false - -let instr_for_floatarithmem = function - Ifloatadd -> "addsd" - | Ifloatsub -> "subsd" - | Ifloatmul -> "mulsd" - | Ifloatdiv -> "divsd" - -let name_for_cond_branch = function - Isigned Ceq -> "e" | Isigned Cne -> "ne" - | Isigned Cle -> "le" | Isigned Cgt -> "g" - | Isigned Clt -> "l" | Isigned Cge -> "ge" - | Iunsigned Ceq -> "e" | Iunsigned Cne -> "ne" - | Iunsigned Cle -> "be" | Iunsigned Cgt -> "a" - | Iunsigned Clt -> "b" | Iunsigned Cge -> "ae" - -(* Output an = 0 or <> 0 test. *) - -let output_test_zero arg = - match arg.loc with - Reg r -> ` test {emit_reg arg}, {emit_reg arg}\n` - | _ -> ` cmp {emit_reg arg}, 0\n` - -(* Output a floating-point compare and branch *) - -let emit_float_test cmp neg arg lbl = - (* Effect of comisd on flags and conditional branches: - ZF PF CF cond. branches taken - unordered 1 1 1 je, jb, jbe, jp - > 0 0 0 jne, jae, ja - < 0 0 1 jne, jbe, jb - = 1 0 0 je, jae, jbe. - If FP traps are on (they are off by default), - comisd traps on QNaN and SNaN but ucomisd traps on SNaN only. - *) - match (cmp, neg) with - | (Ceq, false) | (Cne, true) -> - let next = new_label() in - ` ucomisd {emit_reg arg.(0)}, {emit_reg arg.(1)}\n`; - ` jp {emit_label next}\n`; (* skip if unordered *) - ` je {emit_label lbl}\n`; (* branch taken if x=y *) - `{emit_label next}:\n` - | (Cne, false) | (Ceq, true) -> - ` ucomisd {emit_reg arg.(0)}, {emit_reg arg.(1)}\n`; - ` jp {emit_label lbl}\n`; (* branch taken if unordered *) - ` jne {emit_label lbl}\n` (* branch taken if xy *) - | (Clt, _) -> - ` comisd {emit_reg arg.(1)}, {emit_reg arg.(0)}\n`; (* swap compare *) - if not neg then - ` ja {emit_label lbl}\n` (* branch taken if y>x i.e. x - ` comisd {emit_reg arg.(1)}, {emit_reg arg.(0)}\n`; (* swap compare *) - if not neg then - ` jae {emit_label lbl}\n` (* branch taken if y>=x i.e. x<=y *) - else - ` jb {emit_label lbl}\n` (* taken if unordered or y - ` comisd {emit_reg arg.(0)}, {emit_reg arg.(1)}\n`; - if not neg then - ` ja {emit_label lbl}\n` (* branch taken if x>y *) - else - ` jbe {emit_label lbl}\n` (* taken if unordered or x<=y i.e. !(x>y) *) - | (Cge, _) -> - ` comisd {emit_reg arg.(0)}, {emit_reg arg.(1)}\n`; (* swap compare *) - if not neg then - ` jae {emit_label lbl}\n` (* branch taken if x>=y *) - else - ` jb {emit_label lbl}\n` (* taken if unordered or x=y) *) - -(* Deallocate the stack frame before a return or tail call *) - -let output_epilogue () = - if frame_required() then begin - let n = frame_size() - 8 in - ` add rsp, {emit_int n}\n` - end - -(* Floating-point constants *) - -let float_constants = ref ([] : (int64 * int) list) - -let add_float_constant cst = - let repr = Int64.bits_of_float cst in - try - List.assoc repr !float_constants - with - Not_found -> - let lbl = new_label() in - float_constants := (repr, lbl) :: !float_constants; - lbl - -let emit_float_constant (cst, lbl) = - `{emit_label lbl} QWORD {emit_int64 cst}\n` - -let emit_movabs reg n = - (* force ml64 to use mov reg, imm64 instruction *) - ` mov {emit_reg reg}, {emit_printf "0%nxH" n}\n` - -(* Output the assembly code for an instruction *) - -(* Name of current function *) -let function_name = ref "" -(* Entry point for tail recursive calls *) -let tailrec_entry_point = ref 0 - -let emit_instr fallthrough i = - match i.desc with - Lend -> () - | Lop(Imove | Ispill | Ireload) -> - let src = i.arg.(0) and dst = i.res.(0) in - if src.loc <> dst.loc then begin - match src.typ, src.loc, dst.loc with - Float, Reg _, Reg _ -> - ` movapd {emit_reg dst}, {emit_reg src}\n` - | Float, _, _ -> - ` movsd {emit_reg dst}, {emit_reg src}\n` - | _ -> - ` mov {emit_reg dst}, {emit_reg src}\n` - end - | Lop(Iconst_int n | Iconst_blockheader n) -> - if n = 0n then begin - match i.res.(0).loc with - Reg n -> ` xor {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` - | _ -> ` mov {emit_reg i.res.(0)}, 0\n` - end else if n >= -0x80000000n && n <= 0x7FFFFFFFn then - ` mov {emit_reg i.res.(0)}, {emit_nativeint n}\n` - else if n >= 0x80000000n && n <= 0xFFFFFFFFn then - (* work around bug in ml64 *) - ` mov {emit_reg32 i.res.(0)}, {emit_nativeint n}\n` - else - emit_movabs i.res.(0) n - | Lop(Iconst_float f) -> - begin match Int64.bits_of_float f with - | 0x0000_0000_0000_0000L -> (* +0.0 *) - ` xorpd {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` - | _ -> - let lbl = add_float_constant f in - ` movsd {emit_reg i.res.(0)}, {emit_label lbl}\n` - end - | Lop(Iconst_symbol s) -> - add_used_symbol s; - if !pic_code then - ` lea {emit_reg i.res.(0)}, {emit_symbol s}\n` - else - ` mov {emit_reg i.res.(0)}, OFFSET {emit_symbol s}\n` - | Lop(Icall_ind) -> - ` call {emit_reg i.arg.(0)}\n`; - record_frame i.live i.dbg - | Lop(Icall_imm s) -> - add_used_symbol s; - ` call {emit_symbol s}\n`; - record_frame i.live i.dbg - | Lop(Itailcall_ind) -> - output_epilogue(); - ` jmp {emit_reg i.arg.(0)}\n` - | Lop(Itailcall_imm s) -> - if s = !function_name then - ` jmp {emit_label !tailrec_entry_point}\n` - else begin - add_used_symbol s; - output_epilogue(); - ` jmp {emit_symbol s}\n` - end - | Lop(Iextcall(s, alloc)) -> - add_used_symbol s; - if alloc then begin - ` lea rax, {emit_symbol s}\n`; - ` call {emit_symbol "caml_c_call"}\n`; - record_frame i.live i.dbg - end else begin - ` call {emit_symbol s}\n` - end - | Lop(Istackoffset n) -> - if n < 0 - then ` add rsp, {emit_int(-n)}\n` - else ` sub rsp, {emit_int(n)}\n`; - stack_offset := !stack_offset + n - | Lop(Iload(chunk, addr)) -> - let dest = i.res.(0) in - begin match chunk with - | Word -> - ` mov {emit_reg dest}, QWORD PTR {emit_addressing addr i.arg 0}\n` - | Byte_unsigned -> - ` movzx {emit_reg dest}, BYTE PTR {emit_addressing addr i.arg 0}\n` - | Byte_signed -> - ` movsx {emit_reg dest}, BYTE PTR {emit_addressing addr i.arg 0}\n` - | Sixteen_unsigned -> - ` movzx {emit_reg dest}, WORD PTR {emit_addressing addr i.arg 0}\n` - | Sixteen_signed -> - ` movsx {emit_reg dest}, WORD PTR {emit_addressing addr i.arg 0}\n` - | Thirtytwo_unsigned -> - (* load to low 32 bits sets high 32 bits to 0 *) - ` mov {emit_reg32 dest}, DWORD PTR {emit_addressing addr i.arg 0}\n` - | Thirtytwo_signed -> - ` movsxd {emit_reg dest}, DWORD PTR {emit_addressing addr i.arg 0}\n` - | Single -> - ` cvtss2sd {emit_reg dest}, REAL4 PTR {emit_addressing addr i.arg 0}\n` - | Double | Double_u -> - ` movsd {emit_reg dest}, REAL8 PTR {emit_addressing addr i.arg 0}\n` - end - | Lop(Istore(chunk, addr, _)) -> - begin match chunk with - | Word -> - ` mov QWORD PTR {emit_addressing addr i.arg 1}, {emit_reg i.arg.(0)}\n` - | Byte_unsigned | Byte_signed -> - ` mov BYTE PTR {emit_addressing addr i.arg 1}, {emit_reg8 i.arg.(0)}\n` - | Sixteen_unsigned | Sixteen_signed -> - ` mov WORD PTR {emit_addressing addr i.arg 1}, {emit_reg16 i.arg.(0)}\n` - | Thirtytwo_signed | Thirtytwo_unsigned -> - ` mov DWORD PTR {emit_addressing addr i.arg 1}, {emit_reg32 i.arg.(0)}\n` - | Single -> - ` cvtsd2ss xmm15, {emit_reg i.arg.(0)}\n`; - ` movss REAL4 PTR {emit_addressing addr i.arg 1}, xmm15\n` - | Double | Double_u -> - ` movsd REAL8 PTR {emit_addressing addr i.arg 1}, {emit_reg i.arg.(0)}\n` - end - | Lop(Ialloc n) -> - if !fastcode_flag then begin - let lbl_redo = new_label() in - `{emit_label lbl_redo}: sub r15, {emit_int n}\n`; - ` cmp r15, {emit_symbol "caml_young_limit"}\n`; - let lbl_call_gc = new_label() in - let lbl_frame = record_frame_label i.live Debuginfo.none in - ` jb {emit_label lbl_call_gc}\n`; - ` lea {emit_reg i.res.(0)}, [r15+8]\n`; - call_gc_sites := - { gc_lbl = lbl_call_gc; - gc_return_lbl = lbl_redo; - gc_frame = lbl_frame } :: !call_gc_sites - end else begin - begin match n with - 16 -> ` call {emit_symbol "caml_alloc1"}\n` - | 24 -> ` call {emit_symbol "caml_alloc2"}\n` - | 32 -> ` call {emit_symbol "caml_alloc3"}\n` - | _ -> ` mov rax, {emit_int n}\n`; - ` call {emit_symbol "caml_allocN"}\n` - end; - `{record_frame i.live Debuginfo.none} lea {emit_reg i.res.(0)}, [r15+8]\n` - end - | Lop(Iintop(Icomp cmp)) -> - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - let b = name_for_cond_branch cmp in - ` set{emit_string b} al\n`; - ` movzx {emit_reg i.res.(0)}, al\n` - | Lop(Iintop_imm(Icomp cmp, n)) -> - ` cmp {emit_reg i.arg.(0)}, {emit_int n}\n`; - let b = name_for_cond_branch cmp in - ` set{emit_string b} al\n`; - ` movzx {emit_reg i.res.(0)}, al\n` - | Lop(Iintop Icheckbound) -> - let lbl = bound_error_label i.dbg in - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` jbe {emit_label lbl}\n` - | Lop(Iintop_imm(Icheckbound, n)) -> - let lbl = bound_error_label i.dbg in - ` cmp {emit_reg i.arg.(0)}, {emit_int n}\n`; - ` jbe {emit_label lbl}\n` - | Lop(Iintop(Idiv | Imod)) -> - ` cqo\n`; - ` idiv {emit_reg i.arg.(1)}\n` - | Lop(Iintop(Ilsl | Ilsr | Iasr as op)) -> - (* We have i.arg.(0) = i.res.(0) and i.arg.(1) = %rcx *) - ` {emit_string(instr_for_intop op)} {emit_reg i.res.(0)}, cl\n` - | Lop(Iintop Imulh) -> - ` imul {emit_reg i.arg.(1)}\n` - | Lop(Iintop op) -> - (* We have i.arg.(0) = i.res.(0) *) - ` {emit_string(instr_for_intop op)} {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}\n` - | Lop(Iintop_imm(Iadd, n)) when i.arg.(0).loc <> i.res.(0).loc -> - ` lea {emit_reg i.res.(0)}, {emit_int n}[{emit_reg i.arg.(0)}]\n` - | Lop(Iintop_imm(Iadd, 1) | Iintop_imm(Isub, -1)) -> - ` inc {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Iadd, -1) | Iintop_imm(Isub, 1)) -> - ` dec {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(op, n)) -> - (* We have i.arg.(0) = i.res.(0) *) - ` {emit_string(instr_for_intop op)} {emit_reg i.res.(0)}, {emit_int n}\n` - | Lop(Inegf) -> - ` xorpd {emit_reg i.res.(0)}, {emit_symbol "caml_negf_mask"}\n` - | Lop(Iabsf) -> - ` andpd {emit_reg i.res.(0)}, {emit_symbol "caml_absf_mask"}\n` - | Lop(Iaddf | Isubf | Imulf | Idivf as floatop) -> - ` {emit_string(instr_for_floatop floatop)} {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}\n` - | Lop(Ifloatofint) -> - ` cvtsi2sd {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n` - | Lop(Iintoffloat) -> - ` cvttsd2si {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n` - | Lop(Ispecific(Ilea addr)) -> - ` lea {emit_reg i.res.(0)}, {emit_addressing addr i.arg 0}\n` - | Lop(Ispecific(Istore_int(n, addr, _))) -> - ` mov QWORD PTR {emit_addressing addr i.arg 0}, {emit_nativeint n}\n` - | Lop(Ispecific(Istore_symbol(s, addr, _))) -> - assert (not !pic_code); - add_used_symbol s; - ` mov QWORD PTR {emit_addressing addr i.arg 0}, OFFSET {emit_symbol s}\n` - | Lop(Ispecific(Ioffset_loc(n, addr))) -> - ` add QWORD PTR {emit_addressing addr i.arg 0}, {emit_int n}\n` - | Lop(Ispecific(Ifloatarithmem(op, addr))) -> - ` {emit_string(instr_for_floatarithmem op)} {emit_reg i.res.(0)}, REAL8 PTR {emit_addressing addr i.arg 1}\n` - | Lop(Ispecific(Ibswap size)) -> - begin match size with - | 16 -> - ` xchg ah, al\n`; - ` movzx {emit_reg i.res.(0)}, {emit_reg16 i.res.(0)}\n` - | 32 -> - ` bswap {emit_reg32 i.res.(0)}\n`; - ` movsxd {emit_reg i.res.(0)}, {emit_reg32 i.res.(0)}\n` - | 64 -> - ` bswap {emit_reg i.res.(0)}\n` - | _ -> assert false - end - | Lop(Ispecific Isqrtf) -> - ` sqrtsd {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n` - | Lop(Ispecific(Ifloatsqrtf addr)) -> - ` sqrtsd {emit_reg i.res.(0)}, REAL8 PTR {emit_addressing addr i.arg 0}\n` - | Lreloadretaddr -> - () - | Lreturn -> - output_epilogue(); - ` ret\n` - | Llabel lbl -> - `{emit_Llabel fallthrough lbl}:\n` - | Lbranch lbl -> - ` jmp {emit_label lbl}\n` - | Lcondbranch(tst, lbl) -> - begin match tst with - Itruetest -> - output_test_zero i.arg.(0); - ` jne {emit_label lbl}\n` - | Ifalsetest -> - output_test_zero i.arg.(0); - ` je {emit_label lbl}\n` - | Iinttest cmp -> - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Iinttest_imm((Isigned Ceq | Isigned Cne | - Iunsigned Ceq | Iunsigned Cne) as cmp, 0) -> - output_test_zero i.arg.(0); - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Iinttest_imm(cmp, n) -> - ` cmp {emit_reg i.arg.(0)}, {emit_int n}\n`; - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Ifloattest(cmp, neg) -> - emit_float_test cmp neg i.arg lbl - | Ioddtest -> - ` test {emit_reg8 i.arg.(0)}, 1\n`; - ` jne {emit_label lbl}\n` - | Ieventest -> - ` test {emit_reg8 i.arg.(0)}, 1\n`; - ` je {emit_label lbl}\n` - end - | Lcondbranch3(lbl0, lbl1, lbl2) -> - ` cmp {emit_reg i.arg.(0)}, 1\n`; - begin match lbl0 with - None -> () - | Some lbl -> ` jb {emit_label lbl}\n` - end; - begin match lbl1 with - None -> () - | Some lbl -> ` je {emit_label lbl}\n` - end; - begin match lbl2 with - None -> () - | Some lbl -> ` jg {emit_label lbl}\n` - end - | Lswitch jumptbl -> - let lbl = new_label() in - (* rax and rdx are clobbered by the Lswitch, - meaning that no variable that is live across the Lswitch - is assigned to rax or rdx. However, the argument to Lswitch - can still be assigned to one of these two registers, so - we must be careful not to clobber it before use. *) - let (tmp1, tmp2) = - if i.arg.(0).loc = Reg 0 (* rax *) - then (phys_reg 4 (*rdx*), phys_reg 0 (*rax*)) - else (phys_reg 0 (*rax*), phys_reg 4 (*rdx*)) in - ` lea {emit_reg tmp1}, {emit_label lbl}\n`; - ` movsxd {emit_reg tmp2}, DWORD PTR [{emit_reg tmp1}+{emit_reg i.arg.(0)}*4]\n`; - ` add {emit_reg tmp1}, {emit_reg tmp2}\n`; - ` jmp {emit_reg tmp1}\n`; - emit_align 4; - `{emit_label lbl} LABEL DWORD\n`; - for i = 0 to Array.length jumptbl - 1 do - ` DWORD {emit_label jumptbl.(i)} - {emit_label lbl}\n` - done - | Lsetuptrap lbl -> - ` call {emit_label lbl}\n` - | Lpushtrap -> - ` push r14\n`; - ` mov r14, rsp\n`; - stack_offset := !stack_offset + 16 - | Lpoptrap -> - ` pop r14\n`; - ` add rsp, 8\n`; - stack_offset := !stack_offset - 16 - | Lraise k -> - begin match !Clflags.debug, k with - | true, Lambda.Raise_regular -> - ` call caml_raise_exn\n`; - record_frame Reg.Set.empty i.dbg - | true, Lambda.Raise_reraise -> - ` call caml_reraise_exn\n`; - record_frame Reg.Set.empty i.dbg - | false, _ - | true, Lambda.Raise_notrace -> - ` mov rsp, r14\n`; - ` pop r14\n`; - ` ret\n` - end - -let rec emit_all fallthrough i = - match i.desc with - | Lend -> () - | _ -> - emit_instr fallthrough i; - emit_all (Linearize.has_fallthrough i.desc) i.next - -(* Emission of a function declaration *) - -let fundecl fundecl = - function_name := fundecl.fun_name; - fastcode_flag := fundecl.fun_fast; - tailrec_entry_point := new_label(); - stack_offset := 0; - call_gc_sites := []; - bound_error_sites := []; - bound_error_call := 0; - ` .CODE\n`; - emit_align 16; - add_def_symbol fundecl.fun_name; - ` PUBLIC {emit_symbol fundecl.fun_name}\n`; - `{emit_symbol fundecl.fun_name}:\n`; - if frame_required() then begin - let n = frame_size() - 8 in - ` sub rsp, {emit_int n}\n` - end; - `{emit_label !tailrec_entry_point}:\n`; - emit_all true fundecl.fun_body; - List.iter emit_call_gc !call_gc_sites; - emit_call_bound_errors() - -(* Emission of data *) - -let emit_item = function - Cglobal_symbol s -> - ` PUBLIC {emit_symbol s}\n`; - | Cdefine_symbol s -> - add_def_symbol s; - `{emit_symbol s} LABEL QWORD\n` - | Cdefine_label lbl -> - `{emit_data_label lbl} LABEL QWORD\n` - | Cint8 n -> - ` BYTE {emit_int n}\n` - | Cint16 n -> - ` WORD {emit_int n}\n` - | Cint32 n -> - ` DWORD {emit_nativeint n}\n` - | Cint n -> - ` QWORD {emit_nativeint n}\n` - | Csingle f -> - ` DWORD {emit_int32 (Int32.bits_of_float f)}\n` - | Cdouble f -> - ` QWORD {emit_int64 (Int64.bits_of_float f)}\n` - | Csymbol_address s -> - add_used_symbol s; - ` QWORD {emit_symbol s}\n` - | Clabel_address lbl -> - ` QWORD {emit_data_label lbl}\n` - | Cstring s -> - emit_bytes_directive " BYTE " s - | Cskip n -> - if n > 0 then ` BYTE {emit_int n} DUP (?)\n` - | Calign n -> - emit_align n - -let data l = - ` .DATA\n`; - List.iter emit_item l - -(* Beginning / end of an assembly file *) - -let begin_assembly() = - float_constants := []; - ` EXTRN caml_young_ptr: QWORD\n`; - ` EXTRN caml_young_limit: QWORD\n`; - ` EXTRN caml_exception_pointer: QWORD\n`; - ` EXTRN caml_absf_mask: QWORD\n`; - ` EXTRN caml_negf_mask: QWORD\n`; - ` EXTRN caml_call_gc: NEAR\n`; - ` EXTRN caml_c_call: NEAR\n`; - ` EXTRN caml_allocN: NEAR\n`; - ` EXTRN caml_alloc1: NEAR\n`; - ` EXTRN caml_alloc2: NEAR\n`; - ` EXTRN caml_alloc3: NEAR\n`; - ` EXTRN caml_ml_array_bound_error: NEAR\n`; - ` EXTRN caml_raise_exn: NEAR\n`; - ` EXTRN caml_reraise_exn: NEAR\n`; - let lbl_begin = Compilenv.make_symbol (Some "data_begin") in - add_def_symbol lbl_begin; - ` .DATA\n`; - ` PUBLIC {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin} LABEL QWORD\n`; - let lbl_begin = Compilenv.make_symbol (Some "code_begin") in - add_def_symbol lbl_begin; - ` .CODE\n`; - ` PUBLIC {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin} LABEL QWORD\n` - -let end_assembly() = - if !float_constants <> [] then begin - ` .DATA\n`; - List.iter emit_float_constant !float_constants - end; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - add_def_symbol lbl_end; - ` .CODE\n`; - ` PUBLIC {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end} LABEL QWORD\n`; - ` .DATA\n`; - let lbl_end = Compilenv.make_symbol (Some "data_end") in - add_def_symbol lbl_end; - ` PUBLIC {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end} LABEL QWORD\n`; - ` QWORD 0\n`; - let lbl = Compilenv.make_symbol (Some "frametable") in - add_def_symbol lbl; - ` PUBLIC {emit_symbol lbl}\n`; - `{emit_symbol lbl} LABEL QWORD\n`; - emit_frames - { efa_label = (fun l -> ` QWORD {emit_label l}\n`); - efa_16 = (fun n -> ` WORD {emit_int n}\n`); - efa_32 = (fun n -> ` DWORD {emit_int32 n}\n`); - efa_word = (fun n -> ` QWORD {emit_int n}\n`); - efa_align = emit_align; - efa_label_rel = (fun lbl ofs -> - ` DWORD {emit_label lbl} - THIS BYTE + {emit_int32 ofs}\n`); - efa_def_label = (fun l -> `{emit_label l} LABEL QWORD\n`); - efa_string = (fun s -> emit_bytes_directive " BYTE " (s ^ "\000")) }; - `\n;External functions\n\n`; - StringSet.iter - (fun s -> - if not (StringSet.mem s !symbols_defined) then - ` EXTRN {emit_symbol s}: NEAR\n`) - !symbols_used; - symbols_used := StringSet.empty; - symbols_defined := StringSet.empty; - `END\n` diff --git a/vendor/ocaml/asmcomp/amd64/proc.ml b/vendor/ocaml/asmcomp/amd64/proc.ml deleted file mode 100644 index 298e92900..000000000 --- a/vendor/ocaml/asmcomp/amd64/proc.ml +++ /dev/null @@ -1,332 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 2000 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Description of the AMD64 processor *) - -open Misc -open Arch -open Cmm -open Reg -open Mach - -let fp = Config.with_frame_pointers - -(* Which ABI to use *) - -let win64 = - match Config.system with - | "win64" | "mingw64" | "cygwin" -> true - | _ -> false - -(* Which asm conventions to use *) - -let masm = - match Config.ccomp_type with - | "msvc" -> true - | _ -> false - -(* Registers available for register allocation *) - -(* Register map: - rax 0 - rbx 1 - rdi 2 - rsi 3 - rdx 4 - rcx 5 - r8 6 - r9 7 - r12 8 - r13 9 - r10 10 - r11 11 - rbp 12 - r14 trap pointer - r15 allocation pointer - - xmm0 - xmm15 100 - 115 *) - -(* Conventions: - rax - r13: OCaml function arguments - rax: OCaml and C function results - xmm0 - xmm9: OCaml function arguments - xmm0: OCaml and C function results - Under Unix: - rdi, rsi, rdx, rcx, r8, r9: C function arguments - xmm0 - xmm7: C function arguments - rbx, rbp, r12-r15 are preserved by C - xmm registers are not preserved by C - Under Win64: - rcx, rdx, r8, r9: C function arguments - xmm0 - xmm3: C function arguments - rbx, rbp, rsi, rdi r12-r15 are preserved by C - xmm6-xmm15 are preserved by C - Note (PR#5707): r11 should not be used for parameter passing, as it - can be destroyed by the dynamic loader according to SVR4 ABI. - Linux's dynamic loader also destroys r10. -*) - -let int_reg_name = - match Config.ccomp_type with - | "msvc" -> - [| "rax"; "rbx"; "rdi"; "rsi"; "rdx"; "rcx"; "r8"; "r9"; - "r12"; "r13"; "r10"; "r11"; "rbp" |] - | _ -> - [| "%rax"; "%rbx"; "%rdi"; "%rsi"; "%rdx"; "%rcx"; "%r8"; "%r9"; - "%r12"; "%r13"; "%r10"; "%r11"; "%rbp" |] - -let float_reg_name = - match Config.ccomp_type with - | "msvc" -> - [| "xmm0"; "xmm1"; "xmm2"; "xmm3"; "xmm4"; "xmm5"; "xmm6"; "xmm7"; - "xmm8"; "xmm9"; "xmm10"; "xmm11"; - "xmm12"; "xmm13"; "xmm14"; "xmm15" |] - | _ -> - [| "%xmm0"; "%xmm1"; "%xmm2"; "%xmm3"; "%xmm4"; "%xmm5"; "%xmm6"; "%xmm7"; - "%xmm8"; "%xmm9"; "%xmm10"; "%xmm11"; - "%xmm12"; "%xmm13"; "%xmm14"; "%xmm15" |] - -let num_register_classes = 2 - -let register_class r = - match r.typ with - Int -> 0 - | Addr -> 0 - | Float -> 1 - -let num_available_registers = [| 13; 16 |] - -let first_available_register = [| 0; 100 |] - -let register_name r = - if r < 100 then int_reg_name.(r) else float_reg_name.(r - 100) - -(* Pack registers starting at %rax so as to reduce the number of REX - prefixes and thus improve code density *) -let rotate_registers = false - -(* Representation of hard registers by pseudo-registers *) - -let hard_int_reg = - let v = Array.make 13 Reg.dummy in - for i = 0 to 12 do v.(i) <- Reg.at_location Int (Reg i) done; - v - -let hard_float_reg = - let v = Array.make 16 Reg.dummy in - for i = 0 to 15 do v.(i) <- Reg.at_location Float (Reg (100 + i)) done; - v - -let all_phys_regs = - Array.append hard_int_reg hard_float_reg - -let phys_reg n = - if n < 100 then hard_int_reg.(n) else hard_float_reg.(n - 100) - -let rax = phys_reg 0 -let rcx = phys_reg 5 -let rdx = phys_reg 4 -let rbp = phys_reg 12 -let rxmm15 = phys_reg 115 - -let stack_slot slot ty = - Reg.at_location ty (Stack slot) - -(* Instruction selection *) - -let word_addressed = false - -(* Calling conventions *) - -let calling_conventions first_int last_int first_float last_float make_stack - arg = - let loc = Array.make (Array.length arg) Reg.dummy in - let int = ref first_int in - let float = ref first_float in - let ofs = ref 0 in - for i = 0 to Array.length arg - 1 do - match arg.(i).typ with - Int | Addr as ty -> - if !int <= last_int then begin - loc.(i) <- phys_reg !int; - incr int - end else begin - loc.(i) <- stack_slot (make_stack !ofs) ty; - ofs := !ofs + size_int - end - | Float -> - if !float <= last_float then begin - loc.(i) <- phys_reg !float; - incr float - end else begin - loc.(i) <- stack_slot (make_stack !ofs) Float; - ofs := !ofs + size_float - end - done; - (loc, Misc.align !ofs 16) (* keep stack 16-aligned *) - -let incoming ofs = Incoming ofs -let outgoing ofs = Outgoing ofs -let not_supported ofs = fatal_error "Proc.loc_results: cannot call" - -let loc_arguments arg = - calling_conventions 0 9 100 109 outgoing arg -let loc_parameters arg = - let (loc, ofs) = calling_conventions 0 9 100 109 incoming arg in loc -let loc_results res = - let (loc, ofs) = calling_conventions 0 0 100 100 not_supported res in loc - -(* C calling conventions under Unix: - first integer args in rdi, rsi, rdx, rcx, r8, r9 - first float args in xmm0 ... xmm7 - remaining args on stack - return value in rax or xmm0. - C calling conventions under Win64: - first integer args in rcx, rdx, r8, r9 - first float args in xmm0 ... xmm3 - each integer arg consumes a float reg, and conversely - remaining args on stack - always 32 bytes reserved at bottom of stack. - Return value in rax or xmm0. *) - -let loc_external_results res = - let (loc, ofs) = calling_conventions 0 0 100 100 not_supported res in loc - -let unix_loc_external_arguments arg = - calling_conventions 2 7 100 107 outgoing arg - -let win64_int_external_arguments = - [| 5 (*rcx*); 4 (*rdx*); 6 (*r8*); 7 (*r9*) |] -let win64_float_external_arguments = - [| 100 (*xmm0*); 101 (*xmm1*); 102 (*xmm2*); 103 (*xmm3*) |] - -let win64_loc_external_arguments arg = - let loc = Array.make (Array.length arg) Reg.dummy in - let reg = ref 0 - and ofs = ref 32 in - for i = 0 to Array.length arg - 1 do - match arg.(i).typ with - Int | Addr as ty -> - if !reg < 4 then begin - loc.(i) <- phys_reg win64_int_external_arguments.(!reg); - incr reg - end else begin - loc.(i) <- stack_slot (Outgoing !ofs) ty; - ofs := !ofs + size_int - end - | Float -> - if !reg < 4 then begin - loc.(i) <- phys_reg win64_float_external_arguments.(!reg); - incr reg - end else begin - loc.(i) <- stack_slot (Outgoing !ofs) Float; - ofs := !ofs + size_float - end - done; - (loc, Misc.align !ofs 16) (* keep stack 16-aligned *) - -let loc_external_arguments = - if win64 then win64_loc_external_arguments else unix_loc_external_arguments - -let loc_exn_bucket = rax - -(* Volatile registers: none *) - -let regs_are_volatile rs = false - -(* Registers destroyed by operations *) - -let destroyed_at_c_call = - if win64 then - (* Win64: rbx, rbp, rsi, rdi, r12-r15, xmm6-xmm15 preserved *) - Array.of_list(List.map phys_reg - [0;4;5;6;7;10;11; - 100;101;102;103;104;105]) - else - (* Unix: rbp, rbx, r12-r15 preserved *) - Array.of_list(List.map phys_reg - [0;2;3;4;5;6;7;10;11; - 100;101;102;103;104;105;106;107; - 108;109;110;111;112;113;114;115]) - -let destroyed_at_oper = function - Iop(Icall_ind | Icall_imm _ | Iextcall(_, true)) -> all_phys_regs - | Iop(Iextcall(_, false)) -> destroyed_at_c_call - | Iop(Iintop(Idiv | Imod)) | Iop(Iintop_imm((Idiv | Imod), _)) - -> [| rax; rdx |] - | Iop(Istore(Single, _, _)) -> [| rxmm15 |] - | Iop(Ialloc _ | Iintop(Imulh | Icomp _) | Iintop_imm((Icomp _), _)) - -> [| rax |] - | Iswitch(_, _) -> [| rax; rdx |] - | _ -> - if fp then -(* prevent any use of the frame pointer ! *) - [| rbp |] - else - [||] - - -let destroyed_at_raise = all_phys_regs - -(* Maximal register pressure *) - - -let safe_register_pressure = function - Iextcall(_,_) -> if win64 then if fp then 7 else 8 else 0 - | _ -> if fp then 10 else 11 - -let max_register_pressure = function - Iextcall(_, _) -> - if win64 then - if fp then [| 7; 10 |] else [| 8; 10 |] - else - if fp then [| 3; 0 |] else [| 4; 0 |] - | Iintop(Idiv | Imod) | Iintop_imm((Idiv | Imod), _) -> - if fp then [| 10; 16 |] else [| 11; 16 |] - | Ialloc _ | Iintop(Icomp _) | Iintop_imm((Icomp _), _) -> - if fp then [| 11; 16 |] else [| 12; 16 |] - | Istore(Single, _, _) -> - if fp then [| 12; 15 |] else [| 13; 15 |] - | _ -> if fp then [| 12; 16 |] else [| 13; 16 |] - -(* Pure operations (without any side effect besides updating their result - registers). *) - -let op_is_pure = function - | Icall_ind | Icall_imm _ | Itailcall_ind | Itailcall_imm _ - | Iextcall _ | Istackoffset _ | Istore _ | Ialloc _ - | Iintop(Icheckbound) | Iintop_imm(Icheckbound, _) -> false - | Ispecific(Ilea _) -> true - | Ispecific _ -> false - | _ -> true - -(* Layout of the stack frame *) - -let num_stack_slots = [| 0; 0 |] -let contains_calls = ref false - -(* Calling the assembler *) - -let assemble_file infile outfile = - if masm then - Ccomp.command (Config.asm ^ - Filename.quote outfile ^ " " ^ Filename.quote infile ^ - (if !Clflags.verbose then "" else ">NUL")) - else - Ccomp.command (Config.asm ^ " -o " ^ - Filename.quote outfile ^ " " ^ Filename.quote infile) - -let init () = - if fp then begin - num_available_registers.(0) <- 12 - end else - num_available_registers.(0) <- 13 diff --git a/vendor/ocaml/asmcomp/amd64/reload.ml b/vendor/ocaml/asmcomp/amd64/reload.ml deleted file mode 100644 index 49070d299..000000000 --- a/vendor/ocaml/asmcomp/amd64/reload.ml +++ /dev/null @@ -1,127 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 2000 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -open Cmm -open Arch -open Reg -open Mach - -(* Reloading for the AMD64 *) - -(* Summary of instruction set constraints: - "S" means either stack or register, "R" means register only. - Operation Res Arg1 Arg2 - Imove R S - or S R - Iconst_int ] S if 32-bit signed, R otherwise - Iconst_blockheader ] - Iconst_float R - Iconst_symbol (not PIC) S - Iconst_symbol (PIC) R - Icall_ind R - Itailcall_ind R - Iload R R R - Istore R R - Iintop(Icomp) R R S - or S S R - Iintop(Imul|Idiv|Imod) R R S - Iintop(Imulh) R R S - Iintop(shift) S S R - Iintop(others) R R S - or S S R - Iintop_imm(Iadd, n)/lea R R - Iintop_imm(others) S S - Inegf...Idivf R R S - Ifloatofint R S - Iintoffloat R S - Ispecific(Ilea) R R R - Ispecific(Ifloatarithmem) R R R - - Conditional branches: - Iinttest S R - or R S - Ifloattest R S (or S R if swapped test) - other tests S -*) - -let stackp r = - match r.loc with - Stack _ -> true - | _ -> false - -class reload = object (self) - -inherit Reloadgen.reload_generic as super - -method! reload_operation op arg res = - match op with - | Iintop(Iadd|Isub|Iand|Ior|Ixor|Icomp _|Icheckbound) -> - (* One of the two arguments can reside in the stack, but not both *) - if stackp arg.(0) && stackp arg.(1) - then ([|arg.(0); self#makereg arg.(1)|], res) - else (arg, res) - | Iintop_imm(Iadd, _) when arg.(0).loc <> res.(0).loc -> - (* This add will be turned into a lea; args and results must be - in registers *) - super#reload_operation op arg res - | Iintop(Imulh | Idiv | Imod | Ilsl | Ilsr | Iasr) - | Iintop_imm(_, _) -> - (* The argument(s) and results can be either in register or on stack *) - (* Note: Imulh, Idiv, Imod: arg(0) and res(0) already forced in regs - Ilsl, Ilsr, Iasr: arg(1) already forced in regs *) - (arg, res) - | Iintop(Imul) | Iaddf | Isubf | Imulf | Idivf -> - (* First argument (= result) must be in register, second arg - can reside in the stack *) - if stackp arg.(0) - then (let r = self#makereg arg.(0) in ([|r; arg.(1)|], [|r|])) - else (arg, res) - | Ifloatofint | Iintoffloat -> - (* Result must be in register, but argument can be on stack *) - (arg, (if stackp res.(0) then [| self#makereg res.(0) |] else res)) - | Iconst_int n | Iconst_blockheader n -> - if n <= 0x7FFFFFFFn && n >= -0x80000000n - then (arg, res) - else super#reload_operation op arg res - | Iconst_symbol _ -> - if !pic_code || !Clflags.dlcode - then super#reload_operation op arg res - else (arg, res) - | _ -> (* Other operations: all args and results in registers *) - super#reload_operation op arg res - -method! reload_test tst arg = - match tst with - Iinttest cmp -> - (* One of the two arguments can reside on stack *) - if stackp arg.(0) && stackp arg.(1) - then [| self#makereg arg.(0); arg.(1) |] - else arg - | Ifloattest((Clt|Cle), _) -> - (* Cf. emit.mlp: we swap arguments in this case *) - (* First argument can be on stack, second must be in register *) - if stackp arg.(1) - then [| arg.(0); self#makereg arg.(1) |] - else arg - | Ifloattest((Ceq|Cne|Cgt|Cge), _) -> - (* Second argument can be on stack, first must be in register *) - if stackp arg.(0) - then [| self#makereg arg.(0); arg.(1) |] - else arg - | _ -> - (* The argument(s) can be either in register or on stack *) - arg - -end - -let fundecl f = - (new reload)#fundecl f diff --git a/vendor/ocaml/asmcomp/amd64/scheduling.ml b/vendor/ocaml/asmcomp/amd64/scheduling.ml deleted file mode 100644 index e234431bf..000000000 --- a/vendor/ocaml/asmcomp/amd64/scheduling.ml +++ /dev/null @@ -1,18 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 2000 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -let _ = let module M = Schedgen in () (* to create a dependency *) - -(* Scheduling is turned off because the processor schedules dynamically - much better than what we could do. *) - -let fundecl f = f diff --git a/vendor/ocaml/asmcomp/amd64/selection.ml b/vendor/ocaml/asmcomp/amd64/selection.ml deleted file mode 100644 index fa7fe66c0..000000000 --- a/vendor/ocaml/asmcomp/amd64/selection.ml +++ /dev/null @@ -1,254 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 2000 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction selection for the AMD64 *) - -open Arch -open Proc -open Cmm -open Mach - -(* Auxiliary for recognizing addressing modes *) - -type addressing_expr = - Asymbol of string - | Alinear of expression - | Aadd of expression * expression - | Ascale of expression * int - | Ascaledadd of expression * expression * int - -let rec select_addr exp = - match exp with - Cconst_symbol s when not !Clflags.dlcode -> - (Asymbol s, 0) - | Cop((Caddi | Cadda), [arg; Cconst_int m]) -> - let (a, n) = select_addr arg in (a, n + m) - | Cop((Csubi | Csuba), [arg; Cconst_int m]) -> - let (a, n) = select_addr arg in (a, n - m) - | Cop((Caddi | Cadda), [Cconst_int m; arg]) -> - let (a, n) = select_addr arg in (a, n + m) - | Cop(Clsl, [arg; Cconst_int(1|2|3 as shift)]) -> - begin match select_addr arg with - (Alinear e, n) -> (Ascale(e, 1 lsl shift), n lsl shift) - | _ -> (Alinear exp, 0) - end - | Cop(Cmuli, [arg; Cconst_int(2|4|8 as mult)]) -> - begin match select_addr arg with - (Alinear e, n) -> (Ascale(e, mult), n * mult) - | _ -> (Alinear exp, 0) - end - | Cop(Cmuli, [Cconst_int(2|4|8 as mult); arg]) -> - begin match select_addr arg with - (Alinear e, n) -> (Ascale(e, mult), n * mult) - | _ -> (Alinear exp, 0) - end - | Cop((Caddi | Cadda), [arg1; arg2]) -> - begin match (select_addr arg1, select_addr arg2) with - ((Alinear e1, n1), (Alinear e2, n2)) -> - (Aadd(e1, e2), n1 + n2) - | ((Alinear e1, n1), (Ascale(e2, scale), n2)) -> - (Ascaledadd(e1, e2, scale), n1 + n2) - | ((Ascale(e1, scale), n1), (Alinear e2, n2)) -> - (Ascaledadd(e2, e1, scale), n1 + n2) - | (_, (Ascale(e2, scale), n2)) -> - (Ascaledadd(arg1, e2, scale), n2) - | ((Ascale(e1, scale), n1), _) -> - (Ascaledadd(arg2, e1, scale), n1) - | _ -> - (Aadd(arg1, arg2), 0) - end - | arg -> - (Alinear arg, 0) - -(* Special constraints on operand and result registers *) - -exception Use_default - -let rax = phys_reg 0 -let rcx = phys_reg 5 -let rdx = phys_reg 4 - -let pseudoregs_for_operation op arg res = - match op with - (* Two-address binary operations: arg.(0) and res.(0) must be the same *) - Iintop(Iadd|Isub|Imul|Iand|Ior|Ixor) | Iaddf|Isubf|Imulf|Idivf -> - ([|res.(0); arg.(1)|], res) - (* One-address unary operations: arg.(0) and res.(0) must be the same *) - | Iintop_imm((Iadd|Isub|Imul|Iand|Ior|Ixor|Ilsl|Ilsr|Iasr), _) - | Iabsf | Inegf - | Ispecific(Ibswap (32|64)) -> - (res, res) - (* For xchg, args must be a register allowing access to high 8 bit register - (rax, rbx, rcx or rdx). Keep it simple, just force the argument in rax. *) - | Ispecific(Ibswap 16) -> - ([| rax |], [| rax |]) - (* For imulq, first arg must be in rax, rax is clobbered, and result is in - rdx. *) - | Iintop(Imulh) -> - ([| rax; arg.(1) |], [| rdx |]) - | Ispecific(Ifloatarithmem(_,_)) -> - let arg' = Array.copy arg in - arg'.(0) <- res.(0); - (arg', res) - (* For shifts with variable shift count, second arg must be in rcx *) - | Iintop(Ilsl|Ilsr|Iasr) -> - ([|res.(0); rcx|], res) - (* For div and mod, first arg must be in rax, rdx is clobbered, - and result is in rax or rdx respectively. - Keep it simple, just force second argument in rcx. *) - | Iintop(Idiv) -> - ([| rax; rcx |], [| rax |]) - | Iintop(Imod) -> - ([| rax; rcx |], [| rdx |]) - (* Other instructions are regular *) - | _ -> raise Use_default - -let inline_ops = - [ "sqrt"; "caml_bswap16_direct"; "caml_int32_direct_bswap"; - "caml_int64_direct_bswap"; "caml_nativeint_direct_bswap" ] - -(* The selector class *) - -class selector = object (self) - -inherit Selectgen.selector_generic as super - -method is_immediate n = n <= 0x7FFFFFFF && n >= -0x80000000 - -method is_immediate_natint n = n <= 0x7FFFFFFFn && n >= -0x80000000n - -method! is_simple_expr e = - match e with - | Cop(Cextcall(fn, _, _, _), args) - when List.mem fn inline_ops -> - (* inlined ops are simple if their arguments are *) - List.for_all self#is_simple_expr args - | _ -> - super#is_simple_expr e - -method select_addressing chunk exp = - let (a, d) = select_addr exp in - (* PR#4625: displacement must be a signed 32-bit immediate *) - if d < -0x8000_0000 || d > 0x7FFF_FFFF - then (Iindexed 0, exp) - else match a with - | Asymbol s -> - (Ibased(s, d), Ctuple []) - | Alinear e -> - (Iindexed d, e) - | Aadd(e1, e2) -> - (Iindexed2 d, Ctuple[e1; e2]) - | Ascale(e, scale) -> - (Iscaled(scale, d), e) - | Ascaledadd(e1, e2, scale) -> - (Iindexed2scaled(scale, d), Ctuple[e1; e2]) - -method! select_store is_assign addr exp = - match exp with - Cconst_int n when self#is_immediate n -> - (Ispecific(Istore_int(Nativeint.of_int n, addr, is_assign)), Ctuple []) - | (Cconst_natint n | Cconst_blockheader n) when self#is_immediate_natint n -> - (Ispecific(Istore_int(n, addr, is_assign)), Ctuple []) - | Cconst_pointer n when self#is_immediate n -> - (Ispecific(Istore_int(Nativeint.of_int n, addr, is_assign)), Ctuple []) - | Cconst_natpointer n when self#is_immediate_natint n -> - (Ispecific(Istore_int(n, addr, is_assign)), Ctuple []) - | Cconst_symbol s when not (!pic_code || !Clflags.dlcode) -> - (Ispecific(Istore_symbol(s, addr, is_assign)), Ctuple []) - | _ -> - super#select_store is_assign addr exp - -method! select_operation op args = - match op with - (* Recognize the LEA instruction *) - Caddi | Cadda | Csubi | Csuba -> - begin match self#select_addressing Word (Cop(op, args)) with - (Iindexed d, _) -> super#select_operation op args - | (Iindexed2 0, _) -> super#select_operation op args - | (addr, arg) -> (Ispecific(Ilea addr), [arg]) - end - (* Recognize float arithmetic with memory. *) - | Caddf -> - self#select_floatarith true Iaddf Ifloatadd args - | Csubf -> - self#select_floatarith false Isubf Ifloatsub args - | Cmulf -> - self#select_floatarith true Imulf Ifloatmul args - | Cdivf -> - self#select_floatarith false Idivf Ifloatdiv args - | Cextcall("sqrt", _, false, _) -> - begin match args with - [Cop(Cload (Double|Double_u as chunk), [loc])] -> - let (addr, arg) = self#select_addressing chunk loc in - (Ispecific(Ifloatsqrtf addr), [arg]) - | [arg] -> - (Ispecific Isqrtf, [arg]) - | _ -> - assert false - end - (* Recognize store instructions *) - | Cstore Word -> - begin match args with - [loc; Cop(Caddi, [Cop(Cload _, [loc']); Cconst_int n])] - when loc = loc' && self#is_immediate n -> - let (addr, arg) = self#select_addressing Word loc in - (Ispecific(Ioffset_loc(n, addr)), [arg]) - | _ -> - super#select_operation op args - end - | Cextcall("caml_bswap16_direct", _, _, _) -> - (Ispecific (Ibswap 16), args) - | Cextcall("caml_int32_direct_bswap", _, _, _) -> - (Ispecific (Ibswap 32), args) - | Cextcall("caml_int64_direct_bswap", _, _, _) - | Cextcall("caml_nativeint_direct_bswap", _, _, _) -> - (Ispecific (Ibswap 64), args) - (* AMD64 does not support immediate operands for multiply high signed *) - | Cmulhi -> - (Iintop Imulh, args) - | _ -> super#select_operation op args - -(* Recognize float arithmetic with mem *) - -method select_floatarith commutative regular_op mem_op args = - match args with - [arg1; Cop(Cload (Double|Double_u as chunk), [loc2])] -> - let (addr, arg2) = self#select_addressing chunk loc2 in - (Ispecific(Ifloatarithmem(mem_op, addr)), - [arg1; arg2]) - | [Cop(Cload (Double|Double_u as chunk), [loc1]); arg2] when commutative -> - let (addr, arg1) = self#select_addressing chunk loc1 in - (Ispecific(Ifloatarithmem(mem_op, addr)), - [arg2; arg1]) - | [arg1; arg2] -> - (regular_op, [arg1; arg2]) - | _ -> - assert false - -method! mark_c_tailcall = - Proc.contains_calls := true - -(* Deal with register constraints *) - -method! insert_op_debug op dbg rs rd = - try - let (rsrc, rdst) = pseudoregs_for_operation op rs rd in - self#insert_moves rs rsrc; - self#insert_debug (Iop op) dbg rsrc rdst; - self#insert_moves rdst rd; - rd - with Use_default -> - super#insert_op_debug op dbg rs rd - -end - -let fundecl f = (new selector)#emit_fundecl f diff --git a/vendor/ocaml/asmcomp/arm/CSE.ml b/vendor/ocaml/asmcomp/arm/CSE.ml deleted file mode 100644 index bea333dc4..000000000 --- a/vendor/ocaml/asmcomp/arm/CSE.ml +++ /dev/null @@ -1,37 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* CSE for ARM *) - -open Arch -open Mach -open CSEgen - -class cse = object (self) - -inherit cse_generic as super - -method! class_of_operation op = - match op with - | Ispecific(Ishiftcheckbound _) -> Op_checkbound - | Ispecific _ -> Op_pure - | _ -> super#class_of_operation op - -method! is_cheap_operation op = - match op with - | Iconst_int n | Iconst_blockheader n -> n <= 255n && n >= 0n - | _ -> false - -end - -let fundecl f = - (new cse)#fundecl f diff --git a/vendor/ocaml/asmcomp/arm/arch.ml b/vendor/ocaml/asmcomp/arm/arch.ml deleted file mode 100644 index d93c1e0e4..000000000 --- a/vendor/ocaml/asmcomp/arm/arch.ml +++ /dev/null @@ -1,257 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Benedikt Meurer, University of Siegen *) -(* *) -(* Copyright 1998 Institut National de Recherche en Informatique *) -(* et en Automatique. Copyright 2012 Benedikt Meurer. All rights *) -(* reserved. This file is distributed under the terms of the Q *) -(* Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Specific operations for the ARM processor *) - -open Format - -type abi = EABI | EABI_HF -type arch = ARMv4 | ARMv5 | ARMv5TE | ARMv6 | ARMv6T2 | ARMv7 -type fpu = Soft | VFPv2 | VFPv3_D16 | VFPv3 - -let abi = - match Config.system with - "linux_eabi" | "freebsd" -> EABI - | "linux_eabihf" -> EABI_HF - | _ -> assert false - -let string_of_arch = function - ARMv4 -> "armv4" - | ARMv5 -> "armv5" - | ARMv5TE -> "armv5te" - | ARMv6 -> "armv6" - | ARMv6T2 -> "armv6t2" - | ARMv7 -> "armv7" - -let string_of_fpu = function - Soft -> "soft" - | VFPv2 -> "vfpv2" - | VFPv3_D16 -> "vfpv3-d16" - | VFPv3 -> "vfpv3" - -(* Machine-specific command-line options *) - -let (arch, fpu, thumb) = - let (def_arch, def_fpu, def_thumb) = - begin match abi, Config.model with - (* Defaults for architecture, FPU and Thumb *) - EABI, "armv5" -> ARMv5, Soft, false - | EABI, "armv5te" -> ARMv5TE, Soft, false - | EABI, "armv6" -> ARMv6, Soft, false - | EABI, "armv6t2" -> ARMv6T2, Soft, false - | EABI, "armv7" -> ARMv7, Soft, false - | EABI, _ -> ARMv4, Soft, false - | EABI_HF, "armv6" -> ARMv6, VFPv2, false - | EABI_HF, _ -> ARMv7, VFPv3_D16, true - end in - (ref def_arch, ref def_fpu, ref def_thumb) - -let pic_code = ref false - -let farch spec = - arch := (match spec with - "armv4" when abi <> EABI_HF -> ARMv4 - | "armv5" when abi <> EABI_HF -> ARMv5 - | "armv5te" when abi <> EABI_HF -> ARMv5TE - | "armv6" -> ARMv6 - | "armv6t2" -> ARMv6T2 - | "armv7" -> ARMv7 - | spec -> raise (Arg.Bad spec)) - -let ffpu spec = - fpu := (match spec with - "soft" when abi <> EABI_HF -> Soft - | "vfpv2" when abi = EABI_HF -> VFPv2 - | "vfpv3-d16" when abi = EABI_HF -> VFPv3_D16 - | "vfpv3" when abi = EABI_HF -> VFPv3 - | spec -> raise (Arg.Bad spec)) - -let command_line_options = - [ "-farch", Arg.String farch, - " Select the ARM target architecture" - ^ " (default: " ^ (string_of_arch !arch) ^ ")"; - "-ffpu", Arg.String ffpu, - " Select the floating-point hardware" - ^ " (default: " ^ (string_of_fpu !fpu) ^ ")"; - "-fPIC", Arg.Set pic_code, - " Generate position-independent machine code"; - "-fno-PIC", Arg.Clear pic_code, - " Generate position-dependent machine code"; - "-fthumb", Arg.Set thumb, - " Enable Thumb/Thumb-2 code generation" - ^ (if !thumb then " (default)" else ""); - "-fno-thumb", Arg.Clear thumb, - " Disable Thumb/Thumb-2 code generation" - ^ (if not !thumb then " (default" else "")] - -(* Addressing modes *) - -type addressing_mode = - Iindexed of int (* reg + displ *) - -(* We do not support the reg + shifted reg addressing mode, because - what we really need is reg + shifted reg + displ, - and this is decomposed in two instructions (reg + shifted reg -> tmp, - then addressing tmp + displ). *) - -(* Specific operations *) - -type specific_operation = - Ishiftarith of arith_operation * shift_operation * int - | Ishiftcheckbound of shift_operation * int - | Irevsubimm of int - | Imulhadd (* multiply high and add *) - | Imuladd (* multiply and add *) - | Imulsub (* multiply and subtract *) - | Inegmulf (* floating-point negate and multiply *) - | Imuladdf (* floating-point multiply and add *) - | Inegmuladdf (* floating-point negate, multiply and add *) - | Imulsubf (* floating-point multiply and subtract *) - | Inegmulsubf (* floating-point negate, multiply and subtract *) - | Isqrtf (* floating-point square root *) - | Ibswap of int (* endianess conversion *) - -and arith_operation = - Ishiftadd - | Ishiftsub - | Ishiftsubrev - | Ishiftand - | Ishiftor - | Ishiftxor - -and shift_operation = - Ishiftlogicalleft - | Ishiftlogicalright - | Ishiftarithmeticright - -(* Sizes, endianness *) - -let big_endian = false - -let size_addr = 4 -let size_int = 4 -let size_float = 8 - -let allow_unaligned_access = false - -(* Behavior of division *) - -let division_crashes_on_overflow = false - -(* Operations on addressing modes *) - -let identity_addressing = Iindexed 0 - -let offset_addressing (Iindexed n) delta = Iindexed(n + delta) - -let num_args_addressing (Iindexed n) = 1 - -(* Printing operations and addressing modes *) - -let print_addressing printreg addr ppf arg = - match addr with - | Iindexed n -> - printreg ppf arg.(0); - if n <> 0 then fprintf ppf " + %i" n - -let shiftop_name = function - | Ishiftlogicalleft -> "<<" - | Ishiftlogicalright -> ">>u" - | Ishiftarithmeticright -> ">>s" - -let print_specific_operation printreg op ppf arg = - match op with - Ishiftarith(op, shiftop, amount) -> - let (op1_name, op2_name) = match op with - Ishiftadd -> ("", "+") - | Ishiftsub -> ("", "-") - | Ishiftsubrev -> ("-", "+") - | Ishiftand -> ("", "&") - | Ishiftor -> ("", "|") - | Ishiftxor -> ("", "^") in - fprintf ppf "%s%a %s (%a %s %i)" - op1_name - printreg arg.(0) - op2_name - printreg arg.(1) - (shiftop_name shiftop) - amount - | Ishiftcheckbound(shiftop, amount) -> - fprintf ppf "check (%a %s %i) > %a" - printreg arg.(0) - (shiftop_name shiftop) - amount - printreg arg.(1) - | Irevsubimm n -> - fprintf ppf "%i %s %a" n "-" printreg arg.(0) - | Imulhadd -> - fprintf ppf "%a *h %a) + %a" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Imuladd -> - fprintf ppf "(%a * %a) + %a" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Imulsub -> - fprintf ppf "-(%a * %a) + %a" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Inegmulf -> - fprintf ppf "-f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - | Imuladdf -> - fprintf ppf "%a +f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Inegmuladdf -> - fprintf ppf "%a -f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Imulsubf -> - fprintf ppf "(-f %a) +f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Inegmulsubf -> - fprintf ppf "(-f %a) -f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Isqrtf -> - fprintf ppf "sqrtf %a" - printreg arg.(0) - | Ibswap n -> - fprintf ppf "bswap%i %a" n - printreg arg.(0) - -(* Recognize immediate operands *) - -(* Immediate operands are 8-bit immediate values, zero-extended, - and rotated right by 0 ... 30 bits. - In Thumb/Thumb-2 mode we utilize 26 ... 30. *) - -let is_immediate n = - let n = ref n in - let s = ref 0 in - let m = if !thumb then 24 else 30 in - while (!s <= m && Int32.logand !n 0xffl <> !n) do - n := Int32.logor (Int32.shift_right_logical !n 2) (Int32.shift_left !n 30); - s := !s + 2 - done; - !s <= m diff --git a/vendor/ocaml/asmcomp/arm/emit.mlp b/vendor/ocaml/asmcomp/arm/emit.mlp deleted file mode 100644 index 4948fb2b1..000000000 --- a/vendor/ocaml/asmcomp/arm/emit.mlp +++ /dev/null @@ -1,954 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Benedikt Meurer, University of Siegen *) -(* *) -(* Copyright 1998 Institut National de Recherche en Informatique *) -(* et en Automatique. Copyright 2012 Benedikt Meurer. All rights *) -(* reserved. This file is distributed under the terms of the Q *) -(* Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Emission of ARM assembly code *) - -open Misc -open Cmm -open Arch -open Proc -open Reg -open Mach -open Linearize -open Emitaux - -(* Tradeoff between code size and code speed *) - -let fastcode_flag = ref true - -(* Output a label *) - -let emit_label lbl = - emit_string ".L"; emit_int lbl - -let emit_data_label lbl = - emit_string ".Ld"; emit_int lbl - -(* Symbols *) - -let emit_symbol s = - Emitaux.emit_symbol '$' s - -let emit_call s = - if !Clflags.dlcode || !pic_code - then `bl {emit_symbol s}(PLT)` - else `bl {emit_symbol s}` - -let emit_jump s = - if !Clflags.dlcode || !pic_code - then `b {emit_symbol s}(PLT)` - else `b {emit_symbol s}` - -(* Output a pseudo-register *) - -let emit_reg = function - {loc = Reg r} -> emit_string (register_name r) - | _ -> fatal_error "Emit_arm.emit_reg" - -(* Layout of the stack frame *) - -let stack_offset = ref 0 - -let frame_size () = - let sz = - !stack_offset + - 4 * num_stack_slots.(0) + - 8 * num_stack_slots.(1) + - 8 * num_stack_slots.(2) + - (if !contains_calls then 4 else 0) - in Misc.align sz 8 - -let slot_offset loc cl = - match loc with - Incoming n -> - assert (n >= 0); - frame_size() + n - | Local n -> - if cl = 0 - then !stack_offset + n * 4 - else !stack_offset + num_stack_slots.(0) * 4 + n * 8 - | Outgoing n -> - assert (n >= 0); - n - -(* Output a stack reference *) - -let emit_stack r = - match r.loc with - | Stack s -> - let ofs = slot_offset s (register_class r) in `[sp, #{emit_int ofs}]` - | _ -> fatal_error "Emit_arm.emit_stack" - -(* Output an addressing mode *) - -let emit_addressing addr r n = - match addr with - Iindexed ofs -> - `[{emit_reg r.(n)}, #{emit_int ofs}]` - -(* Record live pointers at call points *) - -let record_frame_label live dbg = - let lbl = new_label() in - let live_offset = ref [] in - Reg.Set.iter - (function - {typ = Addr; loc = Reg r} -> - live_offset := ((r lsl 1) + 1) :: !live_offset - | {typ = Addr; loc = Stack s} as reg -> - live_offset := slot_offset s (register_class reg) :: !live_offset - | _ -> ()) - live; - frame_descriptors := - { fd_lbl = lbl; - fd_frame_size = frame_size(); - fd_live_offset = !live_offset; - fd_debuginfo = dbg } :: !frame_descriptors; - lbl - -let record_frame live dbg = - let lbl = record_frame_label live dbg in `{emit_label lbl}:` - -(* Record calls to the GC -- we've moved them out of the way *) - -type gc_call = - { gc_lbl: label; (* Entry label *) - gc_return_lbl: label; (* Where to branch after GC *) - gc_frame_lbl: label } (* Label of frame descriptor *) - -let call_gc_sites = ref ([] : gc_call list) - -let emit_call_gc gc = - `{emit_label gc.gc_lbl}: {emit_call "caml_call_gc"}\n`; - `{emit_label gc.gc_frame_lbl}: b {emit_label gc.gc_return_lbl}\n` - -(* Record calls to caml_ml_array_bound_error. - In debug mode, we maintain one call to caml_ml_array_bound_error - per bound check site. Otherwise, we can share a single call. *) - -type bound_error_call = - { bd_lbl: label; (* Entry label *) - bd_frame_lbl: label } (* Label of frame descriptor *) - -let bound_error_sites = ref ([] : bound_error_call list) - -let bound_error_label dbg = - if !Clflags.debug || !bound_error_sites = [] then begin - let lbl_bound_error = new_label() in - let lbl_frame = record_frame_label Reg.Set.empty dbg in - bound_error_sites := - { bd_lbl = lbl_bound_error; - bd_frame_lbl = lbl_frame } :: !bound_error_sites; - lbl_bound_error - end else begin - let bd = List.hd !bound_error_sites in bd.bd_lbl - end - -let emit_call_bound_error bd = - `{emit_label bd.bd_lbl}: {emit_call "caml_ml_array_bound_error"}\n`; - `{emit_label bd.bd_frame_lbl}:\n` - -(* Negate a comparison *) - -let negate_integer_comparison = function - Isigned cmp -> Isigned(negate_comparison cmp) - | Iunsigned cmp -> Iunsigned(negate_comparison cmp) - -(* Names of various instructions *) - -let name_for_comparison = function - Isigned Ceq -> "eq" | Isigned Cne -> "ne" | Isigned Cle -> "le" - | Isigned Cge -> "ge" | Isigned Clt -> "lt" | Isigned Cgt -> "gt" - | Iunsigned Ceq -> "eq" | Iunsigned Cne -> "ne" | Iunsigned Cle -> "ls" - | Iunsigned Cge -> "cs" | Iunsigned Clt -> "cc" | Iunsigned Cgt -> "hi" - -let name_for_int_operation = function - (* Use adds,subs,... to enable 16-bit T1 encoding *) - Iadd -> "adds" - | Isub -> "subs" - | Imul -> "mul" - | Imulh -> "smmul" - | Iand -> "ands" - | Ior -> "orrs" - | Ixor -> "eors" - | Ilsl -> "lsls" - | Ilsr -> "lsrs" - | Iasr -> "asrs" - | _ -> assert false - -let name_for_shift_operation = function - Ishiftlogicalleft -> "lsl" - | Ishiftlogicalright -> "lsr" - | Ishiftarithmeticright -> "asr" - -(* General functional to decompose a non-immediate integer constant - into 8-bit chunks shifted left 0 ... 30 bits. *) - -let decompose_intconst n fn = - let i = ref n in - let shift = ref 0 in - let ninstr = ref 0 in - while !i <> 0l do - if Int32.logand (Int32.shift_right !i !shift) 3l = 0l then - shift := !shift + 2 - else begin - let bits = Int32.logand !i (Int32.shift_left 0xffl !shift) in - i := Int32.sub !i bits; - shift := !shift + 8; - incr ninstr; - fn bits - end - done; - !ninstr - -(* Load an integer constant into a register *) - -let emit_intconst dst n = - let nr = Int32.lognot n in - if is_immediate n then begin - (* Use movs here to enable 16-bit T1 encoding *) - ` movs {emit_reg dst}, #{emit_int32 n}\n`; 1 - end else if is_immediate nr then begin - ` mvn {emit_reg dst}, #{emit_int32 nr}\n`; 1 - end else if !arch > ARMv6 then begin - let nl = Int32.logand 0xffffl n in - let nh = Int32.logand 0xffffl (Int32.shift_right_logical n 16) in - if nh = 0l then begin - ` movw {emit_reg dst}, #{emit_int32 nl}\n`; 1 - end else if Int32.logand nl 0xffl = nl then begin - ` movs {emit_reg dst}, #{emit_int32 nl}\n`; - ` movt {emit_reg dst}, #{emit_int32 nh}\n`; 2 - end else begin - ` movw {emit_reg dst}, #{emit_int32 nl}\n`; - ` movt {emit_reg dst}, #{emit_int32 nh}\n`; 2 - end - end else begin - let first = ref true in - decompose_intconst n - (fun bits -> - if !first - (* Use movs,adds here to enable 16-bit T1 encoding *) - then ` movs {emit_reg dst}, #{emit_int32 bits} @ {emit_int32 n}\n` - else ` adds {emit_reg dst}, {emit_reg dst}, #{emit_int32 bits}\n`; - first := false) - end - -(* Adjust sp (up or down) by the given byte amount *) - -let emit_stack_adjustment n = - if n = 0 then 0 else begin - let instr = if n < 0 then "sub" else "add" in - let ninstr = decompose_intconst (Int32.of_int (abs n)) - (fun bits -> - ` {emit_string instr} sp, sp, #{emit_int32 bits}\n`) in - cfi_adjust_cfa_offset (-n); - ninstr - end - -(* Deallocate the stack frame before a return or tail call *) - -let output_epilogue f = - let n = frame_size() in - if n > 0 then begin - let ninstr = emit_stack_adjustment n in - let ninstr = ninstr + f () in - (* reset CFA back cause function body may continue *) - cfi_adjust_cfa_offset n; - ninstr - end else - f () - -(* Name of current function *) -let function_name = ref "" -(* Entry point for tail recursive calls *) -let tailrec_entry_point = ref 0 -(* Pending floating-point literals *) -let float_literals = ref ([] : (int64 * label) list) -(* Pending relative references to the global offset table *) -let gotrel_literals = ref ([] : (label * label) list) -(* Pending symbol literals *) -let symbol_literals = ref ([] : (string * label) list) -(* Total space (in words) occupied by pending literals *) -let num_literals = ref 0 - -(* Label a floating-point literal *) -let float_literal f = - let repr = Int64.bits_of_float f in - try - List.assoc repr !float_literals - with Not_found -> - let lbl = new_label() in - num_literals := !num_literals + 2; - float_literals := (repr, lbl) :: !float_literals; - lbl - -(* Label a GOTREL literal *) -let gotrel_literal l = - let lbl = new_label() in - num_literals := !num_literals + 1; - gotrel_literals := (l, lbl) :: !gotrel_literals; - lbl - -(* Label a symbol literal *) -let symbol_literal s = - try - List.assoc s !symbol_literals - with Not_found -> - let lbl = new_label() in - num_literals := !num_literals + 1; - symbol_literals := (s, lbl) :: !symbol_literals; - lbl - -(* Emit all pending literals *) -let emit_literals() = - if !float_literals <> [] then begin - ` .align 3\n`; - List.iter - (fun (f, lbl) -> - `{emit_label lbl}:`; emit_float64_split_directive ".long" f) - !float_literals; - float_literals := [] - end; - if !symbol_literals <> [] then begin - let offset = if !thumb then 4 else 8 in - let suffix = if !pic_code then "(GOT)" else "" in - ` .align 2\n`; - List.iter - (fun (l, lbl) -> - `{emit_label lbl}: .word _GLOBAL_OFFSET_TABLE_-({emit_label l}+{emit_int offset})\n`) - !gotrel_literals; - List.iter - (fun (s, lbl) -> - `{emit_label lbl}: .word {emit_symbol s}{emit_string suffix}\n`) - !symbol_literals; - gotrel_literals := []; - symbol_literals := [] - end; - num_literals := 0 - -(* Emit code to load the address of a symbol *) - -let emit_load_symbol_addr dst s = - if !pic_code then begin - let lbl_pic = new_label() in - let lbl_got = gotrel_literal lbl_pic in - let lbl_sym = symbol_literal s in - (* Both r3 and r12 are marked as clobbered in PIC mode (cf. proc.ml), - so use r12 as temporary scratch register unless the destination is - r12, then we use r3 instead. *) - let tmp = if dst.loc = Reg 8 (*r12*) - then phys_reg 3 (*r3*) - else phys_reg 8 (*r12*) in - ` ldr {emit_reg tmp}, {emit_label lbl_got}\n`; - ` ldr {emit_reg dst}, {emit_label lbl_sym}\n`; - `{emit_label lbl_pic}: add {emit_reg tmp}, pc, {emit_reg tmp}\n`; - ` ldr {emit_reg dst}, [{emit_reg tmp}, {emit_reg dst}] @ {emit_symbol s}\n`; - 4 - end else if !arch > ARMv6 && not !Clflags.dlcode && !fastcode_flag then begin - ` movw {emit_reg dst}, #:lower16:{emit_symbol s}\n`; - ` movt {emit_reg dst}, #:upper16:{emit_symbol s}\n`; - 2 - end else begin - let lbl = symbol_literal s in - ` ldr {emit_reg dst}, {emit_label lbl} @ {emit_symbol s}\n`; - 1 - end - -(* Output the assembly code for an instruction *) - -let emit_instr i = - emit_debug_info i.dbg; - match i.desc with - Lend -> 0 - | Lop(Imove | Ispill | Ireload) -> - let src = i.arg.(0) and dst = i.res.(0) in - if src.loc = dst.loc then 0 else begin - begin match (src, dst) with - {loc = Reg _; typ = Float}, {loc = Reg _} -> - ` fcpyd {emit_reg dst}, {emit_reg src}\n` - | {loc = Reg _}, {loc = Reg _} -> - ` mov {emit_reg dst}, {emit_reg src}\n` - | {loc = Reg _; typ = Float}, _ -> - ` fstd {emit_reg src}, {emit_stack dst}\n` - | {loc = Reg _}, _ -> - ` str {emit_reg src}, {emit_stack dst}\n` - | {typ = Float}, _ -> - ` fldd {emit_reg dst}, {emit_stack src}\n` - | _ -> - ` ldr {emit_reg dst}, {emit_stack src}\n` - end; 1 - end - | Lop(Iconst_int n | Iconst_blockheader n) -> - emit_intconst i.res.(0) (Nativeint.to_int32 n) - | Lop(Iconst_float f) when !fpu = Soft -> - let bits = Int64.bits_of_float f in - let high_bits = Int64.to_int32 (Int64.shift_right_logical bits 32) - and low_bits = Int64.to_int32 bits in - if is_immediate low_bits || is_immediate high_bits then begin - let ninstr_low = emit_intconst i.res.(0) low_bits - and ninstr_high = emit_intconst i.res.(1) high_bits in - ninstr_low + ninstr_high - end else begin - let lbl = float_literal f in - ` ldr {emit_reg i.res.(0)}, {emit_label lbl}\n`; - ` ldr {emit_reg i.res.(1)}, {emit_label lbl} + 4\n`; - 2 - end - | Lop(Iconst_float f) when !fpu = VFPv2 -> - let lbl = float_literal f in - ` fldd {emit_reg i.res.(0)}, {emit_label lbl}\n`; - 1 - | Lop(Iconst_float f) -> - let encode imm = - let sg = Int64.to_int (Int64.shift_right_logical imm 63) in - let ex = Int64.to_int (Int64.shift_right_logical imm 52) in - let ex = (ex land 0x7ff) - 1023 in - let mn = Int64.logand imm 0xfffffffffffffL in - if Int64.logand mn 0xffffffffffffL <> 0L || ex < -3 || ex > 4 - then - None - else begin - let mn = Int64.to_int (Int64.shift_right_logical mn 48) in - if mn land 0x0f <> mn then - None - else - let ex = ((ex + 3) land 0x07) lxor 0x04 in - Some((sg lsl 7) lor (ex lsl 4) lor mn) - end in - begin match encode (Int64.bits_of_float f) with - None -> - let lbl = float_literal f in - ` fldd {emit_reg i.res.(0)}, {emit_label lbl}\n` - | Some imm8 -> - ` fconstd {emit_reg i.res.(0)}, #{emit_int imm8}\n` - end; 1 - | Lop(Iconst_symbol s) -> - emit_load_symbol_addr i.res.(0) s - | Lop(Icall_ind) -> - if !arch >= ARMv5 then begin - ` blx {emit_reg i.arg.(0)}\n`; - `{record_frame i.live i.dbg}\n`; 1 - end else begin - ` mov lr, pc\n`; - ` bx {emit_reg i.arg.(0)}\n`; - `{record_frame i.live i.dbg}\n`; 2 - end - | Lop(Icall_imm s) -> - ` {emit_call s}\n`; - `{record_frame i.live i.dbg}\n`; 1 - | Lop(Itailcall_ind) -> - output_epilogue begin fun () -> - if !contains_calls then - ` ldr lr, [sp, #{emit_int (-4)}]\n`; - ` bx {emit_reg i.arg.(0)}\n`; 2 - end - | Lop(Itailcall_imm s) -> - if s = !function_name then begin - ` b {emit_label !tailrec_entry_point}\n`; 1 - end else begin - output_epilogue begin fun () -> - if !contains_calls then - ` ldr lr, [sp, #{emit_int (-4)}]\n`; - ` {emit_jump s}\n`; 2 - end - end - | Lop(Iextcall(s, false)) -> - ` {emit_call s}\n`; 1 - | Lop(Iextcall(s, true)) -> - let ninstr = emit_load_symbol_addr (phys_reg 7 (* r7 *)) s in - ` {emit_call "caml_c_call"}\n`; - `{record_frame i.live i.dbg}\n`; - 1 + ninstr - | Lop(Istackoffset n) -> - assert (n mod 8 = 0); - let ninstr = emit_stack_adjustment (-n) in - stack_offset := !stack_offset + n; - ninstr - | Lop(Iload(Single, addr)) when !fpu >= VFPv2 -> - ` flds s14, {emit_addressing addr i.arg 0}\n`; - ` fcvtds {emit_reg i.res.(0)}, s14\n`; 2 - | Lop(Iload((Double | Double_u), addr)) when !fpu = Soft -> - (* Use LDM or LDRD if possible *) - begin match i.res.(0), i.res.(1), addr with - {loc = Reg rt}, {loc = Reg rt2}, Iindexed 0 - when rt < rt2 -> - ` ldm {emit_reg i.arg.(0)}, \{{emit_reg i.res.(0)}, {emit_reg i.res.(1)}}\n`; 1 - | {loc = Reg rt}, {loc = Reg rt2}, addr - when !arch >= ARMv5TE && rt mod 2 == 0 && rt2 = rt + 1 -> - ` ldrd {emit_reg i.res.(0)}, {emit_reg i.res.(1)}, {emit_addressing addr i.arg 0}\n`; 1 - | _ -> - let addr' = offset_addressing addr 4 in - if i.res.(0).loc <> i.arg.(0).loc then begin - ` ldr {emit_reg i.res.(0)}, {emit_addressing addr i.arg 0}\n`; - ` ldr {emit_reg i.res.(1)}, {emit_addressing addr' i.arg 0}\n` - end else begin - ` ldr {emit_reg i.res.(1)}, {emit_addressing addr' i.arg 0}\n`; - ` ldr {emit_reg i.res.(0)}, {emit_addressing addr i.arg 0}\n` - end; 2 - end - | Lop(Iload(size, addr)) -> - let r = i.res.(0) in - let instr = - match size with - Byte_unsigned -> "ldrb" - | Byte_signed -> "ldrsb" - | Sixteen_unsigned -> "ldrh" - | Sixteen_signed -> "ldrsh" - | Double - | Double_u -> "fldd" - | _ (* 32-bit quantities *) -> "ldr" in - ` {emit_string instr} {emit_reg r}, {emit_addressing addr i.arg 0}\n`; 1 - | Lop(Istore(Single, addr, _)) when !fpu >= VFPv2 -> - ` fcvtsd s14, {emit_reg i.arg.(0)}\n`; - ` fsts s14, {emit_addressing addr i.arg 1}\n`; 2 - | Lop(Istore((Double | Double_u), addr, _)) when !fpu = Soft -> - (* Use STM or STRD if possible *) - begin match i.arg.(0), i.arg.(1), addr with - {loc = Reg rt}, {loc = Reg rt2}, Iindexed 0 - when rt < rt2 -> - ` stm {emit_reg i.arg.(2)}, \{{emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}}\n`; 1 - | {loc = Reg rt}, {loc = Reg rt2}, addr - when !arch >= ARMv5TE && rt mod 2 == 0 && rt2 = rt + 1 -> - ` strd {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_addressing addr i.arg 2}\n`; 1 - | _ -> - let addr' = offset_addressing addr 4 in - ` str {emit_reg i.arg.(0)}, {emit_addressing addr i.arg 2}\n`; - ` str {emit_reg i.arg.(1)}, {emit_addressing addr' i.arg 2}\n`; 2 - end - | Lop(Istore(size, addr, _)) -> - let r = i.arg.(0) in - let instr = - match size with - Byte_unsigned - | Byte_signed -> "strb" - | Sixteen_unsigned - | Sixteen_signed -> "strh" - | Double - | Double_u -> "fstd" - | _ (* 32-bit quantities *) -> "str" in - ` {emit_string instr} {emit_reg r}, {emit_addressing addr i.arg 1}\n`; 1 - | Lop(Ialloc n) -> - let lbl_frame = record_frame_label i.live i.dbg in - if !fastcode_flag then begin - let lbl_redo = new_label() in - `{emit_label lbl_redo}:`; - let ninstr = decompose_intconst - (Int32.of_int n) - (fun i -> - ` sub alloc_ptr, alloc_ptr, #{emit_int32 i}\n`) in - ` cmp alloc_ptr, alloc_limit\n`; - ` add {emit_reg i.res.(0)}, alloc_ptr, #4\n`; - let lbl_call_gc = new_label() in - ` bcc {emit_label lbl_call_gc}\n`; - call_gc_sites := - { gc_lbl = lbl_call_gc; - gc_return_lbl = lbl_redo; - gc_frame_lbl = lbl_frame } :: !call_gc_sites; - 3 + ninstr - end else begin - let ninstr = - begin match n with - 8 -> ` {emit_call "caml_alloc1"}\n`; 1 - | 12 -> ` {emit_call "caml_alloc2"}\n`; 1 - | 16 -> ` {emit_call "caml_alloc3"}\n`; 1 - | _ -> let ninstr = emit_intconst (phys_reg 7) (Int32.of_int n) in - ` {emit_call "caml_allocN"}\n`; 1 + ninstr - end in - `{emit_label lbl_frame}: add {emit_reg i.res.(0)}, alloc_ptr, #4\n`; - 1 + ninstr - end - | Lop(Iintop(Icomp cmp)) -> - let compthen = name_for_comparison cmp in - let compelse = name_for_comparison (negate_integer_comparison cmp) in - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` ite {emit_string compthen}\n`; - ` mov{emit_string compthen} {emit_reg i.res.(0)}, #1\n`; - ` mov{emit_string compelse} {emit_reg i.res.(0)}, #0\n`; 4 - | Lop(Iintop_imm(Icomp cmp, n)) -> - let compthen = name_for_comparison cmp in - let compelse = name_for_comparison (negate_integer_comparison cmp) in - ` cmp {emit_reg i.arg.(0)}, #{emit_int n}\n`; - ` ite {emit_string compthen}\n`; - ` mov{emit_string compthen} {emit_reg i.res.(0)}, #1\n`; - ` mov{emit_string compelse} {emit_reg i.res.(0)}, #0\n`; 4 - | Lop(Iintop Icheckbound) -> - let lbl = bound_error_label i.dbg in - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` bls {emit_label lbl}\n`; 2 - | Lop(Iintop_imm(Icheckbound, n)) -> - let lbl = bound_error_label i.dbg in - ` cmp {emit_reg i.arg.(0)}, #{emit_int n}\n`; - ` bls {emit_label lbl}\n`; 2 - | Lop(Ispecific(Ishiftcheckbound(shiftop, n))) -> - let lbl = bound_error_label i.dbg in - let op = name_for_shift_operation shiftop in - ` cmp {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}, {emit_string op} #{emit_int n}\n`; - ` bcs {emit_label lbl}\n`; 2 - | Lop(Iintop Imulh) when !arch < ARMv6 -> - ` smull r12, {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; 1 - | Lop(Ispecific Imulhadd) -> - ` smmla {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(2)}\n`; 1 - | Lop(Iintop op) -> - let instr = name_for_int_operation op in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; 1 - | Lop(Iintop_imm(op, n)) -> - let instr = name_for_int_operation op in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, #{emit_int n}\n`; 1 - | Lop(Iabsf | Inegf as op) when !fpu = Soft -> - let instr = (match op with - Iabsf -> "bic" - | Inegf -> "eor" - | _ -> assert false) in - ` {emit_string instr} {emit_reg i.res.(1)}, {emit_reg i.arg.(1)}, #0x80000000\n`; 1 - | Lop(Iabsf | Inegf | Ispecific Isqrtf as op) -> - let instr = (match op with - Iabsf -> "fabsd" - | Inegf -> "fnegd" - | Ispecific Isqrtf -> "fsqrtd" - | _ -> assert false) in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n`; 1 - | Lop(Ifloatofint) -> - ` fmsr s14, {emit_reg i.arg.(0)}\n`; - ` fsitod {emit_reg i.res.(0)}, s14\n`; 2 - | Lop(Iintoffloat) -> - ` ftosizd s14, {emit_reg i.arg.(0)}\n`; - ` fmrs {emit_reg i.res.(0)}, s14\n`; 2 - | Lop(Iaddf | Isubf | Imulf | Idivf | Ispecific Inegmulf as op) -> - let instr = (match op with - Iaddf -> "faddd" - | Isubf -> "fsubd" - | Imulf -> "fmuld" - | Idivf -> "fdivd" - | Ispecific Inegmulf -> "fnmuld" - | _ -> assert false) in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - 1 - | Lop(Ispecific(Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf as op)) -> - let instr = (match op with - Imuladdf -> "fmacd" - | Inegmuladdf -> "fnmacd" - | Imulsubf -> "fmscd" - | Inegmulsubf -> "fnmscd" - | _ -> assert false) in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(2)}\n`; - 1 - | Lop(Ispecific(Ishiftarith(op, shiftop, n))) -> - let instr = (match op with - Ishiftadd -> "add" - | Ishiftsub -> "sub" - | Ishiftsubrev -> "rsb" - | Ishiftand -> "and" - | Ishiftor -> "orr" - | Ishiftxor -> "eor") in - let op = name_for_shift_operation shiftop in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_string op} #{emit_int n}\n`; 1 - | Lop(Ispecific(Irevsubimm n)) -> - ` rsb {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, #{emit_int n}\n`; 1 - | Lop(Ispecific(Imuladd | Imulsub as op)) -> - let instr = (match op with - Imuladd -> "mla" - | Imulsub -> "mls" - | _ -> assert false) in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(2)}\n`; 1 - | Lop(Ispecific(Ibswap size)) -> - begin match size with - 16 -> - ` rev16 {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n`; - ` movt {emit_reg i.res.(0)}, #0\n`; 2 - | 32 -> - ` rev {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n`; 1 - | _ -> - assert false - end - | Lreloadretaddr -> - let n = frame_size() in - ` ldr lr, [sp, #{emit_int(n-4)}]\n`; 1 - | Lreturn -> - output_epilogue begin fun () -> - ` bx lr\n`; 1 - end - | Llabel lbl -> - `{emit_label lbl}:\n`; 0 - | Lbranch lbl -> - ` b {emit_label lbl}\n`; 1 - | Lcondbranch(tst, lbl) -> - begin match tst with - Itruetest -> - ` cmp {emit_reg i.arg.(0)}, #0\n`; - ` bne {emit_label lbl}\n`; 2 - | Ifalsetest -> - ` cmp {emit_reg i.arg.(0)}, #0\n`; - ` beq {emit_label lbl}\n`; 2 - | Iinttest cmp -> - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - let comp = name_for_comparison cmp in - ` b{emit_string comp} {emit_label lbl}\n`; 2 - | Iinttest_imm(cmp, n) -> - ` cmp {emit_reg i.arg.(0)}, #{emit_int n}\n`; - let comp = name_for_comparison cmp in - ` b{emit_string comp} {emit_label lbl}\n`; 2 - | Ifloattest(cmp, neg) -> - let comp = (match (cmp, neg) with - (Ceq, false) | (Cne, true) -> "eq" - | (Cne, false) | (Ceq, true) -> "ne" - | (Clt, false) -> "cc" - | (Clt, true) -> "cs" - | (Cle, false) -> "ls" - | (Cle, true) -> "hi" - | (Cgt, false) -> "gt" - | (Cgt, true) -> "le" - | (Cge, false) -> "ge" - | (Cge, true) -> "lt") in - ` fcmpd {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` fmstat\n`; - ` b{emit_string comp} {emit_label lbl}\n`; 3 - | Ioddtest -> - ` tst {emit_reg i.arg.(0)}, #1\n`; - ` bne {emit_label lbl}\n`; 2 - | Ieventest -> - ` tst {emit_reg i.arg.(0)}, #1\n`; - ` beq {emit_label lbl}\n`; 2 - end - | Lcondbranch3(lbl0, lbl1, lbl2) -> - ` cmp {emit_reg i.arg.(0)}, #1\n`; - begin match lbl0 with - None -> () - | Some lbl -> ` blt {emit_label lbl}\n` - end; - begin match lbl1 with - None -> () - | Some lbl -> ` beq {emit_label lbl}\n` - end; - begin match lbl2 with - None -> () - | Some lbl -> ` bgt {emit_label lbl}\n` - end; - 4 - | Lswitch jumptbl -> - if !arch > ARMv6 && !thumb then begin - (* The Thumb-2 TBH instruction supports only forward branches, - so we need to generate appropriate trampolines for all labels - that appear before this switch instruction (PR#5623) *) - let tramtbl = Array.copy jumptbl in - ` tbh [pc, {emit_reg i.arg.(0)}, lsl #1]\n`; - for j = 0 to Array.length tramtbl - 1 do - let rec label i = - match i.desc with - Lend -> new_label() - | Llabel lbl when lbl = tramtbl.(j) -> lbl - | _ -> label i.next in - tramtbl.(j) <- label i.next; - ` .short ({emit_label tramtbl.(j)}-.)/2+{emit_int j}\n` - done; - (* Generate the necessary trampolines *) - for j = 0 to Array.length tramtbl - 1 do - if tramtbl.(j) <> jumptbl.(j) then - `{emit_label tramtbl.(j)}: b {emit_label jumptbl.(j)}\n` - done - end else if not !pic_code then begin - ` ldr pc, [pc, {emit_reg i.arg.(0)}, lsl #2]\n`; - ` nop\n`; - for j = 0 to Array.length jumptbl - 1 do - ` .word {emit_label jumptbl.(j)}\n` - done - end else begin - (* Slightly slower, but position-independent *) - ` add pc, pc, {emit_reg i.arg.(0)}, lsl #2\n`; - ` nop\n`; - for j = 0 to Array.length jumptbl - 1 do - ` b {emit_label jumptbl.(j)}\n` - done - end; - 2 + Array.length jumptbl - | Lsetuptrap lbl -> - ` bl {emit_label lbl}\n`; 1 - | Lpushtrap -> - stack_offset := !stack_offset + 8; - ` push \{trap_ptr, lr}\n`; - cfi_adjust_cfa_offset 8; - ` mov trap_ptr, sp\n`; 2 - | Lpoptrap -> - ` pop \{trap_ptr, lr}\n`; - cfi_adjust_cfa_offset (-8); - stack_offset := !stack_offset - 8; 1 - | Lraise k -> - begin match !Clflags.debug, k with - | true, (Lambda.Raise_regular | Lambda.Raise_reraise) -> - ` {emit_call "caml_raise_exn"}\n`; - `{record_frame Reg.Set.empty i.dbg}\n`; 1 - | false, _ - | true, Lambda.Raise_notrace -> - ` mov sp, trap_ptr\n`; - ` pop \{trap_ptr, pc}\n`; 2 - end - -(* Emission of an instruction sequence *) - -let rec emit_all ninstr i = - if i.desc = Lend then () else begin - let n = emit_instr i in - let ninstr' = ninstr + n in - (* fldd can address up to +/-1KB, ldr can address up to +/-4KB *) - let limit = (if !fpu >= VFPv2 && !float_literals <> [] - then 127 - else 511) in - let limit = limit - !num_literals in - if ninstr' >= limit - 64 && not(has_fallthrough i.desc) then begin - emit_literals(); - emit_all 0 i.next - end else if !num_literals != 0 && ninstr' >= limit then begin - let lbl = new_label() in - ` b {emit_label lbl}\n`; - emit_literals(); - `{emit_label lbl}:\n`; - emit_all 0 i.next - end else - emit_all ninstr' i.next - end - -(* Emission of the profiling prelude *) - -let emit_profile() = - match Config.system with - "linux_eabi" | "linux_eabihf" -> - ` push \{lr}\n`; - ` {emit_call "__gnu_mcount_nc"}\n` - | _ -> () - -(* Emission of a function declaration *) - -let fundecl fundecl = - function_name := fundecl.fun_name; - fastcode_flag := fundecl.fun_fast; - tailrec_entry_point := new_label(); - float_literals := []; - gotrel_literals := []; - symbol_literals := []; - stack_offset := 0; - call_gc_sites := []; - bound_error_sites := []; - ` .text\n`; - ` .align 2\n`; - ` .globl {emit_symbol fundecl.fun_name}\n`; - if !arch > ARMv6 && !thumb then - ` .thumb\n` - else - ` .arm\n`; - ` .type {emit_symbol fundecl.fun_name}, %function\n`; - `{emit_symbol fundecl.fun_name}:\n`; - emit_debug_info fundecl.fun_dbg; - cfi_startproc(); - if !Clflags.gprofile then emit_profile(); - let n = frame_size() in - if n > 0 then begin - ignore(emit_stack_adjustment (-n)); - if !contains_calls then begin - cfi_offset ~reg:14 (* lr *) ~offset:(-4); - ` str lr, [sp, #{emit_int(n - 4)}]\n` - end - end; - `{emit_label !tailrec_entry_point}:\n`; - emit_all 0 fundecl.fun_body; - emit_literals(); - List.iter emit_call_gc !call_gc_sites; - List.iter emit_call_bound_error !bound_error_sites; - cfi_endproc(); - ` .type {emit_symbol fundecl.fun_name}, %function\n`; - ` .size {emit_symbol fundecl.fun_name}, .-{emit_symbol fundecl.fun_name}\n` - -(* Emission of data *) - -let emit_item = function - Cglobal_symbol s -> ` .globl {emit_symbol s}\n`; - | Cdefine_symbol s -> `{emit_symbol s}:\n` - | Cdefine_label lbl -> `{emit_data_label lbl}:\n` - | Cint8 n -> ` .byte {emit_int n}\n` - | Cint16 n -> ` .short {emit_int n}\n` - | Cint32 n -> ` .long {emit_int32 (Nativeint.to_int32 n)}\n` - | Cint n -> ` .long {emit_int32 (Nativeint.to_int32 n)}\n` - | Csingle f -> emit_float32_directive ".long" (Int32.bits_of_float f) - | Cdouble f -> emit_float64_split_directive ".long" (Int64.bits_of_float f) - | Csymbol_address s -> ` .word {emit_symbol s}\n` - | Clabel_address lbl -> ` .word {emit_data_label lbl}\n` - | Cstring s -> emit_string_directive " .ascii " s - | Cskip n -> if n > 0 then ` .space {emit_int n}\n` - | Calign n -> ` .align {emit_int(Misc.log2 n)}\n` - -let data l = - ` .data\n`; - List.iter emit_item l - -(* Beginning / end of an assembly file *) - -let begin_assembly() = - reset_debug_info(); - ` .syntax unified\n`; - begin match !arch with - | ARMv4 -> ` .arch armv4t\n` - | ARMv5 -> ` .arch armv5t\n` - | ARMv5TE -> ` .arch armv5te\n` - | ARMv6 -> ` .arch armv6\n` - | ARMv6T2 -> ` .arch armv6t2\n` - | ARMv7 -> ` .arch armv7-a\n` - end; - begin match !fpu with - Soft -> ` .fpu softvfp\n` - | VFPv2 -> ` .fpu vfpv2\n` - | VFPv3_D16 -> ` .fpu vfpv3-d16\n` - | VFPv3 -> ` .fpu vfpv3\n` - end; - `trap_ptr .req r8\n`; - `alloc_ptr .req r10\n`; - `alloc_limit .req r11\n`; - let lbl_begin = Compilenv.make_symbol (Some "data_begin") in - ` .data\n`; - ` .globl {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n`; - let lbl_begin = Compilenv.make_symbol (Some "code_begin") in - ` .text\n`; - ` .globl {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n` - -let end_assembly () = - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - ` .globl {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - let lbl_end = Compilenv.make_symbol (Some "data_end") in - ` .data\n`; - ` .globl {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - ` .long 0\n`; - let lbl = Compilenv.make_symbol (Some "frametable") in - ` .globl {emit_symbol lbl}\n`; - `{emit_symbol lbl}:\n`; - emit_frames - { efa_label = (fun lbl -> - ` .type {emit_label lbl}, %function\n`; - ` .word {emit_label lbl}\n`); - efa_16 = (fun n -> ` .short {emit_int n}\n`); - efa_32 = (fun n -> ` .long {emit_int32 n}\n`); - efa_word = (fun n -> ` .word {emit_int n}\n`); - efa_align = (fun n -> ` .align {emit_int(Misc.log2 n)}\n`); - efa_label_rel = (fun lbl ofs -> - ` .word {emit_label lbl} - . + {emit_int32 ofs}\n`); - efa_def_label = (fun lbl -> `{emit_label lbl}:\n`); - efa_string = (fun s -> emit_string_directive " .asciz " s) }; - ` .type {emit_symbol lbl}, %object\n`; - ` .size {emit_symbol lbl}, .-{emit_symbol lbl}\n`; - begin match Config.system with - "linux_eabihf" | "linux_eabi" -> - (* Mark stack as non-executable *) - ` .section .note.GNU-stack,\"\",%progbits\n` - | _ -> () - end diff --git a/vendor/ocaml/asmcomp/arm/proc.ml b/vendor/ocaml/asmcomp/arm/proc.ml deleted file mode 100644 index 58bfa427b..000000000 --- a/vendor/ocaml/asmcomp/arm/proc.ml +++ /dev/null @@ -1,256 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Benedikt Meurer, University of Siegen *) -(* *) -(* Copyright 1998 Institut National de Recherche en Informatique *) -(* et en Automatique. Copyright 2012 Benedikt Meurer. All rights *) -(* reserved. This file is distributed under the terms of the Q *) -(* Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Description of the ARM processor *) - -open Misc -open Cmm -open Reg -open Arch -open Mach - -(* Instruction selection *) - -let word_addressed = false - -(* Registers available for register allocation *) - -(* Integer register map: - r0 - r3 general purpose (not preserved) - r4 - r7 general purpose (preserved) - r8 trap pointer (preserved) - r9 platform register, usually reserved - r10 allocation pointer (preserved) - r11 allocation limit (preserved) - r12 intra-procedural scratch register (not preserved) - r13 stack pointer - r14 return address - r15 program counter - Floating-point register map (VFPv{2,3}): - d0 - d7 general purpose (not preserved) - d8 - d15 general purpose (preserved) - d16 - d31 generat purpose (not preserved), VFPv3 only -*) - -let int_reg_name = - [| "r0"; "r1"; "r2"; "r3"; "r4"; "r5"; "r6"; "r7"; "r12" |] - -let float_reg_name = - [| "d0"; "d1"; "d2"; "d3"; "d4"; "d5"; "d6"; "d7"; - "d8"; "d9"; "d10"; "d11"; "d12"; "d13"; "d14"; "d15"; - "d16"; "d17"; "d18"; "d19"; "d20"; "d21"; "d22"; "d23"; - "d24"; "d25"; "d26"; "d27"; "d28"; "d29"; "d30"; "d31" |] - -(* We have three register classes: - 0 for integer registers - 1 for VFPv2 and VFPv3-D16 - 2 for VFPv3 - This way we can choose between VFPv2/VFPv3-D16 and VFPv3 - at (ocamlopt) runtime using command line switches. -*) - -let num_register_classes = 3 - -let register_class r = - match (r.typ, !fpu) with - (Int | Addr), _ -> 0 - | Float, VFPv2 -> 1 - | Float, VFPv3_D16 -> 1 - | Float, _ -> 2 - -let num_available_registers = - [| 9; 16; 32 |] - -let first_available_register = - [| 0; 100; 100 |] - -let register_name r = - if r < 100 then int_reg_name.(r) else float_reg_name.(r - 100) - -let rotate_registers = true - -(* Representation of hard registers by pseudo-registers *) - -let hard_int_reg = - let v = Array.make 9 Reg.dummy in - for i = 0 to 8 do - v.(i) <- Reg.at_location Int (Reg i) - done; - v - -let hard_float_reg = - let v = Array.make 32 Reg.dummy in - for i = 0 to 31 do - v.(i) <- Reg.at_location Float (Reg(100 + i)) - done; - v - -let all_phys_regs = - Array.append hard_int_reg hard_float_reg - -let phys_reg n = - if n < 100 then hard_int_reg.(n) else hard_float_reg.(n - 100) - -let stack_slot slot ty = - Reg.at_location ty (Stack slot) - -(* Calling conventions *) - -let calling_conventions - first_int last_int first_float last_float make_stack arg = - let loc = Array.make (Array.length arg) Reg.dummy in - let int = ref first_int in - let float = ref first_float in - let ofs = ref 0 in - for i = 0 to Array.length arg - 1 do - match arg.(i).typ with - Int | Addr as ty -> - if !int <= last_int then begin - loc.(i) <- phys_reg !int; - incr int - end else begin - loc.(i) <- stack_slot (make_stack !ofs) ty; - ofs := !ofs + size_int - end - | Float -> - assert (abi = EABI_HF); - assert (!fpu >= VFPv2); - if !float <= last_float then begin - loc.(i) <- phys_reg !float; - incr float - end else begin - ofs := Misc.align !ofs size_float; - loc.(i) <- stack_slot (make_stack !ofs) Float; - ofs := !ofs + size_float - end - done; - (loc, Misc.align !ofs 8) (* keep stack 8-aligned *) - -let incoming ofs = Incoming ofs -let outgoing ofs = Outgoing ofs -let not_supported ofs = fatal_error "Proc.loc_results: cannot call" - -(* OCaml calling convention: - first integer args in r0...r7 - first float args in d0...d15 (EABI+VFP) - remaining args on stack. - Return values in r0...r7 or d0...d15. *) - -let loc_arguments arg = - calling_conventions 0 7 100 115 outgoing arg -let loc_parameters arg = - let (loc, _) = calling_conventions 0 7 100 115 incoming arg in loc -let loc_results res = - let (loc, _) = calling_conventions 0 7 100 115 not_supported res in loc - -(* C calling convention: - first integer args in r0...r3 - first float args in d0...d7 (EABI+VFP) - remaining args on stack. - Return values in r0...r1 or d0. *) - -let loc_external_arguments arg = - calling_conventions 0 3 100 107 outgoing arg -let loc_external_results res = - let (loc, _) = calling_conventions 0 1 100 100 not_supported res in loc - -let loc_exn_bucket = phys_reg 0 - -(* Volatile registers: none *) - -let regs_are_volatile rs = false - -(* Registers destroyed by operations *) - -let destroyed_at_alloc = (* r0-r6, d0-d15 preserved *) - Array.of_list (List.map - phys_reg - [7;8; - 116;117;118;119;120;121;122;123; - 124;125;126;127;128;129;130;131]) - -let destroyed_at_c_call = - Array.of_list (List.map - phys_reg - (match abi with - EABI -> (* r4-r7 preserved *) - [0;1;2;3;8; - 100;101;102;103;104;105;106;107; - 108;109;110;111;112;113;114;115; - 116;117;118;119;120;121;122;123; - 124;125;126;127;128;129;130;131] - | EABI_HF -> (* r4-r7, d8-d15 preserved *) - [0;1;2;3;8; - 100;101;102;103;104;105;106;107; - 116;117;118;119;120;121;122;123; - 124;125;126;127;128;129;130;131])) - -let destroyed_at_oper = function - Iop(Icall_ind | Icall_imm _) - | Iop(Iextcall(_, true)) -> - all_phys_regs - | Iop(Iextcall(_, false)) -> - destroyed_at_c_call - | Iop(Ialloc _) -> - destroyed_at_alloc - | Iop(Iconst_symbol _) when !pic_code -> - [| phys_reg 3; phys_reg 8 |] (* r3 and r12 destroyed *) - | Iop(Iintop Imulh) when !arch < ARMv6 -> - [| phys_reg 8 |] (* r12 destroyed *) - | Iop(Iintoffloat | Ifloatofint | Iload(Single, _) | Istore(Single, _, _)) -> - [| phys_reg 107 |] (* d7 (s14-s15) destroyed *) - | _ -> [||] - -let destroyed_at_raise = all_phys_regs - -(* Maximal register pressure *) - -let safe_register_pressure = function - Iextcall(_, _) -> if abi = EABI then 0 else 4 - | Ialloc _ -> if abi = EABI then 0 else 7 - | Iconst_symbol _ when !pic_code -> 7 - | Iintop Imulh when !arch < ARMv6 -> 8 - | _ -> 9 - -let max_register_pressure = function - Iextcall(_, _) -> if abi = EABI then [| 4; 0; 0 |] else [| 4; 8; 8 |] - | Ialloc _ -> if abi = EABI then [| 7; 0; 0 |] else [| 7; 8; 8 |] - | Iconst_symbol _ when !pic_code -> [| 7; 16; 32 |] - | Iintoffloat | Ifloatofint - | Iload(Single, _) | Istore(Single, _, _) -> [| 9; 15; 31 |] - | Iintop Imulh when !arch < ARMv6 -> [| 8; 16; 32 |] - | _ -> [| 9; 16; 32 |] - -(* Pure operations (without any side effect besides updating their result - registers). *) - -let op_is_pure = function - | Icall_ind | Icall_imm _ | Itailcall_ind | Itailcall_imm _ - | Iextcall _ | Istackoffset _ | Istore _ | Ialloc _ - | Iintop(Icheckbound) | Iintop_imm(Icheckbound, _) - | Ispecific(Ishiftcheckbound _) -> false - | _ -> true - -(* Layout of the stack *) - -let num_stack_slots = [| 0; 0; 0 |] -let contains_calls = ref false - -(* Calling the assembler *) - -let assemble_file infile outfile = - Ccomp.command (Config.asm ^ " -o " ^ - Filename.quote outfile ^ " " ^ Filename.quote infile) - - -let init () = () diff --git a/vendor/ocaml/asmcomp/arm/reload.ml b/vendor/ocaml/asmcomp/arm/reload.ml deleted file mode 100644 index bd783acb8..000000000 --- a/vendor/ocaml/asmcomp/arm/reload.ml +++ /dev/null @@ -1,16 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1998 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Reloading for the ARM *) - -let fundecl f = - (new Reloadgen.reload_generic)#fundecl f diff --git a/vendor/ocaml/asmcomp/arm/scheduling.ml b/vendor/ocaml/asmcomp/arm/scheduling.ml deleted file mode 100644 index 0d6618ab9..000000000 --- a/vendor/ocaml/asmcomp/arm/scheduling.ml +++ /dev/null @@ -1,77 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Benedikt Meurer, University of Siegen *) -(* *) -(* Copyright 1998 Institut National de Recherche en Informatique *) -(* et en Automatique. Copyright 2012 Benedikt Meurer. All rights *) -(* reserved. This file is distributed under the terms of the Q *) -(* Public License version 1.0. *) -(* *) -(***********************************************************************) - -open Arch -open Mach - -(* Instruction scheduling for the ARM *) - -class scheduler = object(self) - -inherit Schedgen.scheduler_generic as super - -(* Scheduling -- based roughly on the ARM11 (ARMv6) *) - -method oper_latency = function - (* Loads have a latency of two cycles in general *) - Iconst_symbol _ - | Iconst_float _ - | Iload(_, _) - | Ireload - | Ifloatofint (* mcr/mrc count as memory access *) - | Iintoffloat -> 2 - (* Multiplys have a latency of two cycles *) - | Iintop (Imul | Imulh) - | Ispecific(Imuladd | Imulsub | Imulhadd) -> 2 - (* VFP instructions *) - | Iaddf - | Isubf - | Idivf - | Imulf | Ispecific Inegmulf - | Ispecific(Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf) - | Ispecific Isqrtf - | Inegf | Iabsf when !fpu >= VFPv2 -> 2 - (* Everything else *) - | _ -> 1 - -method! is_checkbound = function - Ispecific(Ishiftcheckbound _) -> true - | op -> super#is_checkbound op - -(* Issue cycles. Rough approximations *) - -method oper_issue_cycles = function - Ialloc _ -> 4 - | Iintop(Ilsl | Ilsr | Iasr) -> 2 - | Iintop(Icomp _) - | Iintop_imm(Icomp _, _) -> 3 - | Iintop(Icheckbound) - | Iintop_imm(Icheckbound, _) -> 2 - | Ispecific(Ishiftcheckbound _) -> 3 - | Iintop(Imul | Imulh) - | Ispecific(Imuladd | Imulsub | Imulhadd) -> 2 - (* VFP instructions *) - | Iaddf - | Isubf -> 7 - | Imulf - | Ispecific Inegmulf -> 9 - | Ispecific(Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf) -> 17 - | Idivf - | Ispecific Isqrtf -> 27 - | Inegf | Iabsf | Iconst_float _ when !fpu >= VFPv2 -> 4 - (* Everything else *) - | _ -> 1 - -end - -let fundecl f = (new scheduler)#schedule_fundecl f diff --git a/vendor/ocaml/asmcomp/arm/selection.ml b/vendor/ocaml/asmcomp/arm/selection.ml deleted file mode 100644 index 4725942b7..000000000 --- a/vendor/ocaml/asmcomp/arm/selection.ml +++ /dev/null @@ -1,293 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Benedikt Meurer, University of Siegen *) -(* *) -(* Copyright 1998 Institut National de Recherche en Informatique *) -(* et en Automatique. Copyright 2012 Benedikt Meurer. All rights *) -(* reserved. This file is distributed under the terms of the Q *) -(* Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction selection for the ARM processor *) - -open Arch -open Proc -open Cmm -open Mach - -let is_offset chunk n = - match chunk with - (* VFPv{2,3} load/store have -1020 to 1020 *) - Single | Double | Double_u - when !fpu >= VFPv2 -> - n >= -1020 && n <= 1020 - (* ARM load/store byte/word have -4095 to 4095 *) - | Byte_unsigned | Byte_signed - | Thirtytwo_unsigned | Thirtytwo_signed - | Word | Single - when not !thumb -> - n >= -4095 && n <= 4095 - (* Thumb-2 load/store have -255 to 4095 *) - | _ when !arch > ARMv6 && !thumb -> - n >= -255 && n <= 4095 - (* Everything else has -255 to 255 *) - | _ -> - n >= -255 && n <= 255 - -let select_shiftop = function - Clsl -> Ishiftlogicalleft - | Clsr -> Ishiftlogicalright - | Casr -> Ishiftarithmeticright - | __-> assert false - -(* Special constraints on operand and result registers *) - -exception Use_default - -let r1 = phys_reg 1 -let r6 = phys_reg 6 -let r7 = phys_reg 7 -let r12 = phys_reg 8 - -let pseudoregs_for_operation op arg res = - match op with - (* For mul rd,rm,rs and mla rd,rm,rs,ra (pre-ARMv6) the registers rm - and rd must be different. We deal with this by pretending that rm - is also a result of the mul / mla operation. *) - Iintop Imul | Ispecific Imuladd when !arch < ARMv6 -> - (arg, [| res.(0); arg.(0) |]) - (* For smull rdlo,rdhi,rn,rm (pre-ARMv6) the registers rdlo, rdhi and rn - must be different. Also, rdlo (whose contents we discard) is always - forced to be r12 in proc.ml, which means that neither rdhi and rn can - be r12. To keep things simple, we force both of those two to specific - hard regs: rdhi in r6 and rn in r7. *) - | Iintop Imulh when !arch < ARMv6 -> - ([| r7; arg.(1) |], [| r6 |]) - (* Soft-float Iabsf and Inegf: arg.(0) and res.(0) must be the same *) - | Iabsf | Inegf when !fpu = Soft -> - ([|res.(0); arg.(1)|], res) - (* VFPv{2,3} Imuladdf...Inegmulsubf: arg.(0) and res.(0) must be the same *) - | Ispecific(Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf) -> - let arg' = Array.copy arg in - arg'.(0) <- res.(0); - (arg', res) - (* We use __aeabi_idivmod for Cmodi only, and hence we care only - for the remainder in r1, so fix up the destination register. *) - | Iextcall("__aeabi_idivmod", false) -> - (arg, [|r1|]) - (* Other instructions are regular *) - | _ -> raise Use_default - -(* Instruction selection *) -class selector = object(self) - -inherit Selectgen.selector_generic as super - -method! regs_for tyv = - Reg.createv (if !fpu = Soft then begin - (* Expand floats into pairs of integer registers *) - let rec expand = function - [] -> [] - | Float :: tyl -> Int :: Int :: expand tyl - | ty :: tyl -> ty :: expand tyl in - Array.of_list (expand (Array.to_list tyv)) - end else begin - tyv - end) - -method is_immediate n = - is_immediate (Int32.of_int n) - -method! is_simple_expr = function - (* inlined floating-point ops are simple if their arguments are *) - | Cop(Cextcall("sqrt", _, _, _), args) when !fpu >= VFPv2 -> - List.for_all self#is_simple_expr args - (* inlined byte-swap ops are simple if their arguments are *) - | Cop(Cextcall("caml_bswap16_direct", _, _, _), args) when !arch >= ARMv6T2 -> - List.for_all self#is_simple_expr args - | Cop(Cextcall("caml_int32_direct_bswap", _,_,_), args) when !arch >= ARMv6 -> - List.for_all self#is_simple_expr args - | e -> super#is_simple_expr e - -method select_addressing chunk = function - | Cop(Cadda, [arg; Cconst_int n]) - when is_offset chunk n -> - (Iindexed n, arg) - | Cop(Cadda, [arg1; Cop(Caddi, [arg2; Cconst_int n])]) - when is_offset chunk n -> - (Iindexed n, Cop(Cadda, [arg1; arg2])) - | arg -> - (Iindexed 0, arg) - -method select_shift_arith op arithop arithrevop args = - match args with - [arg1; Cop(Clsl | Clsr | Casr as op, [arg2; Cconst_int n])] - when n > 0 && n < 32 -> - (Ispecific(Ishiftarith(arithop, select_shiftop op, n)), [arg1; arg2]) - | [Cop(Clsl | Clsr | Casr as op, [arg1; Cconst_int n]); arg2] - when n > 0 && n < 32 -> - (Ispecific(Ishiftarith(arithrevop, select_shiftop op, n)), [arg2; arg1]) - | args -> - begin match super#select_operation op args with - (* Recognize multiply high and add *) - (Iintop Iadd, [Cop(Cmulhi, args); arg3]) - | (Iintop Iadd, [arg3; Cop(Cmulhi, args)]) as op_args - when !arch >= ARMv6 -> - begin match self#select_operation Cmulhi args with - (Iintop Imulh, [arg1; arg2]) -> - (Ispecific Imulhadd, [arg1; arg2; arg3]) - | _ -> op_args - end - (* Recognize multiply and add *) - | (Iintop Iadd, [Cop(Cmuli, args); arg3]) - | (Iintop Iadd, [arg3; Cop(Cmuli, args)]) as op_args -> - begin match self#select_operation Cmuli args with - (Iintop Imul, [arg1; arg2]) -> - (Ispecific Imuladd, [arg1; arg2; arg3]) - | _ -> op_args - end - (* Recognize multiply and subtract *) - | (Iintop Isub, [arg3; Cop(Cmuli, args)]) as op_args - when !arch > ARMv6 -> - begin match self#select_operation Cmuli args with - (Iintop Imul, [arg1; arg2]) -> - (Ispecific Imulsub, [arg1; arg2; arg3]) - | _ -> op_args - end - | op_args -> op_args - end - -method! select_operation op args = - match (op, args) with - (* Recognize special shift arithmetic *) - ((Cadda | Caddi), [arg; Cconst_int n]) - when n < 0 && self#is_immediate (-n) -> - (Iintop_imm(Isub, -n), [arg]) - | ((Cadda | Caddi as op), args) -> - self#select_shift_arith op Ishiftadd Ishiftadd args - | ((Csuba | Csubi), [arg; Cconst_int n]) - when n < 0 && self#is_immediate (-n) -> - (Iintop_imm(Iadd, -n), [arg]) - | ((Csuba | Csubi), [Cconst_int n; arg]) - when self#is_immediate n -> - (Ispecific(Irevsubimm n), [arg]) - | ((Csuba | Csubi as op), args) -> - self#select_shift_arith op Ishiftsub Ishiftsubrev args - | (Cand as op, args) -> - self#select_shift_arith op Ishiftand Ishiftand args - | (Cor as op, args) -> - self#select_shift_arith op Ishiftor Ishiftor args - | (Cxor as op, args) -> - self#select_shift_arith op Ishiftxor Ishiftxor args - | (Ccheckbound _, [Cop(Clsl | Clsr | Casr as op, [arg1; Cconst_int n]); arg2]) - when n > 0 && n < 32 -> - (Ispecific(Ishiftcheckbound(select_shiftop op, n)), [arg1; arg2]) - (* ARM does not support immediate operands for multiplication *) - | (Cmuli, args) -> - (Iintop Imul, args) - | (Cmulhi, args) -> - (Iintop Imulh, args) - (* Turn integer division/modulus into runtime ABI calls *) - | (Cdivi, args) -> - (Iextcall("__aeabi_idiv", false), args) - | (Cmodi, args) -> - (* See above for fix up of return register *) - (Iextcall("__aeabi_idivmod", false), args) - (* Recognize 16-bit bswap instruction (ARMv6T2 because we need movt) *) - | (Cextcall("caml_bswap16_direct", _, _, _), args) when !arch >= ARMv6T2 -> - (Ispecific(Ibswap 16), args) - (* Recognize 32-bit bswap instructions (ARMv6 and above) *) - | (Cextcall("caml_int32_direct_bswap", _, _, _), args) when !arch >= ARMv6 -> - (Ispecific(Ibswap 32), args) - (* Turn floating-point operations into runtime ABI calls for softfp *) - | (op, args) when !fpu = Soft -> self#select_operation_softfp op args - (* Select operations for VFPv{2,3} *) - | (op, args) -> self#select_operation_vfpv3 op args - -method private select_operation_softfp op args = - match (op, args) with - (* Turn floating-point operations into runtime ABI calls *) - | (Caddf, args) -> (Iextcall("__aeabi_dadd", false), args) - | (Csubf, args) -> (Iextcall("__aeabi_dsub", false), args) - | (Cmulf, args) -> (Iextcall("__aeabi_dmul", false), args) - | (Cdivf, args) -> (Iextcall("__aeabi_ddiv", false), args) - | (Cfloatofint, args) -> (Iextcall("__aeabi_i2d", false), args) - | (Cintoffloat, args) -> (Iextcall("__aeabi_d2iz", false), args) - | (Ccmpf comp, args) -> - let func = (match comp with - Cne (* there's no __aeabi_dcmpne *) - | Ceq -> "__aeabi_dcmpeq" - | Clt -> "__aeabi_dcmplt" - | Cle -> "__aeabi_dcmple" - | Cgt -> "__aeabi_dcmpgt" - | Cge -> "__aeabi_dcmpge") in - let comp = (match comp with - Cne -> Ceq (* eq 0 => false *) - | _ -> Cne (* ne 0 => true *)) in - (Iintop_imm(Icomp(Iunsigned comp), 0), - [Cop(Cextcall(func, typ_int, false, Debuginfo.none), args)]) - (* Add coercions around loads and stores of 32-bit floats *) - | (Cload Single, args) -> - (Iextcall("__aeabi_f2d", false), [Cop(Cload Word, args)]) - | (Cstore Single, [arg1; arg2]) -> - let arg2' = - Cop(Cextcall("__aeabi_d2f", typ_int, false, Debuginfo.none), - [arg2]) in - self#select_operation (Cstore Word) [arg1; arg2'] - (* Other operations are regular *) - | (op, args) -> super#select_operation op args - -method private select_operation_vfpv3 op args = - match (op, args) with - (* Recognize floating-point negate and multiply *) - (Cnegf, [Cop(Cmulf, args)]) -> - (Ispecific Inegmulf, args) - (* Recognize floating-point multiply and add *) - | (Caddf, [arg; Cop(Cmulf, args)]) - | (Caddf, [Cop(Cmulf, args); arg]) -> - (Ispecific Imuladdf, arg :: args) - (* Recognize floating-point negate, multiply and subtract *) - | (Csubf, [Cop(Cnegf, [arg]); Cop(Cmulf, args)]) - | (Csubf, [Cop(Cnegf, [Cop(Cmulf, args)]); arg]) -> - (Ispecific Inegmulsubf, arg :: args) - (* Recognize floating-point negate, multiply and add *) - | (Csubf, [arg; Cop(Cmulf, args)]) -> - (Ispecific Inegmuladdf, arg :: args) - (* Recognize multiply and subtract *) - | (Csubf, [Cop(Cmulf, args); arg]) -> - (Ispecific Imulsubf, arg :: args) - (* Recognize floating-point square root *) - | (Cextcall("sqrt", _, false, _), args) -> - (Ispecific Isqrtf, args) - (* Other operations are regular *) - | (op, args) -> super#select_operation op args - -method! select_condition = function - (* Turn floating-point comparisons into runtime ABI calls *) - Cop(Ccmpf _ as op, args) when !fpu = Soft -> - begin match self#select_operation_softfp op args with - (Iintop_imm(Icomp(Iunsigned Ceq), 0), [arg]) -> (Ifalsetest, arg) - | (Iintop_imm(Icomp(Iunsigned Cne), 0), [arg]) -> (Itruetest, arg) - | _ -> assert false - end - | expr -> - super#select_condition expr - -(* Deal with some register constraints *) - -method! insert_op_debug op dbg rs rd = - try - let (rsrc, rdst) = pseudoregs_for_operation op rs rd in - self#insert_moves rs rsrc; - self#insert_debug (Iop op) dbg rsrc rdst; - self#insert_moves rdst rd; - rd - with Use_default -> - super#insert_op_debug op dbg rs rd - -end - -let fundecl f = (new selector)#emit_fundecl f diff --git a/vendor/ocaml/asmcomp/arm64/CSE.ml b/vendor/ocaml/asmcomp/arm64/CSE.ml deleted file mode 100644 index f9e03e487..000000000 --- a/vendor/ocaml/asmcomp/arm64/CSE.ml +++ /dev/null @@ -1,37 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* CSE for ARM64 *) - -open Arch -open Mach -open CSEgen - -class cse = object (self) - -inherit cse_generic as super - -method! class_of_operation op = - match op with - | Ispecific(Ishiftcheckbound _) -> Op_checkbound - | Ispecific _ -> Op_pure - | _ -> super#class_of_operation op - -method! is_cheap_operation op = - match op with - | Iconst_int n | Iconst_blockheader n -> n <= 65535n && n >= 0n - | _ -> false - -end - -let fundecl f = - (new cse)#fundecl f diff --git a/vendor/ocaml/asmcomp/arm64/arch.ml b/vendor/ocaml/asmcomp/arm64/arch.ml deleted file mode 100644 index 3e62da89f..000000000 --- a/vendor/ocaml/asmcomp/arm64/arch.ml +++ /dev/null @@ -1,158 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* Benedikt Meurer, University of Siegen *) -(* *) -(* Copyright 2013 Institut National de Recherche en Informatique *) -(* et en Automatique. Copyright 2012 Benedikt Meurer. All rights *) -(* reserved. This file is distributed under the terms of the Q *) -(* Public License version 1.0. *) -(* *) -(***********************************************************************) - -let command_line_options = [] - -(* Specific operations for the ARM processor, 64-bit mode *) - -open Format - -let command_line_options = [] - -(* Addressing modes *) - -type addressing_mode = - | Iindexed of int (* reg + displ *) - | Ibased of string * int (* global var + displ *) - -(* We do not support the reg + shifted reg addressing mode, because - what we really need is reg + shifted reg + displ, - and this is decomposed in two instructions (reg + shifted reg -> tmp, - then addressing tmp + displ). *) - -(* Specific operations *) - -type specific_operation = - | Ifar_alloc of int - | Ifar_intop_checkbound - | Ifar_intop_imm_checkbound of int - | Ishiftarith of arith_operation * int - | Ishiftcheckbound of int - | Ifar_shiftcheckbound of int - | Imuladd (* multiply and add *) - | Imulsub (* multiply and subtract *) - | Inegmulf (* floating-point negate and multiply *) - | Imuladdf (* floating-point multiply and add *) - | Inegmuladdf (* floating-point negate, multiply and add *) - | Imulsubf (* floating-point multiply and subtract *) - | Inegmulsubf (* floating-point negate, multiply and subtract *) - | Isqrtf (* floating-point square root *) - | Ibswap of int (* endianess conversion *) - -and arith_operation = - Ishiftadd - | Ishiftsub - -(* Sizes, endianness *) - -let big_endian = false - -let size_addr = 8 -let size_int = 8 -let size_float = 8 - -let allow_unaligned_access = false - -(* Behavior of division *) - -let division_crashes_on_overflow = false - -(* Operations on addressing modes *) - -let identity_addressing = Iindexed 0 - -let offset_addressing addr delta = - match addr with - | Iindexed n -> Iindexed(n + delta) - | Ibased(s, n) -> Ibased(s, n + delta) - -let num_args_addressing = function - | Iindexed n -> 1 - | Ibased(s, n) -> 0 - -(* Printing operations and addressing modes *) - -let print_addressing printreg addr ppf arg = - match addr with - | Iindexed n -> - printreg ppf arg.(0); - if n <> 0 then fprintf ppf " + %i" n - | Ibased(s, 0) -> - fprintf ppf "\"%s\"" s - | Ibased(s, n) -> - fprintf ppf "\"%s\" + %i" s n - -let print_specific_operation printreg op ppf arg = - match op with - | Ifar_alloc n -> - fprintf ppf "(far) alloc %i" n - | Ifar_intop_checkbound -> - fprintf ppf "%a (far) check > %a" printreg arg.(0) printreg arg.(1) - | Ifar_intop_imm_checkbound n -> - fprintf ppf "%a (far) check > %i" printreg arg.(0) n - | Ishiftarith(op, shift) -> - let op_name = function - | Ishiftadd -> "+" - | Ishiftsub -> "-" in - let shift_mark = - if shift >= 0 - then sprintf "<< %i" shift - else sprintf ">> %i" (-shift) in - fprintf ppf "%a %s %a %s" - printreg arg.(0) (op_name op) printreg arg.(1) shift_mark - | Ishiftcheckbound n -> - fprintf ppf "check %a >> %i > %a" printreg arg.(0) n printreg arg.(1) - | Ifar_shiftcheckbound n -> - fprintf ppf - "(far) check %a >> %i > %a" printreg arg.(0) n printreg arg.(1) - | Imuladd -> - fprintf ppf "(%a * %a) + %a" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Imulsub -> - fprintf ppf "-(%a * %a) + %a" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Inegmulf -> - fprintf ppf "-f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - | Imuladdf -> - fprintf ppf "%a +f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Inegmuladdf -> - fprintf ppf "(-f %a) -f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Imulsubf -> - fprintf ppf "%a -f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Inegmulsubf -> - fprintf ppf "(-f %a) +f (%a *f %a)" - printreg arg.(0) - printreg arg.(1) - printreg arg.(2) - | Isqrtf -> - fprintf ppf "sqrtf %a" - printreg arg.(0) - | Ibswap n -> - fprintf ppf "bswap%i %a" n - printreg arg.(0) diff --git a/vendor/ocaml/asmcomp/arm64/emit.mlp b/vendor/ocaml/asmcomp/arm64/emit.mlp deleted file mode 100644 index 750c2b237..000000000 --- a/vendor/ocaml/asmcomp/arm64/emit.mlp +++ /dev/null @@ -1,986 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* Benedikt Meurer, University of Siegen *) -(* *) -(* Copyright 2013 Institut National de Recherche en Informatique *) -(* et en Automatique. Copyright 2012 Benedikt Meurer. All rights *) -(* reserved. This file is distributed under the terms of the Q *) -(* Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Emission of ARM assembly code, 64-bit mode *) - -open Misc -open Cmm -open Arch -open Proc -open Reg -open Mach -open Linearize -open Emitaux - -(* Tradeoff between code size and code speed *) - -let fastcode_flag = ref true - -(* Names for special regs *) - -let reg_trap_ptr = phys_reg 23 -let reg_alloc_ptr = phys_reg 24 -let reg_alloc_limit = phys_reg 25 -let reg_tmp1 = phys_reg 26 -let reg_tmp2 = phys_reg 27 -let reg_x15 = phys_reg 15 - -(* Output a label *) - -let emit_label lbl = - emit_string ".L"; emit_int lbl - -let emit_data_label lbl = - emit_string ".Ld"; emit_int lbl - -(* Symbols *) - -let emit_symbol s = - Emitaux.emit_symbol '$' s - -(* Output a pseudo-register *) - -let emit_reg = function - {loc = Reg r} -> emit_string (register_name r) - | _ -> fatal_error "Emit.emit_reg" - -(* Likewise, but with the 32-bit name of the register *) - -let int_reg_name_w = - [| "w0"; "w1"; "w2"; "w3"; "w4"; "w5"; "w6"; "w7"; - "w8"; "w9"; "w10"; "w11"; "w12"; "w13"; "w14"; "w15"; - "w19"; "w20"; "w21"; "w22"; "w23"; "w24"; "w25"; - "w26"; "w27"; "w28"; "w16"; "w17" |] - -let emit_wreg = function - {loc = Reg r} -> emit_string int_reg_name_w.(r) - | _ -> fatal_error "Emit.emit_wreg" - -(* Layout of the stack frame *) - -let stack_offset = ref 0 - -let frame_size () = - let sz = - !stack_offset + - 8 * num_stack_slots.(0) + - 8 * num_stack_slots.(1) + - (if !contains_calls then 8 else 0) - in Misc.align sz 16 - -let slot_offset loc cl = - match loc with - Incoming n -> - assert (n >= 0); - frame_size() + n - | Local n -> - !stack_offset + - (if cl = 0 - then n * 8 - else num_stack_slots.(0) * 8 + n * 8) - | Outgoing n -> - assert (n >= 0); - n - -(* Output a stack reference *) - -let emit_stack r = - match r.loc with - | Stack s -> - let ofs = slot_offset s (register_class r) in `[sp, #{emit_int ofs}]` - | _ -> fatal_error "Emit.emit_stack" - -(* Output an addressing mode *) - -let emit_symbol_offset s ofs = - emit_symbol s; - if ofs > 0 then `+{emit_int ofs}` - else if ofs < 0 then `-{emit_int (-ofs)}` - else () - -let emit_addressing addr r = - match addr with - | Iindexed ofs -> - `[{emit_reg r}, #{emit_int ofs}]` - | Ibased(s, ofs) -> - `[{emit_reg r}, #:lo12:{emit_symbol_offset s ofs}]` - -(* Record live pointers at call points *) - -let record_frame_label live dbg = - let lbl = new_label() in - let live_offset = ref [] in - Reg.Set.iter - (function - {typ = Addr; loc = Reg r} -> - live_offset := ((r lsl 1) + 1) :: !live_offset - | {typ = Addr; loc = Stack s} as reg -> - live_offset := slot_offset s (register_class reg) :: !live_offset - | _ -> ()) - live; - frame_descriptors := - { fd_lbl = lbl; - fd_frame_size = frame_size(); - fd_live_offset = !live_offset; - fd_debuginfo = dbg } :: !frame_descriptors; - lbl - -let record_frame live dbg = - let lbl = record_frame_label live dbg in `{emit_label lbl}:` - -(* Record calls to the GC -- we've moved them out of the way *) - -type gc_call = - { gc_lbl: label; (* Entry label *) - gc_return_lbl: label; (* Where to branch after GC *) - gc_frame_lbl: label } (* Label of frame descriptor *) - -let call_gc_sites = ref ([] : gc_call list) - -let emit_call_gc gc = - `{emit_label gc.gc_lbl}: bl {emit_symbol "caml_call_gc"}\n`; - `{emit_label gc.gc_frame_lbl}: b {emit_label gc.gc_return_lbl}\n` - -(* Record calls to caml_ml_array_bound_error. - In debug mode, we maintain one call to caml_ml_array_bound_error - per bound check site. Otherwise, we can share a single call. *) - -type bound_error_call = - { bd_lbl: label; (* Entry label *) - bd_frame_lbl: label } (* Label of frame descriptor *) - -let bound_error_sites = ref ([] : bound_error_call list) - -let bound_error_label dbg = - if !Clflags.debug || !bound_error_sites = [] then begin - let lbl_bound_error = new_label() in - let lbl_frame = record_frame_label Reg.Set.empty dbg in - bound_error_sites := - { bd_lbl = lbl_bound_error; - bd_frame_lbl = lbl_frame } :: !bound_error_sites; - lbl_bound_error - end else begin - let bd = List.hd !bound_error_sites in bd.bd_lbl - end - -let emit_call_bound_error bd = - `{emit_label bd.bd_lbl}: bl {emit_symbol "caml_ml_array_bound_error"}\n`; - `{emit_label bd.bd_frame_lbl}:\n` - -(* Names of various instructions *) - -let name_for_comparison = function - | Isigned Ceq -> "eq" | Isigned Cne -> "ne" | Isigned Cle -> "le" - | Isigned Cge -> "ge" | Isigned Clt -> "lt" | Isigned Cgt -> "gt" - | Iunsigned Ceq -> "eq" | Iunsigned Cne -> "ne" | Iunsigned Cle -> "ls" - | Iunsigned Cge -> "cs" | Iunsigned Clt -> "cc" | Iunsigned Cgt -> "hi" - -let name_for_int_operation = function - | Iadd -> "add" - | Isub -> "sub" - | Imul -> "mul" - | Idiv -> "sdiv" - | Iand -> "and" - | Ior -> "orr" - | Ixor -> "eor" - | Ilsl -> "lsl" - | Ilsr -> "lsr" - | Iasr -> "asr" - | _ -> assert false - -(* Load an integer constant into a register *) - -let emit_intconst dst n = - let rec emit_pos first shift = - if shift < 0 then begin - if first then ` mov {emit_reg dst}, xzr\n` - end else begin - let s = Nativeint.(logand (shift_right_logical n shift) 0xFFFFn) in - if s = 0n then emit_pos first (shift - 16) else begin - if first then - ` movz {emit_reg dst}, #{emit_nativeint s}, lsl #{emit_int shift}\n` - else - ` movk {emit_reg dst}, #{emit_nativeint s}, lsl #{emit_int shift}\n`; - emit_pos false (shift - 16) - end - end - and emit_neg first shift = - if shift < 0 then begin - if first then ` movn {emit_reg dst}, #0\n` - end else begin - let s = Nativeint.(logand (shift_right_logical n shift) 0xFFFFn) in - if s = 0xFFFFn then emit_neg first (shift - 16) else begin - if first then - ` movn {emit_reg dst}, #{emit_nativeint (Nativeint.logxor s 0xFFFFn)}, lsl #{emit_int shift}\n` - else - ` movk {emit_reg dst}, #{emit_nativeint s}, lsl #{emit_int shift}\n`; - emit_neg false (shift - 16) - end - end - in - if n < 0n then emit_neg true 48 else emit_pos true 48 - -let num_instructions_for_intconst n = - let num_instructions = ref 0 in - let rec count_pos first shift = - if shift < 0 then begin - if first then incr num_instructions - end else begin - let s = Nativeint.(logand (shift_right_logical n shift) 0xFFFFn) in - if s = 0n then count_pos first (shift - 16) else begin - incr num_instructions; - count_pos false (shift - 16) - end - end - and count_neg first shift = - if shift < 0 then begin - if first then incr num_instructions - end else begin - let s = Nativeint.(logand (shift_right_logical n shift) 0xFFFFn) in - if s = 0xFFFFn then count_neg first (shift - 16) else begin - incr num_instructions; - count_neg false (shift - 16) - end - end - in - if n < 0n then count_neg true 48 else count_pos true 48; - !num_instructions - -(* Recognize float constants appropriate for FMOV dst, #fpimm instruction: - "a normalized binary floating point encoding with 1 sign bit, 4 - bits of fraction and a 3-bit exponent" *) - -let is_immediate_float bits = - let exp = (Int64.(to_int (shift_right_logical bits 52)) land 0x7FF) - 1023 in - let mant = Int64.logand bits 0xF_FFFF_FFFF_FFFFL in - exp >= -3 && exp <= 4 && Int64.logand mant 0xF_0000_0000_0000L = mant - -(* Adjust sp (up or down) by the given byte amount *) - -let emit_stack_adjustment n = - let instr = if n < 0 then "sub" else "add" in - let m = abs n in - assert (m < 0x1_000_000); - let ml = m land 0xFFF and mh = m land 0xFFF_000 in - if mh <> 0 then ` {emit_string instr} sp, sp, #{emit_int mh}\n`; - if ml <> 0 then ` {emit_string instr} sp, sp, #{emit_int ml}\n`; - if n <> 0 then cfi_adjust_cfa_offset (-n) - -(* Deallocate the stack frame and reload the return address - before a return or tail call *) - -let output_epilogue f = - let n = frame_size() in - if !contains_calls then - ` ldr x30, [sp, #{emit_int (n-8)}]\n`; - if n > 0 then - emit_stack_adjustment n; - f(); - (* reset CFA back because function body may continue *) - if n > 0 then cfi_adjust_cfa_offset n - -(* Name of current function *) -let function_name = ref "" -(* Entry point for tail recursive calls *) -let tailrec_entry_point = ref 0 -(* Pending floating-point literals *) -let float_literals = ref ([] : (int64 * label) list) - -(* Label a floating-point literal *) -let float_literal f = - try - List.assoc f !float_literals - with Not_found -> - let lbl = new_label() in - float_literals := (f, lbl) :: !float_literals; - lbl - -(* Emit all pending literals *) -let emit_literals() = - if !float_literals <> [] then begin - ` .align 3\n`; - List.iter - (fun (f, lbl) -> - `{emit_label lbl}:`; emit_float64_directive ".quad" f) - !float_literals; - float_literals := [] - end - -(* Emit code to load the address of a symbol *) - -let emit_load_symbol_addr dst s = - if (not !Clflags.dlcode) || Compilenv.symbol_in_current_unit s then begin - ` adrp {emit_reg dst}, {emit_symbol s}\n`; - ` add {emit_reg dst}, {emit_reg dst}, #:lo12:{emit_symbol s}\n` - end else begin - ` adrp {emit_reg dst}, :got:{emit_symbol s}\n`; - ` ldr {emit_reg dst}, [{emit_reg dst}, #:got_lo12:{emit_symbol s}]\n` - end - -(* The following functions are used for calculating the sizes of the - call GC and bounds check points emitted out-of-line from the function - body. See branch_relaxation.mli. *) - -let num_call_gc_and_check_bound_points instr = - let rec loop instr ((call_gc, check_bound) as totals) = - match instr.desc with - | Lend -> totals - | Lop (Ialloc _) when !fastcode_flag -> - loop instr.next (call_gc + 1, check_bound) - | Lop (Iintop Icheckbound) - | Lop (Iintop_imm (Icheckbound, _)) - | Lop (Ispecific (Ishiftcheckbound _)) -> - let check_bound = - (* When not in debug mode, there is at most one check-bound point. *) - if not !Clflags.debug then 1 - else check_bound + 1 - in - loop instr.next (call_gc, check_bound) - (* The following four should never be seen, since this function is run - before branch relaxation. *) - | Lop (Ispecific (Ifar_alloc _)) - | Lop (Ispecific Ifar_intop_checkbound) - | Lop (Ispecific (Ifar_intop_imm_checkbound _)) - | Lop (Ispecific (Ifar_shiftcheckbound _)) -> assert false - | _ -> loop instr.next totals - in - loop instr (0, 0) - -let max_out_of_line_code_offset instr ~num_call_gc ~num_check_bound = - if num_call_gc < 1 && num_check_bound < 1 then 0 - else begin - let size_of_call_gc = 2 in - let size_of_check_bound = 1 in - let size_of_last_thing = - (* Call-GC points come before check-bound points. *) - if num_check_bound >= 1 then size_of_check_bound else size_of_call_gc - in - let total_size = - size_of_call_gc*num_call_gc + size_of_check_bound*num_check_bound - in - let max_offset = total_size - size_of_last_thing in - assert (max_offset >= 0); - max_offset - end - -module BR = Branch_relaxation.Make (struct - (* CR-someday mshinwell: B and BL have +/- 128Mb ranges; for the moment we - assume we will never exceed this. It would seem to be most likely to - occur for branches between functions; in this case, the linker should be - able to insert veneers anyway. (See section 4.6.7 of the document - "ELF for the ARM 64-bit architecture (AArch64)".) *) - - type distance = int - - module Cond_branch = struct - type t = TB | CB | Bcc - - let all = [TB; CB; Bcc] - - (* AArch64 instructions are 32 bits wide, so [distance] in this module - means units of 32-bit words. *) - let max_displacement = function - | TB -> 32 * 1024 / 4 (* +/- 32Kb *) - | CB | Bcc -> 1 * 1024 * 1024 / 4 (* +/- 1Mb *) - - let classify_instr = function - | Lop (Ialloc _) - | Lop (Iintop Icheckbound) - | Lop (Iintop_imm (Icheckbound, _)) - | Lop (Ispecific (Ishiftcheckbound _)) -> Some Bcc - (* The various "far" variants in [specific_operation] don't need to - return [Some] here, since their code sequences never contain any - conditional branches that might need relaxing. *) - | Lcondbranch (Itruetest, _) - | Lcondbranch (Ifalsetest, _) -> Some CB - | Lcondbranch (Iinttest _, _) - | Lcondbranch (Iinttest_imm _, _) - | Lcondbranch (Ifloattest _, _) -> Some Bcc - | Lcondbranch (Ioddtest, _) - | Lcondbranch (Ieventest, _) -> Some TB - | Lcondbranch3 _ -> Some Bcc - | _ -> None - end - - let offset_pc_at_branch = 0 - - let epilogue_size () = - if !contains_calls then 3 else 2 - - let instr_size = function - | Lend -> 0 - | Lop (Imove | Ispill | Ireload) -> 1 - | Lop (Iconst_int n | Iconst_blockheader n) -> - num_instructions_for_intconst n - | Lop (Iconst_float _) -> 2 - | Lop (Iconst_symbol _) -> 2 - | Lop (Icall_ind) -> 1 - | Lop (Icall_imm _) -> 1 - | Lop (Itailcall_ind) -> epilogue_size () - | Lop (Itailcall_imm s) -> - if s = !function_name then 1 else epilogue_size () - | Lop (Iextcall (_, false)) -> 1 - | Lop (Iextcall (_, true)) -> 3 - | Lop (Istackoffset _) -> 2 - | Lop (Iload (size, addr)) | Lop (Istore (size, addr, _)) -> - let based = match addr with Iindexed _ -> 0 | Ibased _ -> 1 in - based + begin match size with Single -> 2 | _ -> 1 end - | Lop (Ialloc _) when !fastcode_flag -> 4 - | Lop (Ispecific (Ifar_alloc _)) when !fastcode_flag -> 5 - | Lop (Ialloc num_words) | Lop (Ispecific (Ifar_alloc num_words)) -> - begin match num_words with - | 16 | 24 | 32 -> 1 - | _ -> 1 + num_instructions_for_intconst (Nativeint.of_int num_words) - end - | Lop (Iintop (Icomp _)) -> 2 - | Lop (Iintop_imm (Icomp _, _)) -> 2 - | Lop (Iintop Icheckbound) -> 2 - | Lop (Ispecific Ifar_intop_checkbound) -> 3 - | Lop (Iintop_imm (Icheckbound, _)) -> 2 - | Lop (Ispecific (Ifar_intop_imm_checkbound _)) -> 3 - | Lop (Ispecific (Ishiftcheckbound _)) -> 2 - | Lop (Ispecific (Ifar_shiftcheckbound _)) -> 3 - | Lop (Iintop Imod) -> 2 - | Lop (Iintop Imulh) -> 1 - | Lop (Iintop _) -> 1 - | Lop (Iintop_imm _) -> 1 - | Lop (Ifloatofint | Iintoffloat | Iabsf | Inegf | Ispecific Isqrtf) -> 1 - | Lop (Iaddf | Isubf | Imulf | Idivf | Ispecific Inegmulf) -> 1 - | Lop (Ispecific (Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf)) -> 1 - | Lop (Ispecific (Ishiftarith _)) -> 1 - | Lop (Ispecific (Imuladd | Imulsub)) -> 1 - | Lop (Ispecific (Ibswap 16)) -> 2 - | Lop (Ispecific (Ibswap _)) -> 1 - | Lreloadretaddr -> 0 - | Lreturn -> epilogue_size () - | Llabel _ -> 0 - | Lbranch _ -> 1 - | Lcondbranch (tst, _) -> - begin match tst with - | Itruetest -> 1 - | Ifalsetest -> 1 - | Iinttest _ -> 2 - | Iinttest_imm _ -> 2 - | Ifloattest _ -> 2 - | Ioddtest -> 1 - | Ieventest -> 1 - end - | Lcondbranch3 (lbl0, lbl1, lbl2) -> - 1 + begin match lbl0 with None -> 0 | Some _ -> 1 end - + begin match lbl1 with None -> 0 | Some _ -> 1 end - + begin match lbl2 with None -> 0 | Some _ -> 1 end - | Lswitch jumptbl -> 3 + Array.length jumptbl - | Lsetuptrap _ -> 2 - | Lpushtrap -> 3 - | Lpoptrap -> 1 - | Lraise k -> - begin match !Clflags.debug, k with - | true, (Lambda.Raise_regular | Lambda.Raise_reraise) -> 1 - | false, _ - | true, Lambda.Raise_notrace -> 4 - end - - let relax_allocation ~num_words = - Lop (Ispecific (Ifar_alloc num_words)) - - let relax_intop_checkbound () = - Lop (Ispecific Ifar_intop_checkbound) - - let relax_intop_imm_checkbound ~bound = - Lop (Ispecific (Ifar_intop_imm_checkbound bound)) - - let relax_specific_op = function - | Ishiftcheckbound shift -> Lop (Ispecific (Ifar_shiftcheckbound shift)) - | _ -> assert false -end) - -(* Output the assembly code for allocation. *) - -let assembly_code_for_allocation i ~n ~far = - let lbl_frame = record_frame_label i.live i.dbg in - if !fastcode_flag then begin - let lbl_redo = new_label() in - let lbl_call_gc = new_label() in - `{emit_label lbl_redo}:`; - ` sub {emit_reg reg_alloc_ptr}, {emit_reg reg_alloc_ptr}, #{emit_int n}\n`; - ` cmp {emit_reg reg_alloc_ptr}, {emit_reg reg_alloc_limit}\n`; - ` add {emit_reg i.res.(0)}, {emit_reg reg_alloc_ptr}, #8\n`; - if not far then begin - ` b.lo {emit_label lbl_call_gc}\n` - end else begin - let lbl = new_label () in - ` b.cs {emit_label lbl}\n`; - ` b {emit_label lbl_call_gc}\n`; - `{emit_label lbl}:\n` - end; - call_gc_sites := - { gc_lbl = lbl_call_gc; - gc_return_lbl = lbl_redo; - gc_frame_lbl = lbl_frame } :: !call_gc_sites - end else begin - begin match n with - | 16 -> ` bl {emit_symbol "caml_alloc1"}\n` - | 24 -> ` bl {emit_symbol "caml_alloc2"}\n` - | 32 -> ` bl {emit_symbol "caml_alloc3"}\n` - | _ -> emit_intconst reg_x15 (Nativeint.of_int n); - ` bl {emit_symbol "caml_allocN"}\n` - end; - `{emit_label lbl_frame}: add {emit_reg i.res.(0)}, {emit_reg reg_alloc_ptr}, #8\n` - end - -(* Output the assembly code for an instruction *) - -let emit_instr i = - emit_debug_info i.dbg; - match i.desc with - | Lend -> () - | Lop(Imove | Ispill | Ireload) -> - let src = i.arg.(0) and dst = i.res.(0) in - if src.loc <> dst.loc then begin - match (src, dst) with - | {loc = Reg _; typ = Float}, {loc = Reg _} -> - ` fmov {emit_reg dst}, {emit_reg src}\n` - | {loc = Reg _}, {loc = Reg _} -> - ` mov {emit_reg dst}, {emit_reg src}\n` - | {loc = Reg _}, {loc = Stack _} -> - ` str {emit_reg src}, {emit_stack dst}\n` - | {loc = Stack _}, {loc = Reg _} -> - ` ldr {emit_reg dst}, {emit_stack src}\n` - | _ -> - assert false - end - | Lop(Iconst_int n | Iconst_blockheader n) -> - emit_intconst i.res.(0) n - | Lop(Iconst_float f) -> - let b = Int64.bits_of_float f in - if b = 0L then - ` fmov {emit_reg i.res.(0)}, xzr\n` - else if is_immediate_float b then - ` fmov {emit_reg i.res.(0)}, #{emit_printf "0x%Lx" b}\n` - else begin - let lbl = float_literal b in - ` adrp {emit_reg reg_tmp1}, {emit_label lbl}\n`; - ` ldr {emit_reg i.res.(0)}, [{emit_reg reg_tmp1}, #:lo12:{emit_label lbl}]\n` - end - | Lop(Iconst_symbol s) -> - emit_load_symbol_addr i.res.(0) s - | Lop(Icall_ind) -> - ` blr {emit_reg i.arg.(0)}\n`; - `{record_frame i.live i.dbg}\n` - | Lop(Icall_imm s) -> - ` bl {emit_symbol s}\n`; - `{record_frame i.live i.dbg}\n` - | Lop(Itailcall_ind) -> - output_epilogue (fun () -> ` br {emit_reg i.arg.(0)}\n`) - | Lop(Itailcall_imm s) -> - if s = !function_name then - ` b {emit_label !tailrec_entry_point}\n` - else - output_epilogue (fun () -> ` b {emit_symbol s}\n`) - | Lop(Iextcall(s, false)) -> - ` bl {emit_symbol s}\n` - | Lop(Iextcall(s, true)) -> - emit_load_symbol_addr reg_x15 s; - ` bl {emit_symbol "caml_c_call"}\n`; - `{record_frame i.live i.dbg}\n` - | Lop(Istackoffset n) -> - assert (n mod 16 = 0); - emit_stack_adjustment (-n); - stack_offset := !stack_offset + n - | Lop(Iload(size, addr)) -> - let dst = i.res.(0) in - let base = - match addr with - | Iindexed ofs -> i.arg.(0) - | Ibased(s, ofs) -> - ` adrp {emit_reg reg_tmp1}, {emit_symbol_offset s ofs}\n`; - reg_tmp1 in - begin match size with - | Byte_unsigned -> - ` ldrb {emit_wreg dst}, {emit_addressing addr base}\n` - | Byte_signed -> - ` ldrsb {emit_reg dst}, {emit_addressing addr base}\n` - | Sixteen_unsigned -> - ` ldrh {emit_wreg dst}, {emit_addressing addr base}\n` - | Sixteen_signed -> - ` ldrsh {emit_reg dst}, {emit_addressing addr base}\n` - | Thirtytwo_unsigned -> - ` ldr {emit_wreg dst}, {emit_addressing addr base}\n` - | Thirtytwo_signed -> - ` ldrsw {emit_reg dst}, {emit_addressing addr base}\n` - | Single -> - ` ldr s7, {emit_addressing addr base}\n`; - ` fcvt {emit_reg dst}, s7\n` - | Word | Double | Double_u -> - ` ldr {emit_reg dst}, {emit_addressing addr base}\n` - end - | Lop(Istore(size, addr, _)) -> - let src = i.arg.(0) in - let base = - match addr with - | Iindexed ofs -> i.arg.(1) - | Ibased(s, ofs) -> - ` adrp {emit_reg reg_tmp1}, {emit_symbol_offset s ofs}\n`; - reg_tmp1 in - begin match size with - | Byte_unsigned | Byte_signed -> - ` strb {emit_wreg src}, {emit_addressing addr base}\n` - | Sixteen_unsigned | Sixteen_signed -> - ` strh {emit_wreg src}, {emit_addressing addr base}\n` - | Thirtytwo_unsigned | Thirtytwo_signed -> - ` str {emit_wreg src}, {emit_addressing addr base}\n` - | Single -> - ` fcvt s7, {emit_reg src}\n`; - ` str s7, {emit_addressing addr base}\n`; - | Word | Double | Double_u -> - ` str {emit_reg src}, {emit_addressing addr base}\n` - end - | Lop(Ialloc n) -> - assembly_code_for_allocation i ~n ~far:false - | Lop(Ispecific (Ifar_alloc n)) -> - assembly_code_for_allocation i ~n ~far:true - | Lop(Iintop(Icomp cmp)) -> - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` cset {emit_reg i.res.(0)}, {emit_string (name_for_comparison cmp)}\n` - | Lop(Iintop_imm(Icomp cmp, n)) -> - ` cmp {emit_reg i.arg.(0)}, #{emit_int n}\n`; - ` cset {emit_reg i.res.(0)}, {emit_string (name_for_comparison cmp)}\n` - | Lop(Iintop Icheckbound) -> - let lbl = bound_error_label i.dbg in - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` b.ls {emit_label lbl}\n` - | Lop(Ispecific Ifar_intop_checkbound) -> - let lbl = bound_error_label i.dbg in - let lbl2 = new_label () in - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` b.hi {emit_label lbl2}\n`; - ` b {emit_label lbl}\n`; - `{emit_label lbl2}:\n`; - | Lop(Iintop_imm(Icheckbound, n)) -> - let lbl = bound_error_label i.dbg in - ` cmp {emit_reg i.arg.(0)}, #{emit_int n}\n`; - ` b.ls {emit_label lbl}\n` - | Lop(Ispecific(Ifar_intop_imm_checkbound bound)) -> - let lbl = bound_error_label i.dbg in - let lbl2 = new_label () in - ` cmp {emit_reg i.arg.(0)}, #{emit_int bound}\n`; - ` b.hi {emit_label lbl2}\n`; - ` b {emit_label lbl}\n`; - `{emit_label lbl2}:\n`; - | Lop(Ispecific(Ishiftcheckbound shift)) -> - let lbl = bound_error_label i.dbg in - ` cmp {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}, lsr #{emit_int shift}\n`; - ` b.cs {emit_label lbl}\n` - | Lop(Ispecific(Ifar_shiftcheckbound shift)) -> - let lbl = bound_error_label i.dbg in - let lbl2 = new_label () in - ` cmp {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}, lsr #{emit_int shift}\n`; - ` b.lo {emit_label lbl2}\n`; - ` b {emit_label lbl}\n`; - `{emit_label lbl2}:\n`; - | Lop(Iintop Imod) -> - ` sdiv {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` msub {emit_reg i.res.(0)}, {emit_reg reg_tmp1}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n` - | Lop(Iintop Imulh) -> - ` smulh {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n` - | Lop(Iintop op) -> - let instr = name_for_int_operation op in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n` - | Lop(Iintop_imm(op, n)) -> - let instr = name_for_int_operation op in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, #{emit_int n}\n` - | Lop(Ifloatofint | Iintoffloat | Iabsf | Inegf | Ispecific Isqrtf as op) -> - let instr = (match op with - | Ifloatofint -> "scvtf" - | Iintoffloat -> "fcvtzs" - | Iabsf -> "fabs" - | Inegf -> "fneg" - | Ispecific Isqrtf -> "fsqrt" - | _ -> assert false) in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n` - | Lop(Iaddf | Isubf | Imulf | Idivf | Ispecific Inegmulf as op) -> - let instr = (match op with - | Iaddf -> "fadd" - | Isubf -> "fsub" - | Imulf -> "fmul" - | Idivf -> "fdiv" - | Ispecific Inegmulf -> "fnmul" - | _ -> assert false) in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n` - | Lop(Ispecific(Imuladdf | Inegmuladdf | Imulsubf | Inegmulsubf as op)) -> - let instr = (match op with - | Imuladdf -> "fmadd" - | Inegmuladdf -> "fnmadd" - | Imulsubf -> "fmsub" - | Inegmulsubf -> "fnmsub" - | _ -> assert false) in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(2)}, {emit_reg i.arg.(0)}\n` - | Lop(Ispecific(Ishiftarith(op, shift))) -> - let instr = (match op with - Ishiftadd -> "add" - | Ishiftsub -> "sub") in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}`; - if shift >= 0 - then `, lsl #{emit_int shift}\n` - else `, asr #{emit_int (-shift)}\n` - | Lop(Ispecific(Imuladd | Imulsub as op)) -> - let instr = (match op with - Imuladd -> "madd" - | Imulsub -> "msub" - | _ -> assert false) in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(2)}\n` - | Lop(Ispecific(Ibswap size)) -> - begin match size with - | 16 -> - ` rev16 {emit_wreg i.res.(0)}, {emit_wreg i.arg.(0)}\n`; - ` ubfm {emit_reg i.res.(0)}, {emit_reg i.res.(0)}, #0, #15\n` - | 32 -> - ` rev {emit_wreg i.res.(0)}, {emit_wreg i.arg.(0)}\n` - | 64 -> - ` rev {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n` - | _ -> - assert false - end - | Lreloadretaddr -> - () - | Lreturn -> - output_epilogue (fun () -> ` ret\n`) - | Llabel lbl -> - `{emit_label lbl}:\n` - | Lbranch lbl -> - ` b {emit_label lbl}\n` - | Lcondbranch(tst, lbl) -> - begin match tst with - | Itruetest -> - ` cbnz {emit_reg i.arg.(0)}, {emit_label lbl}\n` - | Ifalsetest -> - ` cbz {emit_reg i.arg.(0)}, {emit_label lbl}\n` - | Iinttest cmp -> - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - let comp = name_for_comparison cmp in - ` b.{emit_string comp} {emit_label lbl}\n` - | Iinttest_imm(cmp, n) -> - ` cmp {emit_reg i.arg.(0)}, #{emit_int n}\n`; - let comp = name_for_comparison cmp in - ` b.{emit_string comp} {emit_label lbl}\n` - | Ifloattest(cmp, neg) -> - let comp = (match (cmp, neg) with - | (Ceq, false) | (Cne, true) -> "eq" - | (Cne, false) | (Ceq, true) -> "ne" - | (Clt, false) -> "cc" - | (Clt, true) -> "cs" - | (Cle, false) -> "ls" - | (Cle, true) -> "hi" - | (Cgt, false) -> "gt" - | (Cgt, true) -> "le" - | (Cge, false) -> "ge" - | (Cge, true) -> "lt") in - ` fcmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` b.{emit_string comp} {emit_label lbl}\n` - | Ioddtest -> - ` tbnz {emit_reg i.arg.(0)}, #0, {emit_label lbl}\n` - | Ieventest -> - ` tbz {emit_reg i.arg.(0)}, #0, {emit_label lbl}\n` - end - | Lcondbranch3(lbl0, lbl1, lbl2) -> - ` cmp {emit_reg i.arg.(0)}, #1\n`; - begin match lbl0 with - None -> () - | Some lbl -> ` b.lt {emit_label lbl}\n` - end; - begin match lbl1 with - None -> () - | Some lbl -> ` b.eq {emit_label lbl}\n` - end; - begin match lbl2 with - None -> () - | Some lbl -> ` b.gt {emit_label lbl}\n` - end - | Lswitch jumptbl -> - let lbltbl = new_label() in - ` adr {emit_reg reg_tmp1}, {emit_label lbltbl}\n`; - ` add {emit_reg reg_tmp1}, {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, lsl #2\n`; - ` br {emit_reg reg_tmp1}\n`; - `{emit_label lbltbl}:`; - for j = 0 to Array.length jumptbl - 1 do - ` b {emit_label jumptbl.(j)}\n` - done -(* Alternative: - let lbltbl = new_label() in - ` adr {emit_reg reg_tmp1}, {emit_label lbltbl}\n`; - ` ldr {emit_wreg reg_tmp2}, [{emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, lsl #2]\n`; - ` add {emit_reg reg_tmp1}, {emit_wreg reg_tmp2}, sxtb\n`; - ` br {emit_reg reg_tmp1}\n`; - `{emit_label lbltbl}:\n`; - for j = 0 to Array.length jumptbl - 1 do - ` .word {emit_label jumptbl.(j)} - {emit_label lbltbl}\n` - done -*) - | Lsetuptrap lbl -> - let lblnext = new_label() in - ` adr {emit_reg reg_tmp1}, {emit_label lblnext}\n`; - ` b {emit_label lbl}\n`; - `{emit_label lblnext}:\n` - | Lpushtrap -> - stack_offset := !stack_offset + 16; - ` str {emit_reg reg_trap_ptr}, [sp, -16]!\n`; - ` str {emit_reg reg_tmp1}, [sp, #8]\n`; - cfi_adjust_cfa_offset 16; - ` mov {emit_reg reg_trap_ptr}, sp\n` - | Lpoptrap -> - ` ldr {emit_reg reg_trap_ptr}, [sp], 16\n`; - cfi_adjust_cfa_offset (-16); - stack_offset := !stack_offset - 16 - | Lraise k -> - begin match !Clflags.debug, k with - | true, (Lambda.Raise_regular | Lambda.Raise_reraise) -> - ` bl {emit_symbol "caml_raise_exn"}\n`; - `{record_frame Reg.Set.empty i.dbg}\n` - | false, _ - | true, Lambda.Raise_notrace -> - ` mov sp, {emit_reg reg_trap_ptr}\n`; - ` ldr {emit_reg reg_tmp1}, [sp, #8]\n`; - ` ldr {emit_reg reg_trap_ptr}, [sp], 16\n`; - ` br {emit_reg reg_tmp1}\n` - end - -(* Emission of an instruction sequence *) - -let rec emit_all i = - if i.desc = Lend then () else (emit_instr i; emit_all i.next) - -(* Emission of the profiling prelude *) - -let emit_profile() = () (* TODO *) -(* - match Config.system with - "linux_eabi" | "linux_eabihf" -> - ` push \{lr}\n`; - ` {emit_call "__gnu_mcount_nc"}\n` - | _ -> () -*) - -(* Emission of a function declaration *) - -let fundecl fundecl = - function_name := fundecl.fun_name; - fastcode_flag := fundecl.fun_fast; - tailrec_entry_point := new_label(); - float_literals := []; - stack_offset := 0; - call_gc_sites := []; - bound_error_sites := []; - ` .text\n`; - ` .align 3\n`; - ` .globl {emit_symbol fundecl.fun_name}\n`; - ` .type {emit_symbol fundecl.fun_name}, %function\n`; - `{emit_symbol fundecl.fun_name}:\n`; - emit_debug_info fundecl.fun_dbg; - cfi_startproc(); - if !Clflags.gprofile then emit_profile(); - let n = frame_size() in - if n > 0 then - emit_stack_adjustment (-n); - if !contains_calls then begin - cfi_offset ~reg:30 (* return address *) ~offset:(-8); - ` str x30, [sp, #{emit_int (n-8)}]\n` - end; - `{emit_label !tailrec_entry_point}:\n`; - let num_call_gc, num_check_bound = - num_call_gc_and_check_bound_points fundecl.fun_body - in - let max_out_of_line_code_offset = - max_out_of_line_code_offset fundecl.fun_body ~num_call_gc - ~num_check_bound - in - BR.relax fundecl.fun_body ~max_out_of_line_code_offset; - emit_all fundecl.fun_body; - List.iter emit_call_gc !call_gc_sites; - List.iter emit_call_bound_error !bound_error_sites; - assert (List.length !call_gc_sites = num_call_gc); - assert (List.length !bound_error_sites = num_check_bound); - cfi_endproc(); - ` .type {emit_symbol fundecl.fun_name}, %function\n`; - ` .size {emit_symbol fundecl.fun_name}, .-{emit_symbol fundecl.fun_name}\n`; - emit_literals() - -(* Emission of data *) - -let emit_item = function - | Cglobal_symbol s -> ` .globl {emit_symbol s}\n`; - | Cdefine_symbol s -> `{emit_symbol s}:\n` - | Cdefine_label lbl -> `{emit_data_label lbl}:\n` - | Cint8 n -> ` .byte {emit_int n}\n` - | Cint16 n -> ` .short {emit_int n}\n` - | Cint32 n -> ` .long {emit_nativeint n}\n` - | Cint n -> ` .quad {emit_nativeint n}\n` - | Csingle f -> emit_float32_directive ".long" (Int32.bits_of_float f) - | Cdouble f -> emit_float64_directive ".quad" (Int64.bits_of_float f) - | Csymbol_address s -> ` .quad {emit_symbol s}\n` - | Clabel_address lbl -> ` .quad {emit_data_label lbl}\n` - | Cstring s -> emit_string_directive " .ascii " s - | Cskip n -> if n > 0 then ` .space {emit_int n}\n` - | Calign n -> ` .align {emit_int(Misc.log2 n)}\n` - -let data l = - ` .data\n`; - ` .align 3\n`; - List.iter emit_item l - -(* Beginning / end of an assembly file *) - -let begin_assembly() = - reset_debug_info(); - let lbl_begin = Compilenv.make_symbol (Some "data_begin") in - ` .data\n`; - ` .globl {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n`; - let lbl_begin = Compilenv.make_symbol (Some "code_begin") in - ` .text\n`; - ` .globl {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n` - -let end_assembly () = - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - ` .globl {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - let lbl_end = Compilenv.make_symbol (Some "data_end") in - ` .data\n`; - ` .globl {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - ` .long 0\n`; - let lbl = Compilenv.make_symbol (Some "frametable") in - ` .globl {emit_symbol lbl}\n`; - `{emit_symbol lbl}:\n`; - emit_frames - { efa_label = (fun lbl -> - ` .type {emit_label lbl}, %function\n`; - ` .quad {emit_label lbl}\n`); - efa_16 = (fun n -> ` .short {emit_int n}\n`); - efa_32 = (fun n -> ` .long {emit_int32 n}\n`); - efa_word = (fun n -> ` .quad {emit_int n}\n`); - efa_align = (fun n -> ` .align {emit_int(Misc.log2 n)}\n`); - efa_label_rel = (fun lbl ofs -> - ` .long {emit_label lbl} - . + {emit_int32 ofs}\n`); - efa_def_label = (fun lbl -> `{emit_label lbl}:\n`); - efa_string = (fun s -> emit_string_directive " .asciz " s) }; - ` .type {emit_symbol lbl}, %object\n`; - ` .size {emit_symbol lbl}, .-{emit_symbol lbl}\n`; - begin match Config.system with - | "linux" -> - (* Mark stack as non-executable *) - ` .section .note.GNU-stack,\"\",%progbits\n` - | _ -> () - end diff --git a/vendor/ocaml/asmcomp/arm64/proc.ml b/vendor/ocaml/asmcomp/arm64/proc.ml deleted file mode 100644 index 0222b72a7..000000000 --- a/vendor/ocaml/asmcomp/arm64/proc.ml +++ /dev/null @@ -1,226 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* Benedikt Meurer, University of Siegen *) -(* *) -(* Copyright 2013 Institut National de Recherche en Informatique *) -(* et en Automatique. Copyright 2012 Benedikt Meurer. All rights *) -(* reserved. This file is distributed under the terms of the Q *) -(* Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Description of the ARM processor in 64-bit mode *) - -open Misc -open Cmm -open Reg -open Arch -open Mach - -(* Instruction selection *) - -let word_addressed = false - -(* Registers available for register allocation *) - -(* Integer register map: - x0 - x15 general purpose (caller-save) - x16, x17 temporaries (used by call veeners) - x18 platform register (reserved) - x19 - x25 general purpose (callee-save) - x26 trap pointer - x27 alloc pointer - x28 alloc limit - x29 frame pointer - x30 return address - sp / xzr stack pointer / zero register - Floating-point register map: - d0 - d7 general purpose (caller-save) - d8 - d15 general purpose (callee-save) - d16 - d31 generat purpose (caller-save) -*) - -let int_reg_name = - [| "x0"; "x1"; "x2"; "x3"; "x4"; "x5"; "x6"; "x7"; - "x8"; "x9"; "x10"; "x11"; "x12"; "x13"; "x14"; "x15"; - "x19"; "x20"; "x21"; "x22"; "x23"; "x24"; "x25"; - "x26"; "x27"; "x28"; "x16"; "x17" |] - -let float_reg_name = - [| "d0"; "d1"; "d2"; "d3"; "d4"; "d5"; "d6"; "d7"; - "d8"; "d9"; "d10"; "d11"; "d12"; "d13"; "d14"; "d15"; - "d16"; "d17"; "d18"; "d19"; "d20"; "d21"; "d22"; "d23"; - "d24"; "d25"; "d26"; "d27"; "d28"; "d29"; "d30"; "d31" |] - -let num_register_classes = 2 - -let register_class r = - match r.typ with - | (Int | Addr) -> 0 - | Float -> 1 - -let num_available_registers = - [| 23; 32 |] (* first 23 int regs allocatable; all float regs allocatable *) - -let first_available_register = - [| 0; 100 |] - -let register_name r = - if r < 100 then int_reg_name.(r) else float_reg_name.(r - 100) - -let rotate_registers = true - -(* Representation of hard registers by pseudo-registers *) - -let hard_int_reg = - let v = Array.make 28 Reg.dummy in - for i = 0 to 27 do - v.(i) <- Reg.at_location Int (Reg i) - done; - v - -let hard_float_reg = - let v = Array.make 32 Reg.dummy in - for i = 0 to 31 do - v.(i) <- Reg.at_location Float (Reg(100 + i)) - done; - v - -let all_phys_regs = - Array.append hard_int_reg hard_float_reg - -let phys_reg n = - if n < 100 then hard_int_reg.(n) else hard_float_reg.(n - 100) - -let reg_x15 = phys_reg 15 -let reg_d7 = phys_reg 107 - -let stack_slot slot ty = - Reg.at_location ty (Stack slot) - -(* Calling conventions *) - -let calling_conventions - first_int last_int first_float last_float make_stack arg = - let loc = Array.make (Array.length arg) Reg.dummy in - let int = ref first_int in - let float = ref first_float in - let ofs = ref 0 in - for i = 0 to Array.length arg - 1 do - match arg.(i).typ with - Int | Addr as ty -> - if !int <= last_int then begin - loc.(i) <- phys_reg !int; - incr int - end else begin - loc.(i) <- stack_slot (make_stack !ofs) ty; - ofs := !ofs + size_int - end - | Float -> - if !float <= last_float then begin - loc.(i) <- phys_reg !float; - incr float - end else begin - loc.(i) <- stack_slot (make_stack !ofs) Float; - ofs := !ofs + size_float - end - done; - (loc, Misc.align !ofs 16) (* keep stack 16-aligned *) - -let incoming ofs = Incoming ofs -let outgoing ofs = Outgoing ofs -let not_supported ofs = fatal_error "Proc.loc_results: cannot call" - -(* OCaml calling convention: - first integer args in r0...r15 - first float args in d0...d15 - remaining args on stack. - Return values in r0...r15 or d0...d15. *) - -let loc_arguments arg = - calling_conventions 0 15 100 115 outgoing arg -let loc_parameters arg = - let (loc, _) = calling_conventions 0 15 100 115 incoming arg in loc -let loc_results res = - let (loc, _) = calling_conventions 0 15 100 115 not_supported res in loc - -(* C calling convention: - first integer args in r0...r7 - first float args in d0...d7 - remaining args on stack. - Return values in r0...r1 or d0. *) - -let loc_external_arguments arg = - calling_conventions 0 7 100 107 outgoing arg -let loc_external_results res = - let (loc, _) = calling_conventions 0 1 100 100 not_supported res in loc - -let loc_exn_bucket = phys_reg 0 - -(* Volatile registers: none *) - -let regs_are_volatile rs = false - -(* Registers destroyed by operations *) - -let destroyed_at_c_call = - (* x19-x28, d8-d15 preserved *) - Array.of_list (List.map phys_reg - [0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15; - 100;101;102;103;104;105;106;107; - 116;117;118;119;120;121;122;123; - 124;125;126;127;128;129;130;131]) - -let destroyed_at_oper = function - | Iop(Icall_ind | Icall_imm _) | Iop(Iextcall(_, true)) -> - all_phys_regs - | Iop(Iextcall(_, false)) -> - destroyed_at_c_call - | Iop(Ialloc _) -> - [| reg_x15 |] - | Iop(Iintoffloat | Ifloatofint | Iload(Single, _) | Istore(Single, _, _)) -> - [| reg_d7 |] (* d7 / s7 destroyed *) - | _ -> [||] - -let destroyed_at_raise = all_phys_regs - -(* Maximal register pressure *) - -let safe_register_pressure = function - | Iextcall(_, _) -> 8 - | Ialloc _ -> 25 - | _ -> 26 - -let max_register_pressure = function - | Iextcall(_, _) -> [| 10; 8 |] - | Ialloc _ -> [| 25; 32 |] - | Iintoffloat | Ifloatofint - | Iload(Single, _) | Istore(Single, _, _) -> [| 26; 31 |] - | _ -> [| 26; 32 |] - -(* Pure operations (without any side effect besides updating their result - registers). *) - -let op_is_pure = function - | Icall_ind | Icall_imm _ | Itailcall_ind | Itailcall_imm _ - | Iextcall _ | Istackoffset _ | Istore _ | Ialloc _ - | Iintop(Icheckbound) | Iintop_imm(Icheckbound, _) - | Ispecific(Ishiftcheckbound _) -> false - | _ -> true - -(* Layout of the stack *) - -let num_stack_slots = [| 0; 0 |] -let contains_calls = ref false - -(* Calling the assembler *) - -let assemble_file infile outfile = - Ccomp.command (Config.asm ^ " -o " ^ - Filename.quote outfile ^ " " ^ Filename.quote infile) - - -let init () = () diff --git a/vendor/ocaml/asmcomp/arm64/reload.ml b/vendor/ocaml/asmcomp/arm64/reload.ml deleted file mode 100644 index ff9214ef2..000000000 --- a/vendor/ocaml/asmcomp/arm64/reload.ml +++ /dev/null @@ -1,16 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2013 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Reloading for the ARM 64 bits *) - -let fundecl f = - (new Reloadgen.reload_generic)#fundecl f diff --git a/vendor/ocaml/asmcomp/arm64/scheduling.ml b/vendor/ocaml/asmcomp/arm64/scheduling.ml deleted file mode 100644 index cc244be71..000000000 --- a/vendor/ocaml/asmcomp/arm64/scheduling.ml +++ /dev/null @@ -1,18 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2013 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -let _ = let module M = Schedgen in () (* to create a dependency *) - -(* Scheduling is turned off because the processor schedules dynamically - much better than what we could do. *) - -let fundecl f = f diff --git a/vendor/ocaml/asmcomp/arm64/selection.ml b/vendor/ocaml/asmcomp/arm64/selection.ml deleted file mode 100644 index e7ded8fb4..000000000 --- a/vendor/ocaml/asmcomp/arm64/selection.ml +++ /dev/null @@ -1,243 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* Benedikt Meurer, University of Siegen *) -(* *) -(* Copyright 2013 Institut National de Recherche en Informatique *) -(* et en Automatique. Copyright 2012 Benedikt Meurer. All rights *) -(* reserved. This file is distributed under the terms of the Q *) -(* Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction selection for the ARM processor *) - -open Arch -open Cmm -open Mach - -let is_offset chunk n = - (n >= -256 && n <= 255) (* 9 bits signed unscaled *) -|| (n >= 0 && - match chunk with (* 12 bits unsigned, scaled by chunk size *) - | Byte_unsigned | Byte_signed -> - n < 0x1000 - | Sixteen_unsigned | Sixteen_signed -> - n land 1 = 0 && n lsr 1 < 0x1000 - | Thirtytwo_unsigned | Thirtytwo_signed | Single -> - n land 3 = 0 && n lsr 2 < 0x1000 - | Word | Double | Double_u -> - n land 7 = 0 && n lsr 3 < 0x1000) - -(* An automaton to recognize ( 0+1+0* | 1+0+1* ) - - 0 1 0 - / \ / \ / \ - \ / \ / \ / - -0--> [1] --1--> [2] --0--> [3] - / - [0] - \ - -1--> [4] --0--> [5] --1--> [6] - / \ / \ / \ - \ / \ / \ / - 1 0 1 - -The accepting states are 2, 3, 5 and 6. *) - -let auto_table = [| (* accepting?, next on 0, next on 1 *) - (* state 0 *) (false, 1, 4); - (* state 1 *) (false, 1, 2); - (* state 2 *) (true, 3, 2); - (* state 3 *) (true, 3, 7); - (* state 4 *) (false, 5, 4); - (* state 5 *) (true, 5, 6); - (* state 6 *) (true, 7, 6); - (* state 7 *) (false, 7, 7) (* error state *) -|] - -let rec run_automata nbits state input = - let (acc, next0, next1) = auto_table.(state) in - if nbits <= 0 - then acc - else run_automata (nbits - 1) - (if input land 1 = 0 then next0 else next1) - (input asr 1) - -(* We are very conservative wrt what ARM64 supports: we don't support - repetitions of a 000111000 or 1110000111 pattern, just a single - pattern of this kind. *) - -let is_logical_immediate n = - n <> 0 && n <> -1 && run_automata 64 0 n - -let is_intconst = function - Cconst_int _ -> true - | _ -> false - -let inline_ops = - [ "sqrt"; "caml_bswap16_direct"; "caml_int32_direct_bswap"; - "caml_int64_direct_bswap"; "caml_nativeint_direct_bswap" ] - -let use_direct_addressing symb = - (not !Clflags.dlcode) || Compilenv.symbol_in_current_unit symb - -(* Instruction selection *) - -class selector = object(self) - -inherit Selectgen.selector_generic as super - -method is_immediate n = - let mn = -n in - n land 0xFFF = n || n land 0xFFF_000 = n - || mn land 0xFFF = mn || mn land 0xFFF_000 = mn - -method! is_simple_expr = function - (* inlined floating-point ops are simple if their arguments are *) - | Cop(Cextcall(fn, _, _, _), args) when List.mem fn inline_ops -> - List.for_all self#is_simple_expr args - | e -> super#is_simple_expr e - -method select_addressing chunk = function - | Cop(Cadda, [Cconst_symbol s; Cconst_int n]) - when use_direct_addressing s -> - (Ibased(s, n), Ctuple []) - | Cop(Cadda, [arg; Cconst_int n]) - when is_offset chunk n -> - (Iindexed n, arg) - | Cop(Cadda, [arg1; Cop(Caddi, [arg2; Cconst_int n])]) - when is_offset chunk n -> - (Iindexed n, Cop(Cadda, [arg1; arg2])) - | Cconst_symbol s - when use_direct_addressing s -> - (Ibased(s, 0), Ctuple []) - | arg -> - (Iindexed 0, arg) - -method! select_operation op args = - match op with - (* Integer addition *) - | Caddi | Cadda -> - begin match args with - (* Add immediate *) - | [arg; Cconst_int n] | [Cconst_int n; arg] when self#is_immediate n -> - ((if n >= 0 then Iintop_imm(Iadd, n) else Iintop_imm(Isub, -n)), - [arg]) - (* Shift-add *) - | [arg1; Cop(Clsl, [arg2; Cconst_int n])] when n > 0 && n < 64 -> - (Ispecific(Ishiftarith(Ishiftadd, n)), [arg1; arg2]) - | [arg1; Cop(Casr, [arg2; Cconst_int n])] when n > 0 && n < 64 -> - (Ispecific(Ishiftarith(Ishiftadd, -n)), [arg1; arg2]) - | [Cop(Clsl, [arg1; Cconst_int n]); arg2] when n > 0 && n < 64 -> - (Ispecific(Ishiftarith(Ishiftadd, n)), [arg2; arg1]) - | [Cop(Casr, [arg1; Cconst_int n]); arg2] when n > 0 && n < 64 -> - (Ispecific(Ishiftarith(Ishiftadd, -n)), [arg2; arg1]) - (* Multiply-add *) - | [arg1; Cop(Cmuli, args2)] | [Cop(Cmuli, args2); arg1] -> - begin match self#select_operation Cmuli args2 with - | (Iintop_imm(Ilsl, l), [arg3]) -> - (Ispecific(Ishiftarith(Ishiftadd, l)), [arg1; arg3]) - | (Iintop Imul, [arg3; arg4]) -> - (Ispecific Imuladd, [arg3; arg4; arg1]) - | _ -> - super#select_operation op args - end - | _ -> - super#select_operation op args - end - (* Integer subtraction *) - | Csubi | Csuba -> - begin match args with - (* Sub immediate *) - | [arg; Cconst_int n] when self#is_immediate n -> - ((if n >= 0 then Iintop_imm(Isub, n) else Iintop_imm(Iadd, -n)), - [arg]) - (* Shift-sub *) - | [arg1; Cop(Clsl, [arg2; Cconst_int n])] when n > 0 && n < 64 -> - (Ispecific(Ishiftarith(Ishiftsub, n)), [arg1; arg2]) - | [arg1; Cop(Casr, [arg2; Cconst_int n])] when n > 0 && n < 64 -> - (Ispecific(Ishiftarith(Ishiftsub, -n)), [arg1; arg2]) - (* Multiply-sub *) - | [arg1; Cop(Cmuli, args2)] -> - begin match self#select_operation Cmuli args2 with - | (Iintop_imm(Ilsl, l), [arg3]) -> - (Ispecific(Ishiftarith(Ishiftsub, l)), [arg1; arg3]) - | (Iintop Imul, [arg3; arg4]) -> - (Ispecific Imulsub, [arg3; arg4; arg1]) - | _ -> - super#select_operation op args - end - | _ -> - super#select_operation op args - end - (* Checkbounds *) - | Ccheckbound _ -> - begin match args with - | [Cop(Clsr, [arg1; Cconst_int n]); arg2] when n > 0 && n < 64 -> - (Ispecific(Ishiftcheckbound n), [arg1; arg2]) - | _ -> - super#select_operation op args - end - (* Integer multiplication *) - (* ARM does not support immediate operands for multiplication *) - | Cmuli -> - (Iintop Imul, args) - | Cmulhi -> - (Iintop Imulh, args) - (* Bitwise logical operations have a different range of immediate - operands than the other instructions *) - | Cand -> self#select_logical Iand args - | Cor -> self#select_logical Ior args - | Cxor -> self#select_logical Ixor args - (* Recognize floating-point negate and multiply *) - | Cnegf -> - begin match args with - | [Cop(Cmulf, args)] -> (Ispecific Inegmulf, args) - | _ -> super#select_operation op args - end - (* Recognize floating-point multiply and add/sub *) - | Caddf -> - begin match args with - | [arg; Cop(Cmulf, args)] | [Cop(Cmulf, args); arg] -> - (Ispecific Imuladdf, arg :: args) - | _ -> - super#select_operation op args - end - | Csubf -> - begin match args with - | [arg; Cop(Cmulf, args)] -> - (Ispecific Imulsubf, arg :: args) - | [Cop(Cmulf, args); arg] -> - (Ispecific Inegmulsubf, arg :: args) - | _ -> - super#select_operation op args - end - (* Recognize floating-point square root *) - | Cextcall("sqrt", _, _, _) -> - (Ispecific Isqrtf, args) - (* Recognize bswap instructions *) - | Cextcall("caml_bswap16_direct", _, _, _) -> - (Ispecific(Ibswap 16), args) - | Cextcall("caml_int32_direct_bswap", _, _, _) -> - (Ispecific(Ibswap 32), args) - | Cextcall(("caml_int64_direct_bswap"|"caml_nativeint_direct_bswap"), - _, _, _) -> - (Ispecific (Ibswap 64), args) - (* Other operations are regular *) - | _ -> - super#select_operation op args - -method select_logical op = function - | [arg; Cconst_int n] when is_logical_immediate n -> - (Iintop_imm(op, n), [arg]) - | [Cconst_int n; arg] when is_logical_immediate n -> - (Iintop_imm(op, n), [arg]) - | args -> - (Iintop op, args) - -end - -let fundecl f = (new selector)#emit_fundecl f diff --git a/vendor/ocaml/asmcomp/asmgen.ml b/vendor/ocaml/asmcomp/asmgen.ml deleted file mode 100644 index 311bb029b..000000000 --- a/vendor/ocaml/asmcomp/asmgen.ml +++ /dev/null @@ -1,152 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* From lambda to assembly code *) - -open Format -open Config -open Clflags -open Misc -open Cmm - -type error = Assembler_error of string - -exception Error of error - -let liveness ppf phrase = - Liveness.fundecl ppf phrase; phrase - -let dump_if ppf flag message phrase = - if !flag then Printmach.phase message ppf phrase - -let pass_dump_if ppf flag message phrase = - dump_if ppf flag message phrase; phrase - -let pass_dump_linear_if ppf flag message phrase = - if !flag then fprintf ppf "*** %s@.%a@." message Printlinear.fundecl phrase; - phrase - -let clambda_dump_if ppf ulambda = - if !dump_clambda then Printclambda.clambda ppf ulambda; ulambda - -let rec regalloc ppf round fd = - if round > 50 then - fatal_error(fd.Mach.fun_name ^ - ": function too complex, cannot complete register allocation"); - dump_if ppf dump_live "Liveness analysis" fd; - Interf.build_graph fd; - if !dump_interf then Printmach.interferences ppf (); - if !dump_prefer then Printmach.preferences ppf (); - Coloring.allocate_registers(); - dump_if ppf dump_regalloc "After register allocation" fd; - let (newfd, redo_regalloc) = Reload.fundecl fd in - dump_if ppf dump_reload "After insertion of reloading code" newfd; - if redo_regalloc then begin - Reg.reinit(); Liveness.fundecl ppf newfd; regalloc ppf (round + 1) newfd - end else newfd - -let (++) x f = f x - -let compile_fundecl (ppf : formatter) fd_cmm = - Proc.init (); - Reg.reset(); - fd_cmm - ++ Selection.fundecl - ++ pass_dump_if ppf dump_selection "After instruction selection" - ++ Comballoc.fundecl - ++ pass_dump_if ppf dump_combine "After allocation combining" - ++ CSE.fundecl - ++ pass_dump_if ppf dump_cse "After CSE" - ++ liveness ppf - ++ Deadcode.fundecl - ++ pass_dump_if ppf dump_live "Liveness analysis" - ++ Spill.fundecl - ++ liveness ppf - ++ pass_dump_if ppf dump_spill "After spilling" - ++ Split.fundecl - ++ pass_dump_if ppf dump_split "After live range splitting" - ++ liveness ppf - ++ regalloc ppf 1 - ++ Linearize.fundecl - ++ pass_dump_linear_if ppf dump_linear "Linearized code" - ++ Scheduling.fundecl - ++ pass_dump_linear_if ppf dump_scheduling "After instruction scheduling" - ++ Emit.fundecl - -let compile_phrase ppf p = - if !dump_cmm then fprintf ppf "%a@." Printcmm.phrase p; - match p with - | Cfunction fd -> compile_fundecl ppf fd - | Cdata dl -> Emit.data dl - - -(* For the native toplevel: generates generic functions unless - they are already available in the process *) -let compile_genfuns ppf f = - List.iter - (function - | (Cfunction {fun_name = name}) as ph when f name -> - compile_phrase ppf ph - | _ -> ()) - (Cmmgen.generic_functions true [Compilenv.current_unit_infos ()]) - -let compile_implementation ?toplevel prefixname ppf (size, lam) = - let asmfile = - if !keep_asm_file - then prefixname ^ ext_asm - else Filename.temp_file "camlasm" ext_asm in - let oc = open_out asmfile in - begin try - Emitaux.output_channel := oc; - Emit.begin_assembly(); - Closure.intro size lam - ++ clambda_dump_if ppf - ++ Cmmgen.compunit size - ++ List.iter (compile_phrase ppf) ++ (fun () -> ()); - (match toplevel with None -> () | Some f -> compile_genfuns ppf f); - - (* We add explicit references to external primitive symbols. This - is to ensure that the object files that define these symbols, - when part of a C library, won't be discarded by the linker. - This is important if a module that uses such a symbol is later - dynlinked. *) - - compile_phrase ppf - (Cmmgen.reference_symbols - (List.filter (fun s -> s <> "" && s.[0] <> '%') - (List.map Primitive.native_name !Translmod.primitive_declarations)) - ); - - Emit.end_assembly(); - close_out oc - with x -> - close_out oc; - if !keep_asm_file then () else remove_file asmfile; - raise x - end; - if Proc.assemble_file asmfile (prefixname ^ ext_obj) <> 0 - then raise(Error(Assembler_error asmfile)); - if !keep_asm_file then () else remove_file asmfile - -(* Error report *) - -let report_error ppf = function - | Assembler_error file -> - fprintf ppf "Assembler error, input left in file %a" - Location.print_filename file - -let () = - Location.register_error_of_exn - (function - | Error err -> Some (Location.error_of_printer_file report_error err) - | _ -> None - ) diff --git a/vendor/ocaml/asmcomp/asmgen.mli b/vendor/ocaml/asmcomp/asmgen.mli deleted file mode 100644 index 33582af4a..000000000 --- a/vendor/ocaml/asmcomp/asmgen.mli +++ /dev/null @@ -1,23 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* From lambda to assembly code *) - -val compile_implementation : - ?toplevel:(string -> bool) -> - string -> Format.formatter -> int * Lambda.lambda -> unit -val compile_phrase : - Format.formatter -> Cmm.phrase -> unit - -type error = Assembler_error of string -exception Error of error -val report_error: Format.formatter -> error -> unit diff --git a/vendor/ocaml/asmcomp/asmlibrarian.ml b/vendor/ocaml/asmcomp/asmlibrarian.ml deleted file mode 100644 index 968e1de74..000000000 --- a/vendor/ocaml/asmcomp/asmlibrarian.ml +++ /dev/null @@ -1,78 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Build libraries of .cmx files *) - -open Misc -open Config -open Cmx_format - -type error = - File_not_found of string - | Archiver_error of string - -exception Error of error - -let read_info name = - let filename = - try - find_in_path !load_path name - with Not_found -> - raise(Error(File_not_found name)) in - let (info, crc) = Compilenv.read_unit_info filename in - info.ui_force_link <- !Clflags.link_everything; - (* There is no need to keep the approximation in the .cmxa file, - since the compiler will go looking directly for .cmx files. - The linker, which is the only one that reads .cmxa files, does not - need the approximation. *) - info.ui_approx <- Clambda.Value_unknown; - (Filename.chop_suffix filename ".cmx" ^ ext_obj, (info, crc)) - -let create_archive file_list lib_name = - let archive_name = chop_extension_if_any lib_name ^ ext_lib in - let outchan = open_out_bin lib_name in - try - output_string outchan cmxa_magic_number; - let (objfile_list, descr_list) = - List.split (List.map read_info file_list) in - List.iter2 - (fun file_name (unit, crc) -> - Asmlink.check_consistency file_name unit crc) - file_list descr_list; - let infos = - { lib_units = descr_list; - lib_ccobjs = !Clflags.ccobjs; - lib_ccopts = !Clflags.all_ccopts } in - output_value outchan infos; - if Ccomp.create_archive archive_name objfile_list <> 0 - then raise(Error(Archiver_error archive_name)); - close_out outchan - with x -> - close_out outchan; - remove_file lib_name; - remove_file archive_name; - raise x - -open Format - -let report_error ppf = function - | File_not_found name -> - fprintf ppf "Cannot find file %s" name - | Archiver_error name -> - fprintf ppf "Error while creating the library %s" name - -let () = - Location.register_error_of_exn - (function - | Error err -> Some (Location.error_of_printer_file report_error err) - | _ -> None - ) diff --git a/vendor/ocaml/asmcomp/asmlibrarian.mli b/vendor/ocaml/asmcomp/asmlibrarian.mli deleted file mode 100644 index c1a6a4788..000000000 --- a/vendor/ocaml/asmcomp/asmlibrarian.mli +++ /dev/null @@ -1,25 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Build libraries of .cmx files *) - -open Format - -val create_archive: string list -> string -> unit - -type error = - File_not_found of string - | Archiver_error of string - -exception Error of error - -val report_error: formatter -> error -> unit diff --git a/vendor/ocaml/asmcomp/asmlink.ml b/vendor/ocaml/asmcomp/asmlink.ml deleted file mode 100644 index cea7b568c..000000000 --- a/vendor/ocaml/asmcomp/asmlink.ml +++ /dev/null @@ -1,416 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Link a set of .cmx/.o files and produce an executable *) - -open Misc -open Config -open Cmx_format -open Compilenv - -type error = - File_not_found of string - | Not_an_object_file of string - | Missing_implementations of (string * string list) list - | Inconsistent_interface of string * string * string - | Inconsistent_implementation of string * string * string - | Assembler_error of string - | Linking_error - | Multiple_definition of string * string * string - | Missing_cmx of string * string - -exception Error of error - -(* Consistency check between interfaces and implementations *) - -let crc_interfaces = Consistbl.create () -let interfaces = ref ([] : string list) -let crc_implementations = Consistbl.create () -let implementations = ref ([] : string list) -let implementations_defined = ref ([] : (string * string) list) -let cmx_required = ref ([] : string list) - -let check_consistency file_name unit crc = - begin try - List.iter - (fun (name, crco) -> - interfaces := name :: !interfaces; - match crco with - None -> () - | Some crc -> - if name = unit.ui_name - then Consistbl.set crc_interfaces name crc file_name - else Consistbl.check crc_interfaces name crc file_name) - unit.ui_imports_cmi - with Consistbl.Inconsistency(name, user, auth) -> - raise(Error(Inconsistent_interface(name, user, auth))) - end; - begin try - List.iter - (fun (name, crco) -> - implementations := name :: !implementations; - match crco with - None -> - if List.mem name !cmx_required then - raise(Error(Missing_cmx(file_name, name))) - | Some crc -> - Consistbl.check crc_implementations name crc file_name) - unit.ui_imports_cmx - with Consistbl.Inconsistency(name, user, auth) -> - raise(Error(Inconsistent_implementation(name, user, auth))) - end; - begin try - let source = List.assoc unit.ui_name !implementations_defined in - raise (Error(Multiple_definition(unit.ui_name, file_name, source))) - with Not_found -> () - end; - implementations := unit.ui_name :: !implementations; - Consistbl.set crc_implementations unit.ui_name crc file_name; - implementations_defined := - (unit.ui_name, file_name) :: !implementations_defined; - if unit.ui_symbol <> unit.ui_name then - cmx_required := unit.ui_name :: !cmx_required - -let extract_crc_interfaces () = - Consistbl.extract !interfaces crc_interfaces -let extract_crc_implementations () = - Consistbl.extract !implementations crc_implementations - -(* Add C objects and options and "custom" info from a library descriptor. - See bytecomp/bytelink.ml for comments on the order of C objects. *) - -let lib_ccobjs = ref [] -let lib_ccopts = ref [] - -let add_ccobjs origin l = - if not !Clflags.no_auto_link then begin - lib_ccobjs := l.lib_ccobjs @ !lib_ccobjs; - let replace_origin = Misc.replace_substring ~before:"$CAMLORIGIN" ~after:origin in - lib_ccopts := List.map replace_origin l.lib_ccopts @ !lib_ccopts - end - -let runtime_lib () = - let libname = - if !Clflags.gprofile - then "libasmrunp" ^ ext_lib - else "libasmrun" ^ !Clflags.runtime_variant ^ ext_lib in - try - if !Clflags.nopervasives then [] - else [ find_in_path !load_path libname ] - with Not_found -> - raise(Error(File_not_found libname)) - -let object_file_name name = - let file_name = - try - find_in_path !load_path name - with Not_found -> - fatal_error "Asmlink.object_file_name: not found" in - if Filename.check_suffix file_name ".cmx" then - Filename.chop_suffix file_name ".cmx" ^ ext_obj - else if Filename.check_suffix file_name ".cmxa" then - Filename.chop_suffix file_name ".cmxa" ^ ext_lib - else - fatal_error "Asmlink.object_file_name: bad ext" - -(* First pass: determine which units are needed *) - -let missing_globals = (Hashtbl.create 17 : (string, string list ref) Hashtbl.t) - -let is_required name = - try ignore (Hashtbl.find missing_globals name); true - with Not_found -> false - -let add_required by (name, crc) = - try - let rq = Hashtbl.find missing_globals name in - rq := by :: !rq - with Not_found -> - Hashtbl.add missing_globals name (ref [by]) - -let remove_required name = - Hashtbl.remove missing_globals name - -let extract_missing_globals () = - let mg = ref [] in - Hashtbl.iter (fun md rq -> mg := (md, !rq) :: !mg) missing_globals; - !mg - -type file = - | Unit of string * unit_infos * Digest.t - | Library of string * library_infos - -let read_file obj_name = - let file_name = - try - find_in_path !load_path obj_name - with Not_found -> - raise(Error(File_not_found obj_name)) in - if Filename.check_suffix file_name ".cmx" then begin - (* This is a .cmx file. It must be linked in any case. - Read the infos to see which modules it requires. *) - let (info, crc) = read_unit_info file_name in - Unit (file_name,info,crc) - end - else if Filename.check_suffix file_name ".cmxa" then begin - let infos = - try read_library_info file_name - with Compilenv.Error(Not_a_unit_info _) -> - raise(Error(Not_an_object_file file_name)) - in - Library (file_name,infos) - end - else raise(Error(Not_an_object_file file_name)) - -let scan_file obj_name tolink = match read_file obj_name with - | Unit (file_name,info,crc) -> - (* This is a .cmx file. It must be linked in any case. *) - remove_required info.ui_name; - List.iter (add_required file_name) info.ui_imports_cmx; - (info, file_name, crc) :: tolink - | Library (file_name,infos) -> - (* This is an archive file. Each unit contained in it will be linked - in only if needed. *) - add_ccobjs (Filename.dirname file_name) infos; - List.fold_right - (fun (info, crc) reqd -> - if info.ui_force_link - || !Clflags.link_everything - || is_required info.ui_name - then begin - remove_required info.ui_name; - List.iter (add_required (Printf.sprintf "%s(%s)" - file_name info.ui_name)) - info.ui_imports_cmx; - (info, file_name, crc) :: reqd - end else - reqd) - infos.lib_units tolink - -(* Second pass: generate the startup file and link it with everything else *) - -let make_startup_file ppf filename units_list = - let compile_phrase p = Asmgen.compile_phrase ppf p in - let oc = open_out filename in - Emitaux.output_channel := oc; - Location.input_name := "caml_startup"; (* set name of "current" input *) - Compilenv.reset "_startup"; (* set the name of the "current" compunit *) - Emit.begin_assembly(); - let name_list = - List.flatten (List.map (fun (info,_,_) -> info.ui_defines) units_list) in - compile_phrase (Cmmgen.entry_point name_list); - let units = List.map (fun (info,_,_) -> info) units_list in - List.iter compile_phrase (Cmmgen.generic_functions false units); - Array.iteri - (fun i name -> compile_phrase (Cmmgen.predef_exception i name)) - Runtimedef.builtin_exceptions; - compile_phrase (Cmmgen.global_table name_list); - compile_phrase - (Cmmgen.globals_map - (List.map - (fun (unit,_,crc) -> - let intf_crc = - try - match List.assoc unit.ui_name unit.ui_imports_cmi with - None -> assert false - | Some crc -> crc - with Not_found -> assert false - in - (unit.ui_name, intf_crc, crc, unit.ui_defines)) - units_list)); - compile_phrase(Cmmgen.data_segment_table ("_startup" :: name_list)); - compile_phrase(Cmmgen.code_segment_table ("_startup" :: name_list)); - compile_phrase - (Cmmgen.frame_table("_startup" :: "_system" :: name_list)); - - Emit.end_assembly(); - close_out oc - -let make_shared_startup_file ppf units filename = - let compile_phrase p = Asmgen.compile_phrase ppf p in - let oc = open_out filename in - Emitaux.output_channel := oc; - Location.input_name := "caml_startup"; - Compilenv.reset "_shared_startup"; - Emit.begin_assembly(); - List.iter compile_phrase - (Cmmgen.generic_functions true (List.map fst units)); - compile_phrase (Cmmgen.plugin_header units); - compile_phrase - (Cmmgen.global_table - (List.map (fun (ui,_) -> ui.ui_symbol) units)); - (* this is to force a reference to all units, otherwise the linker - might drop some of them (in case of libraries) *) - - Emit.end_assembly(); - close_out oc - - -let call_linker_shared file_list output_name = - if not (Ccomp.call_linker Ccomp.Dll output_name file_list "") - then raise(Error Linking_error) - -let link_shared ppf objfiles output_name = - let units_tolink = List.fold_right scan_file objfiles [] in - List.iter - (fun (info, file_name, crc) -> check_consistency file_name info crc) - units_tolink; - Clflags.ccobjs := !Clflags.ccobjs @ !lib_ccobjs; - Clflags.all_ccopts := !lib_ccopts @ !Clflags.all_ccopts; - let objfiles = List.rev (List.map object_file_name objfiles) @ - (List.rev !Clflags.ccobjs) in - - let startup = - if !Clflags.keep_startup_file - then output_name ^ ".startup" ^ ext_asm - else Filename.temp_file "camlstartup" ext_asm in - make_shared_startup_file ppf - (List.map (fun (ui,_,crc) -> (ui,crc)) units_tolink) startup; - let startup_obj = output_name ^ ".startup" ^ ext_obj in - if Proc.assemble_file startup startup_obj <> 0 - then raise(Error(Assembler_error startup)); - if not !Clflags.keep_startup_file then remove_file startup; - call_linker_shared (startup_obj :: objfiles) output_name; - remove_file startup_obj - -let call_linker file_list startup_file output_name = - let main_dll = !Clflags.output_c_object - && Filename.check_suffix output_name Config.ext_dll - and main_obj_runtime = !Clflags.output_complete_object - in - let files = startup_file :: (List.rev file_list) in - let files, c_lib = - if (not !Clflags.output_c_object) || main_dll || main_obj_runtime then - files @ (List.rev !Clflags.ccobjs) @ runtime_lib (), - (if !Clflags.nopervasives || main_obj_runtime then "" else Config.native_c_libraries) - else - files, "" - in - let mode = - if main_dll then Ccomp.MainDll - else if !Clflags.output_c_object then Ccomp.Partial - else Ccomp.Exe - in - if not (Ccomp.call_linker mode output_name files c_lib) - then raise(Error Linking_error) - -(* Main entry point *) - -let link ppf objfiles output_name = - let stdlib = - if !Clflags.gprofile then "stdlib.p.cmxa" else "stdlib.cmxa" in - let stdexit = - if !Clflags.gprofile then "std_exit.p.cmx" else "std_exit.cmx" in - let objfiles = - if !Clflags.nopervasives then objfiles - else if !Clflags.output_c_object then stdlib :: objfiles - else stdlib :: (objfiles @ [stdexit]) in - let units_tolink = List.fold_right scan_file objfiles [] in - Array.iter remove_required Runtimedef.builtin_exceptions; - begin match extract_missing_globals() with - [] -> () - | mg -> raise(Error(Missing_implementations mg)) - end; - List.iter - (fun (info, file_name, crc) -> check_consistency file_name info crc) - units_tolink; - Clflags.ccobjs := !Clflags.ccobjs @ !lib_ccobjs; - Clflags.all_ccopts := !lib_ccopts @ !Clflags.all_ccopts; - (* put user's opts first *) - let startup = - if !Clflags.keep_startup_file then output_name ^ ".startup" ^ ext_asm - else Filename.temp_file "camlstartup" ext_asm in - make_startup_file ppf startup units_tolink; - let startup_obj = Filename.temp_file "camlstartup" ext_obj in - if Proc.assemble_file startup startup_obj <> 0 then - raise(Error(Assembler_error startup)); - try - call_linker (List.map object_file_name objfiles) startup_obj output_name; - if not !Clflags.keep_startup_file then remove_file startup; - remove_file startup_obj - with x -> - remove_file startup_obj; - raise x - -(* Error report *) - -open Format - -let report_error ppf = function - | File_not_found name -> - fprintf ppf "Cannot find file %s" name - | Not_an_object_file name -> - fprintf ppf "The file %a is not a compilation unit description" - Location.print_filename name - | Missing_implementations l -> - let print_references ppf = function - | [] -> () - | r1 :: rl -> - fprintf ppf "%s" r1; - List.iter (fun r -> fprintf ppf ",@ %s" r) rl in - let print_modules ppf = - List.iter - (fun (md, rq) -> - fprintf ppf "@ @[%s referenced from %a@]" md - print_references rq) in - fprintf ppf - "@[No implementations provided for the following modules:%a@]" - print_modules l - | Inconsistent_interface(intf, file1, file2) -> - fprintf ppf - "@[Files %a@ and %a@ make inconsistent assumptions \ - over interface %s@]" - Location.print_filename file1 - Location.print_filename file2 - intf - | Inconsistent_implementation(intf, file1, file2) -> - fprintf ppf - "@[Files %a@ and %a@ make inconsistent assumptions \ - over implementation %s@]" - Location.print_filename file1 - Location.print_filename file2 - intf - | Assembler_error file -> - fprintf ppf "Error while assembling %a" Location.print_filename file - | Linking_error -> - fprintf ppf "Error during linking" - | Multiple_definition(modname, file1, file2) -> - fprintf ppf - "@[Files %a@ and %a@ both define a module named %s@]" - Location.print_filename file1 - Location.print_filename file2 - modname - | Missing_cmx(filename, name) -> - fprintf ppf - "@[File %a@ was compiled without access@ \ - to the .cmx file@ for module %s,@ \ - which was produced by `ocamlopt -for-pack'.@ \ - Please recompile %a@ with the correct `-I' option@ \ - so that %s.cmx@ is found.@]" - Location.print_filename filename name - Location.print_filename filename - name - -let () = - Location.register_error_of_exn - (function - | Error err -> Some (Location.error_of_printer_file report_error err) - | _ -> None - ) - -let reset () = - Consistbl.clear crc_interfaces; - Consistbl.clear crc_implementations; - implementations_defined := []; - cmx_required := []; - interfaces := []; - implementations := [] diff --git a/vendor/ocaml/asmcomp/asmlink.mli b/vendor/ocaml/asmcomp/asmlink.mli deleted file mode 100644 index 60a2111e1..000000000 --- a/vendor/ocaml/asmcomp/asmlink.mli +++ /dev/null @@ -1,41 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Link a set of .cmx/.o files and produce an executable or a plugin *) - -open Format - -val link: formatter -> string list -> string -> unit - -val link_shared: formatter -> string list -> string -> unit - -val call_linker_shared: string list -> string -> unit - -val reset : unit -> unit -val check_consistency: string -> Cmx_format.unit_infos -> Digest.t -> unit -val extract_crc_interfaces: unit -> (string * Digest.t option) list -val extract_crc_implementations: unit -> (string * Digest.t option) list - -type error = - File_not_found of string - | Not_an_object_file of string - | Missing_implementations of (string * string list) list - | Inconsistent_interface of string * string * string - | Inconsistent_implementation of string * string * string - | Assembler_error of string - | Linking_error - | Multiple_definition of string * string * string - | Missing_cmx of string * string - -exception Error of error - -val report_error: formatter -> error -> unit diff --git a/vendor/ocaml/asmcomp/asmpackager.ml b/vendor/ocaml/asmcomp/asmpackager.ml deleted file mode 100644 index d900df1e1..000000000 --- a/vendor/ocaml/asmcomp/asmpackager.ml +++ /dev/null @@ -1,214 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 2002 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* "Package" a set of .cmx/.o files into one .cmx/.o file having the - original compilation units as sub-modules. *) - -open Misc -open Cmx_format - -type error = - Illegal_renaming of string * string * string - | Forward_reference of string * string - | Wrong_for_pack of string * string - | Linking_error - | Assembler_error of string - | File_not_found of string - - -exception Error of error - -(* Read the unit information from a .cmx file. *) - -type pack_member_kind = PM_intf | PM_impl of unit_infos - -type pack_member = - { pm_file: string; - pm_name: string; - pm_kind: pack_member_kind } - -let read_member_info pack_path file = ( - let name = - String.capitalize(Filename.basename(chop_extensions file)) in - let kind = - if Filename.check_suffix file ".cmx" then begin - let (info, crc) = Compilenv.read_unit_info file in - if info.ui_name <> name - then raise(Error(Illegal_renaming(name, file, info.ui_name))); - if info.ui_symbol <> - (Compilenv.current_unit_infos()).ui_symbol ^ "__" ^ info.ui_name - then raise(Error(Wrong_for_pack(file, pack_path))); - Asmlink.check_consistency file info crc; - Compilenv.cache_unit_info info; - PM_impl info - end else - PM_intf in - { pm_file = file; pm_name = name; pm_kind = kind } -) - -(* Check absence of forward references *) - -let check_units members = - let rec check forbidden = function - [] -> () - | mb :: tl -> - begin match mb.pm_kind with - | PM_intf -> () - | PM_impl infos -> - List.iter - (fun (unit, _) -> - if List.mem unit forbidden - then raise(Error(Forward_reference(mb.pm_file, unit)))) - infos.ui_imports_cmx - end; - check (list_remove mb.pm_name forbidden) tl in - check (List.map (fun mb -> mb.pm_name) members) members - -(* Make the .o file for the package *) - -let make_package_object ppf members targetobj targetname coercion = - let objtemp = - if !Clflags.keep_asm_file - then chop_extension_if_any targetobj ^ ".pack" ^ Config.ext_obj - else - (* Put the full name of the module in the temporary file name - to avoid collisions with MSVC's link /lib in case of successive - packs *) - Filename.temp_file (Compilenv.make_symbol (Some "")) Config.ext_obj in - let components = - List.map - (fun m -> - match m.pm_kind with - | PM_intf -> None - | PM_impl _ -> Some(Ident.create_persistent m.pm_name)) - members in - Asmgen.compile_implementation - (chop_extension_if_any objtemp) ppf - (Translmod.transl_store_package - components (Ident.create_persistent targetname) coercion); - let objfiles = - List.map - (fun m -> chop_extension_if_any m.pm_file ^ Config.ext_obj) - (List.filter (fun m -> m.pm_kind <> PM_intf) members) in - let ok = - Ccomp.call_linker Ccomp.Partial targetobj (objtemp :: objfiles) "" - in - remove_file objtemp; - if not ok then raise(Error Linking_error) - -(* Make the .cmx file for the package *) - -let build_package_cmx members cmxfile = - let unit_names = - List.map (fun m -> m.pm_name) members in - let filter lst = - List.filter (fun (name, crc) -> not (List.mem name unit_names)) lst in - let union lst = - List.fold_left - (List.fold_left - (fun accu n -> if List.mem n accu then accu else n :: accu)) - [] lst in - let units = - List.fold_right - (fun m accu -> - match m.pm_kind with PM_intf -> accu | PM_impl info -> info :: accu) - members [] in - let ui = Compilenv.current_unit_infos() in - let pkg_infos = - { ui_name = ui.ui_name; - ui_symbol = ui.ui_symbol; - ui_defines = - List.flatten (List.map (fun info -> info.ui_defines) units) @ - [ui.ui_symbol]; - ui_imports_cmi = - (ui.ui_name, Some (Env.crc_of_unit ui.ui_name)) :: - filter(Asmlink.extract_crc_interfaces()); - ui_imports_cmx = - filter(Asmlink.extract_crc_implementations()); - ui_approx = ui.ui_approx; - ui_curry_fun = - union(List.map (fun info -> info.ui_curry_fun) units); - ui_apply_fun = - union(List.map (fun info -> info.ui_apply_fun) units); - ui_send_fun = - union(List.map (fun info -> info.ui_send_fun) units); - ui_force_link = - List.exists (fun info -> info.ui_force_link) units; - } in - Compilenv.write_unit_info pkg_infos cmxfile - -(* Make the .cmx and the .o for the package *) - -let package_object_files ppf files targetcmx - targetobj targetname coercion = - let pack_path = - match !Clflags.for_package with - | None -> targetname - | Some p -> p ^ "." ^ targetname in - let members = map_left_right (read_member_info pack_path) files in - check_units members; - make_package_object ppf members targetobj targetname coercion; - build_package_cmx members targetcmx - -(* The entry point *) - -let package_files ppf initial_env files targetcmx = - let files = - List.map - (fun f -> - try find_in_path !Config.load_path f - with Not_found -> raise(Error(File_not_found f))) - files in - let prefix = chop_extensions targetcmx in - let targetcmi = prefix ^ ".cmi" in - let targetobj = chop_extension_if_any targetcmx ^ Config.ext_obj in - let targetname = String.capitalize(Filename.basename prefix) in - (* Set the name of the current "input" *) - Location.input_name := targetcmx; - (* Set the name of the current compunit *) - Compilenv.reset ?packname:!Clflags.for_package targetname; - try - let coercion = - Typemod.package_units initial_env files targetcmi targetname in - package_object_files ppf files targetcmx targetobj targetname coercion - with x -> - remove_file targetcmx; remove_file targetobj; - raise x - -(* Error report *) - -open Format - -let report_error ppf = function - Illegal_renaming(name, file, id) -> - fprintf ppf "Wrong file naming: %a@ contains the code for\ - @ %s when %s was expected" - Location.print_filename file name id - | Forward_reference(file, ident) -> - fprintf ppf "Forward reference to %s in file %a" ident - Location.print_filename file - | Wrong_for_pack(file, path) -> - fprintf ppf "File %a@ was not compiled with the `-for-pack %s' option" - Location.print_filename file path - | File_not_found file -> - fprintf ppf "File %s not found" file - | Assembler_error file -> - fprintf ppf "Error while assembling %s" file - | Linking_error -> - fprintf ppf "Error during partial linking" - -let () = - Location.register_error_of_exn - (function - | Error err -> Some (Location.error_of_printer_file report_error err) - | _ -> None - ) diff --git a/vendor/ocaml/asmcomp/asmpackager.mli b/vendor/ocaml/asmcomp/asmpackager.mli deleted file mode 100644 index 4d47f5c28..000000000 --- a/vendor/ocaml/asmcomp/asmpackager.mli +++ /dev/null @@ -1,28 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 2002 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* "Package" a set of .cmx/.o files into one .cmx/.o file having the - original compilation units as sub-modules. *) - -val package_files: Format.formatter -> Env.t -> string list -> string -> unit - -type error = - Illegal_renaming of string * string * string - | Forward_reference of string * string - | Wrong_for_pack of string * string - | Linking_error - | Assembler_error of string - | File_not_found of string - -exception Error of error - -val report_error: Format.formatter -> error -> unit diff --git a/vendor/ocaml/asmcomp/branch_relaxation.ml b/vendor/ocaml/asmcomp/branch_relaxation.ml deleted file mode 100644 index d4609e4a8..000000000 --- a/vendor/ocaml/asmcomp/branch_relaxation.ml +++ /dev/null @@ -1,138 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* Mark Shinwell, Jane Street Europe *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -open Mach -open Linearize - -module Make (T : Branch_relaxation_intf.S) = struct - let label_map code = - let map = Hashtbl.create 37 in - let rec fill_map pc instr = - match instr.desc with - | Lend -> (pc, map) - | Llabel lbl -> Hashtbl.add map lbl pc; fill_map pc instr.next - | op -> fill_map (pc + T.instr_size op) instr.next - in - fill_map 0 code - - let branch_overflows map pc_branch lbl_dest max_branch_offset = - let pc_dest = Hashtbl.find map lbl_dest in - let delta = pc_dest - (pc_branch + T.offset_pc_at_branch) in - delta <= -max_branch_offset || delta >= max_branch_offset - - let opt_branch_overflows map pc_branch opt_lbl_dest max_branch_offset = - match opt_lbl_dest with - | None -> false - | Some lbl_dest -> - branch_overflows map pc_branch lbl_dest max_branch_offset - - let instr_overflows ~code_size ~max_out_of_line_code_offset instr map pc = - match T.Cond_branch.classify_instr instr.desc with - | None -> false - | Some branch -> - let max_branch_offset = - (* Remember to cut some slack for multi-word instructions (in the - [Linearize] sense of the word) where the branch can be anywhere in - the middle. 12 words of slack is plenty. *) - T.Cond_branch.max_displacement branch - 12 - in - match instr.desc with - | Lop (Ialloc _) - | Lop (Iintop Icheckbound) - | Lop (Iintop_imm (Icheckbound, _)) - | Lop (Ispecific _) -> - (* We assume that any branches eligible for relaxation generated - by these instructions only branch forward. We further assume - that any of these may branch to an out-of-line code block. *) - code_size + max_out_of_line_code_offset - pc >= max_branch_offset - | Lcondbranch (_, lbl) -> - branch_overflows map pc lbl max_branch_offset - | Lcondbranch3 (lbl0, lbl1, lbl2) -> - opt_branch_overflows map pc lbl0 max_branch_offset - || opt_branch_overflows map pc lbl1 max_branch_offset - || opt_branch_overflows map pc lbl2 max_branch_offset - | _ -> - Misc.fatal_error "Unsupported instruction for branch relaxation" - - let fixup_branches ~code_size ~max_out_of_line_code_offset map code = - let expand_optbranch lbl n arg next = - match lbl with - | None -> next - | Some l -> - instr_cons (Lcondbranch (Iinttest_imm (Isigned Cmm.Ceq, n), l)) - arg [||] next - in - let rec fixup did_fix pc instr = - match instr.desc with - | Lend -> did_fix - | _ -> - let overflows = - instr_overflows ~code_size ~max_out_of_line_code_offset instr map pc - in - if not overflows then - fixup did_fix (pc + T.instr_size instr.desc) instr.next - else - match instr.desc with - | Lop (Ialloc num_words) -> - instr.desc <- T.relax_allocation ~num_words; - fixup true (pc + T.instr_size instr.desc) instr.next - | Lop (Iintop Icheckbound) -> - instr.desc <- T.relax_intop_checkbound (); - fixup true (pc + T.instr_size instr.desc) instr.next - | Lop (Iintop_imm (Icheckbound, bound)) -> - instr.desc <- T.relax_intop_imm_checkbound ~bound; - fixup true (pc + T.instr_size instr.desc) instr.next - | Lop (Ispecific specific) -> - instr.desc <- T.relax_specific_op specific; - fixup true (pc + T.instr_size instr.desc) instr.next - | Lcondbranch (test, lbl) -> - let lbl2 = new_label() in - let cont = - instr_cons (Lbranch lbl) [||] [||] - (instr_cons (Llabel lbl2) [||] [||] instr.next) - in - instr.desc <- Lcondbranch (invert_test test, lbl2); - instr.next <- cont; - fixup true (pc + T.instr_size instr.desc) instr.next - | Lcondbranch3 (lbl0, lbl1, lbl2) -> - let cont = - expand_optbranch lbl0 0 instr.arg - (expand_optbranch lbl1 1 instr.arg - (expand_optbranch lbl2 2 instr.arg instr.next)) - in - instr.desc <- cont.desc; - instr.next <- cont.next; - fixup true pc instr - | _ -> - (* Any other instruction has already been rejected in - [instr_overflows] above. - We can *never* get here. *) - assert false - in - fixup false 0 code - - (* Iterate branch expansion till all conditional branches are OK *) - - let rec relax code ~max_out_of_line_code_offset = - let min_of_max_branch_offsets = - List.fold_left (fun min_of_max_branch_offsets branch -> - min min_of_max_branch_offsets - (T.Cond_branch.max_displacement branch)) - max_int T.Cond_branch.all - in - let (code_size, map) = label_map code in - if code_size >= min_of_max_branch_offsets - && fixup_branches ~code_size ~max_out_of_line_code_offset map code - then relax code ~max_out_of_line_code_offset - else () -end diff --git a/vendor/ocaml/asmcomp/branch_relaxation.mli b/vendor/ocaml/asmcomp/branch_relaxation.mli deleted file mode 100644 index e2a93f83d..000000000 --- a/vendor/ocaml/asmcomp/branch_relaxation.mli +++ /dev/null @@ -1,26 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* Mark Shinwell, Jane Street Europe *) -(* *) -(* Copyright 2015 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Fix up conditional branches that exceed hardware-allowed ranges. *) - -module Make (T : Branch_relaxation_intf.S) : sig - val relax - : Linearize.instruction - (* [max_offset_of_out_of_line_code] specifies the furthest distance, - measured from the first address immediately after the last instruction - of the function, that may be branched to from within the function in - order to execute "out of line" code blocks such as call GC and - bounds check points. *) - -> max_out_of_line_code_offset:T.distance - -> unit -end diff --git a/vendor/ocaml/asmcomp/branch_relaxation_intf.ml b/vendor/ocaml/asmcomp/branch_relaxation_intf.ml deleted file mode 100644 index 0812c7c1b..000000000 --- a/vendor/ocaml/asmcomp/branch_relaxation_intf.ml +++ /dev/null @@ -1,64 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* Mark Shinwell, Jane Street Europe *) -(* *) -(* Copyright 2015 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -module type S = sig - (* The distance between two instructions, in arbitrary units (typically - the natural word size of instructions). *) - type distance = int - - module Cond_branch : sig - (* The various types of conditional branches for a given target that - may require relaxation. *) - type t - - (* All values of type [t] that the emitter may produce. *) - val all : t list - - (* If [max_displacement branch] is [n] then [branch] is assumed to - reach any address in the range [pc - n, pc + n] (inclusive), after - the [pc] of the branch has been adjusted by [offset_pc_at_branch] - (see below). *) - val max_displacement : t -> distance - - (* Which variety of conditional branch may be produced by the emitter for a - given instruction description. For the moment we assume that only one - such variety per instruction description is needed. - - N.B. The only instructions supported are the following: - - Lop (Ialloc _) - - Lop (Iintop Icheckbound) - - Lop (Iintop_imm (Icheckbound, _)) - - Lop (Ispecific _) - - Lcondbranch (_, _) - - Lcondbranch3 (_, _, _) - [classify_instr] is expected to return [None] when called on any - instruction not in this list. *) - val classify_instr : Linearize.instruction_desc -> t option - end - - (* The value to be added to the program counter (in [distance] units) - when it is at a branch instruction, prior to calculating the distance - to a branch target. *) - val offset_pc_at_branch : distance - - (* The maximum size of a given instruction. *) - val instr_size : Linearize.instruction_desc -> distance - - (* Insertion of target-specific code to relax operations that cannot be - relaxed generically. It is assumed that these rewrites do not change - the size of out-of-line code (cf. branch_relaxation.mli). *) - val relax_allocation : num_words:int -> Linearize.instruction_desc - val relax_intop_checkbound : unit -> Linearize.instruction_desc - val relax_intop_imm_checkbound : bound:int -> Linearize.instruction_desc - val relax_specific_op : Arch.specific_operation -> Linearize.instruction_desc -end diff --git a/vendor/ocaml/asmcomp/clambda.ml b/vendor/ocaml/asmcomp/clambda.ml deleted file mode 100644 index ed96f218b..000000000 --- a/vendor/ocaml/asmcomp/clambda.ml +++ /dev/null @@ -1,150 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* A variant of the "lambda" code with direct / indirect calls explicit - and closures explicit too *) - -open Asttypes -open Lambda - -type function_label = string - -type ustructured_constant = - | Uconst_float of float - | Uconst_int32 of int32 - | Uconst_int64 of int64 - | Uconst_nativeint of nativeint - | Uconst_block of int * uconstant list - | Uconst_float_array of float list - | Uconst_string of string - -and uconstant = - | Uconst_ref of string * ustructured_constant - | Uconst_int of int - | Uconst_ptr of int - -type ulambda = - Uvar of Ident.t - | Uconst of uconstant - | Udirect_apply of function_label * ulambda list * Debuginfo.t - | Ugeneric_apply of ulambda * ulambda list * Debuginfo.t - | Uclosure of ufunction list * ulambda list - | Uoffset of ulambda * int - | Ulet of Ident.t * ulambda * ulambda - | Uletrec of (Ident.t * ulambda) list * ulambda - | Uprim of primitive * ulambda list * Debuginfo.t - | Uswitch of ulambda * ulambda_switch - | Ustringswitch of ulambda * (string * ulambda) list * ulambda option - | Ustaticfail of int * ulambda list - | Ucatch of int * Ident.t list * ulambda * ulambda - | Utrywith of ulambda * Ident.t * ulambda - | Uifthenelse of ulambda * ulambda * ulambda - | Usequence of ulambda * ulambda - | Uwhile of ulambda * ulambda - | Ufor of Ident.t * ulambda * ulambda * direction_flag * ulambda - | Uassign of Ident.t * ulambda - | Usend of meth_kind * ulambda * ulambda * ulambda list * Debuginfo.t - -and ufunction = { - label : function_label; - arity : int; - params : Ident.t list; - body : ulambda; - dbg : Debuginfo.t -} - -and ulambda_switch = - { us_index_consts: int array; - us_actions_consts : ulambda array; - us_index_blocks: int array; - us_actions_blocks: ulambda array} - -(* Description of known functions *) - -type function_description = - { fun_label: function_label; (* Label of direct entry point *) - fun_arity: int; (* Number of arguments *) - mutable fun_closed: bool; (* True if environment not used *) - mutable fun_inline: (Ident.t list * ulambda) option; - mutable fun_float_const_prop: bool (* Can propagate FP consts *) - } - -(* Approximation of values *) - -type value_approximation = - Value_closure of function_description * value_approximation - | Value_tuple of value_approximation array - | Value_unknown - | Value_const of uconstant - | Value_global_field of string * int - -(* Comparison functions for constants. We must not use Pervasives.compare - because it compares "0.0" and "-0.0" equal. (PR#6442) *) - -let compare_floats x1 x2 = - Int64.compare (Int64.bits_of_float x1) (Int64.bits_of_float x2) - -let rec compare_float_lists l1 l2 = - match l1, l2 with - | [], [] -> 0 - | [], _::_ -> -1 - | _::_, [] -> 1 - | h1::t1, h2::t2 -> - let c = compare_floats h1 h2 in - if c <> 0 then c else compare_float_lists t1 t2 - -let compare_constants c1 c2 = - match c1, c2 with - | Uconst_ref(lbl1, c1), Uconst_ref(lbl2, c2) -> String.compare lbl1 lbl2 - (* Same labels -> same constants. - Different labels -> different constants, even if the contents - match, because of string constants that must not be - reshared. *) - | Uconst_int n1, Uconst_int n2 -> Pervasives.compare n1 n2 - | Uconst_ptr n1, Uconst_ptr n2 -> Pervasives.compare n1 n2 - | Uconst_ref _, _ -> -1 - | Uconst_int _, Uconst_ref _ -> 1 - | Uconst_int _, Uconst_ptr _ -> -1 - | Uconst_ptr _, _ -> 1 - -let rec compare_constant_lists l1 l2 = - match l1, l2 with - | [], [] -> 0 - | [], _::_ -> -1 - | _::_, [] -> 1 - | h1::t1, h2::t2 -> - let c = compare_constants h1 h2 in - if c <> 0 then c else compare_constant_lists t1 t2 - -let rank_structured_constant = function - | Uconst_float _ -> 0 - | Uconst_int32 _ -> 1 - | Uconst_int64 _ -> 2 - | Uconst_nativeint _ -> 3 - | Uconst_block _ -> 4 - | Uconst_float_array _ -> 5 - | Uconst_string _ -> 6 - -let compare_structured_constants c1 c2 = - match c1, c2 with - | Uconst_float x1, Uconst_float x2 -> compare_floats x1 x2 - | Uconst_int32 x1, Uconst_int32 x2 -> Int32.compare x1 x2 - | Uconst_int64 x1, Uconst_int64 x2 -> Int64.compare x1 x2 - | Uconst_nativeint x1, Uconst_nativeint x2 -> Nativeint.compare x1 x2 - | Uconst_block(t1, l1), Uconst_block(t2, l2) -> - let c = t1 - t2 (* no overflow possible here *) in - if c <> 0 then c else compare_constant_lists l1 l2 - | Uconst_float_array l1, Uconst_float_array l2 -> - compare_float_lists l1 l2 - | Uconst_string s1, Uconst_string s2 -> String.compare s1 s2 - | _, _ -> rank_structured_constant c1 - rank_structured_constant c2 - (* no overflow possible here *) diff --git a/vendor/ocaml/asmcomp/clambda.mli b/vendor/ocaml/asmcomp/clambda.mli deleted file mode 100644 index fc7a14d1e..000000000 --- a/vendor/ocaml/asmcomp/clambda.mli +++ /dev/null @@ -1,95 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* A variant of the "lambda" code with direct / indirect calls explicit - and closures explicit too *) - -open Asttypes -open Lambda - -type function_label = string - -type ustructured_constant = - | Uconst_float of float - | Uconst_int32 of int32 - | Uconst_int64 of int64 - | Uconst_nativeint of nativeint - | Uconst_block of int * uconstant list - | Uconst_float_array of float list - | Uconst_string of string - -and uconstant = - | Uconst_ref of string * ustructured_constant - | Uconst_int of int - | Uconst_ptr of int - -type ulambda = - Uvar of Ident.t - | Uconst of uconstant - | Udirect_apply of function_label * ulambda list * Debuginfo.t - | Ugeneric_apply of ulambda * ulambda list * Debuginfo.t - | Uclosure of ufunction list * ulambda list - | Uoffset of ulambda * int - | Ulet of Ident.t * ulambda * ulambda - | Uletrec of (Ident.t * ulambda) list * ulambda - | Uprim of primitive * ulambda list * Debuginfo.t - | Uswitch of ulambda * ulambda_switch - | Ustringswitch of ulambda * (string * ulambda) list * ulambda option - | Ustaticfail of int * ulambda list - | Ucatch of int * Ident.t list * ulambda * ulambda - | Utrywith of ulambda * Ident.t * ulambda - | Uifthenelse of ulambda * ulambda * ulambda - | Usequence of ulambda * ulambda - | Uwhile of ulambda * ulambda - | Ufor of Ident.t * ulambda * ulambda * direction_flag * ulambda - | Uassign of Ident.t * ulambda - | Usend of meth_kind * ulambda * ulambda * ulambda list * Debuginfo.t - -and ufunction = { - label : function_label; - arity : int; - params : Ident.t list; - body : ulambda; - dbg : Debuginfo.t; -} - -and ulambda_switch = - { us_index_consts: int array; - us_actions_consts: ulambda array; - us_index_blocks: int array; - us_actions_blocks: ulambda array} - -(* Description of known functions *) - -type function_description = - { fun_label: function_label; (* Label of direct entry point *) - fun_arity: int; (* Number of arguments *) - mutable fun_closed: bool; (* True if environment not used *) - mutable fun_inline: (Ident.t list * ulambda) option; - mutable fun_float_const_prop: bool (* Can propagate FP consts *) - } - -(* Approximation of values *) - -type value_approximation = - Value_closure of function_description * value_approximation - | Value_tuple of value_approximation array - | Value_unknown - | Value_const of uconstant - | Value_global_field of string * int - -(* Comparison functions for constants *) - -val compare_structured_constants: - ustructured_constant -> ustructured_constant -> int -val compare_constants: - uconstant -> uconstant -> int diff --git a/vendor/ocaml/asmcomp/closure.ml b/vendor/ocaml/asmcomp/closure.ml deleted file mode 100644 index 40eefd26f..000000000 --- a/vendor/ocaml/asmcomp/closure.ml +++ /dev/null @@ -1,1300 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Introduction of closures, uncurrying, recognition of direct calls *) - -open Misc -open Asttypes -open Primitive -open Lambda -open Switch -open Clambda - -module Storer = - Switch.Store - (struct - type t = lambda - type key = lambda - let make_key = Lambda.make_key - end) - -(* Auxiliaries for compiling functions *) - -let rec split_list n l = - if n <= 0 then ([], l) else begin - match l with - [] -> fatal_error "Closure.split_list" - | a::l -> let (l1, l2) = split_list (n-1) l in (a::l1, l2) - end - -let rec build_closure_env env_param pos = function - [] -> Tbl.empty - | id :: rem -> - Tbl.add id (Uprim(Pfield (pos, Fld_na), [Uvar env_param], Debuginfo.none)) - (build_closure_env env_param (pos+1) rem) - -(* Auxiliary for accessing globals. We change the name of the global - to the name of the corresponding asm symbol. This is done here - and no longer in Cmmgen so that approximations stored in .cmx files - contain the right names if the -for-pack option is active. *) - -let getglobal id = - Uprim(Pgetglobal (Ident.create_persistent (Compilenv.symbol_for_global id)), - [], Debuginfo.none) - -(* Check if a variable occurs in a [clambda] term. *) - -let occurs_var var u = - let rec occurs = function - Uvar v -> v = var - | Uconst _ -> false - | Udirect_apply(lbl, args, _) -> List.exists occurs args - | Ugeneric_apply(funct, args, _) -> occurs funct || List.exists occurs args - | Uclosure(fundecls, clos) -> List.exists occurs clos - | Uoffset(u, ofs) -> occurs u - | Ulet(id, def, body) -> occurs def || occurs body - | Uletrec(decls, body) -> - List.exists (fun (id, u) -> occurs u) decls || occurs body - | Uprim(p, args, _) -> List.exists occurs args - | Uswitch(arg, s) -> - occurs arg || - occurs_array s.us_actions_consts || occurs_array s.us_actions_blocks - | Ustringswitch(arg,sw,d) -> - occurs arg || - List.exists (fun (_,e) -> occurs e) sw || - (match d with None -> false | Some d -> occurs d) - | Ustaticfail (_, args) -> List.exists occurs args - | Ucatch(_, _, body, hdlr) -> occurs body || occurs hdlr - | Utrywith(body, exn, hdlr) -> occurs body || occurs hdlr - | Uifthenelse(cond, ifso, ifnot) -> - occurs cond || occurs ifso || occurs ifnot - | Usequence(u1, u2) -> occurs u1 || occurs u2 - | Uwhile(cond, body) -> occurs cond || occurs body - | Ufor(id, lo, hi, dir, body) -> occurs lo || occurs hi || occurs body - | Uassign(id, u) -> id = var || occurs u - | Usend(_, met, obj, args, _) -> - occurs met || occurs obj || List.exists occurs args - and occurs_array a = - try - for i = 0 to Array.length a - 1 do - if occurs a.(i) then raise Exit - done; - false - with Exit -> - true - in occurs u - -(* Split a function with default parameters into a wrapper and an - inner function. The wrapper fills in missing optional parameters - with their default value and tail-calls the inner function. The - wrapper can then hopefully be inlined on most call sites to avoid - the overhead associated with boxing an optional argument with a - 'Some' constructor, only to deconstruct it immediately in the - function's body. *) - -let split_default_wrapper fun_id kind params body = - let rec aux map = function - | Llet(Strict, id, (Lifthenelse(Lvar optparam, _, _) as def), rest) when - Ident.name optparam = "*opt*" && List.mem optparam params - && not (List.mem_assoc optparam map) - -> - let wrapper_body, inner = aux ((optparam, id) :: map) rest in - Llet(Strict, id, def, wrapper_body), inner - | _ when map = [] -> raise Exit - | body -> - (* Check that those *opt* identifiers don't appear in the remaining - body. This should not appear, but let's be on the safe side. *) - let fv = Lambda.free_variables body in - List.iter (fun (id, _) -> if IdentSet.mem id fv then raise Exit) map; - - let inner_id = Ident.create (Ident.name fun_id ^ "_inner") in - let map_param p = try List.assoc p map with Not_found -> p in - let args = List.map (fun p -> Lvar (map_param p)) params in - let wrapper_body = Lapply (Lvar inner_id, args, Location.none) in - - let inner_params = List.map map_param params in - let new_ids = List.map Ident.rename inner_params in - let subst = List.fold_left2 - (fun s id new_id -> - Ident.add id (Lvar new_id) s) - Ident.empty inner_params new_ids - in - let body = Lambda.subst_lambda subst body in - let inner_fun = Lfunction(Curried, new_ids, body) in - (wrapper_body, (inner_id, inner_fun)) - in - try - let wrapper_body, inner = aux [] body in - [(fun_id, Lfunction(kind, params, wrapper_body)); inner] - with Exit -> - [(fun_id, Lfunction(kind, params, body))] - - -(* Determine whether the estimated size of a clambda term is below - some threshold *) - -let prim_size prim args = - match prim with - | (Pidentity | Pbytes_to_string | Pbytes_of_string ) -> 0 - | Pgetglobal id -> 1 - | Psetglobal id -> 1 - | Pmakeblock(tag, _, mut) -> 5 + List.length args - | Pfield _ -> 1 - | Psetfield(f, isptr,_) -> if isptr then 4 else 1 - | Pfloatfield _ -> 1 - | Psetfloatfield _ -> 1 - | Pduprecord _ -> 10 + List.length args - | Pccall p -> (if p.prim_alloc then 10 else 4) + List.length args - | Praise _ -> 4 - | Pstringlength | Pbyteslength -> 5 - | Pstringrefs | Pstringsets | Pbytesrefs | Pbytessets -> 6 - | Pmakearray kind -> 5 + List.length args - | Parraylength kind -> if kind = Pgenarray then 6 else 2 - | Parrayrefu kind -> if kind = Pgenarray then 12 else 2 - | Parraysetu kind -> if kind = Pgenarray then 16 else 4 - | Parrayrefs kind -> if kind = Pgenarray then 18 else 8 - | Parraysets kind -> if kind = Pgenarray then 22 else 10 - | Pbittest -> 3 - | Pbigarrayref(_, ndims, _, _) -> 4 + ndims * 6 - | Pbigarrayset(_, ndims, _, _) -> 4 + ndims * 6 - | _ -> 2 (* arithmetic and comparisons *) - -(* Very raw approximation of switch cost *) - -let lambda_smaller lam threshold = - let size = ref 0 in - let rec lambda_size lam = - if !size > threshold then raise Exit; - match lam with - Uvar v -> () - | Uconst _ -> incr size - | Udirect_apply(fn, args, _) -> - size := !size + 4; lambda_list_size args - | Ugeneric_apply(fn, args, _) -> - size := !size + 6; lambda_size fn; lambda_list_size args - | Uclosure(defs, vars) -> - raise Exit (* inlining would duplicate function definitions *) - | Uoffset(lam, ofs) -> - incr size; lambda_size lam - | Ulet(id, lam, body) -> - lambda_size lam; lambda_size body - | Uletrec(bindings, body) -> - raise Exit (* usually too large *) - | Uprim(prim, args, _) -> - size := !size + prim_size prim args; - lambda_list_size args - | Uswitch(lam, cases) -> - if Array.length cases.us_actions_consts > 1 then size := !size + 5 ; - if Array.length cases.us_actions_blocks > 1 then size := !size + 5 ; - lambda_size lam; - lambda_array_size cases.us_actions_consts ; - lambda_array_size cases.us_actions_blocks - | Ustringswitch (lam,sw,d) -> - lambda_size lam ; - (* as ifthenelse *) - List.iter - (fun (_,lam) -> - size := !size+2 ; - lambda_size lam) - sw ; - Misc.may lambda_size d - | Ustaticfail (_,args) -> lambda_list_size args - | Ucatch(_, _, body, handler) -> - incr size; lambda_size body; lambda_size handler - | Utrywith(body, id, handler) -> - size := !size + 8; lambda_size body; lambda_size handler - | Uifthenelse(cond, ifso, ifnot) -> - size := !size + 2; - lambda_size cond; lambda_size ifso; lambda_size ifnot - | Usequence(lam1, lam2) -> - lambda_size lam1; lambda_size lam2 - | Uwhile(cond, body) -> - size := !size + 2; lambda_size cond; lambda_size body - | Ufor(id, low, high, dir, body) -> - size := !size + 4; lambda_size low; lambda_size high; lambda_size body - | Uassign(id, lam) -> - incr size; lambda_size lam - | Usend(_, met, obj, args, _) -> - size := !size + 8; - lambda_size met; lambda_size obj; lambda_list_size args - and lambda_list_size l = List.iter lambda_size l - and lambda_array_size a = Array.iter lambda_size a in - try - lambda_size lam; !size <= threshold - with Exit -> - false - -(* Check if a clambda term is ``pure'', - that is without side-effects *and* not containing function definitions *) - -let rec is_pure_clambda = function - Uvar v -> true - | Uconst _ -> true - | Uprim((Psetglobal _ | Psetfield _ | Psetfloatfield _ | Pduprecord _ | - Pccall _ | Praise _ | Poffsetref _ | Pstringsetu | Pstringsets | - Pbytessetu | Pbytessets | - Parraysetu _ | Parraysets _ | Pbigarrayset _), _, _) -> false - | Uprim(p, args, _) -> List.for_all is_pure_clambda args - | _ -> false - -(* Simplify primitive operations on known arguments *) - -let make_const c = (Uconst c, Value_const c) -let make_const_ref c = - make_const(Uconst_ref(Compilenv.new_structured_constant ~shared:true c, c)) -let make_const_int n = make_const (Uconst_int n) -let make_const_ptr n = make_const (Uconst_ptr n) -let make_const_bool b = make_const_ptr(if b then 1 else 0) -let make_comparison cmp x y = - make_const_bool - (match cmp with - Ceq -> x = y - | Cneq -> x <> y - | Clt -> x < y - | Cgt -> x > y - | Cle -> x <= y - | Cge -> x >= y) -let make_const_float n = make_const_ref (Uconst_float n) -let make_const_natint n = make_const_ref (Uconst_nativeint n) -let make_const_int32 n = make_const_ref (Uconst_int32 n) -let make_const_int64 n = make_const_ref (Uconst_int64 n) - -(* The [fpc] parameter is true if constant propagation of - floating-point computations is allowed *) - -let simplif_arith_prim_pure fpc p (args, approxs) dbg = - let default = (Uprim(p, args, dbg), Value_unknown) in - match approxs with - (* int (or enumerated type) *) - | [ Value_const(Uconst_int n1 | Uconst_ptr n1) ] -> - begin match p with - | Pnot -> make_const_bool (n1 = 0) - | Pnegint -> make_const_int (- n1) - | Poffsetint n -> make_const_int (n + n1) - | Pfloatofint when fpc -> make_const_float (float_of_int n1) - | Pbintofint Pnativeint -> make_const_natint (Nativeint.of_int n1) - | Pbintofint Pint32 -> make_const_int32 (Int32.of_int n1) - | Pbintofint Pint64 -> make_const_int64 (Int64.of_int n1) - | Pbswap16 -> make_const_int (((n1 land 0xff) lsl 8) - lor ((n1 land 0xff00) lsr 8)) - | _ -> default - end - (* int (or enumerated type), int (or enumerated type) *) - | [ Value_const(Uconst_int n1 | Uconst_ptr n1); - Value_const(Uconst_int n2 | Uconst_ptr n2) ] -> - begin match p with - | Psequand -> make_const_bool (n1 <> 0 && n2 <> 0) - | Psequor -> make_const_bool (n1 <> 0 || n2 <> 0) - | Paddint -> make_const_int (n1 + n2) - | Psubint -> make_const_int (n1 - n2) - | Pmulint -> make_const_int (n1 * n2) - | Pdivint when n2 <> 0 -> make_const_int (n1 / n2) - | Pmodint when n2 <> 0 -> make_const_int (n1 mod n2) - | Pandint -> make_const_int (n1 land n2) - | Porint -> make_const_int (n1 lor n2) - | Pxorint -> make_const_int (n1 lxor n2) - | Plslint when 0 <= n2 && n2 < 8 * Arch.size_int -> - make_const_int (n1 lsl n2) - | Plsrint when 0 <= n2 && n2 < 8 * Arch.size_int -> - make_const_int (n1 lsr n2) - | Pasrint when 0 <= n2 && n2 < 8 * Arch.size_int -> - make_const_int (n1 asr n2) - | Pintcomp c -> make_comparison c n1 n2 - | _ -> default - end - (* float *) - | [Value_const(Uconst_ref(_, Uconst_float n1))] when fpc -> - begin match p with - | Pintoffloat -> make_const_int (int_of_float n1) - | Pnegfloat -> make_const_float (-. n1) - | Pabsfloat -> make_const_float (abs_float n1) - | _ -> default - end - (* float, float *) - | [Value_const(Uconst_ref(_, Uconst_float n1)); - Value_const(Uconst_ref(_, Uconst_float n2))] when fpc -> - begin match p with - | Paddfloat -> make_const_float (n1 +. n2) - | Psubfloat -> make_const_float (n1 -. n2) - | Pmulfloat -> make_const_float (n1 *. n2) - | Pdivfloat -> make_const_float (n1 /. n2) - | Pfloatcomp c -> make_comparison c n1 n2 - | _ -> default - end - (* nativeint *) - | [Value_const(Uconst_ref(_, Uconst_nativeint n))] -> - begin match p with - | Pintofbint Pnativeint -> make_const_int (Nativeint.to_int n) - | Pcvtbint(Pnativeint, Pint32) -> make_const_int32 (Nativeint.to_int32 n) - | Pcvtbint(Pnativeint, Pint64) -> make_const_int64 (Int64.of_nativeint n) - | Pnegbint Pnativeint -> make_const_natint (Nativeint.neg n) - | _ -> default - end - (* nativeint, nativeint *) - | [Value_const(Uconst_ref(_, Uconst_nativeint n1)); - Value_const(Uconst_ref(_, Uconst_nativeint n2))] -> - begin match p with - | Paddbint Pnativeint -> make_const_natint (Nativeint.add n1 n2) - | Psubbint Pnativeint -> make_const_natint (Nativeint.sub n1 n2) - | Pmulbint Pnativeint -> make_const_natint (Nativeint.mul n1 n2) - | Pdivbint Pnativeint when n2 <> 0n -> - make_const_natint (Nativeint.div n1 n2) - | Pmodbint Pnativeint when n2 <> 0n -> - make_const_natint (Nativeint.rem n1 n2) - | Pandbint Pnativeint -> make_const_natint (Nativeint.logand n1 n2) - | Porbint Pnativeint -> make_const_natint (Nativeint.logor n1 n2) - | Pxorbint Pnativeint -> make_const_natint (Nativeint.logxor n1 n2) - | Pbintcomp(Pnativeint, c) -> make_comparison c n1 n2 - | _ -> default - end - (* nativeint, int *) - | [Value_const(Uconst_ref(_, Uconst_nativeint n1)); - Value_const(Uconst_int n2)] -> - begin match p with - | Plslbint Pnativeint when 0 <= n2 && n2 < 8 * Arch.size_int -> - make_const_natint (Nativeint.shift_left n1 n2) - | Plsrbint Pnativeint when 0 <= n2 && n2 < 8 * Arch.size_int -> - make_const_natint (Nativeint.shift_right_logical n1 n2) - | Pasrbint Pnativeint when 0 <= n2 && n2 < 8 * Arch.size_int -> - make_const_natint (Nativeint.shift_right n1 n2) - | _ -> default - end - (* int32 *) - | [Value_const(Uconst_ref(_, Uconst_int32 n))] -> - begin match p with - | Pintofbint Pint32 -> make_const_int (Int32.to_int n) - | Pcvtbint(Pint32, Pnativeint) -> make_const_natint (Nativeint.of_int32 n) - | Pcvtbint(Pint32, Pint64) -> make_const_int64 (Int64.of_int32 n) - | Pnegbint Pint32 -> make_const_int32 (Int32.neg n) - | _ -> default - end - (* int32, int32 *) - | [Value_const(Uconst_ref(_, Uconst_int32 n1)); - Value_const(Uconst_ref(_, Uconst_int32 n2))] -> - begin match p with - | Paddbint Pint32 -> make_const_int32 (Int32.add n1 n2) - | Psubbint Pint32 -> make_const_int32 (Int32.sub n1 n2) - | Pmulbint Pint32 -> make_const_int32 (Int32.mul n1 n2) - | Pdivbint Pint32 when n2 <> 0l -> make_const_int32 (Int32.div n1 n2) - | Pmodbint Pint32 when n2 <> 0l -> make_const_int32 (Int32.rem n1 n2) - | Pandbint Pint32 -> make_const_int32 (Int32.logand n1 n2) - | Porbint Pint32 -> make_const_int32 (Int32.logor n1 n2) - | Pxorbint Pint32 -> make_const_int32 (Int32.logxor n1 n2) - | Pbintcomp(Pint32, c) -> make_comparison c n1 n2 - | _ -> default - end - (* int32, int *) - | [Value_const(Uconst_ref(_, Uconst_int32 n1)); - Value_const(Uconst_int n2)] -> - begin match p with - | Plslbint Pint32 when 0 <= n2 && n2 < 32 -> - make_const_int32 (Int32.shift_left n1 n2) - | Plsrbint Pint32 when 0 <= n2 && n2 < 32 -> - make_const_int32 (Int32.shift_right_logical n1 n2) - | Pasrbint Pint32 when 0 <= n2 && n2 < 32 -> - make_const_int32 (Int32.shift_right n1 n2) - | _ -> default - end - (* int64 *) - | [Value_const(Uconst_ref(_, Uconst_int64 n))] -> - begin match p with - | Pintofbint Pint64 -> make_const_int (Int64.to_int n) - | Pcvtbint(Pint64, Pint32) -> make_const_int32 (Int64.to_int32 n) - | Pcvtbint(Pint64, Pnativeint) -> make_const_natint (Int64.to_nativeint n) - | Pnegbint Pint64 -> make_const_int64 (Int64.neg n) - | _ -> default - end - (* int64, int64 *) - | [Value_const(Uconst_ref(_, Uconst_int64 n1)); - Value_const(Uconst_ref(_, Uconst_int64 n2))] -> - begin match p with - | Paddbint Pint64 -> make_const_int64 (Int64.add n1 n2) - | Psubbint Pint64 -> make_const_int64 (Int64.sub n1 n2) - | Pmulbint Pint64 -> make_const_int64 (Int64.mul n1 n2) - | Pdivbint Pint64 when n2 <> 0L -> make_const_int64 (Int64.div n1 n2) - | Pmodbint Pint64 when n2 <> 0L -> make_const_int64 (Int64.rem n1 n2) - | Pandbint Pint64 -> make_const_int64 (Int64.logand n1 n2) - | Porbint Pint64 -> make_const_int64 (Int64.logor n1 n2) - | Pxorbint Pint64 -> make_const_int64 (Int64.logxor n1 n2) - | Pbintcomp(Pint64, c) -> make_comparison c n1 n2 - | _ -> default - end - (* int64, int *) - | [Value_const(Uconst_ref(_, Uconst_int64 n1)); - Value_const(Uconst_int n2)] -> - begin match p with - | Plslbint Pint64 when 0 <= n2 && n2 < 64 -> - make_const_int64 (Int64.shift_left n1 n2) - | Plsrbint Pint64 when 0 <= n2 && n2 < 64 -> - make_const_int64 (Int64.shift_right_logical n1 n2) - | Pasrbint Pint64 when 0 <= n2 && n2 < 64 -> - make_const_int64 (Int64.shift_right n1 n2) - | _ -> default - end - (* TODO: Pbbswap *) - (* Catch-all *) - | _ -> - default - -let field_approx n = function - | Value_tuple a when n < Array.length a -> a.(n) - | Value_const (Uconst_ref(_, Uconst_block(_, l))) when n < List.length l -> - Value_const (List.nth l n) - | _ -> Value_unknown - -let simplif_prim_pure fpc p (args, approxs) dbg = - match p, args, approxs with - (* Block construction *) - | Pmakeblock(tag, _, Immutable), _, _ -> - let field = function - | Value_const c -> c - | _ -> raise Exit - in - begin try - let cst = Uconst_block (tag, List.map field approxs) in - let name = - Compilenv.new_structured_constant cst ~shared:true - in - make_const (Uconst_ref (name, cst)) - with Exit -> - (Uprim(p, args, dbg), Value_tuple (Array.of_list approxs)) - end - (* Field access *) - | Pfield (n,_), _, [ Value_const(Uconst_ref(_, Uconst_block(_, l))) ] - when n < List.length l -> - make_const (List.nth l n) - | Pfield (n,_), [ Uprim(Pmakeblock _, ul, _) ], [approx] - when n < List.length ul -> - (List.nth ul n, field_approx n approx) - (* Strings *) - | (Pstringlength | Pbyteslength), _, [ Value_const(Uconst_ref(_, Uconst_string s)) ] -> - make_const_int (String.length s) - (* Identity *) - | (Pidentity | Pbytes_of_string | Pbytes_to_string ), [arg1], [app1] -> - (arg1, app1) - (* Kind test *) - | Pisint, _, [a1] -> - begin match a1 with - | Value_const(Uconst_int _ | Uconst_ptr _) -> make_const_bool true - | Value_const(Uconst_ref _) -> make_const_bool false - | Value_closure _ | Value_tuple _ -> make_const_bool false - | _ -> (Uprim(p, args, dbg), Value_unknown) - end - (* Compile-time constants *) - | Pctconst c, _, _ -> - begin match c with - | Big_endian -> make_const_bool Arch.big_endian - | Word_size -> make_const_int (8*Arch.size_int) - | Ostype_unix -> make_const_bool (Sys.os_type = "Unix") - | Ostype_win32 -> make_const_bool (Sys.os_type = "Win32") - | Ostype_cygwin -> make_const_bool (Sys.os_type = "Cygwin") - end - (* Catch-all *) - | _ -> - simplif_arith_prim_pure fpc p (args, approxs) dbg - -let simplif_prim fpc p (args, approxs as args_approxs) dbg = - if List.for_all is_pure_clambda args - then simplif_prim_pure fpc p args_approxs dbg - else - (* XXX : always return the same approxs as simplif_prim_pure? *) - let approx = - match p with - | Pmakeblock(_, _, Immutable) -> - Value_tuple (Array.of_list approxs) - | _ -> - Value_unknown - in - (Uprim(p, args, dbg), approx) - -(* Substitute variables in a [ulambda] term (a body of an inlined function) - and perform some more simplifications on integer primitives. - Also perform alpha-conversion on let-bound identifiers to avoid - clashes with locally-generated identifiers. - The variables must not be assigned in the term. - This is used to substitute "trivial" arguments for parameters - during inline expansion, and also for the translation of let rec - over functions. *) - -let approx_ulam = function - Uconst c -> Value_const c - | _ -> Value_unknown - -let rec substitute fpc sb ulam = - match ulam with - Uvar v -> - begin try Tbl.find v sb with Not_found -> ulam end - | Uconst _ -> ulam - | Udirect_apply(lbl, args, dbg) -> - Udirect_apply(lbl, List.map (substitute fpc sb) args, dbg) - | Ugeneric_apply(fn, args, dbg) -> - Ugeneric_apply(substitute fpc sb fn, - List.map (substitute fpc sb) args, dbg) - | Uclosure(defs, env) -> - (* Question: should we rename function labels as well? Otherwise, - there is a risk that function labels are not globally unique. - This should not happen in the current system because: - - Inlined function bodies contain no Uclosure nodes - (cf. function [lambda_smaller]) - - When we substitute offsets for idents bound by let rec - in [close], case [Lletrec], we discard the original - let rec body and use only the substituted term. *) - Uclosure(defs, List.map (substitute fpc sb) env) - | Uoffset(u, ofs) -> Uoffset(substitute fpc sb u, ofs) - | Ulet(id, u1, u2) -> - let id' = Ident.rename id in - Ulet(id', substitute fpc sb u1, - substitute fpc (Tbl.add id (Uvar id') sb) u2) - | Uletrec(bindings, body) -> - let bindings1 = - List.map (fun (id, rhs) -> (id, Ident.rename id, rhs)) bindings in - let sb' = - List.fold_right - (fun (id, id', _) s -> Tbl.add id (Uvar id') s) - bindings1 sb in - Uletrec( - List.map - (fun (id, id', rhs) -> (id', substitute fpc sb' rhs)) - bindings1, - substitute fpc sb' body) - | Uprim(p, args, dbg) -> - let sargs = - List.map (substitute fpc sb) args in - let (res, _) = - simplif_prim fpc p (sargs, List.map approx_ulam sargs) dbg in - res - | Uswitch(arg, sw) -> - Uswitch(substitute fpc sb arg, - { sw with - us_actions_consts = - Array.map (substitute fpc sb) sw.us_actions_consts; - us_actions_blocks = - Array.map (substitute fpc sb) sw.us_actions_blocks; - }) - | Ustringswitch(arg,sw,d) -> - Ustringswitch - (substitute fpc sb arg, - List.map (fun (s,act) -> s,substitute fpc sb act) sw, - Misc.may_map (substitute fpc sb) d) - | Ustaticfail (nfail, args) -> - Ustaticfail (nfail, List.map (substitute fpc sb) args) - | Ucatch(nfail, ids, u1, u2) -> - Ucatch(nfail, ids, substitute fpc sb u1, substitute fpc sb u2) - | Utrywith(u1, id, u2) -> - let id' = Ident.rename id in - Utrywith(substitute fpc sb u1, id', - substitute fpc (Tbl.add id (Uvar id') sb) u2) - | Uifthenelse(u1, u2, u3) -> - begin match substitute fpc sb u1 with - Uconst (Uconst_ptr n) -> - if n <> 0 then substitute fpc sb u2 else substitute fpc sb u3 - | Uprim(Pmakeblock _, _, _) -> - substitute fpc sb u2 - | su1 -> - Uifthenelse(su1, substitute fpc sb u2, substitute fpc sb u3) - end - | Usequence(u1, u2) -> - Usequence(substitute fpc sb u1, substitute fpc sb u2) - | Uwhile(u1, u2) -> - Uwhile(substitute fpc sb u1, substitute fpc sb u2) - | Ufor(id, u1, u2, dir, u3) -> - let id' = Ident.rename id in - Ufor(id', substitute fpc sb u1, substitute fpc sb u2, dir, - substitute fpc (Tbl.add id (Uvar id') sb) u3) - | Uassign(id, u) -> - let id' = - try - match Tbl.find id sb with Uvar i -> i | _ -> assert false - with Not_found -> - id in - Uassign(id', substitute fpc sb u) - | Usend(k, u1, u2, ul, dbg) -> - Usend(k, substitute fpc sb u1, substitute fpc sb u2, - List.map (substitute fpc sb) ul, dbg) - -(* Perform an inline expansion *) - -let is_simple_argument = function - | Uvar _ | Uconst _ -> true - | _ -> false - -let no_effects = function - | Uclosure _ -> true - | u -> is_simple_argument u - -let rec bind_params_rec fpc subst params args body = - match (params, args) with - ([], []) -> substitute fpc subst body - | (p1 :: pl, a1 :: al) -> - if is_simple_argument a1 then - bind_params_rec fpc (Tbl.add p1 a1 subst) pl al body - else begin - let p1' = Ident.rename p1 in - let u1, u2 = - match Ident.name p1, a1 with - | "*opt*", Uprim(Pmakeblock(0, tag_info, Immutable), [a], dbg) -> - a, Uprim(Pmakeblock(0, tag_info, Immutable), [Uvar p1'], dbg) - | _ -> - a1, Uvar p1' - in - let body' = - bind_params_rec fpc (Tbl.add p1 u2 subst) pl al body in - if occurs_var p1 body then Ulet(p1', u1, body') - else if no_effects a1 then body' - else Usequence(a1, body') - end - | (_, _) -> assert false - -let bind_params fpc params args body = - (* Reverse parameters and arguments to preserve right-to-left - evaluation order (PR#2910). *) - bind_params_rec fpc Tbl.empty (List.rev params) (List.rev args) body - -(* Check if a lambda term is ``pure'', - that is without side-effects *and* not containing function definitions *) - -let rec is_pure = function - Lvar v -> true - | Lconst cst -> true - | Lprim((Psetglobal _ | Psetfield _ | Psetfloatfield _ | Pduprecord _ | - Pccall _ | Praise _ | Poffsetref _ | Pstringsetu | Pstringsets | - Pbytessetu | Pbytessets | - Parraysetu _ | Parraysets _ | Pbigarrayset _), _,_) -> false - | Lprim(p, args,_) -> List.for_all is_pure args - | Levent(lam, ev) -> is_pure lam - | _ -> false - -(* Generate a direct application *) - -let direct_apply fundesc funct ufunct uargs = - let app_args = - if fundesc.fun_closed then uargs else uargs @ [ufunct] in - let app = - match fundesc.fun_inline with - | None -> - Udirect_apply(fundesc.fun_label, app_args, Debuginfo.none) - | Some(params, body) -> - bind_params fundesc.fun_float_const_prop params app_args body in - (* If ufunct can contain side-effects or function definitions, - we must make sure that it is evaluated exactly once. - If the function is not closed, we evaluate ufunct as part of the - arguments. - If the function is closed, we force the evaluation of ufunct first. *) - if not fundesc.fun_closed || is_pure funct - then app - else Usequence(ufunct, app) - -(* Add [Value_integer] or [Value_constptr] info to the approximation - of an application *) - -let strengthen_approx appl approx = - match approx_ulam appl with - (Value_const _) as intapprox -> - intapprox - | _ -> approx - -(* If a term has approximation Value_integer or Value_constptr and is pure, - replace it by an integer constant *) - -let check_constant_result lam ulam approx = - match approx with - Value_const c when is_pure lam -> make_const c - | Value_global_field (id, i) when is_pure lam -> - begin match ulam with - | Uprim(Pfield _, [Uprim(Pgetglobal _, _, _)], _) -> (ulam, approx) - | _ -> - let glb = - Uprim(Pgetglobal (Ident.create_persistent id), [], Debuginfo.none) - in - Uprim(Pfield (i, Fld_na), [glb], Debuginfo.none), approx - end - | _ -> (ulam, approx) - -(* Evaluate an expression with known value for its side effects only, - or discard it if it's pure *) - -let sequence_constant_expr lam ulam1 (ulam2, approx2 as res2) = - if is_pure lam then res2 else (Usequence(ulam1, ulam2), approx2) - -(* Maintain the approximation of the global structure being defined *) - -let global_approx = ref([||] : value_approximation array) - -(* Maintain the nesting depth for functions *) - -let function_nesting_depth = ref 0 -let excessive_function_nesting_depth = 5 - -(* Decorate clambda term with debug information *) - -let rec add_debug_info ev u = - match ev.lev_kind with - | Lev_after _ -> - begin match u with - | Udirect_apply(lbl, args, dinfo) -> - Udirect_apply(lbl, args, Debuginfo.from_call ev) - | Ugeneric_apply(Udirect_apply(lbl, args1, dinfo1), - args2, dinfo2) -> - Ugeneric_apply(Udirect_apply(lbl, args1, Debuginfo.from_call ev), - args2, Debuginfo.from_call ev) - | Ugeneric_apply(fn, args, dinfo) -> - Ugeneric_apply(fn, args, Debuginfo.from_call ev) - | Uprim(Praise k, args, dinfo) -> - Uprim(Praise k, args, Debuginfo.from_call ev) - | Uprim(p, args, dinfo) -> - Uprim(p, args, Debuginfo.from_call ev) - | Usend(kind, u1, u2, args, dinfo) -> - Usend(kind, u1, u2, args, Debuginfo.from_call ev) - | Usequence(u1, u2) -> - Usequence(u1, add_debug_info ev u2) - | _ -> u - end - | _ -> u - -(* Uncurry an expression and explicitate closures. - Also return the approximation of the expression. - The approximation environment [fenv] maps idents to approximations. - Idents not bound in [fenv] approximate to [Value_unknown]. - The closure environment [cenv] maps idents to [ulambda] terms. - It is used to substitute environment accesses for free identifiers. *) - -exception NotClosed - -let close_approx_var fenv cenv id = - let approx = try Tbl.find id fenv with Not_found -> Value_unknown in - match approx with - Value_const c -> make_const c - | approx -> - let subst = try Tbl.find id cenv with Not_found -> Uvar id in - (subst, approx) - -let close_var fenv cenv id = - let (ulam, app) = close_approx_var fenv cenv id in ulam - -let rec close fenv cenv = function - Lvar id -> - close_approx_var fenv cenv id - | Lconst cst -> - let str ?(shared = true) cst = - let name = - Compilenv.new_structured_constant cst ~shared - in - Uconst_ref (name, cst) - in - let rec transl = function - | Const_base(Const_int n) -> Uconst_int n - | Const_base(Const_char c) -> Uconst_int (Char.code c) - | Const_pointer (n,_) -> Uconst_ptr n - | Const_block (tag, _, fields) -> - str (Uconst_block (tag, List.map transl fields)) - | Const_float_array sl -> - (* constant float arrays are really immutable *) - str (Uconst_float_array (List.map float_of_string sl)) - | Const_immstring s -> - str (Uconst_string s) - | Const_base (Const_string (s, _)) -> - (* strings (even literal ones) are mutable! *) - (* of course, the empty string is really immutable *) - str ~shared:false(*(String.length s = 0)*) (Uconst_string s) - | Const_base(Const_float x) -> str (Uconst_float (float_of_string x)) - | Const_base(Const_int32 x) -> str (Uconst_int32 x) - | Const_base(Const_int64 x) -> str (Uconst_int64 x) - | Const_base(Const_nativeint x) -> str (Uconst_nativeint x) - in - make_const (transl cst) - | Lfunction(kind, params, body) as funct -> - close_one_function fenv cenv (Ident.create "fun") funct - - (* We convert [f a] to [let a' = a in fun b c -> f a' b c] - when fun_arity > nargs *) - | Lapply(funct, args, loc) -> - let nargs = List.length args in - begin match (close fenv cenv funct, close_list fenv cenv args) with - ((ufunct, Value_closure(fundesc, approx_res)), - [Uprim(Pmakeblock(_,_, _), uargs, _)]) - when List.length uargs = - fundesc.fun_arity -> - let app = direct_apply fundesc funct ufunct uargs in - (app, strengthen_approx app approx_res) - | ((ufunct, Value_closure(fundesc, approx_res)), uargs) - when nargs = fundesc.fun_arity -> - let app = direct_apply fundesc funct ufunct uargs in - (app, strengthen_approx app approx_res) - - | ((ufunct, Value_closure(fundesc, approx_res)), uargs) - when nargs < fundesc.fun_arity -> - let first_args = List.map (fun arg -> - (Ident.create "arg", arg) ) uargs in - let final_args = - Array.to_list (Array.init (fundesc.fun_arity - nargs) - (fun _ -> Ident.create "arg")) in - let rec iter args body = - match args with - [] -> body - | (arg1, arg2) :: args -> - iter args - (Ulet ( arg1, arg2, body)) - in - let internal_args = - (List.map (fun (arg1, arg2) -> Lvar arg1) first_args) - @ (List.map (fun arg -> Lvar arg ) final_args) - in - let (new_fun, approx) = close fenv cenv - (Lfunction( - Curried, final_args, Lapply(funct, internal_args, loc))) - in - let new_fun = iter first_args new_fun in - (new_fun, approx) - - | ((ufunct, Value_closure(fundesc, approx_res)), uargs) - when fundesc.fun_arity > 0 && nargs > fundesc.fun_arity -> - let (first_args, rem_args) = split_list fundesc.fun_arity uargs in - (Ugeneric_apply(direct_apply fundesc funct ufunct first_args, - rem_args, Debuginfo.none), - Value_unknown) - | ((ufunct, _), uargs) -> - (Ugeneric_apply(ufunct, uargs, Debuginfo.none), Value_unknown) - end - | Lsend(kind, met, obj, args, _) -> - let (umet, _) = close fenv cenv met in - let (uobj, _) = close fenv cenv obj in - (Usend(kind, umet, uobj, close_list fenv cenv args, Debuginfo.none), - Value_unknown) - | Llet(str, id, lam, body) -> - let (ulam, alam) = close_named fenv cenv id lam in - begin match (str, alam) with - (Variable, _) -> - let (ubody, abody) = close fenv cenv body in - (Ulet(id, ulam, ubody), abody) - | (_, Value_const _) - when str = Alias || is_pure lam -> - close (Tbl.add id alam fenv) cenv body - | (_, _) -> - let (ubody, abody) = close (Tbl.add id alam fenv) cenv body in - (Ulet(id, ulam, ubody), abody) - end - | Lletrec(defs, body) -> - if List.for_all - (function (id, Lfunction(_, _, _)) -> true | _ -> false) - defs - then begin - (* Simple case: only function definitions *) - let (clos, infos) = close_functions fenv cenv defs in - let clos_ident = Ident.create "clos" in - let fenv_body = - List.fold_right - (fun (id, pos, approx) fenv -> Tbl.add id approx fenv) - infos fenv in - let (ubody, approx) = close fenv_body cenv body in - let sb = - List.fold_right - (fun (id, pos, approx) sb -> - Tbl.add id (Uoffset(Uvar clos_ident, pos)) sb) - infos Tbl.empty in - (Ulet(clos_ident, clos, substitute !Clflags.float_const_prop sb ubody), - approx) - end else begin - (* General case: recursive definition of values *) - let rec clos_defs = function - [] -> ([], fenv) - | (id, lam) :: rem -> - let (udefs, fenv_body) = clos_defs rem in - let (ulam, approx) = close_named fenv cenv id lam in - ((id, ulam) :: udefs, Tbl.add id approx fenv_body) in - let (udefs, fenv_body) = clos_defs defs in - let (ubody, approx) = close fenv_body cenv body in - (Uletrec(udefs, ubody), approx) - end - | Lprim(Pdirapply ,[funct;arg], loc) - | Lprim(Prevapply ,[arg;funct], loc) -> - close fenv cenv (Lapply(funct, [arg], loc)) - | Lprim(Pgetglobal id, [], _) as lam -> - check_constant_result lam - (getglobal id) - (Compilenv.global_approx id) - | Lprim((Pfield (n, _) as field), [lam], _) -> - let (ulam, approx) = close fenv cenv lam in - check_constant_result lam (Uprim(field, [ulam], Debuginfo.none)) - (field_approx n approx) - | Lprim(Psetfield(n, _,dbg_info), [Lprim(Pgetglobal id, [], _); lam], _) -> - let (ulam, approx) = close fenv cenv lam in - if approx <> Value_unknown then - (!global_approx).(n) <- approx; - (Uprim(Psetfield(n, false, dbg_info), [getglobal id; ulam], Debuginfo.none), - Value_unknown) - | Lprim(Praise k, [Levent(arg, ev)], _) -> - let (ulam, approx) = close fenv cenv arg in - (Uprim(Praise k, [ulam], Debuginfo.from_raise ev), - Value_unknown) - | Lprim(p, args, _) -> - simplif_prim !Clflags.float_const_prop - p (close_list_approx fenv cenv args) Debuginfo.none - | Lswitch(arg, sw) -> - let fn fail = - let (uarg, _) = close fenv cenv arg in - let const_index, const_actions, fconst = - close_switch arg fenv cenv sw.sw_consts sw.sw_numconsts fail - and block_index, block_actions, fblock = - close_switch arg fenv cenv sw.sw_blocks sw.sw_numblocks fail in - let ulam = - Uswitch - (uarg, - {us_index_consts = const_index; - us_actions_consts = const_actions; - us_index_blocks = block_index; - us_actions_blocks = block_actions}) in - (fconst (fblock ulam),Value_unknown) in -(* NB: failaction might get copied, thus it should be some Lstaticraise *) - let fail = sw.sw_failaction in - begin match fail with - | None|Some (Lstaticraise (_,_)) -> fn fail - | Some lamfail -> - if - (sw.sw_numconsts - List.length sw.sw_consts) + - (sw.sw_numblocks - List.length sw.sw_blocks) > 1 - then - let i = next_raise_count () in - let ubody,_ = fn (Some (Lstaticraise (i,[]))) - and uhandler,_ = close fenv cenv lamfail in - Ucatch (i,[],ubody,uhandler),Value_unknown - else fn fail - end - | Lstringswitch(arg,sw,d,_) -> - let uarg,_ = close fenv cenv arg in - let usw = - List.map - (fun (s,act) -> - let uact,_ = close fenv cenv act in - s,uact) - sw in - let ud = - Misc.may_map - (fun d -> - let ud,_ = close fenv cenv d in - ud) d in - Ustringswitch (uarg,usw,ud),Value_unknown - | Lstaticraise (i, args) -> - (Ustaticfail (i, close_list fenv cenv args), Value_unknown) - | Lstaticcatch(body, (i, vars), handler) -> - let (ubody, _) = close fenv cenv body in - let (uhandler, _) = close fenv cenv handler in - (Ucatch(i, vars, ubody, uhandler), Value_unknown) - | Ltrywith(body, id, handler) -> - let (ubody, _) = close fenv cenv body in - let (uhandler, _) = close fenv cenv handler in - (Utrywith(ubody, id, uhandler), Value_unknown) - | Lifthenelse(arg, ifso, ifnot) -> - begin match close fenv cenv arg with - (uarg, Value_const (Uconst_ptr n)) -> - sequence_constant_expr arg uarg - (close fenv cenv (if n = 0 then ifnot else ifso)) - | (uarg, _ ) -> - let (uifso, _) = close fenv cenv ifso in - let (uifnot, _) = close fenv cenv ifnot in - (Uifthenelse(uarg, uifso, uifnot), Value_unknown) - end - | Lsequence(lam1, lam2) -> - let (ulam1, _) = close fenv cenv lam1 in - let (ulam2, approx) = close fenv cenv lam2 in - (Usequence(ulam1, ulam2), approx) - | Lwhile(cond, body) -> - let (ucond, _) = close fenv cenv cond in - let (ubody, _) = close fenv cenv body in - (Uwhile(ucond, ubody), Value_unknown) - | Lfor(id, lo, hi, dir, body) -> - let (ulo, _) = close fenv cenv lo in - let (uhi, _) = close fenv cenv hi in - let (ubody, _) = close fenv cenv body in - (Ufor(id, ulo, uhi, dir, ubody), Value_unknown) - | Lassign(id, lam) -> - let (ulam, _) = close fenv cenv lam in - (Uassign(id, ulam), Value_unknown) - | Levent(lam, ev) -> - let (ulam, approx) = close fenv cenv lam in - (add_debug_info ev ulam, approx) - | Lifused _ -> - assert false - -and close_list fenv cenv = function - [] -> [] - | lam :: rem -> - let (ulam, _) = close fenv cenv lam in - ulam :: close_list fenv cenv rem - -and close_list_approx fenv cenv = function - [] -> ([], []) - | lam :: rem -> - let (ulam, approx) = close fenv cenv lam in - let (ulams, approxs) = close_list_approx fenv cenv rem in - (ulam :: ulams, approx :: approxs) - -and close_named fenv cenv id = function - Lfunction(kind, params, body) as funct -> - close_one_function fenv cenv id funct - | lam -> - close fenv cenv lam - -(* Build a shared closure for a set of mutually recursive functions *) - -and close_functions fenv cenv fun_defs = - let fun_defs = - List.flatten - (List.map - (function - | (id, Lfunction(kind, params, body)) -> - split_default_wrapper id kind params body - | _ -> assert false - ) - fun_defs) - in - - (* Update and check nesting depth *) - incr function_nesting_depth; - let initially_closed = - !function_nesting_depth < excessive_function_nesting_depth in - (* Determine the free variables of the functions *) - let fv = - IdentSet.elements (free_variables (Lletrec(fun_defs, lambda_unit))) in - (* Build the function descriptors for the functions. - Initially all functions are assumed not to need their environment - parameter. *) - let uncurried_defs = - List.map - (function - (id, Lfunction(kind, params, body)) -> - let label = Compilenv.make_symbol (Some (Ident.unique_name id)) in - let arity = List.length params in - let fundesc = - {fun_label = label; - fun_arity = (if kind = Tupled then -arity else arity); - fun_closed = initially_closed; - fun_inline = None; - fun_float_const_prop = !Clflags.float_const_prop } in - (id, params, body, fundesc) - | (_, _) -> fatal_error "Closure.close_functions") - fun_defs in - (* Build an approximate fenv for compiling the functions *) - let fenv_rec = - List.fold_right - (fun (id, params, body, fundesc) fenv -> - Tbl.add id (Value_closure(fundesc, Value_unknown)) fenv) - uncurried_defs fenv in - (* Determine the offsets of each function's closure in the shared block *) - let env_pos = ref (-1) in - let clos_offsets = - List.map - (fun (id, params, body, fundesc) -> - let pos = !env_pos + 1 in - env_pos := !env_pos + 1 + (if fundesc.fun_arity <> 1 then 3 else 2); - pos) - uncurried_defs in - let fv_pos = !env_pos in - (* This reference will be set to false if the hypothesis that a function - does not use its environment parameter is invalidated. *) - let useless_env = ref initially_closed in - (* Translate each function definition *) - let clos_fundef (id, params, body, fundesc) env_pos = - let dbg = match body with - | Levent (_,({lev_kind=Lev_function} as ev)) -> Debuginfo.from_call ev - | _ -> Debuginfo.none in - let env_param = Ident.create "env" in - let cenv_fv = - build_closure_env env_param (fv_pos - env_pos) fv in - let cenv_body = - List.fold_right2 - (fun (id, params, body, fundesc) pos env -> - Tbl.add id (Uoffset(Uvar env_param, pos - env_pos)) env) - uncurried_defs clos_offsets cenv_fv in - let (ubody, approx) = close fenv_rec cenv_body body in - if !useless_env && occurs_var env_param ubody then raise NotClosed; - let fun_params = if !useless_env then params else params @ [env_param] in - let f = - { - label = fundesc.fun_label; - arity = fundesc.fun_arity; - params = fun_params; - body = ubody; - dbg; - } - in - (* give more chance of function with default parameters (i.e. - their wrapper functions) to be inlined *) - let n = - List.fold_left - (fun n id -> n + if Ident.name id = "*opt*" then 8 else 1) - 0 - fun_params - in - if lambda_smaller ubody - (!Clflags.inline_threshold + n) - then fundesc.fun_inline <- Some(fun_params, ubody); - - (f, (id, env_pos, Value_closure(fundesc, approx))) in - (* Translate all function definitions. *) - let clos_info_list = - if initially_closed then begin - let snap = Compilenv.snapshot () in - try List.map2 clos_fundef uncurried_defs clos_offsets - with NotClosed -> - (* If the hypothesis that the environment parameters are useless has been - invalidated, then set [fun_closed] to false in all descriptions and - recompile *) - Compilenv.backtrack snap; (* PR#6337 *) - List.iter - (fun (id, params, body, fundesc) -> - fundesc.fun_closed <- false; - fundesc.fun_inline <- None; - ) - uncurried_defs; - useless_env := false; - List.map2 clos_fundef uncurried_defs clos_offsets - end else - (* Excessive closure nesting: assume environment parameter is used *) - List.map2 clos_fundef uncurried_defs clos_offsets - in - (* Update nesting depth *) - decr function_nesting_depth; - (* Return the Uclosure node and the list of all identifiers defined, - with offsets and approximations. *) - let (clos, infos) = List.split clos_info_list in - let fv = if !useless_env then [] else fv in - (Uclosure(clos, List.map (close_var fenv cenv) fv), infos) - -(* Same, for one non-recursive function *) - -and close_one_function fenv cenv id funct = - match close_functions fenv cenv [id, funct] with - | (clos, (i, _, approx) :: _) when id = i -> (clos, approx) - | _ -> fatal_error "Closure.close_one_function" - -(* Close a switch *) - -and close_switch arg fenv cenv cases num_keys default = - let ncases = List.length cases in - let index = Array.make num_keys 0 - and store = Storer.mk_store () in - - (* First default case *) - begin match default with - | Some def when ncases < num_keys -> - assert (store.act_store def = 0) - | _ -> () - end ; - (* Then all other cases *) - List.iter - (fun (key,lam) -> - index.(key) <- store.act_store lam) - cases ; - - (* Explicit sharing with catch/exit, as switcher compilation may - later unshare *) - let acts = store.act_get_shared () in - let hs = ref (fun e -> e) in - - (* Compile actions *) - let actions = - Array.map - (function - | Single lam|Shared (Lstaticraise (_,[]) as lam) -> - let ulam,_ = close fenv cenv lam in - ulam - | Shared lam -> - let ulam,_ = close fenv cenv lam in - let i = next_raise_count () in -(* - let string_of_lambda e = - Printlambda.lambda Format.str_formatter e ; - Format.flush_str_formatter () in - Printf.eprintf "SHARE CLOSURE %i [%s]\n%s\n" i - (string_of_lambda arg) - (string_of_lambda lam) ; -*) - let ohs = !hs in - hs := (fun e -> Ucatch (i,[],ohs e,ulam)) ; - Ustaticfail (i,[])) - acts in - match actions with - | [| |] -> [| |], [| |], !hs (* May happen when default is None *) - | _ -> index, actions, !hs - - -(* Collect exported symbols for structured constants *) - -let collect_exported_structured_constants a = - let rec approx = function - | Value_closure (fd, a) -> - approx a; - begin match fd.fun_inline with - | Some (_, u) -> ulam u - | None -> () - end - | Value_tuple a -> Array.iter approx a - | Value_const c -> const c - | Value_unknown | Value_global_field _ -> () - and const = function - | Uconst_ref (s, c) -> - Compilenv.add_exported_constant s; - structured_constant c - | Uconst_int _ | Uconst_ptr _ -> () - and structured_constant = function - | Uconst_block (_, ul) -> List.iter const ul - | Uconst_float _ | Uconst_int32 _ - | Uconst_int64 _ | Uconst_nativeint _ - | Uconst_float_array _ | Uconst_string _ -> () - and ulam = function - | Uvar _ -> () - | Uconst c -> const c - | Udirect_apply (_, ul, _) -> List.iter ulam ul - | Ugeneric_apply (u, ul, _) -> ulam u; List.iter ulam ul - | Uclosure (fl, ul) -> - List.iter (fun f -> ulam f.body) fl; - List.iter ulam ul - | Uoffset(u, _) -> ulam u - | Ulet (_, u1, u2) -> ulam u1; ulam u2 - | Uletrec (l, u) -> List.iter (fun (_, u) -> ulam u) l; ulam u - | Uprim (_, ul, _) -> List.iter ulam ul - | Uswitch (u, sl) -> - ulam u; - Array.iter ulam sl.us_actions_consts; - Array.iter ulam sl.us_actions_blocks - | Ustringswitch (u,sw,d) -> - ulam u ; - List.iter (fun (_,act) -> ulam act) sw ; - Misc.may ulam d - | Ustaticfail (_, ul) -> List.iter ulam ul - | Ucatch (_, _, u1, u2) - | Utrywith (u1, _, u2) - | Usequence (u1, u2) - | Uwhile (u1, u2) -> ulam u1; ulam u2 - | Uifthenelse (u1, u2, u3) - | Ufor (_, u1, u2, _, u3) -> ulam u1; ulam u2; ulam u3 - | Uassign (_, u) -> ulam u - | Usend (_, u1, u2, ul, _) -> ulam u1; ulam u2; List.iter ulam ul - in - approx a - -let reset () = - global_approx := [||]; - function_nesting_depth := 0 - -(* The entry point *) - -let intro size lam = - reset (); - let id = Compilenv.make_symbol None in - global_approx := Array.init size (fun i -> Value_global_field (id, i)); - Compilenv.set_global_approx(Value_tuple !global_approx); - let (ulam, approx) = close Tbl.empty Tbl.empty lam in - if !Clflags.opaque - then Compilenv.set_global_approx(Value_unknown) - else collect_exported_structured_constants (Value_tuple !global_approx); - global_approx := [||]; - ulam diff --git a/vendor/ocaml/asmcomp/closure.mli b/vendor/ocaml/asmcomp/closure.mli deleted file mode 100644 index 2db6e1633..000000000 --- a/vendor/ocaml/asmcomp/closure.mli +++ /dev/null @@ -1,16 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Introduction of closures, uncurrying, recognition of direct calls *) - -val intro: int -> Lambda.lambda -> Clambda.ulambda -val reset : unit -> unit diff --git a/vendor/ocaml/asmcomp/cmm.ml b/vendor/ocaml/asmcomp/cmm.ml deleted file mode 100644 index 67ee3445f..000000000 --- a/vendor/ocaml/asmcomp/cmm.ml +++ /dev/null @@ -1,131 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -type machtype_component = - Addr - | Int - | Float - -type machtype = machtype_component array - -let typ_void = ([||] : machtype_component array) -let typ_addr = [|Addr|] -let typ_int = [|Int|] -let typ_float = [|Float|] - -let size_component = function - Addr -> Arch.size_addr - | Int -> Arch.size_int - | Float -> Arch.size_float - -let size_machtype mty = - let size = ref 0 in - for i = 0 to Array.length mty - 1 do - size := !size + size_component mty.(i) - done; - !size - -type comparison = - Ceq - | Cne - | Clt - | Cle - | Cgt - | Cge - -let negate_comparison = function - Ceq -> Cne | Cne -> Ceq - | Clt -> Cge | Cle -> Cgt - | Cgt -> Cle | Cge -> Clt - -let swap_comparison = function - Ceq -> Ceq | Cne -> Cne - | Clt -> Cgt | Cle -> Cge - | Cgt -> Clt | Cge -> Cle - -type memory_chunk = - Byte_unsigned - | Byte_signed - | Sixteen_unsigned - | Sixteen_signed - | Thirtytwo_unsigned - | Thirtytwo_signed - | Word - | Single - | Double - | Double_u - -type operation = - Capply of machtype * Debuginfo.t - | Cextcall of string * machtype * bool * Debuginfo.t - | Cload of memory_chunk - | Calloc - | Cstore of memory_chunk - | Caddi | Csubi | Cmuli | Cmulhi | Cdivi | Cmodi - | Cand | Cor | Cxor | Clsl | Clsr | Casr - | Ccmpi of comparison - | Cadda | Csuba - | Ccmpa of comparison - | Cnegf | Cabsf - | Caddf | Csubf | Cmulf | Cdivf - | Cfloatofint | Cintoffloat - | Ccmpf of comparison - | Craise of Lambda.raise_kind * Debuginfo.t - | Ccheckbound of Debuginfo.t - -type expression = - Cconst_int of int - | Cconst_natint of nativeint - | Cconst_float of float - | Cconst_symbol of string - | Cconst_pointer of int - | Cconst_natpointer of nativeint - | Cconst_blockheader of nativeint - | Cvar of Ident.t - | Clet of Ident.t * expression * expression - | Cassign of Ident.t * expression - | Ctuple of expression list - | Cop of operation * expression list - | Csequence of expression * expression - | Cifthenelse of expression * expression * expression - | Cswitch of expression * int array * expression array - | Cloop of expression - | Ccatch of int * Ident.t list * expression * expression - | Cexit of int * expression list - | Ctrywith of expression * Ident.t * expression - -type fundecl = - { fun_name: string; - fun_args: (Ident.t * machtype) list; - fun_body: expression; - fun_fast: bool; - fun_dbg : Debuginfo.t; } - -type data_item = - Cdefine_symbol of string - | Cdefine_label of int - | Cglobal_symbol of string - | Cint8 of int - | Cint16 of int - | Cint32 of nativeint - | Cint of nativeint - | Csingle of float - | Cdouble of float - | Csymbol_address of string - | Clabel_address of int - | Cstring of string - | Cskip of int - | Calign of int - -type phrase = - Cfunction of fundecl - | Cdata of data_item list diff --git a/vendor/ocaml/asmcomp/cmm.mli b/vendor/ocaml/asmcomp/cmm.mli deleted file mode 100644 index 97b8d4097..000000000 --- a/vendor/ocaml/asmcomp/cmm.mli +++ /dev/null @@ -1,117 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Second intermediate language (machine independent) *) - -type machtype_component = - Addr - | Int - | Float - -type machtype = machtype_component array - -val typ_void: machtype -val typ_addr: machtype -val typ_int: machtype -val typ_float: machtype - -val size_component: machtype_component -> int -val size_machtype: machtype -> int - -type comparison = - Ceq - | Cne - | Clt - | Cle - | Cgt - | Cge - -val negate_comparison: comparison -> comparison -val swap_comparison: comparison -> comparison - -type memory_chunk = - Byte_unsigned - | Byte_signed - | Sixteen_unsigned - | Sixteen_signed - | Thirtytwo_unsigned - | Thirtytwo_signed - | Word - | Single - | Double (* 64-bit-aligned 64-bit float *) - | Double_u (* word-aligned 64-bit float *) - -type operation = - Capply of machtype * Debuginfo.t - | Cextcall of string * machtype * bool * Debuginfo.t - | Cload of memory_chunk - | Calloc - | Cstore of memory_chunk - | Caddi | Csubi | Cmuli | Cmulhi | Cdivi | Cmodi - | Cand | Cor | Cxor | Clsl | Clsr | Casr - | Ccmpi of comparison - | Cadda | Csuba - | Ccmpa of comparison - | Cnegf | Cabsf - | Caddf | Csubf | Cmulf | Cdivf - | Cfloatofint | Cintoffloat - | Ccmpf of comparison - | Craise of Lambda.raise_kind * Debuginfo.t - | Ccheckbound of Debuginfo.t - -type expression = - Cconst_int of int - | Cconst_natint of nativeint - | Cconst_float of float - | Cconst_symbol of string - | Cconst_pointer of int - | Cconst_natpointer of nativeint - | Cconst_blockheader of nativeint - | Cvar of Ident.t - | Clet of Ident.t * expression * expression - | Cassign of Ident.t * expression - | Ctuple of expression list - | Cop of operation * expression list - | Csequence of expression * expression - | Cifthenelse of expression * expression * expression - | Cswitch of expression * int array * expression array - | Cloop of expression - | Ccatch of int * Ident.t list * expression * expression - | Cexit of int * expression list - | Ctrywith of expression * Ident.t * expression - -type fundecl = - { fun_name: string; - fun_args: (Ident.t * machtype) list; - fun_body: expression; - fun_fast: bool; - fun_dbg : Debuginfo.t; } - -type data_item = - Cdefine_symbol of string - | Cdefine_label of int - | Cglobal_symbol of string - | Cint8 of int - | Cint16 of int - | Cint32 of nativeint - | Cint of nativeint - | Csingle of float - | Cdouble of float - | Csymbol_address of string - | Clabel_address of int - | Cstring of string - | Cskip of int - | Calign of int - -type phrase = - Cfunction of fundecl - | Cdata of data_item list diff --git a/vendor/ocaml/asmcomp/cmmgen.ml b/vendor/ocaml/asmcomp/cmmgen.ml deleted file mode 100644 index 59c94fc0d..000000000 --- a/vendor/ocaml/asmcomp/cmmgen.ml +++ /dev/null @@ -1,2766 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Translation from closed lambda to C-- *) - -open Misc -open Arch -open Asttypes -open Primitive -open Types -open Lambda -open Clambda -open Cmm -open Cmx_format - -(* Local binding of complex expressions *) - -let bind name arg fn = - match arg with - Cvar _ | Cconst_int _ | Cconst_natint _ | Cconst_symbol _ - | Cconst_pointer _ | Cconst_natpointer _ - | Cconst_blockheader _ -> fn arg - | _ -> let id = Ident.create name in Clet(id, arg, fn (Cvar id)) - -let bind_nonvar name arg fn = - match arg with - Cconst_int _ | Cconst_natint _ | Cconst_symbol _ - | Cconst_pointer _ | Cconst_natpointer _ - | Cconst_blockheader _ -> fn arg - | _ -> let id = Ident.create name in Clet(id, arg, fn (Cvar id)) - -let caml_black = Nativeint.shift_left (Nativeint.of_int 3) 8 - (* cf. byterun/gc.h *) - -(* Block headers. Meaning of the tag field: see stdlib/obj.ml *) - -let floatarray_tag = Cconst_int Obj.double_array_tag - -let block_header tag sz = - Nativeint.add (Nativeint.shift_left (Nativeint.of_int sz) 10) - (Nativeint.of_int tag) -(* Static data corresponding to "value"s must be marked black in case we are - in no-naked-pointers mode. See [caml_darken] and the code below that emits - structured constants and static module definitions. *) -let black_block_header tag sz = Nativeint.logor (block_header tag sz) caml_black -let white_closure_header sz = block_header Obj.closure_tag sz -let black_closure_header sz = black_block_header Obj.closure_tag sz -let infix_header ofs = block_header Obj.infix_tag ofs -let float_header = block_header Obj.double_tag (size_float / size_addr) -let floatarray_header len = - block_header Obj.double_array_tag (len * size_float / size_addr) -let string_header len = - block_header Obj.string_tag ((len + size_addr) / size_addr) -let boxedint32_header = block_header Obj.custom_tag 2 -let boxedint64_header = block_header Obj.custom_tag (1 + 8 / size_addr) -let boxedintnat_header = block_header Obj.custom_tag 2 - -let alloc_block_header tag sz = Cconst_blockheader(block_header tag sz) -let alloc_float_header = Cconst_blockheader(float_header) -let alloc_floatarray_header len = Cconst_blockheader(floatarray_header len) -let alloc_closure_header sz = Cconst_blockheader(white_closure_header sz) -let alloc_infix_header ofs = Cconst_blockheader(infix_header ofs) -let alloc_boxedint32_header = Cconst_blockheader(boxedint32_header) -let alloc_boxedint64_header = Cconst_blockheader(boxedint64_header) -let alloc_boxedintnat_header = Cconst_blockheader(boxedintnat_header) - -(* Integers *) - -let max_repr_int = max_int asr 1 -let min_repr_int = min_int asr 1 - -let int_const n = - if n <= max_repr_int && n >= min_repr_int - then Cconst_int((n lsl 1) + 1) - else Cconst_natint - (Nativeint.add (Nativeint.shift_left (Nativeint.of_int n) 1) 1n) - -let rec add_const c n = - if n = 0 then c - else match c with - | Cconst_int x when no_overflow_add x n -> Cconst_int (x + n) - | Cop(Csubi, [Cconst_int x; c]) when no_overflow_add n x -> - Cop(Csubi, [Cconst_int (n + x); c]) - | Cop(Csubi, [c; Cconst_int x]) when no_overflow_sub n x -> - add_const c (n - x) - | c -> Cop(Caddi, [c; Cconst_int n]) - -let incr_int = function - Cconst_int n when n < max_int -> Cconst_int(n+1) - | Cop(Caddi, [c; Cconst_int n]) when n < max_int -> add_const c (n + 1) - | c -> add_const c 1 - -let decr_int = function - Cconst_int n when n > min_int -> Cconst_int(n-1) - | Cop(Caddi, [c; Cconst_int n]) when n > min_int -> add_const c (n - 1) - | c -> add_const c (-1) - -let add_int c1 c2 = - match (c1, c2) with - (Cop(Caddi, [c1; Cconst_int n1]), - Cop(Caddi, [c2; Cconst_int n2])) when no_overflow_add n1 n2 -> - add_const (Cop(Caddi, [c1; c2])) (n1 + n2) - | (Cop(Caddi, [c1; Cconst_int n1]), c2) -> - add_const (Cop(Caddi, [c1; c2])) n1 - | (c1, Cop(Caddi, [c2; Cconst_int n2])) -> - add_const (Cop(Caddi, [c1; c2])) n2 - | (Cconst_int _, _) -> - Cop(Caddi, [c2; c1]) - | (_, _) -> - Cop(Caddi, [c1; c2]) - -let sub_int c1 c2 = - match (c1, c2) with - (Cop(Caddi, [c1; Cconst_int n1]), - Cop(Caddi, [c2; Cconst_int n2])) when no_overflow_sub n1 n2 -> - add_const (Cop(Csubi, [c1; c2])) (n1 - n2) - | (Cop(Caddi, [c1; Cconst_int n1]), c2) -> - add_const (Cop(Csubi, [c1; c2])) n1 - | (c1, Cop(Caddi, [c2; Cconst_int n2])) when n2 <> min_int -> - add_const (Cop(Csubi, [c1; c2])) (-n2) - | (c1, Cconst_int n) when n <> min_int -> - add_const c1 (-n) - | (c1, c2) -> - Cop(Csubi, [c1; c2]) - -let mul_int c1 c2 = - match (c1, c2) with - (c, Cconst_int 0) | (Cconst_int 0, c) -> - Cconst_int 0 - | (c, Cconst_int 1) | (Cconst_int 1, c) -> - c - | (c, Cconst_int(-1)) | (Cconst_int(-1), c) -> - sub_int (Cconst_int 0) c - | (c, Cconst_int n) | (Cconst_int n, c) when n = 1 lsl Misc.log2 n-> - Cop(Clsl, [c; Cconst_int(Misc.log2 n)]) - | (c1, c2) -> - Cop(Cmuli, [c1; c2]) - -let lsl_int c1 c2 = - match (c1, c2) with - (Cop(Clsl, [c; Cconst_int n1]), Cconst_int n2) - when n1 > 0 && n2 > 0 && n1 + n2 < size_int * 8 -> - Cop(Clsl, [c; Cconst_int (n1 + n2)]) - | (_, _) -> - Cop(Clsl, [c1; c2]) - -let ignore_low_bit_int = function - Cop(Caddi, [(Cop(Clsl, [_; Cconst_int n]) as c); Cconst_int 1]) when n > 0 - -> c - | Cop(Cor, [c; Cconst_int 1]) -> c - | c -> c - -let lsr_int c1 c2 = - match c2 with - Cconst_int 0 -> - c1 - | Cconst_int n when n > 0 -> - Cop(Clsr, [ignore_low_bit_int c1; c2]) - | _ -> - Cop(Clsr, [c1; c2]) - -let asr_int c1 c2 = - match c2 with - Cconst_int 0 -> - c1 - | Cconst_int n when n > 0 -> - Cop(Casr, [ignore_low_bit_int c1; c2]) - | _ -> - Cop(Casr, [c1; c2]) - -let tag_int = function - Cconst_int n -> - int_const n - | Cop(Casr, [c; Cconst_int n]) when n > 0 -> - Cop(Cor, [asr_int c (Cconst_int (n - 1)); Cconst_int 1]) - | c -> - incr_int (lsl_int c (Cconst_int 1)) - -let force_tag_int = function - Cconst_int n -> - int_const n - | Cop(Casr, [c; Cconst_int n]) when n > 0 -> - Cop(Cor, [asr_int c (Cconst_int (n - 1)); Cconst_int 1]) - | c -> - Cop(Cor, [lsl_int c (Cconst_int 1); Cconst_int 1]) - -let untag_int = function - Cconst_int n -> Cconst_int(n asr 1) - | Cop(Caddi, [Cop(Clsl, [c; Cconst_int 1]); Cconst_int 1]) -> c - | Cop(Cor, [Cop(Casr, [c; Cconst_int n]); Cconst_int 1]) - when n > 0 && n < size_int * 8 -> - Cop(Casr, [c; Cconst_int (n+1)]) - | Cop(Cor, [Cop(Clsr, [c; Cconst_int n]); Cconst_int 1]) - when n > 0 && n < size_int * 8 -> - Cop(Clsr, [c; Cconst_int (n+1)]) - | Cop(Cor, [c; Cconst_int 1]) -> Cop(Casr, [c; Cconst_int 1]) - | c -> Cop(Casr, [c; Cconst_int 1]) - -(* Turning integer divisions into multiply-high then shift. - The [division_parameters] function is used in module Emit for - those target platforms that support this optimization. *) - -(* Unsigned comparison between native integers. *) - -let ucompare x y = Nativeint.(compare (add x min_int) (add y min_int)) - -(* Unsigned division and modulus at type nativeint. - Algorithm: Hacker's Delight section 9.3 *) - -let udivmod n d = Nativeint.( - if d < 0n then - if ucompare n d < 0 then (0n, n) else (1n, sub n d) - else begin - let q = shift_left (div (shift_right_logical n 1) d) 1 in - let r = sub n (mul q d) in - if ucompare r d >= 0 then (succ q, sub r d) else (q, r) - end) - -(* Compute division parameters. - Algorithm: Hacker's Delight chapter 10, fig 10-1. *) - -let divimm_parameters d = Nativeint.( - assert (d > 0n); - let twopsm1 = min_int in (* 2^31 for 32-bit archs, 2^63 for 64-bit archs *) - let nc = sub (pred twopsm1) (snd (udivmod twopsm1 d)) in - let rec loop p (q1, r1) (q2, r2) = - let p = p + 1 in - let q1 = shift_left q1 1 and r1 = shift_left r1 1 in - let (q1, r1) = - if ucompare r1 nc >= 0 then (succ q1, sub r1 nc) else (q1, r1) in - let q2 = shift_left q2 1 and r2 = shift_left r2 1 in - let (q2, r2) = - if ucompare r2 d >= 0 then (succ q2, sub r2 d) else (q2, r2) in - let delta = sub d r2 in - if ucompare q1 delta < 0 || (q1 = delta && r1 = 0n) - then loop p (q1, r1) (q2, r2) - else (succ q2, p - size) - in loop (size - 1) (udivmod twopsm1 nc) (udivmod twopsm1 d)) - -(* The result [(m, p)] of [divimm_parameters d] satisfies the following - inequality: - - 2^(wordsize + p) < m * d <= 2^(wordsize + p) + 2^(p + 1) (i) - - from which it follows that - - floor(n / d) = floor(n * m / 2^(wordsize+p)) - if 0 <= n < 2^(wordsize-1) - ceil(n / d) = floor(n * m / 2^(wordsize+p)) + 1 - if -2^(wordsize-1) <= n < 0 - - The correctness condition (i) above can be checked by the code below. - It was exhaustively tested for values of d from 2 to 10^9 in the - wordsize = 64 case. - -let add2 (xh, xl) (yh, yl) = - let zl = add xl yl and zh = add xh yh in - ((if ucompare zl xl < 0 then succ zh else zh), zl) - -let shl2 (xh, xl) n = - assert (0 < n && n < size + size); - if n < size - then (logor (shift_left xh n) (shift_right_logical xl (size - n)), - shift_left xl n) - else (shift_left xl (n - size), 0n) - -let mul2 x y = - let halfsize = size / 2 in - let halfmask = pred (shift_left 1n halfsize) in - let xl = logand x halfmask and xh = shift_right_logical x halfsize in - let yl = logand y halfmask and yh = shift_right_logical y halfsize in - add2 (mul xh yh, 0n) - (add2 (shl2 (0n, mul xl yh) halfsize) - (add2 (shl2 (0n, mul xh yl) halfsize) - (0n, mul xl yl))) - -let ucompare2 (xh, xl) (yh, yl) = - let c = ucompare xh yh in if c = 0 then ucompare xl yl else c - -let validate d m p = - let md = mul2 m d in - let one2 = (0n, 1n) in - let twoszp = shl2 one2 (size + p) in - let twop1 = shl2 one2 (p + 1) in - ucompare2 twoszp md < 0 && ucompare2 md (add2 twoszp twop1) <= 0 -*) - -let rec div_int c1 c2 dbg = - match (c1, c2) with - (c1, Cconst_int 0) -> - Csequence(c1, Cop(Craise (Raise_regular, dbg), - [Cconst_symbol "caml_exn_Division_by_zero"])) - | (c1, Cconst_int 1) -> - c1 - | (Cconst_int 0 as c1, c2) -> - Csequence(c2, c1) - | (Cconst_int n1, Cconst_int n2) -> - Cconst_int (n1 / n2) - | (c1, Cconst_int n) when n <> min_int -> - let l = Misc.log2 n in - if n = 1 lsl l then - (* Algorithm: - t = shift-right-signed(c1, l - 1) - t = shift-right(t, W - l) - t = c1 + t - res = shift-right-signed(c1 + t, l) - *) - Cop(Casr, [bind "dividend" c1 (fun c1 -> - let t = asr_int c1 (Cconst_int (l - 1)) in - let t = lsr_int t (Cconst_int (Nativeint.size - l)) in - add_int c1 t); - Cconst_int l]) - else if n < 0 then - sub_int (Cconst_int 0) (div_int c1 (Cconst_int (-n)) dbg) - else begin - let (m, p) = divimm_parameters (Nativeint.of_int n) in - (* Algorithm: - t = multiply-high-signed(c1, m) - if m < 0, t = t + c1 - if p > 0, t = shift-right-signed(t, p) - res = t + sign-bit(c1) - *) - bind "dividend" c1 (fun c1 -> - let t = Cop(Cmulhi, [c1; Cconst_natint m]) in - let t = if m < 0n then Cop(Caddi, [t; c1]) else t in - let t = if p > 0 then Cop(Casr, [t; Cconst_int p]) else t in - add_int t (lsr_int c1 (Cconst_int (Nativeint.size - 1)))) - end - | (c1, c2) when !Clflags.fast -> - Cop(Cdivi, [c1; c2]) - | (c1, c2) -> - bind "divisor" c2 (fun c2 -> - Cifthenelse(c2, - Cop(Cdivi, [c1; c2]), - Cop(Craise (Raise_regular, dbg), - [Cconst_symbol "caml_exn_Division_by_zero"]))) - -let mod_int c1 c2 dbg = - match (c1, c2) with - (c1, Cconst_int 0) -> - Csequence(c1, Cop(Craise (Raise_regular, dbg), - [Cconst_symbol "caml_exn_Division_by_zero"])) - | (c1, Cconst_int (1 | (-1))) -> - Csequence(c1, Cconst_int 0) - | (Cconst_int 0, c2) -> - Csequence(c2, Cconst_int 0) - | (Cconst_int n1, Cconst_int n2) -> - Cconst_int (n1 mod n2) - | (c1, (Cconst_int n as c2)) when n <> min_int -> - let l = Misc.log2 n in - if n = 1 lsl l then - (* Algorithm: - t = shift-right-signed(c1, l - 1) - t = shift-right(t, W - l) - t = c1 + t - t = bit-and(t, -n) - res = c1 - t - *) - bind "dividend" c1 (fun c1 -> - let t = asr_int c1 (Cconst_int (l - 1)) in - let t = lsr_int t (Cconst_int (Nativeint.size - l)) in - let t = add_int c1 t in - let t = Cop(Cand, [t; Cconst_int (-n)]) in - sub_int c1 t) - else - bind "dividend" c1 (fun c1 -> - sub_int c1 (mul_int (div_int c1 c2 dbg) c2)) - | (c1, c2) when !Clflags.fast -> - Cop(Cmodi, [c1; c2]) - | (c1, c2) -> - bind "divisor" c2 (fun c2 -> - Cifthenelse(c2, - Cop(Cmodi, [c1; c2]), - Cop(Craise (Raise_regular, dbg), - [Cconst_symbol "caml_exn_Division_by_zero"]))) - -(* Division or modulo on boxed integers. The overflow case min_int / -1 - can occur, in which case we force x / -1 = -x and x mod -1 = 0. (PR#5513). *) - -let is_different_from x = function - Cconst_int n -> n <> x - | Cconst_natint n -> n <> Nativeint.of_int x - | _ -> false - -let safe_divmod_bi mkop mkm1 c1 c2 bi dbg = - bind "dividend" c1 (fun c1 -> - bind "divisor" c2 (fun c2 -> - let c = mkop c1 c2 dbg in - if Arch.division_crashes_on_overflow - && (size_int = 4 || bi <> Pint32) - && not (is_different_from (-1) c2) - then Cifthenelse(Cop(Ccmpi Cne, [c2; Cconst_int(-1)]), c, mkm1 c1) - else c)) - -let safe_div_bi = - safe_divmod_bi div_int (fun c1 -> Cop(Csubi, [Cconst_int 0; c1])) - -let safe_mod_bi = - safe_divmod_bi mod_int (fun c1 -> Cconst_int 0) - -(* Bool *) - -let test_bool = function - Cop(Caddi, [Cop(Clsl, [c; Cconst_int 1]); Cconst_int 1]) -> c - | Cop(Clsl, [c; Cconst_int 1]) -> c - | c -> Cop(Ccmpi Cne, [c; Cconst_int 1]) - -(* Float *) - -let box_float c = Cop(Calloc, [alloc_float_header; c]) - -let rec unbox_float = function - Cop(Calloc, [header; c]) -> c - | Clet(id, exp, body) -> Clet(id, exp, unbox_float body) - | Cifthenelse(cond, e1, e2) -> - Cifthenelse(cond, unbox_float e1, unbox_float e2) - | Csequence(e1, e2) -> Csequence(e1, unbox_float e2) - | Cswitch(e, tbl, el) -> Cswitch(e, tbl, Array.map unbox_float el) - | Ccatch(n, ids, e1, e2) -> Ccatch(n, ids, unbox_float e1, unbox_float e2) - | Ctrywith(e1, id, e2) -> Ctrywith(unbox_float e1, id, unbox_float e2) - | c -> Cop(Cload Double_u, [c]) - -(* Complex *) - -let box_complex c_re c_im = - Cop(Calloc, [alloc_floatarray_header 2; c_re; c_im]) - -let complex_re c = Cop(Cload Double_u, [c]) -let complex_im c = Cop(Cload Double_u, - [Cop(Cadda, [c; Cconst_int size_float])]) - -(* Unit *) - -let return_unit c = Csequence(c, Cconst_pointer 1) - -let rec remove_unit = function - Cconst_pointer 1 -> Ctuple [] - | Csequence(c, Cconst_pointer 1) -> c - | Csequence(c1, c2) -> - Csequence(c1, remove_unit c2) - | Cifthenelse(cond, ifso, ifnot) -> - Cifthenelse(cond, remove_unit ifso, remove_unit ifnot) - | Cswitch(sel, index, cases) -> - Cswitch(sel, index, Array.map remove_unit cases) - | Ccatch(io, ids, body, handler) -> - Ccatch(io, ids, remove_unit body, remove_unit handler) - | Ctrywith(body, exn, handler) -> - Ctrywith(remove_unit body, exn, remove_unit handler) - | Clet(id, c1, c2) -> - Clet(id, c1, remove_unit c2) - | Cop(Capply (mty, dbg), args) -> - Cop(Capply (typ_void, dbg), args) - | Cop(Cextcall(proc, mty, alloc, dbg), args) -> - Cop(Cextcall(proc, typ_void, alloc, dbg), args) - | Cexit (_,_) as c -> c - | Ctuple [] as c -> c - | c -> Csequence(c, Ctuple []) - -(* Access to block fields *) - -let field_address ptr n = - if n = 0 - then ptr - else Cop(Cadda, [ptr; Cconst_int(n * size_addr)]) - -let get_field ptr n = - Cop(Cload Word, [field_address ptr n]) - -let set_field ptr n newval = - Cop(Cstore Word, [field_address ptr n; newval]) - -let header ptr = - Cop(Cload Word, [Cop(Cadda, [ptr; Cconst_int(-size_int)])]) - -let tag_offset = - if big_endian then -1 else -size_int - -let get_tag ptr = - if Proc.word_addressed then (* If byte loads are slow *) - Cop(Cand, [header ptr; Cconst_int 255]) - else (* If byte loads are efficient *) - Cop(Cload Byte_unsigned, - [Cop(Cadda, [ptr; Cconst_int(tag_offset)])]) - -let get_size ptr = - Cop(Clsr, [header ptr; Cconst_int 10]) - -(* Array indexing *) - -let log2_size_addr = Misc.log2 size_addr -let log2_size_float = Misc.log2 size_float - -let wordsize_shift = 9 -let numfloat_shift = 9 + log2_size_float - log2_size_addr - -let is_addr_array_hdr hdr = - Cop(Ccmpi Cne, [Cop(Cand, [hdr; Cconst_int 255]); floatarray_tag]) - -let is_addr_array_ptr ptr = - Cop(Ccmpi Cne, [get_tag ptr; floatarray_tag]) - -let addr_array_length hdr = Cop(Clsr, [hdr; Cconst_int wordsize_shift]) -let float_array_length hdr = Cop(Clsr, [hdr; Cconst_int numfloat_shift]) - -let lsl_const c n = - Cop(Clsl, [c; Cconst_int n]) - -let array_indexing log2size ptr ofs = - match ofs with - Cconst_int n -> - let i = n asr 1 in - if i = 0 then ptr else Cop(Cadda, [ptr; Cconst_int(i lsl log2size)]) - | Cop(Caddi, [Cop(Clsl, [c; Cconst_int 1]); Cconst_int 1]) -> - Cop(Cadda, [ptr; lsl_const c log2size]) - | Cop(Caddi, [c; Cconst_int n]) -> - Cop(Cadda, [Cop(Cadda, [ptr; lsl_const c (log2size - 1)]); - Cconst_int((n-1) lsl (log2size - 1))]) - | _ -> - Cop(Cadda, [Cop(Cadda, [ptr; lsl_const ofs (log2size - 1)]); - Cconst_int((-1) lsl (log2size - 1))]) - -let addr_array_ref arr ofs = - Cop(Cload Word, [array_indexing log2_size_addr arr ofs]) -let unboxed_float_array_ref arr ofs = - Cop(Cload Double_u, [array_indexing log2_size_float arr ofs]) -let float_array_ref arr ofs = - box_float(unboxed_float_array_ref arr ofs) - -let addr_array_set arr ofs newval = - Cop(Cextcall("caml_modify", typ_void, false, Debuginfo.none), - [array_indexing log2_size_addr arr ofs; newval]) -let int_array_set arr ofs newval = - Cop(Cstore Word, [array_indexing log2_size_addr arr ofs; newval]) -let float_array_set arr ofs newval = - Cop(Cstore Double_u, [array_indexing log2_size_float arr ofs; newval]) - -(* String length *) - -(* Length of string block *) - -let string_length exp = - bind "str" exp (fun str -> - let tmp_var = Ident.create "tmp" in - Clet(tmp_var, - Cop(Csubi, - [Cop(Clsl, - [get_size str; - Cconst_int log2_size_addr]); - Cconst_int 1]), - Cop(Csubi, - [Cvar tmp_var; - Cop(Cload Byte_unsigned, - [Cop(Cadda, [str; Cvar tmp_var])])]))) - -(* Message sending *) - -let lookup_tag obj tag = - bind "tag" tag (fun tag -> - Cop(Cextcall("caml_get_public_method", typ_addr, false, Debuginfo.none), - [obj; tag])) - -let lookup_label obj lab = - bind "lab" lab (fun lab -> - let table = Cop (Cload Word, [obj]) in - addr_array_ref table lab) - -let call_cached_method obj tag cache pos args dbg = - let arity = List.length args in - let cache = array_indexing log2_size_addr cache pos in - Compilenv.need_send_fun arity; - Cop(Capply (typ_addr, dbg), - Cconst_symbol("caml_send" ^ string_of_int arity) :: - obj :: tag :: cache :: args) - -(* Allocation *) - -let make_alloc_generic set_fn tag wordsize args = - if wordsize <= Config.max_young_wosize then - Cop(Calloc, Cconst_blockheader(block_header tag wordsize) :: args) - else begin - let id = Ident.create "alloc" in - let rec fill_fields idx = function - [] -> Cvar id - | e1::el -> Csequence(set_fn (Cvar id) (Cconst_int idx) e1, - fill_fields (idx + 2) el) in - Clet(id, - Cop(Cextcall("caml_alloc", typ_addr, true, Debuginfo.none), - [Cconst_int wordsize; Cconst_int tag]), - fill_fields 1 args) - end - -let make_alloc tag args = - make_alloc_generic addr_array_set tag (List.length args) args -let make_float_alloc tag args = - make_alloc_generic float_array_set tag - (List.length args * size_float / size_addr) args - -(* Bounds checking *) - -let make_checkbound dbg = function - | [Cop(Clsr, [a1; Cconst_int n]); Cconst_int m] when (m lsl n) > n -> - Cop(Ccheckbound dbg, [a1; Cconst_int(m lsl n + 1 lsl n - 1)]) - | args -> - Cop(Ccheckbound dbg, args) - -(* To compile "let rec" over values *) - -let fundecls_size fundecls = - let sz = ref (-1) in - List.iter - (fun f -> sz := !sz + 1 + (if f.arity = 1 then 2 else 3)) - fundecls; - !sz - -type rhs_kind = - | RHS_block of int - | RHS_floatblock of int - | RHS_nonrec -;; -let rec expr_size env = function - | Uvar id -> - begin try Ident.find_same id env with Not_found -> RHS_nonrec end - | Uclosure(fundecls, clos_vars) -> - RHS_block (fundecls_size fundecls + List.length clos_vars) - | Ulet(id, exp, body) -> - expr_size (Ident.add id (expr_size env exp) env) body - | Uletrec(bindings, body) -> - expr_size env body - | Uprim(Pmakeblock(tag,_, mut), args, _) -> - RHS_block (List.length args) - | Uprim(Pmakearray(Paddrarray | Pintarray), args, _) -> - RHS_block (List.length args) - | Uprim(Pmakearray(Pfloatarray), args, _) -> - RHS_floatblock (List.length args) - | Uprim (Pduprecord (Record_regular, sz), _, _) -> - RHS_block sz - | Uprim (Pduprecord (Record_float, sz), _, _) -> - RHS_floatblock sz - | Usequence(exp, exp') -> - expr_size env exp' - | _ -> RHS_nonrec - -(* Record application and currying functions *) - -let apply_function n = - Compilenv.need_apply_fun n; "caml_apply" ^ string_of_int n -let curry_function n = - Compilenv.need_curry_fun n; - if n >= 0 - then "caml_curry" ^ string_of_int n - else "caml_tuplify" ^ string_of_int (-n) - -(* Comparisons *) - -let transl_comparison = function - Lambda.Ceq -> Ceq - | Lambda.Cneq -> Cne - | Lambda.Cge -> Cge - | Lambda.Cgt -> Cgt - | Lambda.Cle -> Cle - | Lambda.Clt -> Clt - -(* Translate structured constants *) - -let transl_constant = function - | Uconst_int n -> - int_const n - | Uconst_ptr n -> - if n <= max_repr_int && n >= min_repr_int - then Cconst_pointer((n lsl 1) + 1) - else Cconst_natpointer - (Nativeint.add (Nativeint.shift_left (Nativeint.of_int n) 1) 1n) - | Uconst_ref (label, _) -> - Cconst_symbol label - -let transl_structured_constant cst = - let label = Compilenv.new_structured_constant cst ~shared:true in - Cconst_symbol label - -(* Translate constant closures *) - -let constant_closures = - ref ([] : (string * ufunction list) list) - -(* Boxed integers *) - -let box_int_constant bi n = - match bi with - Pnativeint -> Uconst_nativeint n - | Pint32 -> Uconst_int32 (Nativeint.to_int32 n) - | Pint64 -> Uconst_int64 (Int64.of_nativeint n) - -let operations_boxed_int bi = - match bi with - Pnativeint -> "caml_nativeint_ops" - | Pint32 -> "caml_int32_ops" - | Pint64 -> "caml_int64_ops" - -let alloc_header_boxed_int bi = - match bi with - Pnativeint -> alloc_boxedintnat_header - | Pint32 -> alloc_boxedint32_header - | Pint64 -> alloc_boxedint64_header - -let box_int bi arg = - match arg with - Cconst_int n -> - transl_structured_constant (box_int_constant bi (Nativeint.of_int n)) - | Cconst_natint n -> - transl_structured_constant (box_int_constant bi n) - | _ -> - let arg' = - if bi = Pint32 && size_int = 8 && big_endian - then Cop(Clsl, [arg; Cconst_int 32]) - else arg in - Cop(Calloc, [alloc_header_boxed_int bi; - Cconst_symbol(operations_boxed_int bi); - arg']) - -let rec unbox_int bi arg = - match arg with - Cop(Calloc, [hdr; ops; Cop(Clsl, [contents; Cconst_int 32])]) - when bi = Pint32 && size_int = 8 && big_endian -> - (* Force sign-extension of low 32 bits *) - Cop(Casr, [Cop(Clsl, [contents; Cconst_int 32]); Cconst_int 32]) - | Cop(Calloc, [hdr; ops; contents]) - when bi = Pint32 && size_int = 8 && not big_endian -> - (* Force sign-extension of low 32 bits *) - Cop(Casr, [Cop(Clsl, [contents; Cconst_int 32]); Cconst_int 32]) - | Cop(Calloc, [hdr; ops; contents]) -> - contents - | Clet(id, exp, body) -> Clet(id, exp, unbox_int bi body) - | Cifthenelse(cond, e1, e2) -> - Cifthenelse(cond, unbox_int bi e1, unbox_int bi e2) - | Csequence(e1, e2) -> Csequence(e1, unbox_int bi e2) - | Cswitch(e, tbl, el) -> Cswitch(e, tbl, Array.map (unbox_int bi) el) - | Ccatch(n, ids, e1, e2) -> Ccatch(n, ids, unbox_int bi e1, unbox_int bi e2) - | Ctrywith(e1, id, e2) -> Ctrywith(unbox_int bi e1, id, unbox_int bi e2) - | _ -> - Cop(Cload(if bi = Pint32 then Thirtytwo_signed else Word), - [Cop(Cadda, [arg; Cconst_int size_addr])]) - -let make_unsigned_int bi arg = - if bi = Pint32 && size_int = 8 - then Cop(Cand, [arg; Cconst_natint 0xFFFFFFFFn]) - else arg - -(* Big arrays *) - -let bigarray_elt_size = function - Pbigarray_unknown -> assert false - | Pbigarray_float32 -> 4 - | Pbigarray_float64 -> 8 - | Pbigarray_sint8 -> 1 - | Pbigarray_uint8 -> 1 - | Pbigarray_sint16 -> 2 - | Pbigarray_uint16 -> 2 - | Pbigarray_int32 -> 4 - | Pbigarray_int64 -> 8 - | Pbigarray_caml_int -> size_int - | Pbigarray_native_int -> size_int - | Pbigarray_complex32 -> 8 - | Pbigarray_complex64 -> 16 - -let bigarray_indexing unsafe elt_kind layout b args dbg = - let check_bound a1 a2 k = - if unsafe then k else Csequence(make_checkbound dbg [a1;a2], k) in - let rec ba_indexing dim_ofs delta_ofs = function - [] -> assert false - | [arg] -> - bind "idx" (untag_int arg) - (fun idx -> - check_bound (Cop(Cload Word,[field_address b dim_ofs])) idx idx) - | arg1 :: argl -> - let rem = ba_indexing (dim_ofs + delta_ofs) delta_ofs argl in - bind "idx" (untag_int arg1) - (fun idx -> - bind "bound" (Cop(Cload Word, [field_address b dim_ofs])) - (fun bound -> - check_bound bound idx (add_int (mul_int rem bound) idx))) in - let offset = - match layout with - Pbigarray_unknown_layout -> - assert false - | Pbigarray_c_layout -> - ba_indexing (4 + List.length args) (-1) (List.rev args) - | Pbigarray_fortran_layout -> - ba_indexing 5 1 (List.map (fun idx -> sub_int idx (Cconst_int 2)) args) - and elt_size = - bigarray_elt_size elt_kind in - let byte_offset = - if elt_size = 1 - then offset - else Cop(Clsl, [offset; Cconst_int(log2 elt_size)]) in - Cop(Cadda, [Cop(Cload Word, [field_address b 1]); byte_offset]) - -let bigarray_word_kind = function - Pbigarray_unknown -> assert false - | Pbigarray_float32 -> Single - | Pbigarray_float64 -> Double - | Pbigarray_sint8 -> Byte_signed - | Pbigarray_uint8 -> Byte_unsigned - | Pbigarray_sint16 -> Sixteen_signed - | Pbigarray_uint16 -> Sixteen_unsigned - | Pbigarray_int32 -> Thirtytwo_signed - | Pbigarray_int64 -> Word - | Pbigarray_caml_int -> Word - | Pbigarray_native_int -> Word - | Pbigarray_complex32 -> Single - | Pbigarray_complex64 -> Double - -let bigarray_get unsafe elt_kind layout b args dbg = - bind "ba" b (fun b -> - match elt_kind with - Pbigarray_complex32 | Pbigarray_complex64 -> - let kind = bigarray_word_kind elt_kind in - let sz = bigarray_elt_size elt_kind / 2 in - bind "addr" (bigarray_indexing unsafe elt_kind layout b args dbg) - (fun addr -> - box_complex - (Cop(Cload kind, [addr])) - (Cop(Cload kind, [Cop(Cadda, [addr; Cconst_int sz])]))) - | _ -> - Cop(Cload (bigarray_word_kind elt_kind), - [bigarray_indexing unsafe elt_kind layout b args dbg])) - -let bigarray_set unsafe elt_kind layout b args newval dbg = - bind "ba" b (fun b -> - match elt_kind with - Pbigarray_complex32 | Pbigarray_complex64 -> - let kind = bigarray_word_kind elt_kind in - let sz = bigarray_elt_size elt_kind / 2 in - bind "newval" newval (fun newv -> - bind "addr" (bigarray_indexing unsafe elt_kind layout b args dbg) - (fun addr -> - Csequence( - Cop(Cstore kind, [addr; complex_re newv]), - Cop(Cstore kind, - [Cop(Cadda, [addr; Cconst_int sz]); complex_im newv])))) - | _ -> - Cop(Cstore (bigarray_word_kind elt_kind), - [bigarray_indexing unsafe elt_kind layout b args dbg; newval])) - -let unaligned_load_16 ptr idx = - if Arch.allow_unaligned_access - then Cop(Cload Sixteen_unsigned, [add_int ptr idx]) - else - let v1 = Cop(Cload Byte_unsigned, [add_int ptr idx]) in - let v2 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 1)]) in - let b1, b2 = if Arch.big_endian then v1, v2 else v2, v1 in - Cop(Cor, [lsl_int b1 (Cconst_int 8); b2]) - -let unaligned_set_16 ptr idx newval = - if Arch.allow_unaligned_access - then Cop(Cstore Sixteen_unsigned, [add_int ptr idx; newval]) - else - let v1 = Cop(Cand, [Cop(Clsr, [newval; Cconst_int 8]); Cconst_int 0xFF]) in - let v2 = Cop(Cand, [newval; Cconst_int 0xFF]) in - let b1, b2 = if Arch.big_endian then v1, v2 else v2, v1 in - Csequence( - Cop(Cstore Byte_unsigned, [add_int ptr idx; b1]), - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 1); b2])) - -let unaligned_load_32 ptr idx = - if Arch.allow_unaligned_access - then Cop(Cload Thirtytwo_unsigned, [add_int ptr idx]) - else - let v1 = Cop(Cload Byte_unsigned, [add_int ptr idx]) in - let v2 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 1)]) in - let v3 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 2)]) in - let v4 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 3)]) in - let b1, b2, b3, b4 = - if Arch.big_endian - then v1, v2, v3, v4 - else v4, v3, v2, v1 in - Cop(Cor, - [Cop(Cor, [lsl_int b1 (Cconst_int 24); lsl_int b2 (Cconst_int 16)]); - Cop(Cor, [lsl_int b3 (Cconst_int 8); b4])]) - -let unaligned_set_32 ptr idx newval = - if Arch.allow_unaligned_access - then Cop(Cstore Thirtytwo_unsigned, [add_int ptr idx; newval]) - else - let v1 = - Cop(Cand, [Cop(Clsr, [newval; Cconst_int 24]); Cconst_int 0xFF]) in - let v2 = - Cop(Cand, [Cop(Clsr, [newval; Cconst_int 16]); Cconst_int 0xFF]) in - let v3 = - Cop(Cand, [Cop(Clsr, [newval; Cconst_int 8]); Cconst_int 0xFF]) in - let v4 = Cop(Cand, [newval; Cconst_int 0xFF]) in - let b1, b2, b3, b4 = - if Arch.big_endian - then v1, v2, v3, v4 - else v4, v3, v2, v1 in - Csequence( - Csequence( - Cop(Cstore Byte_unsigned, [add_int ptr idx; b1]), - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 1); b2])), - Csequence( - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 2); b3]), - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 3); b4]))) - -let unaligned_load_64 ptr idx = - assert(size_int = 8); - if Arch.allow_unaligned_access - then Cop(Cload Word, [add_int ptr idx]) - else - let v1 = Cop(Cload Byte_unsigned, [add_int ptr idx]) in - let v2 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 1)]) in - let v3 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 2)]) in - let v4 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 3)]) in - let v5 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 4)]) in - let v6 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 5)]) in - let v7 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 6)]) in - let v8 = Cop(Cload Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 7)]) in - let b1, b2, b3, b4, b5, b6, b7, b8 = - if Arch.big_endian - then v1, v2, v3, v4, v5, v6, v7, v8 - else v8, v7, v6, v5, v4, v3, v2, v1 in - Cop(Cor, - [Cop(Cor, - [Cop(Cor, [lsl_int b1 (Cconst_int (8*7)); - lsl_int b2 (Cconst_int (8*6))]); - Cop(Cor, [lsl_int b3 (Cconst_int (8*5)); - lsl_int b4 (Cconst_int (8*4))])]); - Cop(Cor, - [Cop(Cor, [lsl_int b5 (Cconst_int (8*3)); - lsl_int b6 (Cconst_int (8*2))]); - Cop(Cor, [lsl_int b7 (Cconst_int 8); - b8])])]) - -let unaligned_set_64 ptr idx newval = - assert(size_int = 8); - if Arch.allow_unaligned_access - then Cop(Cstore Word, [add_int ptr idx; newval]) - else - let v1 = - Cop(Cand, [Cop(Clsr, [newval; Cconst_int (8*7)]); Cconst_int 0xFF]) in - let v2 = - Cop(Cand, [Cop(Clsr, [newval; Cconst_int (8*6)]); Cconst_int 0xFF]) in - let v3 = - Cop(Cand, [Cop(Clsr, [newval; Cconst_int (8*5)]); Cconst_int 0xFF]) in - let v4 = - Cop(Cand, [Cop(Clsr, [newval; Cconst_int (8*4)]); Cconst_int 0xFF]) in - let v5 = - Cop(Cand, [Cop(Clsr, [newval; Cconst_int (8*3)]); Cconst_int 0xFF]) in - let v6 = - Cop(Cand, [Cop(Clsr, [newval; Cconst_int (8*2)]); Cconst_int 0xFF]) in - let v7 = Cop(Cand, [Cop(Clsr, [newval; Cconst_int 8]); Cconst_int 0xFF]) in - let v8 = Cop(Cand, [newval; Cconst_int 0xFF]) in - let b1, b2, b3, b4, b5, b6, b7, b8 = - if Arch.big_endian - then v1, v2, v3, v4, v5, v6, v7, v8 - else v8, v7, v6, v5, v4, v3, v2, v1 in - Csequence( - Csequence( - Csequence( - Cop(Cstore Byte_unsigned, [add_int ptr idx; b1]), - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 1); b2])), - Csequence( - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 2); b3]), - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 3); b4]))), - Csequence( - Csequence( - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 4); b5]), - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 5); b6])), - Csequence( - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 6); b7]), - Cop(Cstore Byte_unsigned, - [add_int (add_int ptr idx) (Cconst_int 7); b8])))) - -let max_or_zero a = - bind "size" a (fun a -> - (* equivalent to - Cifthenelse(Cop(Ccmpi Cle, [a; Cconst_int 0]), Cconst_int 0, a) - - if a is positive, sign is 0 hence sign_negation is full of 1 - so sign_negation&a = a - if a is negative, sign is full of 1 hence sign_negation is 0 - so sign_negation&a = 0 *) - let sign = Cop(Casr, [a; Cconst_int (size_int * 8 - 1)]) in - let sign_negation = Cop(Cxor, [sign; Cconst_int (-1)]) in - Cop(Cand, [sign_negation; a])) - -let check_bound unsafe dbg a1 a2 k = - if unsafe then k - else Csequence(make_checkbound dbg [max_or_zero a1;a2], k) - -(* Simplification of some primitives into C calls *) - -let default_prim name = - { prim_name = name; prim_arity = 0 (*ignored*); - prim_alloc = true; prim_native_name = ""; prim_native_float = false ; } - -let simplif_primitive_32bits = function - Pbintofint Pint64 -> Pccall (default_prim "caml_int64_of_int") - | Pintofbint Pint64 -> Pccall (default_prim "caml_int64_to_int") - | Pcvtbint(Pint32, Pint64) -> Pccall (default_prim "caml_int64_of_int32") - | Pcvtbint(Pint64, Pint32) -> Pccall (default_prim "caml_int64_to_int32") - | Pcvtbint(Pnativeint, Pint64) -> - Pccall (default_prim "caml_int64_of_nativeint") - | Pcvtbint(Pint64, Pnativeint) -> - Pccall (default_prim "caml_int64_to_nativeint") - | Pnegbint Pint64 -> Pccall (default_prim "caml_int64_neg") - | Paddbint Pint64 -> Pccall (default_prim "caml_int64_add") - | Psubbint Pint64 -> Pccall (default_prim "caml_int64_sub") - | Pmulbint Pint64 -> Pccall (default_prim "caml_int64_mul") - | Pdivbint Pint64 -> Pccall (default_prim "caml_int64_div") - | Pmodbint Pint64 -> Pccall (default_prim "caml_int64_mod") - | Pandbint Pint64 -> Pccall (default_prim "caml_int64_and") - | Porbint Pint64 -> Pccall (default_prim "caml_int64_or") - | Pxorbint Pint64 -> Pccall (default_prim "caml_int64_xor") - | Plslbint Pint64 -> Pccall (default_prim "caml_int64_shift_left") - | Plsrbint Pint64 -> Pccall (default_prim "caml_int64_shift_right_unsigned") - | Pasrbint Pint64 -> Pccall (default_prim "caml_int64_shift_right") - | Pbintcomp(Pint64, Lambda.Ceq) -> Pccall (default_prim "caml_equal") - | Pbintcomp(Pint64, Lambda.Cneq) -> Pccall (default_prim "caml_notequal") - | Pbintcomp(Pint64, Lambda.Clt) -> Pccall (default_prim "caml_lessthan") - | Pbintcomp(Pint64, Lambda.Cgt) -> Pccall (default_prim "caml_greaterthan") - | Pbintcomp(Pint64, Lambda.Cle) -> Pccall (default_prim "caml_lessequal") - | Pbintcomp(Pint64, Lambda.Cge) -> Pccall (default_prim "caml_greaterequal") - | Pbigarrayref(unsafe, n, Pbigarray_int64, layout) -> - Pccall (default_prim ("caml_ba_get_" ^ string_of_int n)) - | Pbigarrayset(unsafe, n, Pbigarray_int64, layout) -> - Pccall (default_prim ("caml_ba_set_" ^ string_of_int n)) - | Pstring_load_64(_) -> Pccall (default_prim "caml_string_get64") - | Pstring_set_64(_) -> Pccall (default_prim "caml_string_set64") - | Pbigstring_load_64(_) -> Pccall (default_prim "caml_ba_uint8_get64") - | Pbigstring_set_64(_) -> Pccall (default_prim "caml_ba_uint8_set64") - | Pbbswap Pint64 -> Pccall (default_prim "caml_int64_bswap") - | p -> p - -let simplif_primitive p = - match p with - | Pduprecord _ -> - Pccall (default_prim "caml_obj_dup") - | Pbigarrayref(unsafe, n, Pbigarray_unknown, layout) -> - Pccall (default_prim ("caml_ba_get_" ^ string_of_int n)) - | Pbigarrayset(unsafe, n, Pbigarray_unknown, layout) -> - Pccall (default_prim ("caml_ba_set_" ^ string_of_int n)) - | Pbigarrayref(unsafe, n, kind, Pbigarray_unknown_layout) -> - Pccall (default_prim ("caml_ba_get_" ^ string_of_int n)) - | Pbigarrayset(unsafe, n, kind, Pbigarray_unknown_layout) -> - Pccall (default_prim ("caml_ba_set_" ^ string_of_int n)) - | p -> - if size_int = 8 then p else simplif_primitive_32bits p - -(* Build switchers both for constants and blocks *) - -let transl_isout h arg = tag_int (Cop(Ccmpa Clt, [h ; arg])) - -(* Build an actual switch (ie jump table) *) - -module SArgBlocks = -struct - type primitive = operation - - let eqint = Ccmpi Ceq - let neint = Ccmpi Cne - let leint = Ccmpi Cle - let ltint = Ccmpi Clt - let geint = Ccmpi Cge - let gtint = Ccmpi Cgt - - type act = expression - - let default = Cexit (0,[]) - let make_const i = Cconst_int i - let make_prim p args = Cop (p,args) - let make_offset arg n = add_const arg n - let make_isout h arg = Cop (Ccmpa Clt, [h ; arg]) - let make_isin h arg = Cop (Ccmpa Cge, [h ; arg]) - let make_if cond ifso ifnot = Cifthenelse (cond, ifso, ifnot) - let make_switch arg cases actions = Cswitch (arg,cases,actions) - let bind arg body = bind "switcher" arg body - - let make_catch handler = match handler with - | Cexit (i,[]) -> i,fun e -> e - | _ -> - let i = next_raise_count () in -(* - Printf.eprintf "SHARE CMM: %i\n" i ; - Printcmm.expression Format.str_formatter handler ; - Printf.eprintf "%s\n" (Format.flush_str_formatter ()) ; -*) - i, - (fun body -> match body with - | Cexit (j,_) -> - if i=j then handler - else body - | _ -> Ccatch (i,[],body,handler)) - - let make_exit i = Cexit (i,[]) - -end - -(* cmm store, as sharing as normally been detected in previous - phases, we only share exits *) -module StoreExp = - Switch.Store - (struct - type t = expression - type key = int - let make_key = function - | Cexit (i,[]) -> Some i - | _ -> None - end) - -module SwitcherBlocks = Switch.Make(SArgBlocks) - -(* Int switcher, arg in [low..high], - cases is list of individual cases, and is sorted by first component *) - -let transl_int_switch arg low high cases default = match cases with -| [] -> assert false -| _::_ -> - let store = StoreExp.mk_store () in - assert (store.Switch.act_store default = 0) ; - let cases = - List.map - (fun (i,act) -> i,store.Switch.act_store act) - cases in - let rec inters plow phigh pact = function - | [] -> - if phigh = high then [plow,phigh,pact] - else [(plow,phigh,pact); (phigh+1,high,0) ] - | (i,act)::rem -> - if i = phigh+1 then - if pact = act then - inters plow i pact rem - else - (plow,phigh,pact)::inters i i act rem - else (* insert default *) - if pact = 0 then - if act = 0 then - inters plow i 0 rem - else - (plow,i-1,pact):: - inters i i act rem - else (* pact <> 0 *) - (plow,phigh,pact):: - begin - if act = 0 then inters (phigh+1) i 0 rem - else (phigh+1,i-1,0)::inters i i act rem - end in - let inters = match cases with - | [] -> assert false - | (k0,act0)::rem -> - if k0 = low then inters k0 k0 act0 rem - else inters low (k0-1) 0 cases in - bind "switcher" arg - (fun a -> - SwitcherBlocks.zyva - (low,high) - a - (Array.of_list inters) store) - - -(* Auxiliary functions for optimizing "let" of boxed numbers (floats and - boxed integers *) - -type unboxed_number_kind = - No_unboxing - | Boxed_float - | Boxed_integer of boxed_integer - -let rec is_unboxed_number = function - Uconst(Uconst_ref(_, Uconst_float _)) -> - Boxed_float - | Uprim(p, _, _) -> - begin match simplif_primitive p with - Pccall p -> if p.prim_native_float then Boxed_float else No_unboxing - | Pfloatfield _ -> Boxed_float - | Pfloatofint -> Boxed_float - | Pnegfloat -> Boxed_float - | Pabsfloat -> Boxed_float - | Paddfloat -> Boxed_float - | Psubfloat -> Boxed_float - | Pmulfloat -> Boxed_float - | Pdivfloat -> Boxed_float - | Parrayrefu Pfloatarray -> Boxed_float - | Parrayrefs Pfloatarray -> Boxed_float - | Pbintofint bi -> Boxed_integer bi - | Pcvtbint(src, dst) -> Boxed_integer dst - | Pnegbint bi -> Boxed_integer bi - | Paddbint bi -> Boxed_integer bi - | Psubbint bi -> Boxed_integer bi - | Pmulbint bi -> Boxed_integer bi - | Pdivbint bi -> Boxed_integer bi - | Pmodbint bi -> Boxed_integer bi - | Pandbint bi -> Boxed_integer bi - | Porbint bi -> Boxed_integer bi - | Pxorbint bi -> Boxed_integer bi - | Plslbint bi -> Boxed_integer bi - | Plsrbint bi -> Boxed_integer bi - | Pasrbint bi -> Boxed_integer bi - | Pbigarrayref(_, _, (Pbigarray_float32 | Pbigarray_float64), _) -> - Boxed_float - | Pbigarrayref(_, _, Pbigarray_int32, _) -> Boxed_integer Pint32 - | Pbigarrayref(_, _, Pbigarray_int64, _) -> Boxed_integer Pint64 - | Pbigarrayref(_, _, Pbigarray_native_int,_) -> Boxed_integer Pnativeint - | Pstring_load_32(_) -> Boxed_integer Pint32 - | Pstring_load_64(_) -> Boxed_integer Pint64 - | Pbigstring_load_32(_) -> Boxed_integer Pint32 - | Pbigstring_load_64(_) -> Boxed_integer Pint64 - | Pbbswap bi -> Boxed_integer bi - | _ -> No_unboxing - end - | Ulet (_, _, e) | Usequence (_, e) -> is_unboxed_number e - | _ -> No_unboxing - -let subst_boxed_number unbox_fn boxed_id unboxed_id box_chunk box_offset exp = - let need_boxed = ref false in - let assigned = ref false in - let rec subst = function - Cvar id as e -> - if Ident.same id boxed_id then need_boxed := true; e - | Clet(id, arg, body) -> Clet(id, subst arg, subst body) - | Cassign(id, arg) -> - if Ident.same id boxed_id then begin - assigned := true; - Cassign(unboxed_id, subst(unbox_fn arg)) - end else - Cassign(id, subst arg) - | Ctuple argv -> Ctuple(List.map subst argv) - | Cop(Cload chunk, [Cvar id]) as e -> - if not (Ident.same id boxed_id) then e - else if chunk = box_chunk && box_offset = 0 then - Cvar unboxed_id - else begin - need_boxed := true; - e - end - | Cop(Cload chunk, [Cop(Cadda, [Cvar id; Cconst_int ofs])]) as e -> - if not (Ident.same id boxed_id) then e - else if chunk = box_chunk && ofs = box_offset then - Cvar unboxed_id - else begin - need_boxed := true; - e - end - | Cop(op, argv) -> Cop(op, List.map subst argv) - | Csequence(e1, e2) -> Csequence(subst e1, subst e2) - | Cifthenelse(e1, e2, e3) -> Cifthenelse(subst e1, subst e2, subst e3) - | Cswitch(arg, index, cases) -> - Cswitch(subst arg, index, Array.map subst cases) - | Cloop e -> Cloop(subst e) - | Ccatch(nfail, ids, e1, e2) -> Ccatch(nfail, ids, subst e1, subst e2) - | Cexit (nfail, el) -> Cexit (nfail, List.map subst el) - | Ctrywith(e1, id, e2) -> Ctrywith(subst e1, id, subst e2) - | Cconst_int _ | Cconst_natint _ | Cconst_float _ | Cconst_symbol _ - | Cconst_pointer _ | Cconst_natpointer _ - | Cconst_blockheader _ as e -> e - in - let res = subst exp in - (res, !need_boxed, !assigned) - -(* Translate an expression *) - -let functions = (Queue.create() : ufunction Queue.t) - -let strmatch_compile = - let module S = - Strmatch.Make - (struct - let string_block_length = get_size - let transl_switch = transl_int_switch - end) in - S.compile - -let rec transl = function - Uvar id -> - Cvar id - | Uconst sc -> - transl_constant sc - | Uclosure(fundecls, []) -> - let lbl = Compilenv.new_const_symbol() in - constant_closures := (lbl, fundecls) :: !constant_closures; - List.iter (fun f -> Queue.add f functions) fundecls; - Cconst_symbol lbl - | Uclosure(fundecls, clos_vars) -> - let block_size = - fundecls_size fundecls + List.length clos_vars in - let rec transl_fundecls pos = function - [] -> - List.map transl clos_vars - | f :: rem -> - Queue.add f functions; - let header = - if pos = 0 - then alloc_closure_header block_size - else alloc_infix_header pos in - if f.arity = 1 then - header :: - Cconst_symbol f.label :: - int_const 1 :: - transl_fundecls (pos + 3) rem - else - header :: - Cconst_symbol(curry_function f.arity) :: - int_const f.arity :: - Cconst_symbol f.label :: - transl_fundecls (pos + 4) rem in - Cop(Calloc, transl_fundecls 0 fundecls) - | Uoffset(arg, offset) -> - field_address (transl arg) offset - | Udirect_apply(lbl, args, dbg) -> - Cop(Capply(typ_addr, dbg), Cconst_symbol lbl :: List.map transl args) - | Ugeneric_apply(clos, [arg], dbg) -> - bind "fun" (transl clos) (fun clos -> - Cop(Capply(typ_addr, dbg), [get_field clos 0; transl arg; clos])) - | Ugeneric_apply(clos, args, dbg) -> - let arity = List.length args in - let cargs = Cconst_symbol(apply_function arity) :: - List.map transl (args @ [clos]) in - Cop(Capply(typ_addr, dbg), cargs) - | Usend(kind, met, obj, args, dbg) -> - let call_met obj args clos = - if args = [] then - Cop(Capply(typ_addr, dbg), [get_field clos 0;obj;clos]) - else - let arity = List.length args + 1 in - let cargs = Cconst_symbol(apply_function arity) :: obj :: - (List.map transl args) @ [clos] in - Cop(Capply(typ_addr, dbg), cargs) - in - bind "obj" (transl obj) (fun obj -> - match kind, args with - Self, _ -> - bind "met" (lookup_label obj (transl met)) (call_met obj args) - | Cached, cache :: pos :: args -> - call_cached_method obj (transl met) (transl cache) (transl pos) - (List.map transl args) dbg - | _ -> - bind "met" (lookup_tag obj (transl met)) (call_met obj args)) - | Ulet(id, exp, body) -> - begin match is_unboxed_number exp with - No_unboxing -> - Clet(id, transl exp, transl body) - | Boxed_float -> - transl_unbox_let box_float unbox_float transl_unbox_float - Double_u 0 - id exp body - | Boxed_integer bi -> - transl_unbox_let (box_int bi) (unbox_int bi) (transl_unbox_int bi) - (if bi = Pint32 then Thirtytwo_signed else Word) - size_addr - id exp body - end - | Uletrec(bindings, body) -> - transl_letrec bindings (transl body) - - (* Primitives *) - | Uprim(prim, args, dbg) -> - begin match (simplif_primitive prim, args) with - (Pgetglobal id, []) -> - Cconst_symbol (Ident.name id) - | (Pmakeblock(tag, _, mut), []) -> - assert false - | (Pmakeblock(tag,_, mut), args) -> - make_alloc tag (List.map transl args) - | (Pccall prim, args) -> - if prim.prim_native_float then - box_float - (Cop(Cextcall(prim.prim_native_name, typ_float, false, dbg), - List.map transl_unbox_float args)) - else - Cop(Cextcall(Primitive.native_name prim, typ_addr, prim.prim_alloc, - dbg), - List.map transl args) - | (Pmakearray kind, []) -> - transl_structured_constant (Uconst_block(0, [])) - | (Pmakearray kind, args) -> - begin match kind with - Pgenarray -> - Cop(Cextcall("caml_make_array", typ_addr, true, Debuginfo.none), - [make_alloc 0 (List.map transl args)]) - | Paddrarray | Pintarray -> - make_alloc 0 (List.map transl args) - | Pfloatarray -> - make_float_alloc Obj.double_array_tag - (List.map transl_unbox_float args) - end - | (Pbigarrayref(unsafe, num_dims, elt_kind, layout), arg1 :: argl) -> - let elt = - bigarray_get unsafe elt_kind layout - (transl arg1) (List.map transl argl) dbg in - begin match elt_kind with - Pbigarray_float32 | Pbigarray_float64 -> box_float elt - | Pbigarray_complex32 | Pbigarray_complex64 -> elt - | Pbigarray_int32 -> box_int Pint32 elt - | Pbigarray_int64 -> box_int Pint64 elt - | Pbigarray_native_int -> box_int Pnativeint elt - | Pbigarray_caml_int -> force_tag_int elt - | _ -> tag_int elt - end - | (Pbigarrayset(unsafe, num_dims, elt_kind, layout), arg1 :: argl) -> - let (argidx, argnewval) = split_last argl in - return_unit(bigarray_set unsafe elt_kind layout - (transl arg1) - (List.map transl argidx) - (match elt_kind with - Pbigarray_float32 | Pbigarray_float64 -> - transl_unbox_float argnewval - | Pbigarray_complex32 | Pbigarray_complex64 -> transl argnewval - | Pbigarray_int32 -> transl_unbox_int Pint32 argnewval - | Pbigarray_int64 -> transl_unbox_int Pint64 argnewval - | Pbigarray_native_int -> transl_unbox_int Pnativeint argnewval - | _ -> untag_int (transl argnewval)) - dbg) - | (Pbigarraydim(n), [b]) -> - let dim_ofs = 4 + n in - tag_int (Cop(Cload Word, [field_address (transl b) dim_ofs])) - | (p, [arg]) -> - transl_prim_1 p arg dbg - | (p, [arg1; arg2]) -> - transl_prim_2 p arg1 arg2 dbg - | (p, [arg1; arg2; arg3]) -> - transl_prim_3 p arg1 arg2 arg3 dbg - | (_, _) -> - fatal_error "Cmmgen.transl:prim" - end - - (* Control structures *) - | Uswitch(arg, s) -> - (* As in the bytecode interpreter, only matching against constants - can be checked *) - if Array.length s.us_index_blocks = 0 then - Cswitch - (untag_int (transl arg), - s.us_index_consts, - Array.map transl s.us_actions_consts) - else if Array.length s.us_index_consts = 0 then - transl_switch (get_tag (transl arg)) - s.us_index_blocks s.us_actions_blocks - else - bind "switch" (transl arg) (fun arg -> - Cifthenelse( - Cop(Cand, [arg; Cconst_int 1]), - transl_switch - (untag_int arg) s.us_index_consts s.us_actions_consts, - transl_switch - (get_tag arg) s.us_index_blocks s.us_actions_blocks)) - | Ustringswitch(arg,sw,d) -> - bind "switch" (transl arg) - (fun arg -> - strmatch_compile arg (Misc.may_map transl d) - (List.map (fun (s,act) -> s,transl act) sw)) - | Ustaticfail (nfail, args) -> - Cexit (nfail, List.map transl args) - | Ucatch(nfail, [], body, handler) -> - make_catch nfail (transl body) (transl handler) - | Ucatch(nfail, ids, body, handler) -> - Ccatch(nfail, ids, transl body, transl handler) - | Utrywith(body, exn, handler) -> - Ctrywith(transl body, exn, transl handler) - | Uifthenelse(Uprim(Pnot, [arg], _), ifso, ifnot) -> - transl (Uifthenelse(arg, ifnot, ifso)) - | Uifthenelse(cond, ifso, Ustaticfail (nfail, [])) -> - exit_if_false cond (transl ifso) nfail - | Uifthenelse(cond, Ustaticfail (nfail, []), ifnot) -> - exit_if_true cond nfail (transl ifnot) - | Uifthenelse(Uprim(Psequand, _, _) as cond, ifso, ifnot) -> - let raise_num = next_raise_count () in - make_catch - raise_num - (exit_if_false cond (transl ifso) raise_num) - (transl ifnot) - | Uifthenelse(Uprim(Psequor, _, _) as cond, ifso, ifnot) -> - let raise_num = next_raise_count () in - make_catch - raise_num - (exit_if_true cond raise_num (transl ifnot)) - (transl ifso) - | Uifthenelse (Uifthenelse (cond, condso, condnot), ifso, ifnot) -> - let num_true = next_raise_count () in - make_catch - num_true - (make_catch2 - (fun shared_false -> - Cifthenelse - (test_bool (transl cond), - exit_if_true condso num_true shared_false, - exit_if_true condnot num_true shared_false)) - (transl ifnot)) - (transl ifso) - | Uifthenelse(cond, ifso, ifnot) -> - Cifthenelse(test_bool(transl cond), transl ifso, transl ifnot) - | Usequence(exp1, exp2) -> - Csequence(remove_unit(transl exp1), transl exp2) - | Uwhile(cond, body) -> - let raise_num = next_raise_count () in - return_unit - (Ccatch - (raise_num, [], - Cloop(exit_if_false cond (remove_unit(transl body)) raise_num), - Ctuple [])) - | Ufor(id, low, high, dir, body) -> - let tst = match dir with Upto -> Cgt | Downto -> Clt in - let inc = match dir with Upto -> Caddi | Downto -> Csubi in - let raise_num = next_raise_count () in - let id_prev = Ident.rename id in - return_unit - (Clet - (id, transl low, - bind_nonvar "bound" (transl high) (fun high -> - Ccatch - (raise_num, [], - Cifthenelse - (Cop(Ccmpi tst, [Cvar id; high]), Cexit (raise_num, []), - Cloop - (Csequence - (remove_unit(transl body), - Clet(id_prev, Cvar id, - Csequence - (Cassign(id, - Cop(inc, [Cvar id; Cconst_int 2])), - Cifthenelse - (Cop(Ccmpi Ceq, [Cvar id_prev; high]), - Cexit (raise_num,[]), Ctuple [])))))), - Ctuple [])))) - | Uassign(id, exp) -> - return_unit(Cassign(id, transl exp)) - -and transl_prim_1 p arg dbg = - match p with - (* Generic operations *) - | (Pidentity | Pbytes_to_string | Pbytes_of_string ) -> - transl arg - | Pignore -> - return_unit(remove_unit (transl arg)) - (* Heap operations *) - | Pfield (n,_) -> - get_field (transl arg) n - | Pfloatfield (n,_) -> - let ptr = transl arg in - box_float( - Cop(Cload Double_u, - [if n = 0 then ptr - else Cop(Cadda, [ptr; Cconst_int(n * size_float)])])) - | Pint_as_pointer -> - Cop(Cadda, [transl arg; Cconst_int (-1)]) - (* Exceptions *) - | Praise k -> - Cop(Craise (k, dbg), [transl arg]) - (* Integer operations *) - | Pnegint -> - Cop(Csubi, [Cconst_int 2; transl arg]) - | Pctconst c -> - let const_of_bool b = tag_int (Cconst_int (if b then 1 else 0)) in - begin - match c with - | Big_endian -> const_of_bool Arch.big_endian - | Word_size -> tag_int (Cconst_int (8*Arch.size_int)) - | Ostype_unix -> const_of_bool (Sys.os_type = "Unix") - | Ostype_win32 -> const_of_bool (Sys.os_type = "Win32") - | Ostype_cygwin -> const_of_bool (Sys.os_type = "Cygwin") - end - | Poffsetint n -> - if no_overflow_lsl n then - add_const (transl arg) (n lsl 1) - else - transl_prim_2 Paddint arg (Uconst (Uconst_int n)) - Debuginfo.none - | Poffsetref n -> - return_unit - (bind "ref" (transl arg) (fun arg -> - Cop(Cstore Word, - [arg; add_const (Cop(Cload Word, [arg])) (n lsl 1)]))) - (* Floating-point operations *) - | Pfloatofint -> - box_float(Cop(Cfloatofint, [untag_int(transl arg)])) - | Pintoffloat -> - tag_int(Cop(Cintoffloat, [transl_unbox_float arg])) - | Pnegfloat -> - box_float(Cop(Cnegf, [transl_unbox_float arg])) - | Pabsfloat -> - box_float(Cop(Cabsf, [transl_unbox_float arg])) - (* String operations *) - | (Pstringlength | Pbyteslength) -> - tag_int(string_length (transl arg)) - (* Array operations *) - | Parraylength kind -> - begin match kind with - Pgenarray -> - let len = - if wordsize_shift = numfloat_shift then - Cop(Clsr, [header(transl arg); Cconst_int wordsize_shift]) - else - bind "header" (header(transl arg)) (fun hdr -> - Cifthenelse(is_addr_array_hdr hdr, - Cop(Clsr, [hdr; Cconst_int wordsize_shift]), - Cop(Clsr, [hdr; Cconst_int numfloat_shift]))) in - Cop(Cor, [len; Cconst_int 1]) - | Paddrarray | Pintarray -> - Cop(Cor, [addr_array_length(header(transl arg)); Cconst_int 1]) - | Pfloatarray -> - Cop(Cor, [float_array_length(header(transl arg)); Cconst_int 1]) - end - (* Boolean operations *) - | Pnot -> - Cop(Csubi, [Cconst_int 4; transl arg]) (* 1 -> 3, 3 -> 1 *) - (* Test integer/block *) - | Pisint -> - tag_int(Cop(Cand, [transl arg; Cconst_int 1])) - (* Boxed integers *) - | Pbintofint bi -> - box_int bi (untag_int (transl arg)) - | Pintofbint bi -> - force_tag_int (transl_unbox_int bi arg) - | Pcvtbint(bi1, bi2) -> - box_int bi2 (transl_unbox_int bi1 arg) - | Pnegbint bi -> - box_int bi (Cop(Csubi, [Cconst_int 0; transl_unbox_int bi arg])) - | Pbbswap bi -> - let prim = match bi with - | Pnativeint -> "nativeint" - | Pint32 -> "int32" - | Pint64 -> "int64" in - box_int bi (Cop(Cextcall(Printf.sprintf "caml_%s_direct_bswap" prim, - typ_int, false, Debuginfo.none), - [transl_unbox_int bi arg])) - | Pbswap16 -> - tag_int (Cop(Cextcall("caml_bswap16_direct", typ_int, false, - Debuginfo.none), - [untag_int (transl arg)])) - | _ -> - fatal_error "Cmmgen.transl_prim_1" - -and transl_prim_2 p arg1 arg2 dbg = - match p with - (* Heap operations *) - Psetfield(n, ptr, _) -> - if ptr then - return_unit(Cop(Cextcall("caml_modify", typ_void, false,Debuginfo.none), - [field_address (transl arg1) n; transl arg2])) - else - return_unit(set_field (transl arg1) n (transl arg2)) - | Psetfloatfield (n,_) -> - let ptr = transl arg1 in - return_unit( - Cop(Cstore Double_u, - [if n = 0 then ptr - else Cop(Cadda, [ptr; Cconst_int(n * size_float)]); - transl_unbox_float arg2])) - - (* Boolean operations *) - | Psequand -> - Cifthenelse(test_bool(transl arg1), transl arg2, Cconst_int 1) - (* let id = Ident.create "res1" in - Clet(id, transl arg1, - Cifthenelse(test_bool(Cvar id), transl arg2, Cvar id)) *) - | Psequor -> - Cifthenelse(test_bool(transl arg1), Cconst_int 3, transl arg2) - - (* Integer operations *) - | Paddint -> - decr_int(add_int (transl arg1) (transl arg2)) - | Psubint -> - incr_int(sub_int (transl arg1) (transl arg2)) - | Pmulint -> - incr_int(mul_int (decr_int(transl arg1)) (untag_int(transl arg2))) - | Pdivint -> - tag_int(div_int (untag_int(transl arg1)) (untag_int(transl arg2)) dbg) - | Pmodint -> - tag_int(mod_int (untag_int(transl arg1)) (untag_int(transl arg2)) dbg) - | Pandint -> - Cop(Cand, [transl arg1; transl arg2]) - | Porint -> - Cop(Cor, [transl arg1; transl arg2]) - | Pxorint -> - Cop(Cor, [Cop(Cxor, [ignore_low_bit_int(transl arg1); - ignore_low_bit_int(transl arg2)]); - Cconst_int 1]) - | Plslint -> - incr_int(lsl_int (decr_int(transl arg1)) (untag_int(transl arg2))) - | Plsrint -> - Cop(Cor, [lsr_int (transl arg1) (untag_int(transl arg2)); - Cconst_int 1]) - | Pasrint -> - Cop(Cor, [asr_int (transl arg1) (untag_int(transl arg2)); - Cconst_int 1]) - | Pintcomp cmp -> - tag_int(Cop(Ccmpi(transl_comparison cmp), [transl arg1; transl arg2])) - | Pisout -> - transl_isout (transl arg1) (transl arg2) - (* Float operations *) - | Paddfloat -> - box_float(Cop(Caddf, - [transl_unbox_float arg1; transl_unbox_float arg2])) - | Psubfloat -> - box_float(Cop(Csubf, - [transl_unbox_float arg1; transl_unbox_float arg2])) - | Pmulfloat -> - box_float(Cop(Cmulf, - [transl_unbox_float arg1; transl_unbox_float arg2])) - | Pdivfloat -> - box_float(Cop(Cdivf, - [transl_unbox_float arg1; transl_unbox_float arg2])) - | Pfloatcomp cmp -> - tag_int(Cop(Ccmpf(transl_comparison cmp), - [transl_unbox_float arg1; transl_unbox_float arg2])) - - (* String operations *) - | (Pstringrefu | Pbytesrefu) -> - tag_int(Cop(Cload Byte_unsigned, - [add_int (transl arg1) (untag_int(transl arg2))])) - | (Pstringrefs | Pbytesrefs) -> - tag_int - (bind "str" (transl arg1) (fun str -> - bind "index" (untag_int (transl arg2)) (fun idx -> - Csequence( - make_checkbound dbg [string_length str; idx], - Cop(Cload Byte_unsigned, [add_int str idx]))))) - - | Pstring_load_16(unsafe) -> - tag_int - (bind "str" (transl arg1) (fun str -> - bind "index" (untag_int (transl arg2)) (fun idx -> - check_bound unsafe dbg (sub_int (string_length str) (Cconst_int 1)) - idx (unaligned_load_16 str idx)))) - - | Pbigstring_load_16(unsafe) -> - tag_int - (bind "ba" (transl arg1) (fun ba -> - bind "index" (untag_int (transl arg2)) (fun idx -> - bind "ba_data" (Cop(Cload Word, [field_address ba 1])) (fun ba_data -> - check_bound unsafe dbg (sub_int (Cop(Cload Word,[field_address ba 5])) - (Cconst_int 1)) idx - (unaligned_load_16 ba_data idx))))) - - | Pstring_load_32(unsafe) -> - box_int Pint32 - (bind "str" (transl arg1) (fun str -> - bind "index" (untag_int (transl arg2)) (fun idx -> - check_bound unsafe dbg (sub_int (string_length str) (Cconst_int 3)) - idx (unaligned_load_32 str idx)))) - - | Pbigstring_load_32(unsafe) -> - box_int Pint32 - (bind "ba" (transl arg1) (fun ba -> - bind "index" (untag_int (transl arg2)) (fun idx -> - bind "ba_data" (Cop(Cload Word, [field_address ba 1])) (fun ba_data -> - check_bound unsafe dbg (sub_int (Cop(Cload Word,[field_address ba 5])) - (Cconst_int 3)) idx - (unaligned_load_32 ba_data idx))))) - - | Pstring_load_64(unsafe) -> - box_int Pint64 - (bind "str" (transl arg1) (fun str -> - bind "index" (untag_int (transl arg2)) (fun idx -> - check_bound unsafe dbg (sub_int (string_length str) (Cconst_int 7)) - idx (unaligned_load_64 str idx)))) - - | Pbigstring_load_64(unsafe) -> - box_int Pint64 - (bind "ba" (transl arg1) (fun ba -> - bind "index" (untag_int (transl arg2)) (fun idx -> - bind "ba_data" (Cop(Cload Word, [field_address ba 1])) (fun ba_data -> - check_bound unsafe dbg (sub_int (Cop(Cload Word,[field_address ba 5])) - (Cconst_int 7)) idx - (unaligned_load_64 ba_data idx))))) - - (* Array operations *) - | Parrayrefu kind -> - begin match kind with - Pgenarray -> - bind "arr" (transl arg1) (fun arr -> - bind "index" (transl arg2) (fun idx -> - Cifthenelse(is_addr_array_ptr arr, - addr_array_ref arr idx, - float_array_ref arr idx))) - | Paddrarray | Pintarray -> - addr_array_ref (transl arg1) (transl arg2) - | Pfloatarray -> - float_array_ref (transl arg1) (transl arg2) - end - | Parrayrefs kind -> - begin match kind with - | Pgenarray -> - bind "index" (transl arg2) (fun idx -> - bind "arr" (transl arg1) (fun arr -> - bind "header" (header arr) (fun hdr -> - if wordsize_shift = numfloat_shift then - Csequence(make_checkbound dbg [addr_array_length hdr; idx], - Cifthenelse(is_addr_array_hdr hdr, - addr_array_ref arr idx, - float_array_ref arr idx)) - else - Cifthenelse(is_addr_array_hdr hdr, - Csequence(make_checkbound dbg [addr_array_length hdr; idx], - addr_array_ref arr idx), - Csequence(make_checkbound dbg [float_array_length hdr; idx], - float_array_ref arr idx))))) - | Paddrarray | Pintarray -> - bind "index" (transl arg2) (fun idx -> - bind "arr" (transl arg1) (fun arr -> - Csequence(make_checkbound dbg [addr_array_length(header arr); idx], - addr_array_ref arr idx))) - | Pfloatarray -> - box_float( - bind "index" (transl arg2) (fun idx -> - bind "arr" (transl arg1) (fun arr -> - Csequence(make_checkbound dbg - [float_array_length(header arr); idx], - unboxed_float_array_ref arr idx)))) - end - - (* Operations on bitvects *) - | Pbittest -> - bind "index" (untag_int(transl arg2)) (fun idx -> - tag_int( - Cop(Cand, [Cop(Clsr, [Cop(Cload Byte_unsigned, - [add_int (transl arg1) - (Cop(Clsr, [idx; Cconst_int 3]))]); - Cop(Cand, [idx; Cconst_int 7])]); - Cconst_int 1]))) - - (* Boxed integers *) - | Paddbint bi -> - box_int bi (Cop(Caddi, - [transl_unbox_int bi arg1; transl_unbox_int bi arg2])) - | Psubbint bi -> - box_int bi (Cop(Csubi, - [transl_unbox_int bi arg1; transl_unbox_int bi arg2])) - | Pmulbint bi -> - box_int bi (Cop(Cmuli, - [transl_unbox_int bi arg1; transl_unbox_int bi arg2])) - | Pdivbint bi -> - box_int bi (safe_div_bi - (transl_unbox_int bi arg1) (transl_unbox_int bi arg2) - bi dbg) - | Pmodbint bi -> - box_int bi (safe_mod_bi - (transl_unbox_int bi arg1) (transl_unbox_int bi arg2) - bi dbg) - | Pandbint bi -> - box_int bi (Cop(Cand, - [transl_unbox_int bi arg1; transl_unbox_int bi arg2])) - | Porbint bi -> - box_int bi (Cop(Cor, - [transl_unbox_int bi arg1; transl_unbox_int bi arg2])) - | Pxorbint bi -> - box_int bi (Cop(Cxor, - [transl_unbox_int bi arg1; transl_unbox_int bi arg2])) - | Plslbint bi -> - box_int bi (Cop(Clsl, - [transl_unbox_int bi arg1; untag_int(transl arg2)])) - | Plsrbint bi -> - box_int bi (Cop(Clsr, - [make_unsigned_int bi (transl_unbox_int bi arg1); - untag_int(transl arg2)])) - | Pasrbint bi -> - box_int bi (Cop(Casr, - [transl_unbox_int bi arg1; untag_int(transl arg2)])) - | Pbintcomp(bi, cmp) -> - tag_int (Cop(Ccmpi(transl_comparison cmp), - [transl_unbox_int bi arg1; transl_unbox_int bi arg2])) - | _ -> - fatal_error "Cmmgen.transl_prim_2" - -and transl_prim_3 p arg1 arg2 arg3 dbg = - match p with - (* String operations *) - | (Pstringsetu | Pbytessetu) -> - return_unit(Cop(Cstore Byte_unsigned, - [add_int (transl arg1) (untag_int(transl arg2)); - untag_int(transl arg3)])) - | (Pstringsets | Pbytessets) -> - return_unit - (bind "str" (transl arg1) (fun str -> - bind "index" (untag_int (transl arg2)) (fun idx -> - Csequence( - make_checkbound dbg [string_length str; idx], - Cop(Cstore Byte_unsigned, - [add_int str idx; untag_int(transl arg3)]))))) - - (* Array operations *) - | Parraysetu kind -> - return_unit(begin match kind with - Pgenarray -> - bind "newval" (transl arg3) (fun newval -> - bind "index" (transl arg2) (fun index -> - bind "arr" (transl arg1) (fun arr -> - Cifthenelse(is_addr_array_ptr arr, - addr_array_set arr index newval, - float_array_set arr index (unbox_float newval))))) - | Paddrarray -> - addr_array_set (transl arg1) (transl arg2) (transl arg3) - | Pintarray -> - int_array_set (transl arg1) (transl arg2) (transl arg3) - | Pfloatarray -> - float_array_set (transl arg1) (transl arg2) (transl_unbox_float arg3) - end) - | Parraysets kind -> - return_unit(begin match kind with - | Pgenarray -> - bind "newval" (transl arg3) (fun newval -> - bind "index" (transl arg2) (fun idx -> - bind "arr" (transl arg1) (fun arr -> - bind "header" (header arr) (fun hdr -> - if wordsize_shift = numfloat_shift then - Csequence(make_checkbound dbg [addr_array_length hdr; idx], - Cifthenelse(is_addr_array_hdr hdr, - addr_array_set arr idx newval, - float_array_set arr idx - (unbox_float newval))) - else - Cifthenelse(is_addr_array_hdr hdr, - Csequence(make_checkbound dbg [addr_array_length hdr; idx], - addr_array_set arr idx newval), - Csequence(make_checkbound dbg [float_array_length hdr; idx], - float_array_set arr idx - (unbox_float newval))))))) - | Paddrarray -> - bind "newval" (transl arg3) (fun newval -> - bind "index" (transl arg2) (fun idx -> - bind "arr" (transl arg1) (fun arr -> - Csequence(make_checkbound dbg [addr_array_length(header arr); idx], - addr_array_set arr idx newval)))) - | Pintarray -> - bind "newval" (transl arg3) (fun newval -> - bind "index" (transl arg2) (fun idx -> - bind "arr" (transl arg1) (fun arr -> - Csequence(make_checkbound dbg [addr_array_length(header arr); idx], - int_array_set arr idx newval)))) - | Pfloatarray -> - bind "newval" (transl_unbox_float arg3) (fun newval -> - bind "index" (transl arg2) (fun idx -> - bind "arr" (transl arg1) (fun arr -> - Csequence(make_checkbound dbg [float_array_length(header arr);idx], - float_array_set arr idx newval)))) - end) - - | Pstring_set_16(unsafe) -> - return_unit - (bind "str" (transl arg1) (fun str -> - bind "index" (untag_int (transl arg2)) (fun idx -> - bind "newval" (untag_int (transl arg3)) (fun newval -> - check_bound unsafe dbg (sub_int (string_length str) (Cconst_int 1)) - idx (unaligned_set_16 str idx newval))))) - - | Pbigstring_set_16(unsafe) -> - return_unit - (bind "ba" (transl arg1) (fun ba -> - bind "index" (untag_int (transl arg2)) (fun idx -> - bind "newval" (untag_int (transl arg3)) (fun newval -> - bind "ba_data" (Cop(Cload Word, [field_address ba 1])) (fun ba_data -> - check_bound unsafe dbg (sub_int (Cop(Cload Word,[field_address ba 5])) - (Cconst_int 1)) - idx (unaligned_set_16 ba_data idx newval)))))) - - | Pstring_set_32(unsafe) -> - return_unit - (bind "str" (transl arg1) (fun str -> - bind "index" (untag_int (transl arg2)) (fun idx -> - bind "newval" (transl_unbox_int Pint32 arg3) (fun newval -> - check_bound unsafe dbg (sub_int (string_length str) (Cconst_int 3)) - idx (unaligned_set_32 str idx newval))))) - - | Pbigstring_set_32(unsafe) -> - return_unit - (bind "ba" (transl arg1) (fun ba -> - bind "index" (untag_int (transl arg2)) (fun idx -> - bind "newval" (transl_unbox_int Pint32 arg3) (fun newval -> - bind "ba_data" (Cop(Cload Word, [field_address ba 1])) (fun ba_data -> - check_bound unsafe dbg (sub_int (Cop(Cload Word,[field_address ba 5])) - (Cconst_int 3)) - idx (unaligned_set_32 ba_data idx newval)))))) - - | Pstring_set_64(unsafe) -> - return_unit - (bind "str" (transl arg1) (fun str -> - bind "index" (untag_int (transl arg2)) (fun idx -> - bind "newval" (transl_unbox_int Pint64 arg3) (fun newval -> - check_bound unsafe dbg (sub_int (string_length str) (Cconst_int 7)) - idx (unaligned_set_64 str idx newval))))) - - | Pbigstring_set_64(unsafe) -> - return_unit - (bind "ba" (transl arg1) (fun ba -> - bind "index" (untag_int (transl arg2)) (fun idx -> - bind "newval" (transl_unbox_int Pint64 arg3) (fun newval -> - bind "ba_data" (Cop(Cload Word, [field_address ba 1])) (fun ba_data -> - check_bound unsafe dbg (sub_int (Cop(Cload Word,[field_address ba 5])) - (Cconst_int 7)) idx - (unaligned_set_64 ba_data idx newval)))))) - - | _ -> - fatal_error "Cmmgen.transl_prim_3" - -and transl_unbox_float = function - Uconst(Uconst_ref(_, Uconst_float f)) -> Cconst_float f - | exp -> unbox_float(transl exp) - -and transl_unbox_int bi = function - Uconst(Uconst_ref(_, Uconst_int32 n)) -> - Cconst_natint (Nativeint.of_int32 n) - | Uconst(Uconst_ref(_, Uconst_nativeint n)) -> - Cconst_natint n - | Uconst(Uconst_ref(_, Uconst_int64 n)) -> - assert (size_int = 8); Cconst_natint (Int64.to_nativeint n) - | Uprim(Pbintofint bi',[Uconst(Uconst_int i)],_) when bi = bi' -> - Cconst_int i - | exp -> unbox_int bi (transl exp) - -and transl_unbox_let box_fn unbox_fn transl_unbox_fn box_chunk box_offset - id exp body = - let unboxed_id = Ident.create (Ident.name id) in - let trbody1 = transl body in - let (trbody2, need_boxed, is_assigned) = - subst_boxed_number unbox_fn id unboxed_id box_chunk box_offset trbody1 in - if need_boxed && is_assigned then - Clet(id, transl exp, trbody1) - else - Clet(unboxed_id, transl_unbox_fn exp, - if need_boxed - then Clet(id, box_fn(Cvar unboxed_id), trbody2) - else trbody2) - -and make_catch ncatch body handler = match body with -| Cexit (nexit,[]) when nexit=ncatch -> handler -| _ -> Ccatch (ncatch, [], body, handler) - -and make_catch2 mk_body handler = match handler with -| Cexit (_,[])|Ctuple []|Cconst_int _|Cconst_pointer _ -> - mk_body handler -| _ -> - let nfail = next_raise_count () in - make_catch - nfail - (mk_body (Cexit (nfail,[]))) - handler - -and exit_if_true cond nfail otherwise = - match cond with - | Uconst (Uconst_ptr 0) -> otherwise - | Uconst (Uconst_ptr 1) -> Cexit (nfail,[]) - | Uprim(Psequor, [arg1; arg2], _) -> - exit_if_true arg1 nfail (exit_if_true arg2 nfail otherwise) - | Uprim(Psequand, _, _) -> - begin match otherwise with - | Cexit (raise_num,[]) -> - exit_if_false cond (Cexit (nfail,[])) raise_num - | _ -> - let raise_num = next_raise_count () in - make_catch - raise_num - (exit_if_false cond (Cexit (nfail,[])) raise_num) - otherwise - end - | Uprim(Pnot, [arg], _) -> - exit_if_false arg otherwise nfail - | Uifthenelse (cond, ifso, ifnot) -> - make_catch2 - (fun shared -> - Cifthenelse - (test_bool (transl cond), - exit_if_true ifso nfail shared, - exit_if_true ifnot nfail shared)) - otherwise - | _ -> - Cifthenelse(test_bool(transl cond), Cexit (nfail, []), otherwise) - -and exit_if_false cond otherwise nfail = - match cond with - | Uconst (Uconst_ptr 0) -> Cexit (nfail,[]) - | Uconst (Uconst_ptr 1) -> otherwise - | Uprim(Psequand, [arg1; arg2], _) -> - exit_if_false arg1 (exit_if_false arg2 otherwise nfail) nfail - | Uprim(Psequor, _, _) -> - begin match otherwise with - | Cexit (raise_num,[]) -> - exit_if_true cond raise_num (Cexit (nfail,[])) - | _ -> - let raise_num = next_raise_count () in - make_catch - raise_num - (exit_if_true cond raise_num (Cexit (nfail,[]))) - otherwise - end - | Uprim(Pnot, [arg], _) -> - exit_if_true arg nfail otherwise - | Uifthenelse (cond, ifso, ifnot) -> - make_catch2 - (fun shared -> - Cifthenelse - (test_bool (transl cond), - exit_if_false ifso shared nfail, - exit_if_false ifnot shared nfail)) - otherwise - | _ -> - Cifthenelse(test_bool(transl cond), otherwise, Cexit (nfail, [])) - -and transl_switch arg index cases = match Array.length cases with -| 0 -> fatal_error "Cmmgen.transl_switch" -| 1 -> transl cases.(0) -| _ -> - let cases = Array.map transl cases in - let store = StoreExp.mk_store () in - let index = - Array.map - (fun j -> store.Switch.act_store cases.(j)) - index in - let n_index = Array.length index in - let inters = ref [] - and this_high = ref (n_index-1) - and this_low = ref (n_index-1) - and this_act = ref index.(n_index-1) in - for i = n_index-2 downto 0 do - let act = index.(i) in - if act = !this_act then - decr this_low - else begin - inters := (!this_low, !this_high, !this_act) :: !inters ; - this_high := i ; - this_low := i ; - this_act := act - end - done ; - inters := (0, !this_high, !this_act) :: !inters ; - match !inters with - | [_] -> cases.(0) - | inters -> - bind "switcher" arg - (fun a -> - SwitcherBlocks.zyva - (0,n_index-1) - a - (Array.of_list inters) store) - -and transl_letrec bindings cont = - let bsz = - List.map (fun (id, exp) -> (id, exp, expr_size Ident.empty exp)) bindings in - let op_alloc prim sz = - Cop(Cextcall(prim, typ_addr, true, Debuginfo.none), [int_const sz]) in - let rec init_blocks = function - | [] -> fill_nonrec bsz - | (id, exp, RHS_block sz) :: rem -> - Clet(id, op_alloc "caml_alloc_dummy" sz, init_blocks rem) - | (id, exp, RHS_floatblock sz) :: rem -> - Clet(id, op_alloc "caml_alloc_dummy_float" sz, init_blocks rem) - | (id, exp, RHS_nonrec) :: rem -> - Clet (id, Cconst_int 0, init_blocks rem) - and fill_nonrec = function - | [] -> fill_blocks bsz - | (id, exp, (RHS_block _ | RHS_floatblock _)) :: rem -> - fill_nonrec rem - | (id, exp, RHS_nonrec) :: rem -> - Clet (id, transl exp, fill_nonrec rem) - and fill_blocks = function - | [] -> cont - | (id, exp, (RHS_block _ | RHS_floatblock _)) :: rem -> - let op = - Cop(Cextcall("caml_update_dummy", typ_void, false, Debuginfo.none), - [Cvar id; transl exp]) in - Csequence(op, fill_blocks rem) - | (id, exp, RHS_nonrec) :: rem -> - fill_blocks rem - in init_blocks bsz - -(* Translate a function definition *) - -let transl_function f = - Cfunction {fun_name = f.label; - fun_args = List.map (fun id -> (id, typ_addr)) f.params; - fun_body = transl f.body; - fun_fast = !Clflags.optimize_for_speed; - fun_dbg = f.dbg; } - -(* Translate all function definitions *) - -module StringSet = - Set.Make(struct - type t = string - let compare (x:t) y = compare x y - end) - -let rec transl_all_functions already_translated cont = - try - let f = Queue.take functions in - if StringSet.mem f.label already_translated then - transl_all_functions already_translated cont - else begin - transl_all_functions - (StringSet.add f.label already_translated) - (transl_function f :: cont) - end - with Queue.Empty -> - cont - -(* Emit structured constants *) - -let rec emit_structured_constant symb cst cont = - let emit_block white_header symb cont = - (* Headers for structured constants must be marked black in case we - are in no-naked-pointers mode. See [caml_darken]. *) - let black_header = Nativeint.logor white_header caml_black in - Cint black_header :: Cdefine_symbol symb :: cont - in - match cst with - | Uconst_float s-> - emit_block float_header symb (Cdouble s :: cont) - | Uconst_string s -> - emit_block (string_header (String.length s)) symb - (emit_string_constant s cont) - | Uconst_int32 n -> - emit_block boxedint32_header symb - (emit_boxed_int32_constant n cont) - | Uconst_int64 n -> - emit_block boxedint64_header symb - (emit_boxed_int64_constant n cont) - | Uconst_nativeint n -> - emit_block boxedintnat_header symb - (emit_boxed_nativeint_constant n cont) - | Uconst_block (tag, csts) -> - let cont = List.fold_right emit_constant csts cont in - emit_block (block_header tag (List.length csts)) symb cont - | Uconst_float_array fields -> - emit_block (floatarray_header (List.length fields)) symb - (Misc.map_end (fun f -> Cdouble f) fields cont) - -and emit_constant cst cont = - match cst with - | Uconst_int n | Uconst_ptr n -> - Cint(Nativeint.add (Nativeint.shift_left (Nativeint.of_int n) 1) 1n) - :: cont - | Uconst_ref (label, _) -> - Csymbol_address label :: cont - -and emit_string_constant s cont = - let n = size_int - 1 - (String.length s) mod size_int in - Cstring s :: Cskip n :: Cint8 n :: cont - -and emit_boxed_int32_constant n cont = - let n = Nativeint.of_int32 n in - if size_int = 8 then - Csymbol_address("caml_int32_ops") :: Cint32 n :: Cint32 0n :: cont - else - Csymbol_address("caml_int32_ops") :: Cint n :: cont - -and emit_boxed_nativeint_constant n cont = - Csymbol_address("caml_nativeint_ops") :: Cint n :: cont - -and emit_boxed_int64_constant n cont = - let lo = Int64.to_nativeint n in - if size_int = 8 then - Csymbol_address("caml_int64_ops") :: Cint lo :: cont - else begin - let hi = Int64.to_nativeint (Int64.shift_right n 32) in - if big_endian then - Csymbol_address("caml_int64_ops") :: Cint hi :: Cint lo :: cont - else - Csymbol_address("caml_int64_ops") :: Cint lo :: Cint hi :: cont - end - -(* Emit constant closures *) - -let emit_constant_closure symb fundecls cont = - match fundecls with - [] -> assert false - | f1 :: remainder -> - let rec emit_others pos = function - [] -> cont - | f2 :: rem -> - if f2.arity = 1 then - Cint(infix_header pos) :: - Csymbol_address f2.label :: - Cint 3n :: - emit_others (pos + 3) rem - else - Cint(infix_header pos) :: - Csymbol_address(curry_function f2.arity) :: - Cint(Nativeint.of_int (f2.arity lsl 1 + 1)) :: - Csymbol_address f2.label :: - emit_others (pos + 4) rem in - Cint(black_closure_header (fundecls_size fundecls)) :: - Cdefine_symbol symb :: - if f1.arity = 1 then - Csymbol_address f1.label :: - Cint 3n :: - emit_others 3 remainder - else - Csymbol_address(curry_function f1.arity) :: - Cint(Nativeint.of_int (f1.arity lsl 1 + 1)) :: - Csymbol_address f1.label :: - emit_others 4 remainder - -(* Emit all structured constants *) - -let emit_all_constants cont = - let c = ref cont in - List.iter - (fun (lbl, global, cst) -> - let cst = emit_structured_constant lbl cst [] in - let cst = if global then - Cglobal_symbol lbl :: cst - else cst in - c:= Cdata(cst):: !c) - (Compilenv.structured_constants()); - List.iter - (fun (symb, fundecls) -> - c := Cdata(emit_constant_closure symb fundecls []) :: !c) - !constant_closures; - constant_closures := []; - !c - -(* Translate a compilation unit *) - -let compunit size ulam = - let glob = Compilenv.make_symbol None in - let init_code = transl ulam in - let c1 = [Cfunction {fun_name = Compilenv.make_symbol (Some "entry"); - fun_args = []; - fun_body = init_code; fun_fast = false; - fun_dbg = Debuginfo.none }] in - let c2 = transl_all_functions StringSet.empty c1 in - let c3 = emit_all_constants c2 in - let space = - (* These words will be registered as roots and as such must contain - valid values, in case we are in no-naked-pointers mode. Likewise - the block header must be black, below (see [caml_darken]), since - the overall record may be referenced. *) - Array.to_list - (Array.init size (fun _index -> - Cint (Nativeint.of_int 1 (* Val_unit *)))) - in - Cdata ([Cint(black_block_header 0 size); - Cglobal_symbol glob; - Cdefine_symbol glob] @ space) :: c3 - -(* -CAMLprim value caml_cache_public_method (value meths, value tag, value *cache) -{ - int li = 3, hi = Field(meths,0), mi; - while (li < hi) { // no need to check the 1st time - mi = ((li+hi) >> 1) | 1; - if (tag < Field(meths,mi)) hi = mi-2; - else li = mi; - } - *cache = (li-3)*sizeof(value)+1; - return Field (meths, li-1); -} -*) - -let cache_public_method meths tag cache = - let raise_num = next_raise_count () in - let li = Ident.create "li" and hi = Ident.create "hi" - and mi = Ident.create "mi" and tagged = Ident.create "tagged" in - Clet ( - li, Cconst_int 3, - Clet ( - hi, Cop(Cload Word, [meths]), - Csequence( - Ccatch - (raise_num, [], - Cloop - (Clet( - mi, - Cop(Cor, - [Cop(Clsr, [Cop(Caddi, [Cvar li; Cvar hi]); Cconst_int 1]); - Cconst_int 1]), - Csequence( - Cifthenelse - (Cop (Ccmpi Clt, - [tag; - Cop(Cload Word, - [Cop(Cadda, - [meths; lsl_const (Cvar mi) log2_size_addr])])]), - Cassign(hi, Cop(Csubi, [Cvar mi; Cconst_int 2])), - Cassign(li, Cvar mi)), - Cifthenelse - (Cop(Ccmpi Cge, [Cvar li; Cvar hi]), Cexit (raise_num, []), - Ctuple [])))), - Ctuple []), - Clet ( - tagged, Cop(Cadda, [lsl_const (Cvar li) log2_size_addr; - Cconst_int(1 - 3 * size_addr)]), - Csequence(Cop (Cstore Word, [cache; Cvar tagged]), - Cvar tagged))))) - -(* Generate an application function: - (defun caml_applyN (a1 ... aN clos) - (if (= clos.arity N) - (app clos.direct a1 ... aN clos) - (let (clos1 (app clos.code a1 clos) - clos2 (app clos1.code a2 clos) - ... - closN-1 (app closN-2.code aN-1 closN-2)) - (app closN-1.code aN closN-1)))) -*) - -let apply_function_body arity = - let arg = Array.make arity (Ident.create "arg") in - for i = 1 to arity - 1 do arg.(i) <- Ident.create "arg" done; - let clos = Ident.create "clos" in - let rec app_fun clos n = - if n = arity-1 then - Cop(Capply(typ_addr, Debuginfo.none), - [get_field (Cvar clos) 0; Cvar arg.(n); Cvar clos]) - else begin - let newclos = Ident.create "clos" in - Clet(newclos, - Cop(Capply(typ_addr, Debuginfo.none), - [get_field (Cvar clos) 0; Cvar arg.(n); Cvar clos]), - app_fun newclos (n+1)) - end in - let args = Array.to_list arg in - let all_args = args @ [clos] in - (args, clos, - if arity = 1 then app_fun clos 0 else - Cifthenelse( - Cop(Ccmpi Ceq, [get_field (Cvar clos) 1; int_const arity]), - Cop(Capply(typ_addr, Debuginfo.none), - get_field (Cvar clos) 2 :: List.map (fun s -> Cvar s) all_args), - app_fun clos 0)) - -let send_function arity = - let (args, clos', body) = apply_function_body (1+arity) in - let cache = Ident.create "cache" - and obj = List.hd args - and tag = Ident.create "tag" in - let clos = - let cache = Cvar cache and obj = Cvar obj and tag = Cvar tag in - let meths = Ident.create "meths" and cached = Ident.create "cached" in - let real = Ident.create "real" in - let mask = get_field (Cvar meths) 1 in - let cached_pos = Cvar cached in - let tag_pos = Cop(Cadda, [Cop (Cadda, [cached_pos; Cvar meths]); - Cconst_int(3*size_addr-1)]) in - let tag' = Cop(Cload Word, [tag_pos]) in - Clet ( - meths, Cop(Cload Word, [obj]), - Clet ( - cached, Cop(Cand, [Cop(Cload Word, [cache]); mask]), - Clet ( - real, - Cifthenelse(Cop(Ccmpa Cne, [tag'; tag]), - cache_public_method (Cvar meths) tag cache, - cached_pos), - Cop(Cload Word, [Cop(Cadda, [Cop (Cadda, [Cvar real; Cvar meths]); - Cconst_int(2*size_addr-1)])])))) - - in - let body = Clet(clos', clos, body) in - let fun_args = - [obj, typ_addr; tag, typ_int; cache, typ_addr] - @ List.map (fun id -> (id, typ_addr)) (List.tl args) in - Cfunction - {fun_name = "caml_send" ^ string_of_int arity; - fun_args = fun_args; - fun_body = body; - fun_fast = true; - fun_dbg = Debuginfo.none } - -let apply_function arity = - let (args, clos, body) = apply_function_body arity in - let all_args = args @ [clos] in - Cfunction - {fun_name = "caml_apply" ^ string_of_int arity; - fun_args = List.map (fun id -> (id, typ_addr)) all_args; - fun_body = body; - fun_fast = true; - fun_dbg = Debuginfo.none } - -(* Generate tuplifying functions: - (defun caml_tuplifyN (arg clos) - (app clos.direct #0(arg) ... #N-1(arg) clos)) *) - -let tuplify_function arity = - let arg = Ident.create "arg" in - let clos = Ident.create "clos" in - let rec access_components i = - if i >= arity - then [] - else get_field (Cvar arg) i :: access_components(i+1) in - Cfunction - {fun_name = "caml_tuplify" ^ string_of_int arity; - fun_args = [arg, typ_addr; clos, typ_addr]; - fun_body = - Cop(Capply(typ_addr, Debuginfo.none), - get_field (Cvar clos) 2 :: access_components 0 @ [Cvar clos]); - fun_fast = true; - fun_dbg = Debuginfo.none } - -(* Generate currying functions: - (defun caml_curryN (arg clos) - (alloc HDR caml_curryN_1 caml_curry_N_1_app arg clos)) - (defun caml_curryN_1 (arg clos) - (alloc HDR caml_curryN_2 caml_curry_N_2_app arg clos)) - ... - (defun caml_curryN_N-1 (arg clos) - (let (closN-2 clos.vars[1] - closN-3 closN-2.vars[1] - ... - clos1 clos2.vars[1] - clos clos1.vars[1]) - (app clos.direct - clos1.vars[0] ... closN-2.vars[0] clos.vars[0] arg clos))) - - Special "shortcut" functions are also generated to handle the - case where a partially applied function is applied to all remaining - arguments in one go. For instance: - (defun caml_curry_N_1_app (arg2 ... argN clos) - (let clos' clos.vars[1] - (app clos'.direct clos.vars[0] arg2 ... argN clos'))) - - Those shortcuts may lead to a quadratic number of application - primitives being generated in the worst case, which resulted in - linking time blowup in practice (PR#5933), so we only generate and - use them when below a fixed arity 'max_arity_optimized'. -*) - -let max_arity_optimized = 15 -let final_curry_function arity = - let last_arg = Ident.create "arg" in - let last_clos = Ident.create "clos" in - let rec curry_fun args clos n = - if n = 0 then - Cop(Capply(typ_addr, Debuginfo.none), - get_field (Cvar clos) 2 :: - args @ [Cvar last_arg; Cvar clos]) - else - if n = arity - 1 || arity > max_arity_optimized then - begin - let newclos = Ident.create "clos" in - Clet(newclos, - get_field (Cvar clos) 3, - curry_fun (get_field (Cvar clos) 2 :: args) newclos (n-1)) - end else - begin - let newclos = Ident.create "clos" in - Clet(newclos, - get_field (Cvar clos) 4, - curry_fun (get_field (Cvar clos) 3 :: args) newclos (n-1)) - end in - Cfunction - {fun_name = "caml_curry" ^ string_of_int arity ^ - "_" ^ string_of_int (arity-1); - fun_args = [last_arg, typ_addr; last_clos, typ_addr]; - fun_body = curry_fun [] last_clos (arity-1); - fun_fast = true; - fun_dbg = Debuginfo.none } - -let rec intermediate_curry_functions arity num = - if num = arity - 1 then - [final_curry_function arity] - else begin - let name1 = "caml_curry" ^ string_of_int arity in - let name2 = if num = 0 then name1 else name1 ^ "_" ^ string_of_int num in - let arg = Ident.create "arg" and clos = Ident.create "clos" in - Cfunction - {fun_name = name2; - fun_args = [arg, typ_addr; clos, typ_addr]; - fun_body = - if arity - num > 2 && arity <= max_arity_optimized then - Cop(Calloc, - [alloc_closure_header 5; - Cconst_symbol(name1 ^ "_" ^ string_of_int (num+1)); - int_const (arity - num - 1); - Cconst_symbol(name1 ^ "_" ^ string_of_int (num+1) ^ "_app"); - Cvar arg; Cvar clos]) - else - Cop(Calloc, - [alloc_closure_header 4; - Cconst_symbol(name1 ^ "_" ^ string_of_int (num+1)); - int_const 1; Cvar arg; Cvar clos]); - fun_fast = true; - fun_dbg = Debuginfo.none } - :: - (if arity <= max_arity_optimized && arity - num > 2 then - let rec iter i = - if i <= arity then - let arg = Ident.create (Printf.sprintf "arg%d" i) in - (arg, typ_addr) :: iter (i+1) - else [] - in - let direct_args = iter (num+2) in - let rec iter i args clos = - if i = 0 then - Cop(Capply(typ_addr, Debuginfo.none), - (get_field (Cvar clos) 2) :: args @ [Cvar clos]) - else - let newclos = Ident.create "clos" in - Clet(newclos, - get_field (Cvar clos) 4, - iter (i-1) (get_field (Cvar clos) 3 :: args) newclos) - in - let cf = - Cfunction - {fun_name = name1 ^ "_" ^ string_of_int (num+1) ^ "_app"; - fun_args = direct_args @ [clos, typ_addr]; - fun_body = iter (num+1) - (List.map (fun (arg,_) -> Cvar arg) direct_args) clos; - fun_fast = true; - fun_dbg = Debuginfo.none } - in - cf :: intermediate_curry_functions arity (num+1) - else - intermediate_curry_functions arity (num+1)) - end - -let curry_function arity = - if arity >= 0 - then intermediate_curry_functions arity 0 - else [tuplify_function (-arity)] - - -module IntSet = Set.Make( - struct - type t = int - let compare (x:t) y = compare x y - end) - -let default_apply = IntSet.add 2 (IntSet.add 3 IntSet.empty) - (* These apply funs are always present in the main program because - the run-time system needs them (cf. asmrun/.S) . *) - -let generic_functions shared units = - let (apply,send,curry) = - List.fold_left - (fun (apply,send,curry) ui -> - List.fold_right IntSet.add ui.ui_apply_fun apply, - List.fold_right IntSet.add ui.ui_send_fun send, - List.fold_right IntSet.add ui.ui_curry_fun curry) - (IntSet.empty,IntSet.empty,IntSet.empty) - units in - let apply = if shared then apply else IntSet.union apply default_apply in - let accu = IntSet.fold (fun n accu -> apply_function n :: accu) apply [] in - let accu = IntSet.fold (fun n accu -> send_function n :: accu) send accu in - IntSet.fold (fun n accu -> curry_function n @ accu) curry accu - -(* Generate the entry point *) - -let entry_point namelist = - let incr_global_inited = - Cop(Cstore Word, - [Cconst_symbol "caml_globals_inited"; - Cop(Caddi, [Cop(Cload Word, [Cconst_symbol "caml_globals_inited"]); - Cconst_int 1])]) in - let body = - List.fold_right - (fun name next -> - let entry_sym = Compilenv.make_symbol ~unitname:name (Some "entry") in - Csequence(Cop(Capply(typ_void, Debuginfo.none), - [Cconst_symbol entry_sym]), - Csequence(incr_global_inited, next))) - namelist (Cconst_int 1) in - Cfunction {fun_name = "caml_program"; - fun_args = []; - fun_body = body; - fun_fast = false; - fun_dbg = Debuginfo.none } - -(* Generate the table of globals *) - -let cint_zero = Cint 0n - -let global_table namelist = - let mksym name = - Csymbol_address (Compilenv.make_symbol ~unitname:name None) - in - Cdata(Cglobal_symbol "caml_globals" :: - Cdefine_symbol "caml_globals" :: - List.map mksym namelist @ - [cint_zero]) - -let reference_symbols namelist = - let mksym name = Csymbol_address name in - Cdata(List.map mksym namelist) - -let global_data name v = - Cdata(Cglobal_symbol name :: - emit_structured_constant name - (Uconst_string (Marshal.to_string v [])) []) - -let globals_map v = global_data "caml_globals_map" v - -(* Generate the master table of frame descriptors *) - -let frame_table namelist = - let mksym name = - Csymbol_address (Compilenv.make_symbol ~unitname:name (Some "frametable")) - in - Cdata(Cglobal_symbol "caml_frametable" :: - Cdefine_symbol "caml_frametable" :: - List.map mksym namelist - @ [cint_zero]) - -(* Generate the table of module data and code segments *) - -let segment_table namelist symbol begname endname = - let addsyms name lst = - Csymbol_address (Compilenv.make_symbol ~unitname:name (Some begname)) :: - Csymbol_address (Compilenv.make_symbol ~unitname:name (Some endname)) :: - lst - in - Cdata(Cglobal_symbol symbol :: - Cdefine_symbol symbol :: - List.fold_right addsyms namelist [cint_zero]) - -let data_segment_table namelist = - segment_table namelist "caml_data_segments" "data_begin" "data_end" - -let code_segment_table namelist = - segment_table namelist "caml_code_segments" "code_begin" "code_end" - -(* Initialize a predefined exception *) - -let predef_exception i name = - let symname = "caml_exn_" ^ name in - let cst = Uconst_string name in - let label = Compilenv.new_const_symbol () in - let cont = emit_structured_constant label cst [] in - Cdata(Cglobal_symbol symname :: - emit_structured_constant symname - (Uconst_block(Obj.object_tag, - [ - Uconst_ref(label, cst); - Uconst_int (-i-1); - ])) cont) - -(* Header for a plugin *) - -let mapflat f l = List.flatten (List.map f l) - -let plugin_header units = - let mk (ui,crc) = - { dynu_name = ui.ui_name; - dynu_crc = crc; - dynu_imports_cmi = ui.ui_imports_cmi; - dynu_imports_cmx = ui.ui_imports_cmx; - dynu_defines = ui.ui_defines - } in - global_data "caml_plugin_header" - { dynu_magic = Config.cmxs_magic_number; dynu_units = List.map mk units } diff --git a/vendor/ocaml/asmcomp/cmmgen.mli b/vendor/ocaml/asmcomp/cmmgen.mli deleted file mode 100644 index 46f949665..000000000 --- a/vendor/ocaml/asmcomp/cmmgen.mli +++ /dev/null @@ -1,30 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Translation from closed lambda to C-- *) - -val compunit: int -> Clambda.ulambda -> Cmm.phrase list - -val apply_function: int -> Cmm.phrase -val send_function: int -> Cmm.phrase -val curry_function: int -> Cmm.phrase list -val generic_functions: bool -> Cmx_format.unit_infos list -> Cmm.phrase list -val entry_point: string list -> Cmm.phrase -val global_table: string list -> Cmm.phrase -val reference_symbols: string list -> Cmm.phrase -val globals_map: (string * Digest.t * Digest.t * string list) list -> - Cmm.phrase -val frame_table: string list -> Cmm.phrase -val data_segment_table: string list -> Cmm.phrase -val code_segment_table: string list -> Cmm.phrase -val predef_exception: int -> string -> Cmm.phrase -val plugin_header: (Cmx_format.unit_infos * Digest.t) list -> Cmm.phrase diff --git a/vendor/ocaml/asmcomp/cmx_format.mli b/vendor/ocaml/asmcomp/cmx_format.mli deleted file mode 100644 index 51aa04408..000000000 --- a/vendor/ocaml/asmcomp/cmx_format.mli +++ /dev/null @@ -1,61 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2010 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Format of .cmx, .cmxa and .cmxs files *) - -(* Each .o file has a matching .cmx file that provides the following infos - on the compilation unit: - - list of other units imported, with MD5s of their .cmx files - - approximation of the structure implemented - (includes descriptions of known functions: arity and direct entry - points) - - list of currying functions and application functions needed - The .cmx file contains these infos (as an externed record) plus a MD5 - of these infos *) - -type unit_infos = - { mutable ui_name: string; (* Name of unit implemented *) - mutable ui_symbol: string; (* Prefix for symbols *) - mutable ui_defines: string list; (* Unit and sub-units implemented *) - mutable ui_imports_cmi: - (string * Digest.t option) list; (* Interfaces imported *) - mutable ui_imports_cmx:(string * Digest.t option) list; (* Infos imported *) - mutable ui_approx: Clambda.value_approximation; (* Approx of the structure*) - mutable ui_curry_fun: int list; (* Currying functions needed *) - mutable ui_apply_fun: int list; (* Apply functions needed *) - mutable ui_send_fun: int list; (* Send functions needed *) - mutable ui_force_link: bool } (* Always linked *) - -(* Each .a library has a matching .cmxa file that provides the following - infos on the library: *) - -type library_infos = - { lib_units: (unit_infos * Digest.t) list; (* List of unit infos w/ MD5s *) - lib_ccobjs: string list; (* C object files needed *) - lib_ccopts: string list } (* Extra opts to C compiler *) - -(* Each .cmxs dynamically-loaded plugin contains a symbol - "caml_plugin_header" containing the following info - (as an externed record) *) - -type dynunit = { - dynu_name: string; - dynu_crc: Digest.t; - dynu_imports_cmi: (string * Digest.t option) list; - dynu_imports_cmx: (string * Digest.t option) list; - dynu_defines: string list; -} - -type dynheader = { - dynu_magic: string; - dynu_units: dynunit list; -} diff --git a/vendor/ocaml/asmcomp/codegen.ml b/vendor/ocaml/asmcomp/codegen.ml deleted file mode 100644 index a31824628..000000000 --- a/vendor/ocaml/asmcomp/codegen.ml +++ /dev/null @@ -1,95 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* From C-- to assembly code *) - -open Format -open Cmm - -let dump_cmm = ref false -let dump_selection = ref false -let dump_live = ref false -let dump_spill = ref false -let dump_split = ref false -let dump_interf = ref false -let dump_prefer = ref false -let dump_regalloc = ref false -let dump_reload = ref false -let dump_linear = ref false - -let rec regalloc fd = - if !dump_live then Printmach.phase "Liveness analysis" fd; - Interf.build_graph fd; - if !dump_interf then Printmach.interferences(); - if !dump_prefer then Printmach.preferences(); - Coloring.allocate_registers(); - if !dump_regalloc then - Printmach.phase "After register allocation" fd; - let (newfd, redo_regalloc) = Reload.fundecl fd in - if !dump_reload then - Printmach.phase "After insertion of reloading code" newfd; - if redo_regalloc - then begin Reg.reinit(); Liveness.fundecl newfd; regalloc newfd end - else newfd - -let fundecl ppf fd_cmm = - if !dump_cmm then begin - fprintf ppf "*** C-- code@."; - fprintf ppf "%a@." Printcmm.fundecl fd_cmm - end; - Reg.reset(); - let fd_sel = Sequence.fundecl fd_cmm in - if !dump_selection then - Printmach.phase "After instruction selection" fd_sel; - Liveness.fundecl fd_sel; - if !dump_live then Printmach.phase "Liveness analysis" fd_sel; - let fd_spill = Spill.fundecl fd_sel in - Liveness.fundecl fd_spill; - if !dump_spill then - Printmach.phase "After spilling" fd_spill; - let fd_split = Split.fundecl fd_spill in - Liveness.fundecl fd_split; - if !dump_split then - Printmach.phase "After live range splitting" fd_split; - let fd_reload = regalloc fd_split in - let fd_linear = Linearize.fundecl fd_reload in - if !dump_linear then begin - printf "*** Linearized code@."; - Printlinear.fundecl fd_linear; print_newline() - end; - Emit.fundecl fd_linear - -let phrase = function - Cfunction fd -> fundecl fd - | Cdata dl -> Emit.data dl - -let file filename = - let ic = open_in filename in - let lb = Lexing.from_channel ic in - try - while true do - phrase(Parsecmm.phrase Lexcmm.token lb) - done - with - End_of_file -> - close_in ic - | Lexcmm.Error msg -> - close_in ic; Lexcmm.report_error lb msg - | Parsing.Parse_error -> - close_in ic; - prerr_string "Syntax error near character "; - prerr_int (Lexing.lexeme_start lb); - prerr_newline() - | Parsecmmaux.Error msg -> - close_in ic; Parsecmmaux.report_error msg - | x -> - close_in ic; raise x diff --git a/vendor/ocaml/asmcomp/codegen.mli b/vendor/ocaml/asmcomp/codegen.mli deleted file mode 100644 index 5dab12fc9..000000000 --- a/vendor/ocaml/asmcomp/codegen.mli +++ /dev/null @@ -1,27 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* From C-- to assembly code *) - -val phrase: Cmm.phrase -> unit -val file: string -> unit - -val dump_cmm: bool ref -val dump_selection: bool ref -val dump_live: bool ref -val dump_spill: bool ref -val dump_split: bool ref -val dump_interf: bool ref -val dump_prefer: bool ref -val dump_regalloc: bool ref -val dump_reload: bool ref -val dump_linear: bool ref diff --git a/vendor/ocaml/asmcomp/coloring.ml b/vendor/ocaml/asmcomp/coloring.ml deleted file mode 100644 index aff4ad626..000000000 --- a/vendor/ocaml/asmcomp/coloring.ml +++ /dev/null @@ -1,223 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Register allocation by coloring of the interference graph *) - -module OrderedRegSet = - Set.Make(struct - type t = Reg.t - let compare r1 r2 = - let open Reg in - let c1 = r1.spill_cost and d1 = r1.degree in - let c2 = r2.spill_cost and d2 = r2.degree in - let n = c2 * d1 - c1 * d2 in - if n <> 0 then n else - let n = c2 - c1 in - if n <> 0 then n else - let n = d1 - d2 in - if n <> 0 then n else r1.stamp - r2.stamp - end) - -open Reg - -let allocate_registers() = - - (* Constrained regs with degree >= number of available registers, - sorted by spill cost (highest first). - The spill cost measure is [r.spill_cost / r.degree]. - [r.spill_cost] estimates the number of accesses to [r]. *) - let constrained = ref OrderedRegSet.empty in - - (* Unconstrained regs with degree < number of available registers *) - let unconstrained = ref [] in - - (* Preallocate the spilled registers in the stack. - Split the remaining registers into constrained and unconstrained. *) - let remove_reg reg = - let cl = Proc.register_class reg in - if reg.spill then begin - (* Preallocate the registers in the stack *) - let nslots = Proc.num_stack_slots.(cl) in - let conflict = Array.make nslots false in - List.iter - (fun r -> - match r.loc with - Stack(Local n) -> - if Proc.register_class r = cl then conflict.(n) <- true - | _ -> ()) - reg.interf; - let slot = ref 0 in - while !slot < nslots && conflict.(!slot) do incr slot done; - reg.loc <- Stack(Local !slot); - if !slot >= nslots then Proc.num_stack_slots.(cl) <- !slot + 1 - end else if reg.degree < Proc.num_available_registers.(cl) then - unconstrained := reg :: !unconstrained - else begin - constrained := OrderedRegSet.add reg !constrained - end in - - (* Iterate over all registers preferred by the given register (transitive) *) - let iter_preferred f reg = - let rec walk r w = - if not r.visited then begin - f r w; - begin match r.prefer with - [] -> () - | p -> r.visited <- true; - List.iter (fun (r1, w1) -> walk r1 (min w w1)) p; - r.visited <- false - end - end in - reg.visited <- true; - List.iter (fun (r, w) -> walk r w) reg.prefer; - reg.visited <- false in - - (* Where to start the search for a suitable register. - Used to introduce some "randomness" in the choice between registers - with equal scores. This offers more opportunities for scheduling. *) - let start_register = Array.make Proc.num_register_classes 0 in - - (* Assign a location to a register, the best we can. *) - let assign_location reg = - let cl = Proc.register_class reg in - let first_reg = Proc.first_available_register.(cl) in - let num_regs = Proc.num_available_registers.(cl) in - let score = Array.make num_regs 0 in - let best_score = ref (-1000000) and best_reg = ref (-1) in - let start = start_register.(cl) in - if num_regs <> 0 then begin - (* Favor the registers that have been assigned to pseudoregs for which - we have a preference. If these pseudoregs have not been assigned - already, avoid the registers with which they conflict. *) - iter_preferred - (fun r w -> - match r.loc with - Reg n -> let n = n - first_reg in - if n < num_regs then - score.(n) <- score.(n) + w - | Unknown -> - List.iter - (fun neighbour -> - match neighbour.loc with - Reg n -> let n = n - first_reg in - if n < num_regs then - score.(n) <- score.(n) - w - | _ -> ()) - r.interf - | _ -> ()) - reg; - List.iter - (fun neighbour -> - (* Prohibit the registers that have been assigned - to our neighbours *) - begin match neighbour.loc with - Reg n -> let n = n - first_reg in - if n < num_regs then - score.(n) <- (-1000000) - | _ -> () - end; - (* Avoid the registers that have been assigned to pseudoregs - for which our neighbours have a preference *) - iter_preferred - (fun r w -> - match r.loc with - Reg n -> let n = n - first_reg in - if n < num_regs then - score.(n) <- score.(n) - (w-1) - (* w-1 to break the symmetry when two conflicting regs - have the same preference for a third reg. *) - | _ -> ()) - neighbour) - reg.interf; - (* Pick the register with the best score *) - for n = start to num_regs - 1 do - if score.(n) > !best_score then begin - best_score := score.(n); - best_reg := n - end - done; - for n = 0 to start - 1 do - if score.(n) > !best_score then begin - best_score := score.(n); - best_reg := n - end - done - end; - (* Found a register? *) - if !best_reg >= 0 then begin - reg.loc <- Reg(first_reg + !best_reg); - if Proc.rotate_registers then - start_register.(cl) <- (let start = start + 1 in - if start >= num_regs then 0 else start) - end else begin - (* Sorry, we must put the pseudoreg in a stack location *) - let nslots = Proc.num_stack_slots.(cl) in - let score = Array.make nslots 0 in - (* Compute the scores as for registers *) - List.iter - (fun (r, w) -> - match r.loc with - Stack(Local n) -> score.(n) <- score.(n) + w - | Unknown -> - List.iter - (fun neighbour -> - match neighbour.loc with - Stack(Local n) -> score.(n) <- score.(n) - w - | _ -> ()) - r.interf - | _ -> ()) - reg.prefer; - List.iter - (fun neighbour -> - begin match neighbour.loc with - Stack(Local n) -> score.(n) <- (-1000000) - | _ -> () - end; - List.iter - (fun (r, w) -> - match r.loc with - Stack(Local n) -> score.(n) <- score.(n) - w - | _ -> ()) - neighbour.prefer) - reg.interf; - (* Pick the location with the best score *) - let best_score = ref (-1000000) and best_slot = ref (-1) in - for n = 0 to nslots - 1 do - if score.(n) > !best_score then begin - best_score := score.(n); - best_slot := n - end - done; - (* Found one? *) - if !best_slot >= 0 then - reg.loc <- Stack(Local !best_slot) - else begin - (* Allocate a new stack slot *) - reg.loc <- Stack(Local nslots); - Proc.num_stack_slots.(cl) <- nslots + 1 - end - end; - (* Cancel the preferences of this register so that they don't influence - transitively the allocation of registers that prefer this reg. *) - reg.prefer <- [] in - - (* Reset the stack slot counts *) - for i = 0 to Proc.num_register_classes - 1 do - Proc.num_stack_slots.(i) <- 0; - done; - - (* First pass: preallocate spill registers and split remaining regs - Second pass: assign locations to constrained regs - Third pass: assign locations to unconstrained regs *) - List.iter remove_reg (Reg.all_registers()); - OrderedRegSet.iter assign_location !constrained; - List.iter assign_location !unconstrained diff --git a/vendor/ocaml/asmcomp/coloring.mli b/vendor/ocaml/asmcomp/coloring.mli deleted file mode 100644 index b0cd0437a..000000000 --- a/vendor/ocaml/asmcomp/coloring.mli +++ /dev/null @@ -1,15 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Register allocation by coloring of the interference graph *) - -val allocate_registers: unit -> unit diff --git a/vendor/ocaml/asmcomp/comballoc.ml b/vendor/ocaml/asmcomp/comballoc.ml deleted file mode 100644 index 820b1b3fa..000000000 --- a/vendor/ocaml/asmcomp/comballoc.ml +++ /dev/null @@ -1,88 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1999 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Combine heap allocations occurring in the same basic block *) - -open Mach - -type allocation_state = - No_alloc (* no allocation is pending *) - | Pending_alloc of Reg.t * int (* an allocation is pending *) -(* The arguments of Pending_alloc(reg, ofs) are: - reg the register holding the result of the last allocation - ofs the alloc position in the allocated block *) - -let allocated_size = function - No_alloc -> 0 - | Pending_alloc(reg, ofs) -> ofs - -let rec combine i allocstate = - match i.desc with - Iend | Ireturn | Iexit _ | Iraise _ -> - (i, allocated_size allocstate) - | Iop(Ialloc sz) -> - begin match allocstate with - No_alloc -> - let (newnext, newsz) = - combine i.next (Pending_alloc(i.res.(0), sz)) in - (instr_cons (Iop(Ialloc newsz)) i.arg i.res newnext, 0) - | Pending_alloc(reg, ofs) -> - if ofs + sz < Config.max_young_wosize * Arch.size_addr then begin - let (newnext, newsz) = - combine i.next (Pending_alloc(reg, ofs + sz)) in - (instr_cons (Iop(Iintop_imm(Iadd, ofs))) [| reg |] i.res newnext, - newsz) - end else begin - let (newnext, newsz) = - combine i.next (Pending_alloc(i.res.(0), sz)) in - (instr_cons (Iop(Ialloc newsz)) i.arg i.res newnext, ofs) - end - end - | Iop(Icall_ind | Icall_imm _ | Iextcall _ | - Itailcall_ind | Itailcall_imm _) -> - let newnext = combine_restart i.next in - (instr_cons_debug i.desc i.arg i.res i.dbg newnext, - allocated_size allocstate) - | Iop op -> - let (newnext, sz) = combine i.next allocstate in - (instr_cons_debug i.desc i.arg i.res i.dbg newnext, sz) - | Iifthenelse(test, ifso, ifnot) -> - let newifso = combine_restart ifso in - let newifnot = combine_restart ifnot in - let newnext = combine_restart i.next in - (instr_cons (Iifthenelse(test, newifso, newifnot)) i.arg i.res newnext, - allocated_size allocstate) - | Iswitch(table, cases) -> - let newcases = Array.map combine_restart cases in - let newnext = combine_restart i.next in - (instr_cons (Iswitch(table, newcases)) i.arg i.res newnext, - allocated_size allocstate) - | Iloop(body) -> - let newbody = combine_restart body in - (instr_cons (Iloop(newbody)) i.arg i.res i.next, - allocated_size allocstate) - | Icatch(io, body, handler) -> - let (newbody, sz) = combine body allocstate in - let newhandler = combine_restart handler in - let newnext = combine_restart i.next in - (instr_cons (Icatch(io, newbody, newhandler)) i.arg i.res newnext, sz) - | Itrywith(body, handler) -> - let (newbody, sz) = combine body allocstate in - let newhandler = combine_restart handler in - let newnext = combine_restart i.next in - (instr_cons (Itrywith(newbody, newhandler)) i.arg i.res newnext, sz) - -and combine_restart i = - let (newi, _) = combine i No_alloc in newi - -let fundecl f = - {f with fun_body = combine_restart f.fun_body} diff --git a/vendor/ocaml/asmcomp/comballoc.mli b/vendor/ocaml/asmcomp/comballoc.mli deleted file mode 100644 index ee04c16b3..000000000 --- a/vendor/ocaml/asmcomp/comballoc.mli +++ /dev/null @@ -1,15 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1999 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Combine heap allocations occurring in the same basic block *) - -val fundecl: Mach.fundecl -> Mach.fundecl diff --git a/vendor/ocaml/asmcomp/compilenv.ml b/vendor/ocaml/asmcomp/compilenv.ml deleted file mode 100644 index a313b9720..000000000 --- a/vendor/ocaml/asmcomp/compilenv.ml +++ /dev/null @@ -1,301 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Compilation environments for compilation units *) - -open Config -open Misc -open Clambda -open Cmx_format - -type error = - Not_a_unit_info of string - | Corrupted_unit_info of string - | Illegal_renaming of string * string * string - -exception Error of error - -let global_infos_table = - (Hashtbl.create 17 : (string, unit_infos option) Hashtbl.t) - -module CstMap = - Map.Make(struct - type t = Clambda.ustructured_constant - let compare = Clambda.compare_structured_constants - (* PR#6442: it is incorrect to use Pervasives.compare on values of type t - because it compares "0.0" and "-0.0" equal. *) - end) - -type structured_constants = - { - strcst_shared: string CstMap.t; - strcst_all: (string * Clambda.ustructured_constant) list; - } - -let structured_constants_empty = - { - strcst_shared = CstMap.empty; - strcst_all = []; - } - -let structured_constants = ref structured_constants_empty - - -let exported_constants = Hashtbl.create 17 - -let current_unit = - { ui_name = ""; - ui_symbol = ""; - ui_defines = []; - ui_imports_cmi = []; - ui_imports_cmx = []; - ui_approx = Value_unknown; - ui_curry_fun = []; - ui_apply_fun = []; - ui_send_fun = []; - ui_force_link = false } - -let symbolname_for_pack pack name = - match pack with - | None -> name - | Some p -> - let b = Buffer.create 64 in - for i = 0 to String.length p - 1 do - match p.[i] with - | '.' -> Buffer.add_string b "__" - | c -> Buffer.add_char b c - done; - Buffer.add_string b "__"; - Buffer.add_string b name; - Buffer.contents b - - -let reset ?packname name = - Hashtbl.clear global_infos_table; - let symbol = symbolname_for_pack packname name in - current_unit.ui_name <- name; - current_unit.ui_symbol <- symbol; - current_unit.ui_defines <- [symbol]; - current_unit.ui_imports_cmi <- []; - current_unit.ui_imports_cmx <- []; - current_unit.ui_curry_fun <- []; - current_unit.ui_apply_fun <- []; - current_unit.ui_send_fun <- []; - current_unit.ui_force_link <- false; - Hashtbl.clear exported_constants; - structured_constants := structured_constants_empty - -let current_unit_infos () = - current_unit - -let current_unit_name () = - current_unit.ui_name - -let make_symbol ?(unitname = current_unit.ui_symbol) idopt = - let prefix = "caml" ^ unitname in - match idopt with - | None -> prefix - | Some id -> prefix ^ "__" ^ id - -let symbol_in_current_unit name = - let prefix = "caml" ^ current_unit.ui_symbol in - name = prefix || - (let lp = String.length prefix in - String.length name >= 2 + lp - && String.sub name 0 lp = prefix - && name.[lp] = '_' - && name.[lp + 1] = '_') - -let read_unit_info filename = - let ic = open_in_bin filename in - try - let buffer = really_input_string ic (String.length cmx_magic_number) in - if buffer <> cmx_magic_number then begin - close_in ic; - raise(Error(Not_a_unit_info filename)) - end; - let ui = (input_value ic : unit_infos) in - let crc = Digest.input ic in - close_in ic; - (ui, crc) - with End_of_file | Failure _ -> - close_in ic; - raise(Error(Corrupted_unit_info(filename))) - -let read_library_info filename = - let ic = open_in_bin filename in - let buffer = really_input_string ic (String.length cmxa_magic_number) in - if buffer <> cmxa_magic_number then - raise(Error(Not_a_unit_info filename)); - let infos = (input_value ic : library_infos) in - close_in ic; - infos - - -(* Read and cache info on global identifiers *) - -let get_global_info global_ident = ( - let modname = Ident.name global_ident in - if modname = current_unit.ui_name then - Some current_unit - else begin - try - Hashtbl.find global_infos_table modname - with Not_found -> - let (infos, crc) = - try - let filename = - find_in_path_uncap !load_path (modname ^ ".cmx") in - let (ui, crc) = read_unit_info filename in - if ui.ui_name <> modname then - raise(Error(Illegal_renaming(modname, ui.ui_name, filename))); - (Some ui, Some crc) - with Not_found -> - (None, None) in - current_unit.ui_imports_cmx <- - (modname, crc) :: current_unit.ui_imports_cmx; - Hashtbl.add global_infos_table modname infos; - infos - end -) - -let cache_unit_info ui = - Hashtbl.add global_infos_table ui.ui_name (Some ui) - -(* Return the approximation of a global identifier *) - -let toplevel_approx = Hashtbl.create 16 - -let record_global_approx_toplevel id = - Hashtbl.add toplevel_approx current_unit.ui_name current_unit.ui_approx - -let global_approx id = - if Ident.is_predef_exn id then Value_unknown - else try Hashtbl.find toplevel_approx (Ident.name id) - with Not_found -> - match get_global_info id with - | None -> Value_unknown - | Some ui -> ui.ui_approx - -(* Return the symbol used to refer to a global identifier *) - -let symbol_for_global id = - if Ident.is_predef_exn id then - "caml_exn_" ^ Ident.name id - else begin - match get_global_info id with - | None -> make_symbol ~unitname:(Ident.name id) None - | Some ui -> make_symbol ~unitname:ui.ui_symbol None - end - -(* Register the approximation of the module being compiled *) - -let set_global_approx approx = - current_unit.ui_approx <- approx - -(* Record that a currying function or application function is needed *) - -let need_curry_fun n = - if not (List.mem n current_unit.ui_curry_fun) then - current_unit.ui_curry_fun <- n :: current_unit.ui_curry_fun - -let need_apply_fun n = - if not (List.mem n current_unit.ui_apply_fun) then - current_unit.ui_apply_fun <- n :: current_unit.ui_apply_fun - -let need_send_fun n = - if not (List.mem n current_unit.ui_send_fun) then - current_unit.ui_send_fun <- n :: current_unit.ui_send_fun - -(* Write the description of the current unit *) - -let write_unit_info info filename = - let oc = open_out_bin filename in - output_string oc cmx_magic_number; - output_value oc info; - flush oc; - let crc = Digest.file filename in - Digest.output oc crc; - close_out oc - -let save_unit_info filename = - current_unit.ui_imports_cmi <- Env.imports(); - write_unit_info current_unit filename - - - -let const_label = ref 0 - -let new_const_label () = - incr const_label; - !const_label - -let new_const_symbol () = - incr const_label; - make_symbol (Some (string_of_int !const_label)) - -let snapshot () = !structured_constants -let backtrack s = structured_constants := s - -let new_structured_constant cst ~shared = - let {strcst_shared; strcst_all} = !structured_constants in - if shared then - try - CstMap.find cst strcst_shared - with Not_found -> - let lbl = new_const_symbol() in - structured_constants := - { - strcst_shared = CstMap.add cst lbl strcst_shared; - strcst_all = (lbl, cst) :: strcst_all; - }; - lbl - else - let lbl = new_const_symbol() in - structured_constants := - { - strcst_shared; - strcst_all = (lbl, cst) :: strcst_all; - }; - lbl - -let add_exported_constant s = - Hashtbl.replace exported_constants s () - -let structured_constants () = - List.map - (fun (lbl, cst) -> - (lbl, Hashtbl.mem exported_constants lbl, cst) - ) (!structured_constants).strcst_all - -(* Error report *) - -open Format - -let report_error ppf = function - | Not_a_unit_info filename -> - fprintf ppf "%a@ is not a compilation unit description." - Location.print_filename filename - | Corrupted_unit_info filename -> - fprintf ppf "Corrupted compilation unit description@ %a" - Location.print_filename filename - | Illegal_renaming(name, modname, filename) -> - fprintf ppf "%a@ contains the description for unit\ - @ %s when %s was expected" - Location.print_filename filename name modname - -let () = - Location.register_error_of_exn - (function - | Error err -> Some (Location.error_of_printer_file report_error err) - | _ -> None - ) diff --git a/vendor/ocaml/asmcomp/compilenv.mli b/vendor/ocaml/asmcomp/compilenv.mli deleted file mode 100644 index 7fae3bade..000000000 --- a/vendor/ocaml/asmcomp/compilenv.mli +++ /dev/null @@ -1,91 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Compilation environments for compilation units *) - -open Cmx_format - -val reset: ?packname:string -> string -> unit - (* Reset the environment and record the name of the unit being - compiled (arg). Optional argument is [-for-pack] prefix. *) - -val current_unit_infos: unit -> unit_infos - (* Return the infos for the unit being compiled *) - -val current_unit_name: unit -> string - (* Return the name of the unit being compiled *) - -val make_symbol: ?unitname:string -> string option -> string - (* [make_symbol ~unitname:u None] returns the asm symbol that - corresponds to the compilation unit [u] (default: the current unit). - [make_symbol ~unitname:u (Some id)] returns the asm symbol that - corresponds to symbol [id] in the compilation unit [u] - (or the current unit). *) - -val symbol_in_current_unit: string -> bool - (* Return true if the given asm symbol belongs to the - current compilation unit, false otherwise. *) - -val symbol_for_global: Ident.t -> string - (* Return the asm symbol that refers to the given global identifier *) - -val global_approx: Ident.t -> Clambda.value_approximation - (* Return the approximation for the given global identifier *) -val set_global_approx: Clambda.value_approximation -> unit - (* Record the approximation of the unit being compiled *) -val record_global_approx_toplevel: unit -> unit - (* Record the current approximation for the current toplevel phrase *) - - -val need_curry_fun: int -> unit -val need_apply_fun: int -> unit -val need_send_fun: int -> unit - (* Record the need of a currying (resp. application, - message sending) function with the given arity *) - -val new_const_symbol : unit -> string -val new_const_label : unit -> int - -val new_structured_constant: - Clambda.ustructured_constant -> - shared:bool -> (* can be shared with another structually equal constant *) - string -val structured_constants: - unit -> (string * bool * Clambda.ustructured_constant) list -val add_exported_constant: string -> unit - -type structured_constants -val snapshot: unit -> structured_constants -val backtrack: structured_constants -> unit - - -val read_unit_info: string -> unit_infos * Digest.t - (* Read infos and MD5 from a [.cmx] file. *) -val write_unit_info: unit_infos -> string -> unit - (* Save the given infos in the given file *) -val save_unit_info: string -> unit - (* Save the infos for the current unit in the given file *) -val cache_unit_info: unit_infos -> unit - (* Enter the given infos in the cache. The infos will be - honored by [symbol_for_global] and [global_approx] - without looking at the corresponding .cmx file. *) - -val read_library_info: string -> library_infos - -type error = - Not_a_unit_info of string - | Corrupted_unit_info of string - | Illegal_renaming of string * string * string - -exception Error of error - -val report_error: Format.formatter -> error -> unit diff --git a/vendor/ocaml/asmcomp/deadcode.ml b/vendor/ocaml/asmcomp/deadcode.ml deleted file mode 100644 index cb93c2869..000000000 --- a/vendor/ocaml/asmcomp/deadcode.ml +++ /dev/null @@ -1,67 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Dead code elimination: remove pure instructions whose results are - not used. *) - -open Mach - -(* [deadcode i] returns a pair of an optimized instruction [i'] - and a set of registers live "before" instruction [i]. *) - -let rec deadcode i = - match i.desc with - | Iend | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _) | Iraise _ -> - (i, Reg.add_set_array i.live i.arg) - | Iop op -> - let (s, before) = deadcode i.next in - if Proc.op_is_pure op (* no side effects *) - && Reg.disjoint_set_array before i.res (* results are not used after *) - && not (Proc.regs_are_volatile i.arg) (* no stack-like hard reg *) - && not (Proc.regs_are_volatile i.res) (* is involved *) - then begin - assert (Array.length i.res > 0); (* sanity check *) - (s, before) - end else begin - ({i with next = s}, Reg.add_set_array i.live i.arg) - end - | Iifthenelse(test, ifso, ifnot) -> - let (ifso', _) = deadcode ifso in - let (ifnot', _) = deadcode ifnot in - let (s, _) = deadcode i.next in - ({i with desc = Iifthenelse(test, ifso', ifnot'); next = s}, - Reg.add_set_array i.live i.arg) - | Iswitch(index, cases) -> - let cases' = Array.map (fun c -> fst (deadcode c)) cases in - let (s, _) = deadcode i.next in - ({i with desc = Iswitch(index, cases'); next = s}, - Reg.add_set_array i.live i.arg) - | Iloop(body) -> - let (body', _) = deadcode body in - let (s, _) = deadcode i.next in - ({i with desc = Iloop body'; next = s}, i.live) - | Icatch(nfail, body, handler) -> - let (body', _) = deadcode body in - let (handler', _) = deadcode handler in - let (s, _) = deadcode i.next in - ({i with desc = Icatch(nfail, body', handler'); next = s}, i.live) - | Iexit nfail -> - (i, i.live) - | Itrywith(body, handler) -> - let (body', _) = deadcode body in - let (handler', _) = deadcode handler in - let (s, _) = deadcode i.next in - ({i with desc = Itrywith(body', handler'); next = s}, i.live) - -let fundecl f = - let (new_body, _) = deadcode f.fun_body in - {f with fun_body = new_body} diff --git a/vendor/ocaml/asmcomp/deadcode.mli b/vendor/ocaml/asmcomp/deadcode.mli deleted file mode 100644 index 6aafae054..000000000 --- a/vendor/ocaml/asmcomp/deadcode.mli +++ /dev/null @@ -1,16 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Dead code elimination: remove pure instructions whose results are - not used. *) - -val fundecl: Mach.fundecl -> Mach.fundecl diff --git a/vendor/ocaml/asmcomp/debuginfo.ml b/vendor/ocaml/asmcomp/debuginfo.ml deleted file mode 100644 index 3f96049ee..000000000 --- a/vendor/ocaml/asmcomp/debuginfo.ml +++ /dev/null @@ -1,56 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2006 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -open Lexing -open Location - -type kind = Dinfo_call | Dinfo_raise - -type t = { - dinfo_kind: kind; - dinfo_file: string; - dinfo_line: int; - dinfo_char_start: int; - dinfo_char_end: int -} - -let none = { - dinfo_kind = Dinfo_call; - dinfo_file = ""; - dinfo_line = 0; - dinfo_char_start = 0; - dinfo_char_end = 0 -} - -(* PR#5643: cannot use (==) because Debuginfo values are marshalled *) -let is_none t = - t = none - -let to_string d = - if d = none - then "" - else Printf.sprintf "{%s:%d,%d-%d}" - d.dinfo_file d.dinfo_line d.dinfo_char_start d.dinfo_char_end - -let from_location kind loc = - if loc == Location.none then none else - { dinfo_kind = kind; - dinfo_file = loc.loc_start.pos_fname; - dinfo_line = loc.loc_start.pos_lnum; - dinfo_char_start = loc.loc_start.pos_cnum - loc.loc_start.pos_bol; - dinfo_char_end = - if loc.loc_end.pos_fname = loc.loc_start.pos_fname - then loc.loc_end.pos_cnum - loc.loc_start.pos_bol - else loc.loc_start.pos_cnum - loc.loc_start.pos_bol } - -let from_call ev = from_location Dinfo_call ev.Lambda.lev_loc -let from_raise ev = from_location Dinfo_raise ev.Lambda.lev_loc diff --git a/vendor/ocaml/asmcomp/debuginfo.mli b/vendor/ocaml/asmcomp/debuginfo.mli deleted file mode 100644 index ef4d55ad9..000000000 --- a/vendor/ocaml/asmcomp/debuginfo.mli +++ /dev/null @@ -1,32 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2006 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -type kind = Dinfo_call | Dinfo_raise - -type t = private { - dinfo_kind: kind; - dinfo_file: string; - dinfo_line: int; - dinfo_char_start: int; - dinfo_char_end: int -} - -val none: t - -val is_none: t -> bool - -val to_string: t -> string - -val from_location: kind -> Location.t -> t - -val from_call: Lambda.lambda_event -> t -val from_raise: Lambda.lambda_event -> t diff --git a/vendor/ocaml/asmcomp/emit.mli b/vendor/ocaml/asmcomp/emit.mli deleted file mode 100644 index ab9442efc..000000000 --- a/vendor/ocaml/asmcomp/emit.mli +++ /dev/null @@ -1,18 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Generation of assembly code *) - -val fundecl: Linearize.fundecl -> unit -val data: Cmm.data_item list -> unit -val begin_assembly: unit -> unit -val end_assembly: unit -> unit diff --git a/vendor/ocaml/asmcomp/emitaux.ml b/vendor/ocaml/asmcomp/emitaux.ml deleted file mode 100644 index ec2e8f06c..000000000 --- a/vendor/ocaml/asmcomp/emitaux.ml +++ /dev/null @@ -1,247 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Common functions for emitting assembly code *) - -open Debuginfo - -let output_channel = ref stdout - -let emit_string s = output_string !output_channel s - -let emit_int n = output_string !output_channel (string_of_int n) - -let emit_char c = output_char !output_channel c - -let emit_nativeint n = output_string !output_channel (Nativeint.to_string n) - -let emit_printf fmt = - Printf.fprintf !output_channel fmt - -let emit_int32 n = emit_printf "0x%lx" n - -let emit_symbol esc s = - for i = 0 to String.length s - 1 do - let c = s.[i] in - match c with - 'A'..'Z' | 'a'..'z' | '0'..'9' | '_' -> - output_char !output_channel c - | _ -> - Printf.fprintf !output_channel "%c%02x" esc (Char.code c) - done - -let emit_string_literal s = - let last_was_escape = ref false in - emit_string "\""; - for i = 0 to String.length s - 1 do - let c = s.[i] in - if c >= '0' && c <= '9' then - if !last_was_escape - then Printf.fprintf !output_channel "\\%o" (Char.code c) - else output_char !output_channel c - else if c >= ' ' && c <= '~' && c <> '"' (* '"' *) && c <> '\\' then begin - output_char !output_channel c; - last_was_escape := false - end else begin - Printf.fprintf !output_channel "\\%o" (Char.code c); - last_was_escape := true - end - done; - emit_string "\"" - -let emit_string_directive directive s = - let l = String.length s in - if l = 0 then () - else if l < 80 then begin - emit_string directive; - emit_string_literal s; - emit_char '\n' - end else begin - let i = ref 0 in - while !i < l do - let n = min (l - !i) 80 in - emit_string directive; - emit_string_literal (String.sub s !i n); - emit_char '\n'; - i := !i + n - done - end - -let emit_bytes_directive directive s = - let pos = ref 0 in - for i = 0 to String.length s - 1 do - if !pos = 0 - then emit_string directive - else emit_char ','; - emit_int(Char.code s.[i]); - incr pos; - if !pos >= 16 then begin emit_char '\n'; pos := 0 end - done; - if !pos > 0 then emit_char '\n' - -let emit_float64_directive directive x = - emit_printf "\t%s\t0x%Lx\n" directive x - -let emit_float64_split_directive directive x = - let lo = Int64.logand x 0xFFFF_FFFFL - and hi = Int64.shift_right_logical x 32 in - emit_printf "\t%s\t0x%Lx, 0x%Lx\n" - directive - (if Arch.big_endian then hi else lo) - (if Arch.big_endian then lo else hi) - -let emit_float32_directive directive x = - emit_printf "\t%s\t0x%lx\n" directive x - -(* Record live pointers at call points *) - -type frame_descr = - { fd_lbl: int; (* Return address *) - fd_frame_size: int; (* Size of stack frame *) - fd_live_offset: int list; (* Offsets/regs of live addresses *) - fd_debuginfo: Debuginfo.t } (* Location, if any *) - -let frame_descriptors = ref([] : frame_descr list) - -type emit_frame_actions = - { efa_label: int -> unit; - efa_16: int -> unit; - efa_32: int32 -> unit; - efa_word: int -> unit; - efa_align: int -> unit; - efa_label_rel: int -> int32 -> unit; - efa_def_label: int -> unit; - efa_string: string -> unit } - -let emit_frames a = - let filenames = Hashtbl.create 7 in - let label_filename name = - try - Hashtbl.find filenames name - with Not_found -> - let lbl = Linearize.new_label () in - Hashtbl.add filenames name lbl; - lbl in - let emit_frame fd = - a.efa_label fd.fd_lbl; - a.efa_16 (if Debuginfo.is_none fd.fd_debuginfo - then fd.fd_frame_size - else fd.fd_frame_size + 1); - a.efa_16 (List.length fd.fd_live_offset); - List.iter a.efa_16 fd.fd_live_offset; - a.efa_align Arch.size_addr; - if not (Debuginfo.is_none fd.fd_debuginfo) then begin - let d = fd.fd_debuginfo in - let line = min 0xFFFFF d.dinfo_line - and char_start = min 0xFF d.dinfo_char_start - and char_end = min 0x3FF d.dinfo_char_end - and kind = match d.dinfo_kind with Dinfo_call -> 0 | Dinfo_raise -> 1 in - let info = - Int64.add (Int64.shift_left (Int64.of_int line) 44) ( - Int64.add (Int64.shift_left (Int64.of_int char_start) 36) ( - Int64.add (Int64.shift_left (Int64.of_int char_end) 26) - (Int64.of_int kind))) in - a.efa_label_rel - (label_filename d.dinfo_file) - (Int64.to_int32 info); - a.efa_32 (Int64.to_int32 (Int64.shift_right info 32)) - end in - let emit_filename name lbl = - a.efa_def_label lbl; - a.efa_string name; - a.efa_align Arch.size_addr in - a.efa_word (List.length !frame_descriptors); - List.iter emit_frame !frame_descriptors; - Hashtbl.iter emit_filename filenames; - frame_descriptors := [] - -(* Detection of functions that can be duplicated between a DLL and - the main program (PR#4690) *) - -let isprefix s1 s2 = - String.length s1 <= String.length s2 - && String.sub s2 0 (String.length s1) = s1 - -let is_generic_function name = - List.exists - (fun p -> isprefix p name) - ["caml_apply"; "caml_curry"; "caml_send"; "caml_tuplify"] - -(* CFI directives *) - -let is_cfi_enabled () = - Config.asm_cfi_supported - -let cfi_startproc () = - if is_cfi_enabled () then - emit_string "\t.cfi_startproc\n" - -let cfi_endproc () = - if is_cfi_enabled () then - emit_string "\t.cfi_endproc\n" - -let cfi_adjust_cfa_offset n = - if is_cfi_enabled () then - begin - emit_string "\t.cfi_adjust_cfa_offset\t"; emit_int n; emit_string "\n"; - end - -let cfi_offset ~reg ~offset = - if is_cfi_enabled () then begin - emit_string "\t.cfi_offset "; - emit_int reg; - emit_string ", "; - emit_int offset; - emit_string "\n" - end - -(* Emit debug information *) - -(* This assoc list is expected to be very short *) -let file_pos_nums = - (ref [] : (string * int) list ref) - -(* Number of files *) -let file_pos_num_cnt = ref 1 - -(* Reset debug state at beginning of asm file *) -let reset_debug_info () = - file_pos_nums := []; - file_pos_num_cnt := 1 - -(* We only diplay .file if the file has not been seen before. We - display .loc for every instruction. *) -let emit_debug_info dbg = - if is_cfi_enabled () && - (!Clflags.debug || Config.with_frame_pointers) - && dbg.Debuginfo.dinfo_line > 0 (* PR#6243 *) - then begin - let line = dbg.Debuginfo.dinfo_line in - let file_name = dbg.Debuginfo.dinfo_file in - let file_num = - try List.assoc file_name !file_pos_nums - with Not_found -> - let file_num = !file_pos_num_cnt in - incr file_pos_num_cnt; - emit_string "\t.file\t"; - emit_int file_num; emit_char '\t'; - emit_string_literal file_name; emit_char '\n'; - file_pos_nums := (file_name,file_num) :: !file_pos_nums; - file_num in - emit_string "\t.loc\t"; - emit_int file_num; emit_char '\t'; - emit_int line; emit_char '\n' - end - -let reset () = - reset_debug_info (); - frame_descriptors := [] diff --git a/vendor/ocaml/asmcomp/emitaux.mli b/vendor/ocaml/asmcomp/emitaux.mli deleted file mode 100644 index e943da389..000000000 --- a/vendor/ocaml/asmcomp/emitaux.mli +++ /dev/null @@ -1,59 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Common functions for emitting assembly code *) - -val output_channel: out_channel ref -val emit_string: string -> unit -val emit_int: int -> unit -val emit_nativeint: nativeint -> unit -val emit_int32: int32 -> unit -val emit_symbol: char -> string -> unit -val emit_printf: ('a, out_channel, unit) format -> 'a -val emit_char: char -> unit -val emit_string_literal: string -> unit -val emit_string_directive: string -> string -> unit -val emit_bytes_directive: string -> string -> unit -val emit_float64_directive: string -> int64 -> unit -val emit_float64_split_directive: string -> int64 -> unit -val emit_float32_directive: string -> int32 -> unit - -val reset : unit -> unit -val reset_debug_info: unit -> unit -val emit_debug_info: Debuginfo.t -> unit - -type frame_descr = - { fd_lbl: int; (* Return address *) - fd_frame_size: int; (* Size of stack frame *) - fd_live_offset: int list; (* Offsets/regs of live addresses *) - fd_debuginfo: Debuginfo.t } (* Location, if any *) - -val frame_descriptors : frame_descr list ref - -type emit_frame_actions = - { efa_label: int -> unit; - efa_16: int -> unit; - efa_32: int32 -> unit; - efa_word: int -> unit; - efa_align: int -> unit; - efa_label_rel: int -> int32 -> unit; - efa_def_label: int -> unit; - efa_string: string -> unit } - -val emit_frames: emit_frame_actions -> unit - -val is_generic_function: string -> bool - -val cfi_startproc : unit -> unit -val cfi_endproc : unit -> unit -val cfi_adjust_cfa_offset : int -> unit -val cfi_offset : reg:int -> offset:int -> unit diff --git a/vendor/ocaml/asmcomp/i386/CSE.ml b/vendor/ocaml/asmcomp/i386/CSE.ml deleted file mode 100644 index 6bea76f1a..000000000 --- a/vendor/ocaml/asmcomp/i386/CSE.ml +++ /dev/null @@ -1,47 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* CSE for the i386 *) - -open Cmm -open Arch -open Mach -open CSEgen - -class cse = object (self) - -inherit cse_generic as super - -method! class_of_operation op = - match op with - (* Operations that affect the floating-point stack cannot be factored *) - | Iconst_float _ | Inegf | Iabsf | Iaddf | Isubf | Imulf | Idivf - | Iintoffloat | Ifloatofint - | Iload((Single | Double | Double_u), _) -> Op_other - (* Specific ops *) - | Ispecific(Ilea _) -> Op_pure - | Ispecific(Istore_int(_, _, is_asg)) -> Op_store is_asg - | Ispecific(Istore_symbol(_, _, is_asg)) -> Op_store is_asg - | Ispecific(Ioffset_loc(_, _)) -> Op_store true - | Ispecific _ -> Op_other - | _ -> super#class_of_operation op - -method! is_cheap_operation op = - match op with - | Iconst_int _ | Iconst_blockheader _ -> true - | Iconst_symbol _ -> true - | _ -> false - -end - -let fundecl f = - (new cse)#fundecl f diff --git a/vendor/ocaml/asmcomp/i386/arch.ml b/vendor/ocaml/asmcomp/i386/arch.ml deleted file mode 100644 index 1d486db3e..000000000 --- a/vendor/ocaml/asmcomp/i386/arch.ml +++ /dev/null @@ -1,162 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Machine-specific command-line options *) - -let fast_math = ref false - -let command_line_options = - [ "-ffast-math", Arg.Set fast_math, - " Inline trigonometric and exponential functions" ] - -(* Specific operations for the Intel 386 processor *) - -open Format - -type addressing_mode = - Ibased of string * int (* symbol + displ *) - | Iindexed of int (* reg + displ *) - | Iindexed2 of int (* reg + reg + displ *) - | Iscaled of int * int (* reg * scale + displ *) - | Iindexed2scaled of int * int (* reg + reg * scale + displ *) - -type specific_operation = - Ilea of addressing_mode (* Lea gives scaled adds *) - | Istore_int of nativeint * addressing_mode * bool - (* Store an integer constant *) - | Istore_symbol of string * addressing_mode * bool (* Store a symbol *) - | Ioffset_loc of int * addressing_mode (* Add a constant to a location *) - | Ipush (* Push regs on stack *) - | Ipush_int of nativeint (* Push an integer constant *) - | Ipush_symbol of string (* Push a symbol *) - | Ipush_load of addressing_mode (* Load a scalar and push *) - | Ipush_load_float of addressing_mode (* Load a float and push *) - | Isubfrev | Idivfrev (* Reversed float sub and div *) - | Ifloatarithmem of bool * float_operation * addressing_mode - (* Float arith operation with memory *) - (* bool: true=64 bits, false=32 *) - | Ifloatspecial of string - -and float_operation = - Ifloatadd | Ifloatsub | Ifloatsubrev | Ifloatmul | Ifloatdiv | Ifloatdivrev - -(* Sizes, endianness *) - -let big_endian = false - -let size_addr = 4 -let size_int = 4 -let size_float = 8 - -let allow_unaligned_access = true - -(* Behavior of division *) - -let division_crashes_on_overflow = true - -(* Operations on addressing modes *) - -let identity_addressing = Iindexed 0 - -let offset_addressing addr delta = - match addr with - Ibased(s, n) -> Ibased(s, n + delta) - | Iindexed n -> Iindexed(n + delta) - | Iindexed2 n -> Iindexed2(n + delta) - | Iscaled(scale, n) -> Iscaled(scale, n + delta) - | Iindexed2scaled(scale, n) -> Iindexed2scaled(scale, n + delta) - -let num_args_addressing = function - Ibased(s, n) -> 0 - | Iindexed n -> 1 - | Iindexed2 n -> 2 - | Iscaled(scale, n) -> 1 - | Iindexed2scaled(scale, n) -> 2 - -(* Printing operations and addressing modes *) - -let print_addressing printreg addr ppf arg = - match addr with - | Ibased(s, 0) -> - fprintf ppf "\"%s\"" s - | Ibased(s, n) -> - fprintf ppf "\"%s\" + %i" s n - | Iindexed n -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a%s" printreg arg.(0) idx - | Iindexed2 n -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a + %a%s" printreg arg.(0) printreg arg.(1) idx - | Iscaled(scale, n) -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a * %i%s" printreg arg.(0) scale idx - | Iindexed2scaled(scale, n) -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a + %a * %i%s" printreg arg.(0) printreg arg.(1) scale idx - -let print_specific_operation printreg op ppf arg = - match op with - | Ilea addr -> print_addressing printreg addr ppf arg - | Istore_int(n, addr, is_assign) -> - fprintf ppf "[%a] := %nd %s" - (print_addressing printreg addr) arg n - (if is_assign then "(assign)" else "(init)") - | Istore_symbol(lbl, addr, is_assign) -> - fprintf ppf "[%a] := \"%s\" %s" - (print_addressing printreg addr) arg lbl - (if is_assign then "(assign)" else "(init)") - | Ioffset_loc(n, addr) -> - fprintf ppf "[%a] +:= %i" (print_addressing printreg addr) arg n - | Ipush -> - fprintf ppf "push "; - for i = 0 to Array.length arg - 1 do - if i > 0 then fprintf ppf ", "; - printreg ppf arg.(i) - done - | Ipush_int n -> - fprintf ppf "push %s" (Nativeint.to_string n) - | Ipush_symbol s -> - fprintf ppf "push \"%s\"" s - | Ipush_load addr -> - fprintf ppf "push [%a]" (print_addressing printreg addr) arg - | Ipush_load_float addr -> - fprintf ppf "pushfloat [%a]" (print_addressing printreg addr) arg - | Isubfrev -> - fprintf ppf "%a -f(rev) %a" printreg arg.(0) printreg arg.(1) - | Idivfrev -> - fprintf ppf "%a /f(rev) %a" printreg arg.(0) printreg arg.(1) - | Ifloatarithmem(double, op, addr) -> - let op_name = function - | Ifloatadd -> "+f" - | Ifloatsub -> "-f" - | Ifloatsubrev -> "-f(rev)" - | Ifloatmul -> "*f" - | Ifloatdiv -> "/f" - | Ifloatdivrev -> "/f(rev)" in - let long = if double then "float64" else "float32" in - fprintf ppf "%a %s %s[%a]" printreg arg.(0) (op_name op) long - (print_addressing printreg addr) (Array.sub arg 1 (Array.length arg - 1)) - | Ifloatspecial name -> - fprintf ppf "%s " name; - for i = 0 to Array.length arg - 1 do - if i > 0 then fprintf ppf ", "; - printreg ppf arg.(i) - done - -(* Stack alignment constraints *) - -let stack_alignment = - match Config.system with - | "win32" -> 4 (* MSVC *) - | _ -> 16 -(* PR#6038: GCC and Clang seem to require 16-byte alignment nowadays, - even if only MacOS X's ABI formally requires it *) diff --git a/vendor/ocaml/asmcomp/i386/emit.mlp b/vendor/ocaml/asmcomp/i386/emit.mlp deleted file mode 100644 index 98df5f958..000000000 --- a/vendor/ocaml/asmcomp/i386/emit.mlp +++ /dev/null @@ -1,1034 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Emission of Intel 386 assembly code *) - -module StringSet = - Set.Make(struct type t = string let compare (x:t) y = compare x y end) - -open Misc -open Cmm -open Arch -open Proc -open Reg -open Mach -open Linearize -open Emitaux - -(* Tradeoff between code size and code speed *) - -let fastcode_flag = ref true - -let stack_offset = ref 0 - -(* Layout of the stack frame *) - -let frame_size () = (* includes return address *) - let sz = - !stack_offset + 4 * num_stack_slots.(0) + 8 * num_stack_slots.(1) + 4 - in Misc.align sz stack_alignment - -let slot_offset loc cl = - match loc with - Incoming n -> - assert (n >= 0); - frame_size() + n - | Local n -> - if cl = 0 - then !stack_offset + n * 4 - else !stack_offset + num_stack_slots.(0) * 4 + n * 8 - | Outgoing n -> - assert (n >= 0); - n - -let trap_frame_size = Misc.align 8 stack_alignment - -(* Prefixing of symbols with "_" *) - -let symbol_prefix = - match Config.system with - "linux_elf" -> "" - | "bsd_elf" -> "" - | "solaris" -> "" - | "beos" -> "" - | "gnu" -> "" - | _ -> "_" - -let emit_symbol s = - emit_string symbol_prefix; Emitaux.emit_symbol '$' s - -(* Output a label *) - -let label_prefix = - match Config.system with - "linux_elf" -> ".L" - | "bsd_elf" -> ".L" - | "solaris" -> ".L" - | "beos" -> ".L" - | "gnu" -> ".L" - | _ -> "L" - -let emit_label lbl = - emit_string label_prefix; emit_int lbl - -let emit_data_label lbl = - emit_string label_prefix; emit_string "d"; emit_int lbl - - -(* Some data directives have different names under Solaris *) - -let word_dir = - match Config.system with - "solaris" -> ".value" - | _ -> ".word" -let skip_dir = - match Config.system with - "solaris" -> ".zero" - | _ -> ".space" -let use_ascii_dir = - match Config.system with - "solaris" -> false - | _ -> true - -(* MacOSX has its own way to reference symbols potentially defined in - shared objects *) - -let macosx = - match Config.system with - | "macosx" -> true - | _ -> false - -(* Output a .align directive. - The numerical argument to .align is log2 of alignment size, except - under ELF, where it is the alignment size... *) - -let emit_align = - match Config.system with - "linux_elf" | "bsd_elf" | "solaris" | "beos" | "cygwin" | "mingw" | "gnu" -> - (fun n -> ` .align {emit_int n}\n`) - | _ -> - (fun n -> ` .align {emit_int(Misc.log2 n)}\n`) - -let emit_Llabel fallthrough lbl = - if not fallthrough && !fastcode_flag then - emit_align 16 ; - emit_label lbl - -(* Output a pseudo-register *) - -let emit_reg = function - { loc = Reg r } -> - emit_string (register_name r) - | { loc = Stack(Incoming n | Outgoing n) } when n < 0 -> - `{emit_symbol "caml_extra_params"} + {emit_int (n + 64)}` - | { loc = Stack s } as r -> - let ofs = slot_offset s (register_class r) in - `{emit_int ofs}(%esp)` - | { loc = Unknown } -> - fatal_error "Emit_i386.emit_reg" - -(* Output a reference to the lower 8 bits or lower 16 bits of a register *) - -let reg_low_byte_name = [| "%al"; "%bl"; "%cl"; "%dl" |] -let reg_low_half_name = [| "%ax"; "%bx"; "%cx"; "%dx"; "%si"; "%di"; "%bp" |] - -let emit_reg8 r = - match r.loc with - Reg r when r < 4 -> emit_string (reg_low_byte_name.(r)) - | _ -> fatal_error "Emit_i386.emit_reg8" - -let emit_reg16 r = - match r.loc with - Reg r when r < 7 -> emit_string (reg_low_half_name.(r)) - | _ -> fatal_error "Emit_i386.emit_reg16" - -(* Output an addressing mode *) - -let emit_addressing addr r n = - match addr with - Ibased(s, d) -> - `{emit_symbol s}`; - if d <> 0 then ` + {emit_int d}` - | Iindexed d -> - if d <> 0 then emit_int d; - `({emit_reg r.(n)})` - | Iindexed2 d -> - if d <> 0 then emit_int d; - `({emit_reg r.(n)}, {emit_reg r.(n+1)})` - | Iscaled(2, d) -> - if d <> 0 then emit_int d; - `({emit_reg r.(n)}, {emit_reg r.(n)})` - | Iscaled(scale, d) -> - if d <> 0 then emit_int d; - `(, {emit_reg r.(n)}, {emit_int scale})` - | Iindexed2scaled(scale, d) -> - if d <> 0 then emit_int d; - `({emit_reg r.(n)}, {emit_reg r.(n+1)}, {emit_int scale})` - -(* Record live pointers at call points *) - -let record_frame_label live dbg = - let lbl = new_label() in - let live_offset = ref [] in - Reg.Set.iter - (function - {typ = Addr; loc = Reg r} -> - live_offset := ((r lsl 1) + 1) :: !live_offset - | {typ = Addr; loc = Stack s} as reg -> - live_offset := slot_offset s (register_class reg) :: !live_offset - | _ -> ()) - live; - frame_descriptors := - { fd_lbl = lbl; - fd_frame_size = frame_size(); - fd_live_offset = !live_offset; - fd_debuginfo = dbg } :: !frame_descriptors; - lbl - -let record_frame live dbg = - let lbl = record_frame_label live dbg in `{emit_label lbl}:\n` - -(* Record calls to the GC -- we've moved them out of the way *) - -type gc_call = - { gc_lbl: label; (* Entry label *) - gc_return_lbl: label; (* Where to branch after GC *) - gc_frame: label } (* Label of frame descriptor *) - -let call_gc_sites = ref ([] : gc_call list) - -let emit_call_gc gc = - `{emit_label gc.gc_lbl}: call {emit_symbol "caml_call_gc"}\n`; - `{emit_label gc.gc_frame}: jmp {emit_label gc.gc_return_lbl}\n` - -(* Record calls to caml_ml_array_bound_error. - In -g mode, we maintain one call to caml_ml_array_bound_error - per bound check site. Without -g, we can share a single call. *) - -type bound_error_call = - { bd_lbl: label; (* Entry label *) - bd_frame: label } (* Label of frame descriptor *) - -let bound_error_sites = ref ([] : bound_error_call list) -let bound_error_call = ref 0 - -let bound_error_label dbg = - if !Clflags.debug then begin - let lbl_bound_error = new_label() in - let lbl_frame = record_frame_label Reg.Set.empty dbg in - bound_error_sites := - { bd_lbl = lbl_bound_error; bd_frame = lbl_frame } :: !bound_error_sites; - lbl_bound_error - end else begin - if !bound_error_call = 0 then bound_error_call := new_label(); - !bound_error_call - end - -let emit_call_bound_error bd = - `{emit_label bd.bd_lbl}: call {emit_symbol "caml_ml_array_bound_error"}\n`; - `{emit_label bd.bd_frame}:\n` - -let emit_call_bound_errors () = - List.iter emit_call_bound_error !bound_error_sites; - if !bound_error_call > 0 then - `{emit_label !bound_error_call}: call {emit_symbol "caml_ml_array_bound_error"}\n` - -(* Names for instructions *) - -let instr_for_intop = function - Iadd -> "addl" - | Isub -> "subl" - | Imul -> "imull" - | Iand -> "andl" - | Ior -> "orl" - | Ixor -> "xorl" - | Ilsl -> "sall" - | Ilsr -> "shrl" - | Iasr -> "sarl" - | _ -> fatal_error "Emit_i386: instr_for_intop" - -let instr_for_floatop = function - Inegf -> "fchs" - | Iabsf -> "fabs" - | Iaddf -> "faddl" - | Isubf -> "fsubl" - | Imulf -> "fmull" - | Idivf -> "fdivl" - | Ispecific Isubfrev -> "fsubrl" - | Ispecific Idivfrev -> "fdivrl" - | _ -> fatal_error "Emit_i386: instr_for_floatop" - -let instr_for_floatop_reversed = function - Iaddf -> "faddl" - | Isubf -> "fsubrl" - | Imulf -> "fmull" - | Idivf -> "fdivrl" - | Ispecific Isubfrev -> "fsubl" - | Ispecific Idivfrev -> "fdivl" - | _ -> fatal_error "Emit_i386: instr_for_floatop_reversed" - -let instr_for_floatop_pop = function - Iaddf -> "faddp" - | Isubf -> "fsubp" - | Imulf -> "fmulp" - | Idivf -> "fdivp" - | Ispecific Isubfrev -> "fsubrp" - | Ispecific Idivfrev -> "fdivrp" - | _ -> fatal_error "Emit_i386: instr_for_floatop_pop" - -let instr_for_floatarithmem double = function - Ifloatadd -> if double then "faddl" else "fadds" - | Ifloatsub -> if double then "fsubl" else "fsubs" - | Ifloatsubrev -> if double then "fsubrl" else "fsubrs" - | Ifloatmul -> if double then "fmull" else "fmuls" - | Ifloatdiv -> if double then "fdivl" else "fdivs" - | Ifloatdivrev -> if double then "fdivrl" else "fdivrs" - -let name_for_cond_branch = function - Isigned Ceq -> "e" | Isigned Cne -> "ne" - | Isigned Cle -> "le" | Isigned Cgt -> "g" - | Isigned Clt -> "l" | Isigned Cge -> "ge" - | Iunsigned Ceq -> "e" | Iunsigned Cne -> "ne" - | Iunsigned Cle -> "be" | Iunsigned Cgt -> "a" - | Iunsigned Clt -> "b" | Iunsigned Cge -> "ae" - -(* Output an = 0 or <> 0 test. *) - -let output_test_zero arg = - match arg.loc with - Reg r -> ` testl {emit_reg arg}, {emit_reg arg}\n` - | _ -> ` cmpl $0, {emit_reg arg}\n` - -(* Deallocate the stack frame before a return or tail call *) - -let output_epilogue f = - let n = frame_size() - 4 in - if n > 0 then - begin - ` addl ${emit_int n}, %esp\n`; - cfi_adjust_cfa_offset (-n); - f (); - (* reset CFA back cause function body may continue *) - cfi_adjust_cfa_offset n - end - else - f () - -(* Determine if the given register is the top of the floating-point stack *) - -let is_tos = function { loc = Reg _; typ = Float } -> true | _ -> false - -(* Emit the code for a floating-point comparison *) - -let emit_float_test cmp neg arg lbl = - let actual_cmp = - match (is_tos arg.(0), is_tos arg.(1)) with - (true, true) -> - (* both args on top of FP stack *) - ` fcompp\n`; - cmp - | (true, false) -> - (* first arg on top of FP stack *) - ` fcompl {emit_reg arg.(1)}\n`; - cmp - | (false, true) -> - (* second arg on top of FP stack *) - ` fcompl {emit_reg arg.(0)}\n`; - Cmm.swap_comparison cmp - | (false, false) -> - ` fldl {emit_reg arg.(0)}\n`; - ` fcompl {emit_reg arg.(1)}\n`; - cmp - in - ` fnstsw %ax\n`; - begin match actual_cmp with - Ceq -> - if neg then begin - ` andb $68, %ah\n`; - ` xorb $64, %ah\n`; - ` jne ` - end else begin - ` andb $69, %ah\n`; - ` cmpb $64, %ah\n`; - ` je ` - end - | Cne -> - if neg then begin - ` andb $69, %ah\n`; - ` cmpb $64, %ah\n`; - ` je ` - end else begin - ` andb $68, %ah\n`; - ` xorb $64, %ah\n`; - ` jne ` - end - | Cle -> - ` andb $69, %ah\n`; - ` decb %ah\n`; - ` cmpb $64, %ah\n`; - if neg - then ` jae ` - else ` jb ` - | Cge -> - ` andb $5, %ah\n`; - if neg - then ` jne ` - else ` je ` - | Clt -> - ` andb $69, %ah\n`; - ` cmpb $1, %ah\n`; - if neg - then ` jne ` - else ` je ` - | Cgt -> - ` andb $69, %ah\n`; - if neg - then ` jne ` - else ` je ` - end; - `{emit_label lbl}\n` - -(* Emit a Ifloatspecial instruction *) - -let emit_floatspecial = function - "atan" -> ` fld1; fpatan\n` - | "atan2" -> ` fpatan\n` - | "cos" -> ` fcos\n` - | "log" -> ` fldln2; fxch; fyl2x\n` - | "log10" -> ` fldlg2; fxch; fyl2x\n` - | "sin" -> ` fsin\n` - | "sqrt" -> ` fsqrt\n` - | "tan" -> ` fptan; fstp %st(0)\n` - | _ -> assert false - -(* Floating-point constants *) - -let float_constants = ref ([] : (int64 * int) list) - -let add_float_constant cst = - let repr = Int64.bits_of_float cst in - try - List.assoc repr !float_constants - with - Not_found -> - let lbl = new_label() in - float_constants := (repr, lbl) :: !float_constants; - lbl - -let emit_float_constant (cst, lbl) = - `{emit_label lbl}:`; - emit_float64_split_directive ".long" cst - -(* Output the assembly code for an instruction *) - -(* Name of current function *) -let function_name = ref "" -(* Entry point for tail recursive calls *) -let tailrec_entry_point = ref 0 -(* Label of trap for out-of-range accesses *) -let range_check_trap = ref 0 -(* Record references to external C functions (for MacOSX) *) -let external_symbols_direct = ref StringSet.empty -let external_symbols_indirect = ref StringSet.empty - -let emit_instr fallthrough i = - emit_debug_info i.dbg; - match i.desc with - Lend -> () - | Lop(Imove | Ispill | Ireload) -> - let src = i.arg.(0) and dst = i.res.(0) in - if src.loc <> dst.loc then begin - if src.typ = Float then - if is_tos src then - ` fstpl {emit_reg dst}\n` - else if is_tos dst then - ` fldl {emit_reg src}\n` - else begin - ` fldl {emit_reg src}\n`; - ` fstpl {emit_reg dst}\n` - end - else - ` movl {emit_reg src}, {emit_reg dst}\n` - end - | Lop(Iconst_int n | Iconst_blockheader n) -> - if n = 0n then begin - match i.res.(0).loc with - Reg n -> ` xorl {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` - | _ -> ` movl $0, {emit_reg i.res.(0)}\n` - end else - ` movl ${emit_nativeint n}, {emit_reg i.res.(0)}\n` - | Lop(Iconst_float f) -> - begin match Int64.bits_of_float f with - | 0x0000_0000_0000_0000L -> (* +0.0 *) - ` fldz\n` - | 0x8000_0000_0000_0000L -> (* -0.0 *) - ` fldz\n fchs\n` - | 0x3FF0_0000_0000_0000L -> (* 1.0 *) - ` fld1\n` - | 0xBFF0_0000_0000_0000L -> (* -1.0 *) - ` fld1\n fchs\n` - | _ -> - let lbl = add_float_constant f in - ` fldl {emit_label lbl}\n` - end - | Lop(Iconst_symbol s) -> - ` movl ${emit_symbol s}, {emit_reg i.res.(0)}\n` - | Lop(Icall_ind) -> - ` call *{emit_reg i.arg.(0)}\n`; - record_frame i.live i.dbg - | Lop(Icall_imm s) -> - ` call {emit_symbol s}\n`; - record_frame i.live i.dbg - | Lop(Itailcall_ind) -> - output_epilogue begin fun () -> - ` jmp *{emit_reg i.arg.(0)}\n` - end - | Lop(Itailcall_imm s) -> - if s = !function_name then - ` jmp {emit_label !tailrec_entry_point}\n` - else begin - output_epilogue begin fun () -> - ` jmp {emit_symbol s}\n` - end - end - | Lop(Iextcall(s, alloc)) -> - if alloc then begin - if not macosx then - ` movl ${emit_symbol s}, %eax\n` - else begin - external_symbols_indirect := - StringSet.add s !external_symbols_indirect; - ` movl L{emit_symbol s}$non_lazy_ptr, %eax\n` - end; - ` call {emit_symbol "caml_c_call"}\n`; - record_frame i.live i.dbg - end else begin - if not macosx then - ` call {emit_symbol s}\n` - else begin - external_symbols_direct := - StringSet.add s !external_symbols_direct; - ` call L{emit_symbol s}$stub\n` - end - end - | Lop(Istackoffset n) -> - if n < 0 - then ` addl ${emit_int(-n)}, %esp\n` - else ` subl ${emit_int(n)}, %esp\n`; - cfi_adjust_cfa_offset n; - stack_offset := !stack_offset + n - | Lop(Iload(chunk, addr)) -> - let dest = i.res.(0) in - begin match chunk with - | Word | Thirtytwo_signed | Thirtytwo_unsigned -> - ` movl {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Byte_unsigned -> - ` movzbl {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Byte_signed -> - ` movsbl {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Sixteen_unsigned -> - ` movzwl {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Sixteen_signed -> - ` movswl {emit_addressing addr i.arg 0}, {emit_reg dest}\n` - | Single -> - ` flds {emit_addressing addr i.arg 0}\n` - | Double | Double_u -> - ` fldl {emit_addressing addr i.arg 0}\n` - end - | Lop(Istore(chunk, addr, _)) -> - begin match chunk with - | Word | Thirtytwo_signed | Thirtytwo_unsigned -> - ` movl {emit_reg i.arg.(0)}, {emit_addressing addr i.arg 1}\n` - | Byte_unsigned | Byte_signed -> - ` movb {emit_reg8 i.arg.(0)}, {emit_addressing addr i.arg 1}\n` - | Sixteen_unsigned | Sixteen_signed -> - ` movw {emit_reg16 i.arg.(0)}, {emit_addressing addr i.arg 1}\n` - | Single -> - if is_tos i.arg.(0) then - ` fstps {emit_addressing addr i.arg 1}\n` - else begin - ` fldl {emit_reg i.arg.(0)}\n`; - ` fstps {emit_addressing addr i.arg 1}\n` - end - | Double | Double_u -> - if is_tos i.arg.(0) then - ` fstpl {emit_addressing addr i.arg 1}\n` - else begin - ` fldl {emit_reg i.arg.(0)}\n`; - ` fstpl {emit_addressing addr i.arg 1}\n` - end - end - | Lop(Ialloc n) -> - if !fastcode_flag then begin - let lbl_redo = new_label() in - `{emit_label lbl_redo}: movl {emit_symbol "caml_young_ptr"}, %eax\n`; - ` subl ${emit_int n}, %eax\n`; - ` movl %eax, {emit_symbol "caml_young_ptr"}\n`; - ` cmpl {emit_symbol "caml_young_limit"}, %eax\n`; - let lbl_call_gc = new_label() in - let lbl_frame = record_frame_label i.live Debuginfo.none in - ` jb {emit_label lbl_call_gc}\n`; - ` leal 4(%eax), {emit_reg i.res.(0)}\n`; - call_gc_sites := - { gc_lbl = lbl_call_gc; - gc_return_lbl = lbl_redo; - gc_frame = lbl_frame } :: !call_gc_sites - end else begin - begin match n with - 8 -> ` call {emit_symbol "caml_alloc1"}\n` - | 12 -> ` call {emit_symbol "caml_alloc2"}\n` - | 16 -> ` call {emit_symbol "caml_alloc3"}\n` - | _ -> ` movl ${emit_int n}, %eax\n`; - ` call {emit_symbol "caml_allocN"}\n` - end; - `{record_frame i.live Debuginfo.none} leal 4(%eax), {emit_reg i.res.(0)}\n` - end - | Lop(Iintop(Icomp cmp)) -> - ` cmpl {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`; - let b = name_for_cond_branch cmp in - ` set{emit_string b} %al\n`; - ` movzbl %al, {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Icomp cmp, n)) -> - ` cmpl ${emit_int n}, {emit_reg i.arg.(0)}\n`; - let b = name_for_cond_branch cmp in - ` set{emit_string b} %al\n`; - ` movzbl %al, {emit_reg i.res.(0)}\n` - | Lop(Iintop Icheckbound) -> - let lbl = bound_error_label i.dbg in - ` cmpl {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`; - ` jbe {emit_label lbl}\n` - | Lop(Iintop_imm(Icheckbound, n)) -> - let lbl = bound_error_label i.dbg in - ` cmpl ${emit_int n}, {emit_reg i.arg.(0)}\n`; - ` jbe {emit_label lbl}\n` - | Lop(Iintop(Idiv | Imod)) -> - ` cltd\n`; - ` idivl {emit_reg i.arg.(1)}\n` - | Lop(Iintop(Ilsl | Ilsr | Iasr as op)) -> - (* We have i.arg.(0) = i.res.(0) and i.arg.(1) = %ecx *) - ` {emit_string(instr_for_intop op)} %cl, {emit_reg i.res.(0)}\n` - | Lop(Iintop Imulh) -> - ` imull {emit_reg i.arg.(1)}\n` - | Lop(Iintop op) -> - (* We have i.arg.(0) = i.res.(0) *) - ` {emit_string(instr_for_intop op)} {emit_reg i.arg.(1)}, {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Iadd, n)) when i.arg.(0).loc <> i.res.(0).loc -> - ` leal {emit_int n}({emit_reg i.arg.(0)}), {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Iadd, 1) | Iintop_imm(Isub, -1)) -> - ` incl {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Iadd, -1) | Iintop_imm(Isub, 1)) -> - ` decl {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(op, n)) -> - (* We have i.arg.(0) = i.res.(0) *) - ` {emit_string(instr_for_intop op)} ${emit_int n}, {emit_reg i.res.(0)}\n` - | Lop(Inegf | Iabsf as floatop) -> - if not (is_tos i.arg.(0)) then - ` fldl {emit_reg i.arg.(0)}\n`; - ` {emit_string(instr_for_floatop floatop)}\n` - | Lop(Iaddf | Isubf | Imulf | Idivf | Ispecific(Isubfrev | Idivfrev) - as floatop) -> - begin match (is_tos i.arg.(0), is_tos i.arg.(1)) with - (true, true) -> - (* both operands on top of FP stack *) - ` {emit_string(instr_for_floatop_pop floatop)} %st, %st(1)\n` - | (true, false) -> - (* first operand on stack *) - ` {emit_string(instr_for_floatop floatop)} {emit_reg i.arg.(1)}\n` - | (false, true) -> - (* second operand on stack *) - ` {emit_string(instr_for_floatop_reversed floatop)} {emit_reg i.arg.(0)}\n` - | (false, false) -> - (* both operands in memory *) - ` fldl {emit_reg i.arg.(0)}\n`; - ` {emit_string(instr_for_floatop floatop)} {emit_reg i.arg.(1)}\n` - end - | Lop(Ifloatofint) -> - begin match i.arg.(0).loc with - Stack s -> - ` fildl {emit_reg i.arg.(0)}\n` - | _ -> - ` pushl {emit_reg i.arg.(0)}\n`; - ` fildl (%esp)\n`; - ` addl $4, %esp\n` - end - | Lop(Iintoffloat) -> - if not (is_tos i.arg.(0)) then - ` fldl {emit_reg i.arg.(0)}\n`; - stack_offset := !stack_offset - 8; - ` subl $8, %esp\n`; - cfi_adjust_cfa_offset 8; - ` fnstcw 4(%esp)\n`; - ` movw 4(%esp), %ax\n`; - ` movb $12, %ah\n`; - ` movw %ax, 0(%esp)\n`; - ` fldcw 0(%esp)\n`; - begin match i.res.(0).loc with - Stack s -> - ` fistpl {emit_reg i.res.(0)}\n` - | _ -> - ` fistpl (%esp)\n`; - ` movl (%esp), {emit_reg i.res.(0)}\n` - end; - ` fldcw 4(%esp)\n`; - ` addl $8, %esp\n`; - cfi_adjust_cfa_offset (-8); - stack_offset := !stack_offset + 8 - | Lop(Ispecific(Ilea addr)) -> - ` lea {emit_addressing addr i.arg 0}, {emit_reg i.res.(0)}\n` - | Lop(Ispecific(Istore_int(n, addr, _))) -> - ` movl ${emit_nativeint n}, {emit_addressing addr i.arg 0}\n` - | Lop(Ispecific(Istore_symbol(s, addr, _))) -> - ` movl ${emit_symbol s}, {emit_addressing addr i.arg 0}\n` - | Lop(Ispecific(Ioffset_loc(n, addr))) -> - ` addl ${emit_int n}, {emit_addressing addr i.arg 0}\n` - | Lop(Ispecific(Ipush)) -> - (* Push arguments in reverse order *) - for n = Array.length i.arg - 1 downto 0 do - let r = i.arg.(n) in - match r with - {loc = Reg _; typ = Float} -> - ` subl $8, %esp\n`; - cfi_adjust_cfa_offset 8; - ` fstpl 0(%esp)\n`; - stack_offset := !stack_offset + 8 - | {loc = Stack sl; typ = Float} -> - let ofs = slot_offset sl 1 in - ` pushl {emit_int(ofs + 4)}(%esp)\n`; - ` pushl {emit_int(ofs + 4)}(%esp)\n`; - cfi_adjust_cfa_offset 8; - stack_offset := !stack_offset + 8 - | _ -> - ` pushl {emit_reg r}\n`; - cfi_adjust_cfa_offset 4; - stack_offset := !stack_offset + 4 - done - | Lop(Ispecific(Ipush_int n)) -> - ` pushl ${emit_nativeint n}\n`; - cfi_adjust_cfa_offset 4; - stack_offset := !stack_offset + 4 - | Lop(Ispecific(Ipush_symbol s)) -> - ` pushl ${emit_symbol s}\n`; - cfi_adjust_cfa_offset 4; - stack_offset := !stack_offset + 4 - | Lop(Ispecific(Ipush_load addr)) -> - ` pushl {emit_addressing addr i.arg 0}\n`; - cfi_adjust_cfa_offset 4; - stack_offset := !stack_offset + 4 - | Lop(Ispecific(Ipush_load_float addr)) -> - ` pushl {emit_addressing (offset_addressing addr 4) i.arg 0}\n`; - ` pushl {emit_addressing addr i.arg 0}\n`; - cfi_adjust_cfa_offset 8; - stack_offset := !stack_offset + 8 - | Lop(Ispecific(Ifloatarithmem(double, op, addr))) -> - if not (is_tos i.arg.(0)) then - ` fldl {emit_reg i.arg.(0)}\n`; - ` {emit_string(instr_for_floatarithmem double op)} {emit_addressing addr i.arg 1}\n` - | Lop(Ispecific(Ifloatspecial s)) -> - (* Push args on float stack if necessary *) - for k = 0 to Array.length i.arg - 1 do - if not (is_tos i.arg.(k)) then ` fldl {emit_reg i.arg.(k)}\n` - done; - (* Fix-up for binary instrs whose args were swapped *) - if Array.length i.arg = 2 && is_tos i.arg.(1) then - ` fxch %st(1)\n`; - emit_floatspecial s - | Lreloadretaddr -> - () - | Lreturn -> - output_epilogue begin fun () -> - ` ret\n` - end - | Llabel lbl -> - `{emit_Llabel fallthrough lbl}:\n` - | Lbranch lbl -> - ` jmp {emit_label lbl}\n` - | Lcondbranch(tst, lbl) -> - begin match tst with - Itruetest -> - output_test_zero i.arg.(0); - ` jne {emit_label lbl}\n` - | Ifalsetest -> - output_test_zero i.arg.(0); - ` je {emit_label lbl}\n` - | Iinttest cmp -> - ` cmpl {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`; - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Iinttest_imm((Isigned Ceq | Isigned Cne | - Iunsigned Ceq | Iunsigned Cne) as cmp, 0) -> - output_test_zero i.arg.(0); - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Iinttest_imm(cmp, n) -> - ` cmpl ${emit_int n}, {emit_reg i.arg.(0)}\n`; - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Ifloattest(cmp, neg) -> - emit_float_test cmp neg i.arg lbl - | Ioddtest -> - ` testl $1, {emit_reg i.arg.(0)}\n`; - ` jne {emit_label lbl}\n` - | Ieventest -> - ` testl $1, {emit_reg i.arg.(0)}\n`; - ` je {emit_label lbl}\n` - end - | Lcondbranch3(lbl0, lbl1, lbl2) -> - ` cmpl $1, {emit_reg i.arg.(0)}\n`; - begin match lbl0 with - None -> () - | Some lbl -> ` jb {emit_label lbl}\n` - end; - begin match lbl1 with - None -> () - | Some lbl -> ` je {emit_label lbl}\n` - end; - begin match lbl2 with - None -> () - | Some lbl -> ` jg {emit_label lbl}\n` - end - | Lswitch jumptbl -> - let lbl = new_label() in - ` jmp *{emit_label lbl}(, {emit_reg i.arg.(0)}, 4)\n`; - ` .data\n`; - `{emit_label lbl}:`; - for i = 0 to Array.length jumptbl - 1 do - ` .long {emit_label jumptbl.(i)}\n` - done; - ` .text\n` - | Lsetuptrap lbl -> - ` call {emit_label lbl}\n` - | Lpushtrap -> - if trap_frame_size > 8 then - ` subl ${emit_int (trap_frame_size - 8)}, %esp\n`; - ` pushl {emit_symbol "caml_exception_pointer"}\n`; - cfi_adjust_cfa_offset trap_frame_size; - ` movl %esp, {emit_symbol "caml_exception_pointer"}\n`; - stack_offset := !stack_offset + trap_frame_size - | Lpoptrap -> - ` popl {emit_symbol "caml_exception_pointer"}\n`; - ` addl ${emit_int (trap_frame_size - 4)}, %esp\n`; - cfi_adjust_cfa_offset (-trap_frame_size); - stack_offset := !stack_offset - trap_frame_size - | Lraise k -> - begin match !Clflags.debug, k with - | true, Lambda.Raise_regular -> - ` call {emit_symbol "caml_raise_exn"}\n`; - record_frame Reg.Set.empty i.dbg - | true, Lambda.Raise_reraise -> - ` call {emit_symbol "caml_reraise_exn"}\n`; - record_frame Reg.Set.empty i.dbg - | false, _ - | true, Lambda.Raise_notrace -> - ` movl {emit_symbol "caml_exception_pointer"}, %esp\n`; - ` popl {emit_symbol "caml_exception_pointer"}\n`; - if trap_frame_size > 8 then - ` addl ${emit_int (trap_frame_size - 8)}, %esp\n`; - ` ret\n` - end - -let rec emit_all fallthrough i = - match i.desc with - | Lend -> () - | _ -> - emit_instr fallthrough i; - emit_all - (Linearize.has_fallthrough i.desc) - i.next - -(* Emission of external symbol references (for MacOSX) *) - -let emit_external_symbol_direct s = - `L{emit_symbol s}$stub:\n`; - ` .indirect_symbol {emit_symbol s}\n`; - ` hlt ; hlt ; hlt ; hlt ; hlt\n` - -let emit_external_symbol_indirect s = - `L{emit_symbol s}$non_lazy_ptr:\n`; - ` .indirect_symbol {emit_symbol s}\n`; - ` .long 0\n` - -let emit_external_symbols () = - ` .section __IMPORT,__pointers,non_lazy_symbol_pointers\n`; - StringSet.iter emit_external_symbol_indirect !external_symbols_indirect; - external_symbols_indirect := StringSet.empty; - ` .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5\n`; - StringSet.iter emit_external_symbol_direct !external_symbols_direct; - external_symbols_direct := StringSet.empty; - if !Clflags.gprofile then begin - `Lmcount$stub:\n`; - ` .indirect_symbol mcount\n`; - ` hlt ; hlt ; hlt ; hlt ; hlt\n` - end - -(* Emission of the profiling prelude *) - -let emit_profile () = - match Config.system with - "linux_elf" | "gnu" -> - ` pushl %eax\n`; - ` movl %esp, %ebp\n`; - ` pushl %ecx\n`; - ` pushl %edx\n`; - ` call {emit_symbol "mcount"}\n`; - ` popl %edx\n`; - ` popl %ecx\n`; - ` popl %eax\n` - | "bsd_elf" -> - ` pushl %eax\n`; - ` movl %esp, %ebp\n`; - ` pushl %ecx\n`; - ` pushl %edx\n`; - ` call .mcount\n`; - ` popl %edx\n`; - ` popl %ecx\n`; - ` popl %eax\n` - | "macosx" -> - ` pushl %eax\n`; - ` movl %esp, %ebp\n`; - ` pushl %ecx\n`; - ` pushl %edx\n`; - ` call Lmcount$stub\n`; - ` popl %edx\n`; - ` popl %ecx\n`; - ` popl %eax\n` - | _ -> () (*unsupported yet*) - -(* Emission of a function declaration *) - -let fundecl fundecl = - function_name := fundecl.fun_name; - fastcode_flag := fundecl.fun_fast; - tailrec_entry_point := new_label(); - stack_offset := 0; - call_gc_sites := []; - bound_error_sites := []; - bound_error_call := 0; - ` .text\n`; - emit_align 16; - if macosx - && not !Clflags.output_c_object - && is_generic_function fundecl.fun_name - then (* PR#4690 *) - ` .private_extern {emit_symbol fundecl.fun_name}\n` - else - ` .globl {emit_symbol fundecl.fun_name}\n`; - `{emit_symbol fundecl.fun_name}:\n`; - emit_debug_info fundecl.fun_dbg; - cfi_startproc (); - if !Clflags.gprofile then emit_profile(); - let n = frame_size() - 4 in - if n > 0 then - begin - ` subl ${emit_int n}, %esp\n`; - cfi_adjust_cfa_offset n; - end; - `{emit_label !tailrec_entry_point}:\n`; - emit_all true fundecl.fun_body; - List.iter emit_call_gc !call_gc_sites; - emit_call_bound_errors (); - cfi_endproc (); - begin match Config.system with - "linux_elf" | "bsd_elf" | "gnu" -> - ` .type {emit_symbol fundecl.fun_name},@function\n`; - ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n` - | _ -> () end - - -(* Emission of data *) - -let emit_item = function - Cglobal_symbol s -> - ` .globl {emit_symbol s}\n`; - | Cdefine_symbol s -> - `{emit_symbol s}:\n` - | Cdefine_label lbl -> - `{emit_data_label lbl}:\n` - | Cint8 n -> - ` .byte {emit_int n}\n` - | Cint16 n -> - ` {emit_string word_dir} {emit_int n}\n` - | Cint32 n -> - ` .long {emit_nativeint n}\n` - | Cint n -> - ` .long {emit_nativeint n}\n` - | Csingle f -> - emit_float32_directive ".long" (Int32.bits_of_float f) - | Cdouble f -> - emit_float64_split_directive ".long" (Int64.bits_of_float f) - | Csymbol_address s -> - ` .long {emit_symbol s}\n` - | Clabel_address lbl -> - ` .long {emit_data_label lbl}\n` - | Cstring s -> - if use_ascii_dir - then emit_string_directive " .ascii " s - else emit_bytes_directive " .byte " s - | Cskip n -> - if n > 0 then ` {emit_string skip_dir} {emit_int n}\n` - | Calign n -> - emit_align n - -let data l = - ` .data\n`; - List.iter emit_item l - -(* Beginning / end of an assembly file *) - -let begin_assembly() = - reset_debug_info(); (* PR#5603 *) - float_constants := []; - let lbl_begin = Compilenv.make_symbol (Some "data_begin") in - ` .data\n`; - ` .globl {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n`; - let lbl_begin = Compilenv.make_symbol (Some "code_begin") in - ` .text\n`; - ` .globl {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n`; - if macosx then ` nop\n` (* PR#4690 *) - -let end_assembly() = - if !float_constants <> [] then begin - ` .data\n`; - List.iter emit_float_constant !float_constants - end; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - if macosx then ` nop\n`; (* suppress "ld warning: atom sorting error" *) - ` .globl {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - ` .data\n`; - let lbl_end = Compilenv.make_symbol (Some "data_end") in - ` .globl {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - ` .long 0\n`; - let lbl = Compilenv.make_symbol (Some "frametable") in - ` .globl {emit_symbol lbl}\n`; - `{emit_symbol lbl}:\n`; - emit_frames - { efa_label = (fun l -> ` .long {emit_label l}\n`); - efa_16 = (fun n -> ` {emit_string word_dir} {emit_int n}\n`); - efa_32 = (fun n -> ` .long {emit_int32 n}\n`); - efa_word = (fun n -> ` .long {emit_int n}\n`); - efa_align = emit_align; - efa_label_rel = (fun lbl ofs -> - ` .long {emit_label lbl} - . + {emit_int32 ofs}\n`); - efa_def_label = (fun l -> `{emit_label l}:\n`); - efa_string = (fun s -> - let s = s ^ "\000" in - if use_ascii_dir - then emit_string_directive " .ascii " s - else emit_bytes_directive " .byte " s) }; - if macosx then emit_external_symbols (); - if Config.system = "linux_elf" then - (* Mark stack as non-executable, PR#4564 *) - `\n .section .note.GNU-stack,\"\",%progbits\n` diff --git a/vendor/ocaml/asmcomp/i386/emit_nt.mlp b/vendor/ocaml/asmcomp/i386/emit_nt.mlp deleted file mode 100644 index ef5205ef8..000000000 --- a/vendor/ocaml/asmcomp/i386/emit_nt.mlp +++ /dev/null @@ -1,893 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Emission of Intel 386 assembly code, MASM syntax. *) - -module StringSet = - Set.Make(struct type t = string let compare (x:t) y = compare x y end) - -open Misc -open Cmm -open Arch -open Proc -open Reg -open Mach -open Linearize -open Emitaux - -(* Tradeoff between code size and code speed *) - -let fastcode_flag = ref true - -(* Layout of the stack frame *) - -let stack_offset = ref 0 - -let frame_size () = (* includes return address *) - !stack_offset + 4 * num_stack_slots.(0) + 8 * num_stack_slots.(1) + 4 - -let slot_offset loc cl = - match loc with - Incoming n -> - assert (n >= 0); - frame_size() + n - | Local n -> - if cl = 0 - then !stack_offset + n * 4 - else !stack_offset + num_stack_slots.(0) * 4 + n * 8 - | Outgoing n -> - assert (n >= 0); - n -(* Record symbols used and defined - at the end generate extern for those - used but not defined *) - -let symbols_defined = ref StringSet.empty -let symbols_used = ref StringSet.empty - -let add_def_symbol s = - symbols_defined := StringSet.add s !symbols_defined - -let add_used_symbol s = - symbols_used := StringSet.add s !symbols_used - -let emit_symbol s = - emit_string "_"; Emitaux.emit_symbol '$' s - -(* Output a 32 or 64 bit integer in hex *) - -let emit_int32 n = emit_printf "0%lxh" n -let emit_int64 n = emit_printf "0%Lxh" n - -(* Output a label *) - -let emit_label lbl = - emit_string "L"; emit_int lbl - -let emit_data_label lbl = - emit_string "Ld"; emit_int lbl - -(* Output an align directive. *) - -let emit_align n = ` ALIGN {emit_int n}\n` - -(* Output a pseudo-register *) - -let emit_reg = function - { loc = Reg r } -> - emit_string (register_name r) - | { loc = Stack(Incoming n | Outgoing n) } when n < 0 -> - `{emit_symbol "caml_extra_params"} + {emit_int (n + 64)}` - | { loc = Stack s; typ = Float } as r -> - let ofs = slot_offset s (register_class r) in - `REAL8 PTR {emit_int ofs}[esp]` - | { loc = Stack s } as r -> - let ofs = slot_offset s (register_class r) in - `DWORD PTR {emit_int ofs}[esp]` - | { loc = Unknown } -> - fatal_error "Emit.emit_reg" - -(* Output a reference to the lower 8 bits or lower 16 bits of a register *) - -let reg_low_byte_name = [| "al"; "bl"; "cl"; "dl" |] -let reg_low_half_name = [| "ax"; "bx"; "cx"; "dx"; "si"; "di"; "bp" |] - -let emit_reg8 r = - match r.loc with - Reg r when r < 4 -> emit_string (reg_low_byte_name.(r)) - | _ -> fatal_error "Emit.emit_reg8" - -let emit_reg16 r = - match r.loc with - Reg r when r < 7 -> emit_string (reg_low_half_name.(r)) - | _ -> fatal_error "Emit.emit_reg16" - -(* Check if the given register overlaps (same location) with the given - array of registers *) - -let register_overlap reg arr = - try - for i = 0 to Array.length arr - 1 do - if reg.loc = arr.(i).loc then raise Exit - done; - false - with Exit -> - true - -(* Output an addressing mode *) - -let emit_signed_int d = - if d > 0 then emit_char '+'; - if d <> 0 then emit_int d - -let emit_addressing addr r n = - match addr with - Ibased(s, d) -> - add_used_symbol s; - `{emit_symbol s}{emit_signed_int d}` - | Iindexed d -> - `[{emit_reg r.(n)}{emit_signed_int d}]` - | Iindexed2 d -> - `[{emit_reg r.(n)}+{emit_reg r.(n+1)}{emit_signed_int d}]` - | Iscaled(2, d) -> - `[{emit_reg r.(n)}+{emit_reg r.(n)}{emit_signed_int d}]` - | Iscaled(scale, d) -> - `[{emit_reg r.(n)}*{emit_int scale}{emit_signed_int d}]` - | Iindexed2scaled(scale, d) -> - `[{emit_reg r.(n)}+{emit_reg r.(n+1)}*{emit_int scale}{emit_signed_int d}]` - -(* Record live pointers at call points *) - -let record_frame_label live dbg = - let lbl = new_label() in - let live_offset = ref [] in - Reg.Set.iter - (function - {typ = Addr; loc = Reg r} -> - live_offset := ((r lsl 1) + 1) :: !live_offset - | {typ = Addr; loc = Stack s} as reg -> - live_offset := slot_offset s (register_class reg) :: !live_offset - | _ -> ()) - live; - frame_descriptors := - { fd_lbl = lbl; - fd_frame_size = frame_size(); - fd_live_offset = !live_offset; - fd_debuginfo = dbg } :: !frame_descriptors; - lbl - -let record_frame live dbg = - let lbl = record_frame_label live dbg in `{emit_label lbl}:\n` - -(* Record calls to the GC -- we've moved them out of the way *) - -type gc_call = - { gc_lbl: label; (* Entry label *) - gc_return_lbl: label; (* Where to branch after GC *) - gc_frame: label } (* Label of frame descriptor *) - -let call_gc_sites = ref ([] : gc_call list) - -let emit_call_gc gc = - `{emit_label gc.gc_lbl}: call _caml_call_gc\n`; - `{emit_label gc.gc_frame}: jmp {emit_label gc.gc_return_lbl}\n` - -(* Record calls to caml_ml_array_bound_error. - In -g mode, we maintain one call to caml_ml_array_bound_error - per bound check site. Without -g, we can share a single call. *) - -type bound_error_call = - { bd_lbl: label; (* Entry label *) - bd_frame: label } (* Label of frame descriptor *) - -let bound_error_sites = ref ([] : bound_error_call list) -let bound_error_call = ref 0 - -let bound_error_label dbg = - if !Clflags.debug then begin - let lbl_bound_error = new_label() in - let lbl_frame = record_frame_label Reg.Set.empty dbg in - bound_error_sites := - { bd_lbl = lbl_bound_error; bd_frame = lbl_frame } :: !bound_error_sites; - lbl_bound_error - end else begin - if !bound_error_call = 0 then bound_error_call := new_label(); - !bound_error_call - end - -let emit_call_bound_error bd = - `{emit_label bd.bd_lbl}: call _caml_ml_array_bound_error\n`; - `{emit_label bd.bd_frame}:\n` - -let emit_call_bound_errors () = - List.iter emit_call_bound_error !bound_error_sites; - if !bound_error_call > 0 then - `{emit_label !bound_error_call}: call _caml_ml_array_bound_error\n` - -(* Names for instructions *) - -let instr_for_intop = function - Iadd -> "add" - | Isub -> "sub" - | Imul -> "imul" - | Iand -> "and" - | Ior -> "or" - | Ixor -> "xor" - | Ilsl -> "sal" - | Ilsr -> "shr" - | Iasr -> "sar" - | _ -> fatal_error "Emit: instr_for_intop" - -let instr_for_floatop = function - Inegf -> "fchs" - | Iabsf -> "fabs" - | Iaddf -> "fadd" - | Isubf -> "fsub" - | Imulf -> "fmul" - | Idivf -> "fdiv" - | Ispecific Isubfrev -> "fsubr" - | Ispecific Idivfrev -> "fdivr" - | _ -> fatal_error "Emit: instr_for_floatop" - -let instr_for_floatop_reversed = function - Iaddf -> "fadd" - | Isubf -> "fsubr" - | Imulf -> "fmul" - | Idivf -> "fdivr" - | Ispecific Isubfrev -> "fsub" - | Ispecific Idivfrev -> "fdiv" - | _ -> fatal_error "Emit: instr_for_floatop_reversed" - -let instr_for_floatarithmem = function - Ifloatadd -> "fadd" - | Ifloatsub -> "fsub" - | Ifloatsubrev -> "fsubr" - | Ifloatmul -> "fmul" - | Ifloatdiv -> "fdiv" - | Ifloatdivrev -> "fdivr" - -let name_for_cond_branch = function - Isigned Ceq -> "e" | Isigned Cne -> "ne" - | Isigned Cle -> "le" | Isigned Cgt -> "g" - | Isigned Clt -> "l" | Isigned Cge -> "ge" - | Iunsigned Ceq -> "e" | Iunsigned Cne -> "ne" - | Iunsigned Cle -> "be" | Iunsigned Cgt -> "a" - | Iunsigned Clt -> "b" | Iunsigned Cge -> "ae" - -(* Output an = 0 or <> 0 test. *) - -let output_test_zero arg = - match arg.loc with - Reg r -> ` test {emit_reg arg}, {emit_reg arg}\n` - | _ -> ` cmp {emit_reg arg}, 0\n` - -(* Deallocate the stack frame before a return or tail call *) - -let output_epilogue () = - let n = frame_size() - 4 in - if n > 0 then ` add esp, {emit_int n}\n` - -(* Determine if the given register is the top of the floating-point stack *) - -let is_tos = function { loc = Reg _; typ = Float } -> true | _ -> false - -(* Emit the code for a floating-point comparison *) - -let emit_float_test cmp neg arg lbl = - let actual_cmp = - match (is_tos arg.(0), is_tos arg.(1)) with - (true, true) -> - (* both args on top of FP stack *) - ` fcompp\n`; - cmp - | (true, false) -> - (* first arg on top of FP stack *) - ` fcomp {emit_reg arg.(1)}\n`; - cmp - | (false, true) -> - (* second arg on top of FP stack *) - ` fcomp {emit_reg arg.(0)}\n`; - Cmm.swap_comparison cmp - | (false, false) -> - ` fld {emit_reg arg.(0)}\n`; - ` fcomp {emit_reg arg.(1)}\n`; - cmp - in - ` fnstsw ax\n`; - begin match actual_cmp with - Ceq -> - if neg then begin - ` and ah, 68\n`; - ` xor ah, 64\n`; - ` jne ` - end else begin - ` and ah, 69\n`; - ` cmp ah, 64\n`; - ` je ` - end - | Cne -> - if neg then begin - ` and ah, 69\n`; - ` cmp ah, 64\n`; - ` je ` - end else begin - ` and ah, 68\n`; - ` xor ah, 64\n`; - ` jne ` - end - | Cle -> - ` and ah, 69\n`; - ` dec ah\n`; - ` cmp ah, 64\n`; - if neg - then ` jae ` - else ` jb ` - | Cge -> - ` and ah, 5\n`; - if neg - then ` jne ` - else ` je ` - | Clt -> - ` and ah, 69\n`; - ` cmp ah, 1\n`; - if neg - then ` jne ` - else ` je ` - | Cgt -> - ` and ah, 69\n`; - if neg - then ` jne ` - else ` je ` - end; - `{emit_label lbl}\n` - -(* Emit a Ifloatspecial instruction *) - -let emit_floatspecial = function - "atan" -> ` fld1\n\tfpatan\n` - | "atan2" -> ` fpatan\n` - | "cos" -> ` fcos\n` - | "log" -> ` fldln2\n\tfxch\n\tfyl2x\n` - | "log10" -> ` fldlg2\n\tfxch\n\tfyl2x\n` - | "sin" -> ` fsin\n` - | "sqrt" -> ` fsqrt\n` - | "tan" -> ` fptan\n\tfstp st(0)\n` - | _ -> assert false - -(* Floating-point constants *) - -let float_constants = ref ([] : (int64 * int) list) - -let add_float_constant cst = - let repr = Int64.bits_of_float cst in - try - List.assoc repr !float_constants - with - Not_found -> - let lbl = new_label() in - float_constants := (repr, lbl) :: !float_constants; - lbl - -let emit_float_constant (cst, lbl) = - `{emit_label lbl} QWORD {emit_int64 cst}\n` - -(* Output the assembly code for an instruction *) - -(* Name of current function *) -let function_name = ref "" -(* Entry point for tail recursive calls *) -let tailrec_entry_point = ref 0 -(* Label of trap for out-of-range accesses *) -let range_check_trap = ref 0 - -let emit_instr i = - match i.desc with - Lend -> () - | Lop(Imove | Ispill | Ireload) -> - let src = i.arg.(0) and dst = i.res.(0) in - if src.loc <> dst.loc then begin - if src.typ = Float then - if is_tos src then - ` fstp {emit_reg dst}\n` - else if is_tos dst then - ` fld {emit_reg src}\n` - else begin - ` fld {emit_reg src}\n`; - ` fstp {emit_reg dst}\n` - end - else - ` mov {emit_reg dst}, {emit_reg src}\n` - end - | Lop(Iconst_int n | Iconst_blockheader n) -> - if n = 0n then begin - match i.res.(0).loc with - Reg n -> ` xor {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` - | _ -> ` mov {emit_reg i.res.(0)}, 0\n` - end else - ` mov {emit_reg i.res.(0)}, {emit_nativeint n}\n` - | Lop(Iconst_float f) -> - begin match Int64.bits_of_float f with - | 0x0000_0000_0000_0000L -> (* +0.0 *) - ` fldz\n` - | 0x8000_0000_0000_0000L -> (* -0.0 *) - ` fldz\n fchs\n` - | 0x3FF0_0000_0000_0000L -> (* 1.0 *) - ` fld1\n` - | 0xBFF0_0000_0000_0000L -> (* -1.0 *) - ` fld1\n fchs\n` - | _ -> - let lbl = add_float_constant f in - ` fld {emit_label lbl}\n` - end - | Lop(Iconst_symbol s) -> - add_used_symbol s; - ` mov {emit_reg i.res.(0)}, OFFSET {emit_symbol s}\n` - | Lop(Icall_ind) -> - ` call {emit_reg i.arg.(0)}\n`; - record_frame i.live i.dbg - | Lop(Icall_imm s) -> - add_used_symbol s; - ` call {emit_symbol s}\n`; - record_frame i.live i.dbg - | Lop(Itailcall_ind) -> - output_epilogue(); - ` jmp {emit_reg i.arg.(0)}\n` - | Lop(Itailcall_imm s) -> - if s = !function_name then - ` jmp {emit_label !tailrec_entry_point}\n` - else begin - output_epilogue(); - add_used_symbol s; - ` jmp {emit_symbol s}\n` - end - | Lop(Iextcall(s, alloc)) -> - add_used_symbol s ; - if alloc then begin - ` mov eax, OFFSET {emit_symbol s}\n`; - ` call _caml_c_call\n`; - record_frame i.live i.dbg - end else begin - ` call {emit_symbol s}\n` - end - | Lop(Istackoffset n) -> - if n >= 0 - then ` sub esp, {emit_int n}\n` - else ` add esp, {emit_int(-n)}\n`; - stack_offset := !stack_offset + n - | Lop(Iload(chunk, addr)) -> - let dest = i.res.(0) in - begin match chunk with - | Word | Thirtytwo_signed | Thirtytwo_unsigned -> - ` mov {emit_reg dest}, DWORD PTR {emit_addressing addr i.arg 0}\n` - | Byte_unsigned -> - ` movzx {emit_reg dest}, BYTE PTR {emit_addressing addr i.arg 0}\n` - | Byte_signed -> - ` movsx {emit_reg dest}, BYTE PTR {emit_addressing addr i.arg 0}\n` - | Sixteen_unsigned -> - ` movzx {emit_reg dest}, WORD PTR {emit_addressing addr i.arg 0}\n` - | Sixteen_signed -> - ` movsx {emit_reg dest}, WORD PTR {emit_addressing addr i.arg 0}\n` - | Single -> - ` fld REAL4 PTR {emit_addressing addr i.arg 0}\n` - | Double | Double_u -> - ` fld REAL8 PTR {emit_addressing addr i.arg 0}\n` - end - | Lop(Istore(chunk, addr, _)) -> - begin match chunk with - | Word | Thirtytwo_signed | Thirtytwo_unsigned -> - ` mov DWORD PTR {emit_addressing addr i.arg 1}, {emit_reg i.arg.(0)}\n` - | Byte_unsigned | Byte_signed -> - ` mov BYTE PTR {emit_addressing addr i.arg 1}, {emit_reg8 i.arg.(0)}\n` - | Sixteen_unsigned | Sixteen_signed -> - ` mov WORD PTR {emit_addressing addr i.arg 1}, {emit_reg16 i.arg.(0)}\n` - | Single -> - if is_tos i.arg.(0) then - ` fstp REAL4 PTR {emit_addressing addr i.arg 1}\n` - else begin - ` fld {emit_reg i.arg.(0)}\n`; - ` fstp REAL4 PTR {emit_addressing addr i.arg 1}\n` - end - | Double | Double_u -> - if is_tos i.arg.(0) then - ` fstp REAL8 PTR {emit_addressing addr i.arg 1}\n` - else begin - ` fld {emit_reg i.arg.(0)}\n`; - ` fstp REAL8 PTR {emit_addressing addr i.arg 1}\n` - end - end - | Lop(Ialloc n) -> - if !fastcode_flag then begin - let lbl_redo = new_label() in - `{emit_label lbl_redo}: mov eax, _caml_young_ptr\n`; - ` sub eax, {emit_int n}\n`; - ` mov _caml_young_ptr, eax\n`; - ` cmp eax, _caml_young_limit\n`; - let lbl_call_gc = new_label() in - let lbl_frame = record_frame_label i.live Debuginfo.none in - ` jb {emit_label lbl_call_gc}\n`; - ` lea {emit_reg i.res.(0)}, [eax+4]\n`; - call_gc_sites := - { gc_lbl = lbl_call_gc; - gc_return_lbl = lbl_redo; - gc_frame = lbl_frame } :: !call_gc_sites - end else begin - begin match n with - 8 -> ` call _caml_alloc1\n` - | 12 -> ` call _caml_alloc2\n` - | 16 -> ` call _caml_alloc3\n` - | _ -> ` mov eax, {emit_int n}\n`; - ` call _caml_allocN\n` - end; - `{record_frame i.live Debuginfo.none} lea {emit_reg i.res.(0)}, [eax+4]\n` - end - | Lop(Iintop(Icomp cmp)) -> - ` cmp {emit_reg i.arg.(0)},{emit_reg i.arg.(1)}\n`; - let b = name_for_cond_branch cmp in - ` set{emit_string b} al\n`; - ` movzx {emit_reg i.res.(0)}, al\n` - | Lop(Iintop_imm(Icomp cmp, n)) -> - ` cmp {emit_reg i.arg.(0)}, {emit_int n}\n`; - let b = name_for_cond_branch cmp in - ` set{emit_string b} al\n`; - ` movzx {emit_reg i.res.(0)}, al\n` - | Lop(Iintop Icheckbound) -> - let lbl = bound_error_label i.dbg in - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` jbe {emit_label lbl}\n` - | Lop(Iintop_imm(Icheckbound, n)) -> - let lbl = bound_error_label i.dbg in - ` cmp {emit_reg i.arg.(0)}, {emit_int n}\n`; - ` jbe {emit_label lbl}\n` - | Lop(Iintop(Idiv | Imod)) -> - ` cdq\n`; - ` idiv {emit_reg i.arg.(1)}\n` - | Lop(Iintop(Ilsl | Ilsr | Iasr as op)) -> - (* We have i.arg.(0) = i.res.(0) and i.arg.(1) = %ecx *) - ` {emit_string(instr_for_intop op)} {emit_reg i.res.(0)}, cl\n` - | Lop(Iintop Imulh) -> - ` imul {emit_reg i.arg.(1)}\n` - | Lop(Iintop op) -> - (* We have i.arg.(0) = i.res.(0) *) - ` {emit_string(instr_for_intop op)} {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}\n` - | Lop(Iintop_imm(Iadd, n)) when i.arg.(0).loc <> i.res.(0).loc -> - ` lea {emit_reg i.res.(0)}, [{emit_reg i.arg.(0)}+{emit_int n}]\n` - | Lop(Iintop_imm(Iadd, 1) | Iintop_imm(Isub, -1)) -> - ` inc {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Iadd, -1) | Iintop_imm(Isub, 1)) -> - ` dec {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(op, n)) -> - (* We have i.arg.(0) = i.res.(0) *) - ` {emit_string(instr_for_intop op)} {emit_reg i.res.(0)}, {emit_int n}\n` - | Lop(Inegf | Iabsf as floatop) -> - if not (is_tos i.arg.(0)) then - ` fld {emit_reg i.arg.(0)}\n`; - ` {emit_string(instr_for_floatop floatop)}\n` - | Lop(Iaddf | Isubf | Imulf | Idivf | Ispecific(Isubfrev | Idivfrev) - as floatop) -> - begin match (is_tos i.arg.(0), is_tos i.arg.(1)) with - (true, true) -> - (* both operands on top of FP stack *) - ` {emit_string(instr_for_floatop_reversed floatop)}\n` - | (true, false) -> - (* first operand on stack *) - ` {emit_string(instr_for_floatop floatop)} {emit_reg i.arg.(1)}\n` - | (false, true) -> - (* second operand on stack *) - ` {emit_string(instr_for_floatop_reversed floatop)} {emit_reg i.arg.(0)}\n` - | (false, false) -> - (* both operands in memory *) - ` fld {emit_reg i.arg.(0)}\n`; - ` {emit_string(instr_for_floatop floatop)} {emit_reg i.arg.(1)}\n` - end - | Lop(Ifloatofint) -> - begin match i.arg.(0).loc with - Stack s -> - ` fild {emit_reg i.arg.(0)}\n` - | _ -> - ` push {emit_reg i.arg.(0)}\n`; - ` fild DWORD PTR [esp]\n`; - ` add esp, 4\n` - end - | Lop(Iintoffloat) -> - if not (is_tos i.arg.(0)) then - ` fld {emit_reg i.arg.(0)}\n`; - stack_offset := !stack_offset - 8; - ` sub esp, 8\n`; - ` fnstcw [esp+4]\n`; - ` mov ax, [esp+4]\n`; - ` mov ah, 12\n`; - ` mov [esp], ax\n`; - ` fldcw [esp]\n`; - begin match i.res.(0).loc with - Stack s -> - ` fistp {emit_reg i.res.(0)}\n` - | _ -> - ` fistp DWORD PTR [esp]\n`; - ` mov {emit_reg i.res.(0)}, [esp]\n` - end; - ` fldcw [esp+4]\n`; - ` add esp, 8\n`; - stack_offset := !stack_offset + 8 - | Lop(Ispecific(Ilea addr)) -> - ` lea {emit_reg i.res.(0)}, DWORD PTR {emit_addressing addr i.arg 0}\n` - | Lop(Ispecific(Istore_int(n, addr, _))) -> - ` mov DWORD PTR {emit_addressing addr i.arg 0},{emit_nativeint n}\n` - | Lop(Ispecific(Istore_symbol(s, addr, _))) -> - add_used_symbol s ; - ` mov DWORD PTR {emit_addressing addr i.arg 0},OFFSET {emit_symbol s}\n` - | Lop(Ispecific(Ioffset_loc(n, addr))) -> - ` add DWORD PTR {emit_addressing addr i.arg 0},{emit_int n}\n` - | Lop(Ispecific(Ipush)) -> - (* Push arguments in reverse order *) - for n = Array.length i.arg - 1 downto 0 do - let r = i.arg.(n) in - match r with - {loc = Reg rn; typ = Float} -> - ` sub esp, 8\n`; - ` fstp REAL8 PTR 0[esp]\n`; - stack_offset := !stack_offset + 8 - | {loc = Stack sl; typ = Float} -> - let ofs = slot_offset sl 1 in - ` push DWORD PTR {emit_int (ofs + 4)}[esp]\n`; - ` push DWORD PTR {emit_int (ofs + 4)}[esp]\n`; - stack_offset := !stack_offset + 8 - | _ -> - ` push {emit_reg r}\n`; - stack_offset := !stack_offset + 4 - done - | Lop(Ispecific(Ipush_int n)) -> - ` push {emit_nativeint n}\n`; - stack_offset := !stack_offset + 4 - | Lop(Ispecific(Ipush_symbol s)) -> - add_used_symbol s; - ` push OFFSET {emit_symbol s}\n`; - stack_offset := !stack_offset + 4 - | Lop(Ispecific(Ipush_load addr)) -> - ` push DWORD PTR {emit_addressing addr i.arg 0}\n`; - stack_offset := !stack_offset + 4 - | Lop(Ispecific(Ipush_load_float addr)) -> - ` push DWORD PTR {emit_addressing (offset_addressing addr 4) i.arg 0}\n`; - ` push DWORD PTR {emit_addressing addr i.arg 0}\n`; - stack_offset := !stack_offset + 8 - | Lop(Ispecific(Ifloatarithmem(double, op, addr))) -> - if not (is_tos i.arg.(0)) then - ` fld {emit_reg i.arg.(0)}\n`; - let size = if double then "REAL8" else "REAL4" in - ` {emit_string(instr_for_floatarithmem op)} {emit_string size} PTR {emit_addressing addr i.arg 1}\n` - | Lop(Ispecific(Ifloatspecial s)) -> - (* Push args on float stack if necessary *) - for k = 0 to Array.length i.arg - 1 do - if not (is_tos i.arg.(k)) then ` fld {emit_reg i.arg.(k)}\n` - done; - (* Fix-up for binary instrs whose args were swapped *) - if Array.length i.arg = 2 && is_tos i.arg.(1) then - ` fxch st(1)\n`; - emit_floatspecial s - | Lreloadretaddr -> - () - | Lreturn -> - output_epilogue(); - ` ret\n` - | Llabel lbl -> - `{emit_label lbl}:\n` - | Lbranch lbl -> - ` jmp {emit_label lbl}\n` - | Lcondbranch(tst, lbl) -> - begin match tst with - Itruetest -> - output_test_zero i.arg.(0); - ` jne {emit_label lbl}\n` - | Ifalsetest -> - output_test_zero i.arg.(0); - ` je {emit_label lbl}\n` - | Iinttest cmp -> - ` cmp {emit_reg i.arg.(0)},{emit_reg i.arg.(1)}\n`; - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Iinttest_imm((Isigned Ceq | Isigned Cne | - Iunsigned Ceq | Iunsigned Cne) as cmp, 0) -> - output_test_zero i.arg.(0); - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Iinttest_imm(cmp, n) -> - ` cmp {emit_reg i.arg.(0)}, {emit_int n}\n`; - let b = name_for_cond_branch cmp in - ` j{emit_string b} {emit_label lbl}\n` - | Ifloattest(cmp, neg) -> - emit_float_test cmp neg i.arg lbl - | Ioddtest -> - ` test {emit_reg i.arg.(0)}, 1\n`; - ` jne {emit_label lbl}\n` - | Ieventest -> - ` test {emit_reg i.arg.(0)}, 1\n`; - ` je {emit_label lbl}\n` - end - | Lcondbranch3(lbl0, lbl1, lbl2) -> - ` cmp {emit_reg i.arg.(0)}, 1\n`; - begin match lbl0 with - None -> () - | Some lbl -> ` jb {emit_label lbl}\n` - end; - begin match lbl1 with - None -> () - | Some lbl -> ` je {emit_label lbl}\n` - end; - begin match lbl2 with - None -> () - | Some lbl -> ` jg {emit_label lbl}\n` - end - | Lswitch jumptbl -> - let lbl = new_label() in - ` jmp [{emit_reg i.arg.(0)} * 4 + {emit_label lbl}]\n`; - ` .DATA\n`; - `{emit_label lbl}`; - for i = 0 to Array.length jumptbl - 1 do - ` DWORD {emit_label jumptbl.(i)}\n` - done; - ` .CODE\n` - | Lsetuptrap lbl -> - ` call {emit_label lbl}\n` - | Lpushtrap -> - ` push _caml_exception_pointer\n`; - ` mov _caml_exception_pointer, esp\n`; - stack_offset := !stack_offset + 8 - | Lpoptrap -> - ` pop _caml_exception_pointer\n`; - ` add esp, 4\n`; - stack_offset := !stack_offset - 8 - | Lraise k -> - begin match !Clflags.debug, k with - | true, Lambda.Raise_regular -> - ` call _caml_raise_exn\n`; - record_frame Reg.Set.empty i.dbg - | true, Lambda.Raise_reraise -> - ` call _caml_reraise_exn\n`; - record_frame Reg.Set.empty i.dbg - | false, _ - | true, Lambda.Raise_notrace -> - ` mov esp, _caml_exception_pointer\n`; - ` pop _caml_exception_pointer\n`; - ` ret\n` - end - -let rec emit_all i = - match i.desc with Lend -> () | _ -> emit_instr i; emit_all i.next - -(* Emission of a function declaration *) - -let fundecl fundecl = - function_name := fundecl.fun_name; - fastcode_flag := fundecl.fun_fast; - tailrec_entry_point := new_label(); - stack_offset := 0; - call_gc_sites := []; - bound_error_sites := []; - bound_error_call := 0; - ` .CODE\n`; - add_def_symbol fundecl.fun_name; - emit_align 4; - ` PUBLIC {emit_symbol fundecl.fun_name}\n`; - `{emit_symbol fundecl.fun_name}:\n`; - let n = frame_size() - 4 in - if n > 0 then - ` sub esp, {emit_int n}\n`; - `{emit_label !tailrec_entry_point}:\n`; - emit_all fundecl.fun_body; - List.iter emit_call_gc !call_gc_sites; - emit_call_bound_errors () - -(* Emission of data *) - -let emit_item = function - Cglobal_symbol s -> - ` PUBLIC {emit_symbol s}\n`; - | Cdefine_symbol s -> - add_def_symbol s ; - `{emit_symbol s} LABEL DWORD\n` - | Cdefine_label lbl -> - `{emit_data_label lbl} LABEL DWORD\n` - | Cint8 n -> - ` BYTE {emit_int n}\n` - | Cint16 n -> - ` WORD {emit_int n}\n` - | Cint n -> - ` DWORD {emit_nativeint n}\n` - | Cint32 n -> - ` DWORD {emit_nativeint n}\n` - | Csingle f -> - ` DWORD {emit_int32 (Int32.bits_of_float f)}\n` - | Cdouble f -> - ` QWORD {emit_int64 (Int64.bits_of_float f)}\n` - | Csymbol_address s -> - add_used_symbol s ; - ` DWORD {emit_symbol s}\n` - | Clabel_address lbl -> - ` DWORD {emit_data_label lbl}\n` - | Cstring s -> - emit_bytes_directive " BYTE " s - | Cskip n -> - if n > 0 then ` BYTE {emit_int n} DUP (?)\n` - | Calign n -> - emit_align n - -let data l = - ` .DATA\n`; - List.iter emit_item l - -(* Beginning / end of an assembly file *) - -let begin_assembly() = - float_constants := []; - `.386\n`; - ` .MODEL FLAT\n\n`; - ` EXTERN _caml_young_ptr: DWORD\n`; - ` EXTERN _caml_young_limit: DWORD\n`; - ` EXTERN _caml_exception_pointer: DWORD\n`; - ` EXTERN _caml_extra_params: DWORD\n`; - ` EXTERN _caml_call_gc: PROC\n`; - ` EXTERN _caml_c_call: PROC\n`; - ` EXTERN _caml_allocN: PROC\n`; - ` EXTERN _caml_alloc1: PROC\n`; - ` EXTERN _caml_alloc2: PROC\n`; - ` EXTERN _caml_alloc3: PROC\n`; - ` EXTERN _caml_ml_array_bound_error: PROC\n`; - ` EXTERN _caml_raise_exn: PROC\n`; - ` EXTERN _caml_reraise_exn: PROC\n`; - ` .DATA\n`; - let lbl_begin = Compilenv.make_symbol (Some "data_begin") in - add_def_symbol lbl_begin; - ` PUBLIC {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin} LABEL DWORD\n`; - ` .CODE\n`; - let lbl_begin = Compilenv.make_symbol (Some "code_begin") in - add_def_symbol lbl_begin; - ` PUBLIC {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin} LABEL DWORD\n` - -let end_assembly() = - if !float_constants <> [] then begin - ` .DATA\n`; - List.iter emit_float_constant !float_constants; - end; - ` .CODE\n`; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - add_def_symbol lbl_end; - ` PUBLIC {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end} LABEL DWORD\n`; - ` .DATA\n`; - let lbl_end = Compilenv.make_symbol (Some "data_end") in - add_def_symbol lbl_end; - ` PUBLIC {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end} LABEL DWORD\n`; - ` DWORD 0\n`; - let lbl = Compilenv.make_symbol (Some "frametable") in - add_def_symbol lbl; - ` PUBLIC {emit_symbol lbl}\n`; - `{emit_symbol lbl}`; - emit_frames - { efa_label = (fun l -> ` DWORD {emit_label l}\n`); - efa_16 = (fun n -> ` WORD {emit_int n}\n`); - efa_32 = (fun n -> ` DWORD {emit_int32 n}\n`); - efa_word = (fun n -> ` DWORD {emit_int n}\n`); - efa_align = emit_align; - efa_label_rel = (fun lbl ofs -> - ` DWORD {emit_label lbl} - THIS BYTE + {emit_int32 ofs}\n`); - efa_def_label = (fun l -> `{emit_label l} LABEL DWORD\n`); - efa_string = (fun s -> emit_bytes_directive " BYTE " (s ^ "\000")) }; - `\n;External functions\n\n`; - StringSet.iter - (fun s -> - if not (StringSet.mem s !symbols_defined) then - ` EXTERN {emit_symbol s}: PROC\n`) - !symbols_used; - symbols_used := StringSet.empty; - symbols_defined := StringSet.empty; - `END\n` diff --git a/vendor/ocaml/asmcomp/i386/proc.ml b/vendor/ocaml/asmcomp/i386/proc.ml deleted file mode 100644 index 0b010d248..000000000 --- a/vendor/ocaml/asmcomp/i386/proc.ml +++ /dev/null @@ -1,227 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Description of the Intel 386 processor *) - -open Misc -open Arch -open Cmm -open Reg -open Mach - -(* Which asm conventions to use *) -let masm = - match Config.ccomp_type with - | "msvc" -> true - | _ -> false - -(* Registers available for register allocation *) - -(* Register map: - eax 0 eax - edi: function arguments and results - ebx 1 eax: C function results - ecx 2 ebx, esi, edi, ebp: preserved by C - edx 3 - esi 4 - edi 5 - ebp 6 - - tos 100 top of floating-point stack. *) - -let int_reg_name = - if masm then - [| "eax"; "ebx"; "ecx"; "edx"; "esi"; "edi"; "ebp" |] - else - [| "%eax"; "%ebx"; "%ecx"; "%edx"; "%esi"; "%edi"; "%ebp" |] - -let float_reg_name = - if masm then - [| "tos" |] - else - [| "%tos" |] - -let num_register_classes = 2 - -let register_class r = - match r.typ with - Int -> 0 - | Addr -> 0 - | Float -> 1 - -let num_available_registers = [| 7; 0 |] - -let first_available_register = [| 0; 100 |] - -let register_name r = - if r < 100 then int_reg_name.(r) else float_reg_name.(r - 100) - -(* There is little scheduling, and some operations are more compact - when their argument is %eax. *) - -let rotate_registers = false - -(* Representation of hard registers by pseudo-registers *) - -let hard_int_reg = - let v = Array.make 7 Reg.dummy in - for i = 0 to 6 do v.(i) <- Reg.at_location Int (Reg i) done; - v - -let hard_float_reg = [| Reg.at_location Float (Reg 100) |] - -let all_phys_regs = - Array.append hard_int_reg hard_float_reg - -let phys_reg n = - if n < 100 then hard_int_reg.(n) else hard_float_reg.(n - 100) - -let eax = phys_reg 0 -let ecx = phys_reg 2 -let edx = phys_reg 3 -let tos = phys_reg 100 - -let stack_slot slot ty = - Reg.at_location ty (Stack slot) - -(* Instruction selection *) - -let word_addressed = false - -(* Calling conventions *) - -(* To supplement the processor's meagre supply of registers, we also - use some global memory locations to pass arguments beyond the 6th. - These globals are denoted by Incoming and Outgoing stack locations - with negative offsets, starting at -64. - Unlike arguments passed on stack, arguments passed in globals - do not prevent tail-call elimination. The caller stores arguments - in these globals immediately before the call, and the first thing the - callee does is copy them to registers or stack locations. - Neither GC nor thread context switches can occur between these two - times. *) - -let calling_conventions first_int last_int first_float last_float make_stack - arg = - let loc = Array.make (Array.length arg) Reg.dummy in - let int = ref first_int in - let float = ref first_float in - let ofs = ref (-64) in - for i = 0 to Array.length arg - 1 do - match arg.(i).typ with - Int | Addr as ty -> - if !int <= last_int then begin - loc.(i) <- phys_reg !int; - incr int - end else begin - loc.(i) <- stack_slot (make_stack !ofs) ty; - ofs := !ofs + size_int - end - | Float -> - if !float <= last_float then begin - loc.(i) <- phys_reg !float; - incr float - end else begin - loc.(i) <- stack_slot (make_stack !ofs) Float; - ofs := !ofs + size_float - end - done; - (loc, Misc.align (max 0 !ofs) stack_alignment) - -let incoming ofs = Incoming ofs -let outgoing ofs = Outgoing ofs -let not_supported ofs = fatal_error "Proc.loc_results: cannot call" - -let loc_arguments arg = - calling_conventions 0 5 100 99 outgoing arg -let loc_parameters arg = - let (loc, ofs) = calling_conventions 0 5 100 99 incoming arg in loc -let loc_results res = - let (loc, ofs) = calling_conventions 0 5 100 100 not_supported res in loc -let extcall_use_push = true -let loc_external_arguments arg = - fatal_error "Proc.loc_external_arguments" -let loc_external_results res = - let (loc, ofs) = calling_conventions 0 0 100 100 not_supported res in loc - -let loc_exn_bucket = eax - -(* Volatile registers: the x87 top of FP stack is *) - -let reg_is_volatile = function - | { typ = Float; loc = Reg _ } -> true - | _ -> false - -let regs_are_volatile rs = - try - for i = 0 to Array.length rs - 1 do - if reg_is_volatile rs.(i) then raise Exit - done; - false - with Exit -> - true - -(* Registers destroyed by operations *) - -let destroyed_at_c_call = (* ebx, esi, edi, ebp preserved *) - [|eax; ecx; edx|] - -let destroyed_at_oper = function - Iop(Icall_ind | Icall_imm _ | Iextcall(_, true)) -> all_phys_regs - | Iop(Iextcall(_, false)) -> destroyed_at_c_call - | Iop(Iintop(Idiv | Imod)) -> [| eax; edx |] - | Iop(Ialloc _ | Iintop Imulh) -> [| eax |] - | Iop(Iintop(Icomp _) | Iintop_imm(Icomp _, _)) -> [| eax |] - | Iop(Iintoffloat) -> [| eax |] - | Iifthenelse(Ifloattest(_, _), _, _) -> [| eax |] - | _ -> [||] - -let destroyed_at_raise = all_phys_regs - -(* Maximal register pressure *) - -let safe_register_pressure op = 4 - -let max_register_pressure = function - Iextcall(_, _) -> [| 4; max_int |] - | Iintop(Idiv | Imod) -> [| 5; max_int |] - | Ialloc _ | Iintop(Icomp _) | Iintop_imm(Icomp _, _) | - Iintoffloat -> [| 6; max_int |] - | _ -> [|7; max_int |] - -(* Pure operations (without any side effect besides updating their result - registers). *) - -let op_is_pure = function - | Icall_ind | Icall_imm _ | Itailcall_ind | Itailcall_imm _ - | Iextcall _ | Istackoffset _ | Istore _ | Ialloc _ - | Iintop(Icheckbound) | Iintop_imm(Icheckbound, _) -> false - | Ispecific(Ilea _) -> true - | Ispecific _ -> false - | _ -> true - -(* Layout of the stack frame *) - -let num_stack_slots = [| 0; 0 |] -let contains_calls = ref false - -(* Calling the assembler *) - -let assemble_file infile outfile = - if masm then - Ccomp.command (Config.asm ^ - Filename.quote outfile ^ " " ^ Filename.quote infile ^ - (if !Clflags.verbose then "" else ">NUL")) - else - Ccomp.command (Config.asm ^ " -o " ^ - Filename.quote outfile ^ " " ^ Filename.quote infile) - -let init () = () diff --git a/vendor/ocaml/asmcomp/i386/reload.ml b/vendor/ocaml/asmcomp/i386/reload.ml deleted file mode 100644 index bc1b08f59..000000000 --- a/vendor/ocaml/asmcomp/i386/reload.ml +++ /dev/null @@ -1,83 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -open Cmm -open Arch -open Reg -open Mach - -(* Reloading for the Intel x86 *) - -let stackp r = - match r.loc with - Stack _ -> true - | _ -> false - -class reload = object (self) - -inherit Reloadgen.reload_generic as super - -method! makereg r = - match r.typ with - Float -> r - | _ -> super#makereg r - -(* By overriding makereg, we make sure that pseudoregs of type float - will never be reloaded. Hence there is no need to make special cases for - floating-point operations. *) - -method! reload_operation op arg res = - match op with - Iintop(Iadd|Isub|Iand|Ior|Ixor|Icomp _|Icheckbound) -> - (* One of the two arguments can reside in the stack *) - if stackp arg.(0) && stackp arg.(1) - then ([|arg.(0); self#makereg arg.(1)|], res) - else (arg, res) - | Iintop(Imul) -> - (* First argument (and destination) must be in register, - second arg can reside in stack *) - if stackp arg.(0) - then let r = self#makereg arg.(0) in ([|r; arg.(1)|], [|r|]) - else (arg, res) - | Iintop_imm(Iadd, _) when arg.(0).loc <> res.(0).loc -> - (* This add will be turned into a lea; args and results must be - in registers *) - super#reload_operation op arg res - | Iintop_imm(Imul, _) -> - (* First argument and destination must be in register *) - if stackp arg.(0) - then let r = self#makereg arg.(0) in ([|r|], [|r|]) - else (arg, res) - | Iintop(Imulh | Ilsl | Ilsr | Iasr) | Iintop_imm(_, _) - | Ifloatofint | Iintoffloat | Ispecific(Ipush) -> - (* The argument(s) can be either in register or on stack *) - (* Note: Imulh: arg(0 and res(0) already forced in regs - Ilsl, Ilsr, Iasr: arg(1) already forced in regs *) - (arg, res) - | _ -> (* Other operations: all args and results in registers *) - super#reload_operation op arg res - -method! reload_test tst arg = - match tst with - Iinttest cmp -> - (* One of the two arguments can reside on stack *) - if stackp arg.(0) && stackp arg.(1) - then [| self#makereg arg.(0); arg.(1) |] - else arg - | _ -> - (* The argument(s) can be either in register or on stack *) - arg - -end - -let fundecl f = - (new reload)#fundecl f diff --git a/vendor/ocaml/asmcomp/i386/scheduling.ml b/vendor/ocaml/asmcomp/i386/scheduling.ml deleted file mode 100644 index b166a05a3..000000000 --- a/vendor/ocaml/asmcomp/i386/scheduling.ml +++ /dev/null @@ -1,20 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -let () = let module M = Schedgen in () (* to create a dependency *) - -(* Scheduling is turned off because our model does not fit the 486 - nor the Pentium very well. In particular, it messes up with the - float reg stack. The Pentiums Pro / II / III / etc schedule - at run-time much better than what we could do. *) - -let fundecl f = f diff --git a/vendor/ocaml/asmcomp/i386/selection.ml b/vendor/ocaml/asmcomp/i386/selection.ml deleted file mode 100644 index 10d2d40e3..000000000 --- a/vendor/ocaml/asmcomp/i386/selection.ml +++ /dev/null @@ -1,315 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1997 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction selection for the Intel x86 *) - -open Misc -open Arch -open Proc -open Cmm -open Mach - -(* Auxiliary for recognizing addressing modes *) - -type addressing_expr = - Asymbol of string - | Alinear of expression - | Aadd of expression * expression - | Ascale of expression * int - | Ascaledadd of expression * expression * int - -let rec select_addr exp = - match exp with - Cconst_symbol s -> - (Asymbol s, 0) - | Cop((Caddi | Cadda), [arg; Cconst_int m]) -> - let (a, n) = select_addr arg in (a, n + m) - | Cop((Csubi | Csuba), [arg; Cconst_int m]) -> - let (a, n) = select_addr arg in (a, n - m) - | Cop((Caddi | Cadda), [Cconst_int m; arg]) -> - let (a, n) = select_addr arg in (a, n + m) - | Cop(Clsl, [arg; Cconst_int(1|2|3 as shift)]) -> - begin match select_addr arg with - (Alinear e, n) -> (Ascale(e, 1 lsl shift), n lsl shift) - | _ -> (Alinear exp, 0) - end - | Cop(Cmuli, [arg; Cconst_int(2|4|8 as mult)]) -> - begin match select_addr arg with - (Alinear e, n) -> (Ascale(e, mult), n * mult) - | _ -> (Alinear exp, 0) - end - | Cop(Cmuli, [Cconst_int(2|4|8 as mult); arg]) -> - begin match select_addr arg with - (Alinear e, n) -> (Ascale(e, mult), n * mult) - | _ -> (Alinear exp, 0) - end - | Cop((Caddi | Cadda), [arg1; arg2]) -> - begin match (select_addr arg1, select_addr arg2) with - ((Alinear e1, n1), (Alinear e2, n2)) -> - (Aadd(e1, e2), n1 + n2) - | ((Alinear e1, n1), (Ascale(e2, scale), n2)) -> - (Ascaledadd(e1, e2, scale), n1 + n2) - | ((Ascale(e1, scale), n1), (Alinear e2, n2)) -> - (Ascaledadd(e2, e1, scale), n1 + n2) - | (_, (Ascale(e2, scale), n2)) -> - (Ascaledadd(arg1, e2, scale), n2) - | ((Ascale(e1, scale), n1), _) -> - (Ascaledadd(arg2, e1, scale), n1) - | _ -> - (Aadd(arg1, arg2), 0) - end - | arg -> - (Alinear arg, 0) - -(* C functions to be turned into Ifloatspecial instructions if -ffast-math *) - -let inline_float_ops = - ["atan"; "atan2"; "cos"; "log"; "log10"; "sin"; "sqrt"; "tan"] - -(* Estimate number of float temporaries needed to evaluate expression - (Ershov's algorithm) *) - -let rec float_needs = function - Cop((Cnegf | Cabsf), [arg]) -> - float_needs arg - | Cop((Caddf | Csubf | Cmulf | Cdivf), [arg1; arg2]) -> - let n1 = float_needs arg1 in - let n2 = float_needs arg2 in - if n1 = n2 then 1 + n1 else if n1 > n2 then n1 else n2 - | Cop(Cextcall(fn, ty_res, alloc, dbg), args) - when !fast_math && List.mem fn inline_float_ops -> - begin match args with - [arg] -> float_needs arg - | [arg1; arg2] -> max (float_needs arg2 + 1) (float_needs arg1) - | _ -> assert false - end - | _ -> - 1 - -(* Special constraints on operand and result registers *) - -exception Use_default - -let eax = phys_reg 0 -let ecx = phys_reg 2 -let edx = phys_reg 3 -let tos = phys_reg 100 - -let pseudoregs_for_operation op arg res = - match op with - (* Two-address binary operations *) - Iintop(Iadd|Isub|Imul|Iand|Ior|Ixor) -> - ([|res.(0); arg.(1)|], res, false) - (* Two-address unary operations *) - | Iintop_imm((Iadd|Isub|Imul|Iand|Ior|Ixor|Ilsl|Ilsr|Iasr), _) -> - (res, res, false) - (* For imull, first arg must be in eax, eax is clobbered, and result is in - edx. *) - | Iintop(Imulh) -> - ([| eax; arg.(1) |], [| edx |], true) - (* For shifts with variable shift count, second arg must be in ecx *) - | Iintop(Ilsl|Ilsr|Iasr) -> - ([|res.(0); ecx|], res, false) - (* For div and mod, first arg must be in eax, edx is clobbered, - and result is in eax or edx respectively. - Keep it simple, just force second argument in ecx. *) - | Iintop(Idiv) -> - ([| eax; ecx |], [| eax |], true) - | Iintop(Imod) -> - ([| eax; ecx |], [| edx |], true) - (* For floating-point operations and floating-point loads, - the result is always left at the top of the floating-point stack *) - | Iconst_float _ | Inegf | Iabsf | Iaddf | Isubf | Imulf | Idivf - | Ifloatofint | Iload((Single | Double | Double_u), _) - | Ispecific(Isubfrev | Idivfrev | Ifloatarithmem _ | Ifloatspecial _) -> - (arg, [| tos |], false) (* don't move it immediately *) - (* For storing a byte, the argument must be in eax...edx. - (But for a short, any reg will do!) - Keep it simple, just force the argument to be in edx. *) - | Istore((Byte_unsigned | Byte_signed), addr, _) -> - let newarg = Array.copy arg in - newarg.(0) <- edx; - (newarg, res, false) - (* Other instructions are regular *) - | _ -> raise Use_default - -let chunk_double = function - Single -> false - | Double -> true - | Double_u -> true - | _ -> assert false - -(* The selector class *) - -class selector = object (self) - -inherit Selectgen.selector_generic as super - -method is_immediate (n : int) = true - -method! is_simple_expr e = - match e with - | Cop(Cextcall(fn, _, alloc, _), args) - when !fast_math && List.mem fn inline_float_ops -> - (* inlined float ops are simple if their arguments are *) - List.for_all self#is_simple_expr args - | _ -> - super#is_simple_expr e - -method select_addressing chunk exp = - match select_addr exp with - (Asymbol s, d) -> - (Ibased(s, d), Ctuple []) - | (Alinear e, d) -> - (Iindexed d, e) - | (Aadd(e1, e2), d) -> - (Iindexed2 d, Ctuple[e1; e2]) - | (Ascale(e, scale), d) -> - (Iscaled(scale, d), e) - | (Ascaledadd(e1, e2, scale), d) -> - (Iindexed2scaled(scale, d), Ctuple[e1; e2]) - -method! select_store is_assign addr exp = - match exp with - Cconst_int n -> - (Ispecific(Istore_int(Nativeint.of_int n, addr, is_assign)), Ctuple []) - | (Cconst_natint n | Cconst_blockheader n) -> - (Ispecific(Istore_int(n, addr, is_assign)), Ctuple []) - | Cconst_pointer n -> - (Ispecific(Istore_int(Nativeint.of_int n, addr, is_assign)), Ctuple []) - | Cconst_natpointer n -> - (Ispecific(Istore_int(n, addr, is_assign)), Ctuple []) - | Cconst_symbol s -> - (Ispecific(Istore_symbol(s, addr, is_assign)), Ctuple []) - | _ -> - super#select_store is_assign addr exp - -method! select_operation op args = - match op with - (* Recognize the LEA instruction *) - Caddi | Cadda | Csubi | Csuba -> - begin match self#select_addressing Word (Cop(op, args)) with - (Iindexed d, _) -> super#select_operation op args - | (Iindexed2 0, _) -> super#select_operation op args - | (addr, arg) -> (Ispecific(Ilea addr), [arg]) - end - (* Recognize float arithmetic with memory. - In passing, apply Ershov's algorithm to reduce stack usage *) - | Caddf -> - self#select_floatarith Iaddf Iaddf Ifloatadd Ifloatadd args - | Csubf -> - self#select_floatarith Isubf (Ispecific Isubfrev) Ifloatsub Ifloatsubrev - args - | Cmulf -> - self#select_floatarith Imulf Imulf Ifloatmul Ifloatmul args - | Cdivf -> - self#select_floatarith Idivf (Ispecific Idivfrev) Ifloatdiv Ifloatdivrev - args - (* Recognize store instructions *) - | Cstore Word -> - begin match args with - [loc; Cop(Caddi, [Cop(Cload _, [loc']); Cconst_int n])] - when loc = loc' -> - let (addr, arg) = self#select_addressing Word loc in - (Ispecific(Ioffset_loc(n, addr)), [arg]) - | _ -> - super#select_operation op args - end - (* Recognize inlined floating point operations *) - | Cextcall(fn, ty_res, false, dbg) - when !fast_math && List.mem fn inline_float_ops -> - (Ispecific(Ifloatspecial fn), args) - (* i386 does not support immediate operands for multiply high signed *) - | Cmulhi -> - (Iintop Imulh, args) - (* Default *) - | _ -> super#select_operation op args - -(* Recognize float arithmetic with mem *) - -method select_floatarith regular_op reversed_op mem_op mem_rev_op args = - match args with - [arg1; Cop(Cload chunk, [loc2])] -> - let (addr, arg2) = self#select_addressing chunk loc2 in - (Ispecific(Ifloatarithmem(chunk_double chunk, mem_op, addr)), - [arg1; arg2]) - | [Cop(Cload chunk, [loc1]); arg2] -> - let (addr, arg1) = self#select_addressing chunk loc1 in - (Ispecific(Ifloatarithmem(chunk_double chunk, mem_rev_op, addr)), - [arg2; arg1]) - | [arg1; arg2] -> - (* Evaluate bigger subexpression first to minimize stack usage. - Because of right-to-left evaluation, rightmost arg is evaluated - first *) - if float_needs arg1 <= float_needs arg2 - then (regular_op, [arg1; arg2]) - else (reversed_op, [arg2; arg1]) - | _ -> - fatal_error "Proc_i386: select_floatarith" - -(* Deal with register constraints *) - -method! insert_op_debug op dbg rs rd = - try - let (rsrc, rdst, move_res) = pseudoregs_for_operation op rs rd in - self#insert_moves rs rsrc; - self#insert_debug (Iop op) dbg rsrc rdst; - if move_res then begin - self#insert_moves rdst rd; - rd - end else - rdst - with Use_default -> - super#insert_op_debug op dbg rs rd - -(* Selection of push instructions for external calls *) - -method select_push exp = - match exp with - Cconst_int n -> (Ispecific(Ipush_int(Nativeint.of_int n)), Ctuple []) - | Cconst_natint n -> (Ispecific(Ipush_int n), Ctuple []) - | Cconst_pointer n -> (Ispecific(Ipush_int(Nativeint.of_int n)), Ctuple []) - | Cconst_natpointer n -> (Ispecific(Ipush_int n), Ctuple []) - | Cconst_symbol s -> (Ispecific(Ipush_symbol s), Ctuple []) - | Cop(Cload Word, [loc]) -> - let (addr, arg) = self#select_addressing Word loc in - (Ispecific(Ipush_load addr), arg) - | Cop(Cload Double_u, [loc]) -> - let (addr, arg) = self#select_addressing Double_u loc in - (Ispecific(Ipush_load_float addr), arg) - | _ -> (Ispecific(Ipush), exp) - -method! mark_c_tailcall = - Proc.contains_calls := true - -method! emit_extcall_args env args = - let rec size_pushes = function - | [] -> 0 - | e :: el -> Selectgen.size_expr env e + size_pushes el in - let sz1 = size_pushes args in - let sz2 = Misc.align sz1 stack_alignment in - let rec emit_pushes = function - | [] -> - if sz2 > sz1 then - self#insert (Iop (Istackoffset (sz2 - sz1))) [||] [||] - | e :: el -> - emit_pushes el; - let (op, arg) = self#select_push e in - match self#emit_expr env arg with - | None -> () - | Some r -> self#insert (Iop op) r [||] in - emit_pushes args; - ([||], sz2) - -end - -let fundecl f = (new selector)#emit_fundecl f diff --git a/vendor/ocaml/asmcomp/interf.ml b/vendor/ocaml/asmcomp/interf.ml deleted file mode 100644 index 2d541eeee..000000000 --- a/vendor/ocaml/asmcomp/interf.ml +++ /dev/null @@ -1,188 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Construction of the interference graph. - Annotate pseudoregs with interference lists and preference lists. *) - -module IntPairSet = - Set.Make(struct - type t = int * int - let compare ((a1,b1) : t) (a2,b2) = - match compare a1 a2 with - | 0 -> compare b1 b2 - | c -> c - end) - -open Reg -open Mach - -let build_graph fundecl = - - (* The interference graph is represented in two ways: - - by adjacency lists for each register - - by a sparse bit matrix (a set of pairs of register stamps) *) - - let mat = ref IntPairSet.empty in - - (* Record an interference between two registers *) - let add_interf ri rj = - if Proc.register_class ri = Proc.register_class rj then begin - let i = ri.stamp and j = rj.stamp in - if i <> j then begin - let p = if i < j then (i, j) else (j, i) in - if not(IntPairSet.mem p !mat) then begin - mat := IntPairSet.add p !mat; - if ri.loc = Unknown then begin - ri.interf <- rj :: ri.interf; - if not rj.spill then ri.degree <- ri.degree + 1 - end; - if rj.loc = Unknown then begin - rj.interf <- ri :: rj.interf; - if not ri.spill then rj.degree <- rj.degree + 1 - end - end - end - end in - - (* Record interferences between a register array and a set of registers *) - let add_interf_set v s = - for i = 0 to Array.length v - 1 do - let r1 = v.(i) in - Reg.Set.iter (add_interf r1) s - done in - - (* Record interferences between elements of an array *) - let add_interf_self v = - for i = 0 to Array.length v - 2 do - let ri = v.(i) in - for j = i+1 to Array.length v - 1 do - add_interf ri v.(j) - done - done in - - (* Record interferences between the destination of a move and a set - of live registers. Since the destination is equal to the source, - do not add an interference between them if the source is still live - afterwards. *) - let add_interf_move src dst s = - Reg.Set.iter (fun r -> if r.stamp <> src.stamp then add_interf dst r) s in - - (* Compute interferences *) - - let rec interf i = - let destroyed = Proc.destroyed_at_oper i.desc in - if Array.length destroyed > 0 then add_interf_set destroyed i.live; - match i.desc with - Iend -> () - | Ireturn -> () - | Iop(Imove | Ispill | Ireload) -> - add_interf_move i.arg.(0) i.res.(0) i.live; - interf i.next - | Iop(Itailcall_ind) -> () - | Iop(Itailcall_imm lbl) -> () - | Iop op -> - add_interf_set i.res i.live; - add_interf_self i.res; - interf i.next - | Iifthenelse(tst, ifso, ifnot) -> - interf ifso; - interf ifnot; - interf i.next - | Iswitch(index, cases) -> - for i = 0 to Array.length cases - 1 do - interf cases.(i) - done; - interf i.next - | Iloop body -> - interf body; interf i.next - | Icatch(_, body, handler) -> - interf body; interf handler; interf i.next - | Iexit _ -> - () - | Itrywith(body, handler) -> - add_interf_set Proc.destroyed_at_raise handler.live; - interf body; interf handler; interf i.next - | Iraise _ -> () in - - (* Add a preference from one reg to another. - Do not add anything if the two registers conflict, - or if the source register already has a location, - or if the two registers belong to different classes. - (The last case can occur e.g. on Sparc when passing - float arguments in integer registers, PR#6227.) *) - - let add_pref weight r1 r2 = - if weight > 0 then begin - let i = r1.stamp and j = r2.stamp in - if i <> j - && r1.loc = Unknown - && Proc.register_class r1 = Proc.register_class r2 - && (let p = if i < j then (i, j) else (j, i) in - not (IntPairSet.mem p !mat)) - then r1.prefer <- (r2, weight) :: r1.prefer - end in - - (* Add a mutual preference between two regs *) - let add_mutual_pref weight r1 r2 = - add_pref weight r1 r2; add_pref weight r2 r1 in - - (* Update the spill cost of the registers involved in an operation *) - - let add_spill_cost cost arg = - for i = 0 to Array.length arg - 1 do - let r = arg.(i) in r.spill_cost <- r.spill_cost + cost - done in - - (* Compute preferences and spill costs *) - - let rec prefer weight i = - add_spill_cost weight i.arg; - add_spill_cost weight i.res; - match i.desc with - Iend -> () - | Ireturn -> () - | Iop(Imove) -> - add_mutual_pref weight i.arg.(0) i.res.(0); - prefer weight i.next - | Iop(Ispill) -> - add_pref (weight / 4) i.arg.(0) i.res.(0); - prefer weight i.next - | Iop(Ireload) -> - add_pref (weight / 4) i.res.(0) i.arg.(0); - prefer weight i.next - | Iop(Itailcall_ind) -> () - | Iop(Itailcall_imm lbl) -> () - | Iop op -> - prefer weight i.next - | Iifthenelse(tst, ifso, ifnot) -> - prefer (weight / 2) ifso; - prefer (weight / 2) ifnot; - prefer weight i.next - | Iswitch(index, cases) -> - for i = 0 to Array.length cases - 1 do - prefer (weight / 2) cases.(i) - done; - prefer weight i.next - | Iloop body -> - (* Avoid overflow of weight and spill_cost *) - prefer (if weight < 1000 then 8 * weight else weight) body; - prefer weight i.next - | Icatch(_, body, handler) -> - prefer weight body; prefer weight handler; prefer weight i.next - | Iexit _ -> - () - | Itrywith(body, handler) -> - prefer weight body; prefer weight handler; prefer weight i.next - | Iraise _ -> () - in - - interf fundecl.fun_body; prefer 8 fundecl.fun_body diff --git a/vendor/ocaml/asmcomp/interf.mli b/vendor/ocaml/asmcomp/interf.mli deleted file mode 100644 index a9b0b6309..000000000 --- a/vendor/ocaml/asmcomp/interf.mli +++ /dev/null @@ -1,16 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Construction of the interference graph. - Annotate pseudoregs with interference lists and preference lists. *) - -val build_graph: Mach.fundecl -> unit diff --git a/vendor/ocaml/asmcomp/linearize.ml b/vendor/ocaml/asmcomp/linearize.ml deleted file mode 100644 index 64678c1d4..000000000 --- a/vendor/ocaml/asmcomp/linearize.ml +++ /dev/null @@ -1,297 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Transformation of Mach code into a list of pseudo-instructions. *) - -open Reg -open Mach - -type label = int - -let label_counter = ref 99 - -let new_label() = incr label_counter; !label_counter - -type instruction = - { mutable desc: instruction_desc; - mutable next: instruction; - arg: Reg.t array; - res: Reg.t array; - dbg: Debuginfo.t; - live: Reg.Set.t } - -and instruction_desc = - Lend - | Lop of operation - | Lreloadretaddr - | Lreturn - | Llabel of label - | Lbranch of label - | Lcondbranch of test * label - | Lcondbranch3 of label option * label option * label option - | Lswitch of label array - | Lsetuptrap of label - | Lpushtrap - | Lpoptrap - | Lraise of Lambda.raise_kind - -let has_fallthrough = function - | Lreturn | Lbranch _ | Lswitch _ | Lraise _ - | Lop Itailcall_ind | Lop (Itailcall_imm _) -> false - | _ -> true - -type fundecl = - { fun_name: string; - fun_body: instruction; - fun_fast: bool; - fun_dbg : Debuginfo.t } - -(* Invert a test *) - -let invert_integer_test = function - Isigned cmp -> Isigned(Cmm.negate_comparison cmp) - | Iunsigned cmp -> Iunsigned(Cmm.negate_comparison cmp) - -let invert_test = function - Itruetest -> Ifalsetest - | Ifalsetest -> Itruetest - | Iinttest(cmp) -> Iinttest(invert_integer_test cmp) - | Iinttest_imm(cmp, n) -> Iinttest_imm(invert_integer_test cmp, n) - | Ifloattest(cmp, neg) -> Ifloattest(cmp, not neg) - | Ieventest -> Ioddtest - | Ioddtest -> Ieventest - -(* The "end" instruction *) - -let rec end_instr = - { desc = Lend; - next = end_instr; - arg = [||]; - res = [||]; - dbg = Debuginfo.none; - live = Reg.Set.empty } - -(* Cons an instruction (live, debug empty) *) - -let instr_cons d a r n = - { desc = d; next = n; arg = a; res = r; - dbg = Debuginfo.none; live = Reg.Set.empty } - -(* Cons a simple instruction (arg, res, live empty) *) - -let cons_instr d n = - { desc = d; next = n; arg = [||]; res = [||]; - dbg = Debuginfo.none; live = Reg.Set.empty } - -(* Build an instruction with arg, res, dbg, live taken from - the given Mach.instruction *) - -let copy_instr d i n = - { desc = d; next = n; - arg = i.Mach.arg; res = i.Mach.res; - dbg = i.Mach.dbg; live = i.Mach.live } - -(* - Label the beginning of the given instruction sequence. - - If the sequence starts with a branch, jump over it. - - If the sequence is the end, (tail call position), just do nothing -*) - -let get_label n = match n.desc with - Lbranch lbl -> (lbl, n) - | Llabel lbl -> (lbl, n) - | Lend -> (-1, n) - | _ -> let lbl = new_label() in (lbl, cons_instr (Llabel lbl) n) - -(* Check the fallthrough label *) -let check_label n = match n.desc with - | Lbranch lbl -> lbl - | Llabel lbl -> lbl - | _ -> -1 - -(* Discard all instructions up to the next label. - This function is to be called before adding a non-terminating - instruction. *) - -let rec discard_dead_code n = - match n.desc with - Lend -> n - | Llabel _ -> n -(* Do not discard Lpoptrap/Lpushtrap or Istackoffset instructions, - as this may cause a stack imbalance later during assembler generation. *) - | Lpoptrap | Lpushtrap -> n - | Lop(Istackoffset _) -> n - | _ -> discard_dead_code n.next - -(* - Add a branch in front of a continuation. - Discard dead code in the continuation. - Does not insert anything if we're just falling through - or if we jump to dead code after the end of function (lbl=-1) -*) - -let add_branch lbl n = - if lbl >= 0 then - let n1 = discard_dead_code n in - match n1.desc with - | Llabel lbl1 when lbl1 = lbl -> n1 - | _ -> cons_instr (Lbranch lbl) n1 - else - discard_dead_code n - -let try_depth = ref 0 - -(* Association list: exit handler -> (handler label, try-nesting factor) *) - -let exit_label = ref [] - -let find_exit_label_try_depth k = - try - List.assoc k !exit_label - with - | Not_found -> Misc.fatal_error "Linearize.find_exit_label" - -let find_exit_label k = - let (label, t) = find_exit_label_try_depth k in - assert(t = !try_depth); - label - -let is_next_catch n = match !exit_label with -| (n0,(_,t))::_ when n0=n && t = !try_depth -> true -| _ -> false - -let local_exit k = - snd (find_exit_label_try_depth k) = !try_depth - -(* Linearize an instruction [i]: add it in front of the continuation [n] *) - -let rec linear i n = - match i.Mach.desc with - Iend -> n - | Iop(Itailcall_ind | Itailcall_imm _ as op) -> - copy_instr (Lop op) i (discard_dead_code n) - | Iop(Imove | Ireload | Ispill) - when i.Mach.arg.(0).loc = i.Mach.res.(0).loc -> - linear i.Mach.next n - | Iop op -> - copy_instr (Lop op) i (linear i.Mach.next n) - | Ireturn -> - let n1 = copy_instr Lreturn i (discard_dead_code n) in - if !Proc.contains_calls - then cons_instr Lreloadretaddr n1 - else n1 - | Iifthenelse(test, ifso, ifnot) -> - let n1 = linear i.Mach.next n in - begin match (ifso.Mach.desc, ifnot.Mach.desc, n1.desc) with - Iend, _, Lbranch lbl -> - copy_instr (Lcondbranch(test, lbl)) i (linear ifnot n1) - | _, Iend, Lbranch lbl -> - copy_instr (Lcondbranch(invert_test test, lbl)) i (linear ifso n1) - | Iexit nfail1, Iexit nfail2, _ - when is_next_catch nfail1 && local_exit nfail2 -> - let lbl2 = find_exit_label nfail2 in - copy_instr - (Lcondbranch (invert_test test, lbl2)) i (linear ifso n1) - | Iexit nfail, _, _ when local_exit nfail -> - let n2 = linear ifnot n1 - and lbl = find_exit_label nfail in - copy_instr (Lcondbranch(test, lbl)) i n2 - | _, Iexit nfail, _ when local_exit nfail -> - let n2 = linear ifso n1 in - let lbl = find_exit_label nfail in - copy_instr (Lcondbranch(invert_test test, lbl)) i n2 - | Iend, _, _ -> - let (lbl_end, n2) = get_label n1 in - copy_instr (Lcondbranch(test, lbl_end)) i (linear ifnot n2) - | _, Iend, _ -> - let (lbl_end, n2) = get_label n1 in - copy_instr (Lcondbranch(invert_test test, lbl_end)) i - (linear ifso n2) - | _, _, _ -> - (* Should attempt branch prediction here *) - let (lbl_end, n2) = get_label n1 in - let (lbl_else, nelse) = get_label (linear ifnot n2) in - copy_instr (Lcondbranch(invert_test test, lbl_else)) i - (linear ifso (add_branch lbl_end nelse)) - end - | Iswitch(index, cases) -> - let lbl_cases = Array.make (Array.length cases) 0 in - let (lbl_end, n1) = get_label(linear i.Mach.next n) in - let n2 = ref (discard_dead_code n1) in - for i = Array.length cases - 1 downto 0 do - let (lbl_case, ncase) = - get_label(linear cases.(i) (add_branch lbl_end !n2)) in - lbl_cases.(i) <- lbl_case; - n2 := discard_dead_code ncase - done; - (* Switches with 1 and 2 branches have been eliminated earlier. - Here, we do something for switches with 3 branches. *) - if Array.length index = 3 then begin - let fallthrough_lbl = check_label !n2 in - let find_label n = - let lbl = lbl_cases.(index.(n)) in - if lbl = fallthrough_lbl then None else Some lbl in - copy_instr (Lcondbranch3(find_label 0, find_label 1, find_label 2)) - i !n2 - end else - copy_instr (Lswitch(Array.map (fun n -> lbl_cases.(n)) index)) i !n2 - | Iloop body -> - let lbl_head = new_label() in - let n1 = linear i.Mach.next n in - let n2 = linear body (cons_instr (Lbranch lbl_head) n1) in - cons_instr (Llabel lbl_head) n2 - | Icatch(io, body, handler) -> - let (lbl_end, n1) = get_label(linear i.Mach.next n) in - let (lbl_handler, n2) = get_label(linear handler n1) in - exit_label := (io, (lbl_handler, !try_depth)) :: !exit_label ; - let n3 = linear body (add_branch lbl_end n2) in - exit_label := List.tl !exit_label; - n3 - | Iexit nfail -> - let lbl, t = find_exit_label_try_depth nfail in - (* We need to re-insert dummy pushtrap (which won't be executed), - so as to preserve stack offset during assembler generation. - It would make sense to have a special pseudo-instruction - only to inform the later pass about this stack offset - (corresponding to N traps). - *) - let rec loop i tt = - if t = tt then i - else loop (cons_instr Lpushtrap i) (tt - 1) - in - let n1 = loop (linear i.Mach.next n) !try_depth in - let rec loop i tt = - if t = tt then i - else loop (cons_instr Lpoptrap i) (tt - 1) - in - loop (add_branch lbl n1) !try_depth - | Itrywith(body, handler) -> - let (lbl_join, n1) = get_label (linear i.Mach.next n) in - incr try_depth; - let (lbl_body, n2) = - get_label (cons_instr Lpushtrap - (linear body (cons_instr Lpoptrap n1))) in - decr try_depth; - cons_instr (Lsetuptrap lbl_body) - (linear handler (add_branch lbl_join n2)) - | Iraise k -> - copy_instr (Lraise k) i (discard_dead_code n) - -let reset () = - label_counter := 99; - exit_label := [] - -let fundecl f = - { fun_name = f.Mach.fun_name; - fun_body = linear f.Mach.fun_body end_instr; - fun_fast = f.Mach.fun_fast; - fun_dbg = f.Mach.fun_dbg } diff --git a/vendor/ocaml/asmcomp/linearize.mli b/vendor/ocaml/asmcomp/linearize.mli deleted file mode 100644 index 2996a29bf..000000000 --- a/vendor/ocaml/asmcomp/linearize.mli +++ /dev/null @@ -1,54 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Transformation of Mach code into a list of pseudo-instructions. *) - -type label = int -val new_label: unit -> label - -type instruction = - { mutable desc: instruction_desc; - mutable next: instruction; - arg: Reg.t array; - res: Reg.t array; - dbg: Debuginfo.t; - live: Reg.Set.t } - -and instruction_desc = - Lend - | Lop of Mach.operation - | Lreloadretaddr - | Lreturn - | Llabel of label - | Lbranch of label - | Lcondbranch of Mach.test * label - | Lcondbranch3 of label option * label option * label option - | Lswitch of label array - | Lsetuptrap of label - | Lpushtrap - | Lpoptrap - | Lraise of Lambda.raise_kind - -val has_fallthrough : instruction_desc -> bool -val end_instr: instruction -val instr_cons: - instruction_desc -> Reg.t array -> Reg.t array -> instruction -> instruction -val invert_test: Mach.test -> Mach.test - -type fundecl = - { fun_name: string; - fun_body: instruction; - fun_fast: bool; - fun_dbg : Debuginfo.t } - -val reset : unit -> unit -val fundecl: Mach.fundecl -> fundecl diff --git a/vendor/ocaml/asmcomp/liveness.ml b/vendor/ocaml/asmcomp/liveness.ml deleted file mode 100644 index 2ef322ef3..000000000 --- a/vendor/ocaml/asmcomp/liveness.ml +++ /dev/null @@ -1,133 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Liveness analysis. - Annotate mach code with the set of regs live at each point. *) - -open Mach - -let live_at_exit = ref [] - -let find_live_at_exit k = - try - List.assoc k !live_at_exit - with - | Not_found -> Misc.fatal_error "Liveness.find_live_at_exit" - -let live_at_raise = ref Reg.Set.empty - -let rec live i finally = - (* finally is the set of registers live after execution of the - instruction sequence. - The result of the function is the set of registers live just - before the instruction sequence. - The instruction i is annotated by the set of registers live across - the instruction. *) - match i.desc with - Iend -> - i.live <- finally; - finally - | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _) -> - i.live <- Reg.Set.empty; (* no regs are live across *) - Reg.set_of_array i.arg - | Iop op -> - let after = live i.next finally in - if Proc.op_is_pure op (* no side effects *) - && Reg.disjoint_set_array after i.res (* results are not used after *) - && not (Proc.regs_are_volatile i.arg) (* no stack-like hard reg *) - && not (Proc.regs_are_volatile i.res) (* is involved *) - then begin - (* This operation is dead code. Ignore its arguments. *) - i.live <- after; - after - end else begin - let across_after = Reg.diff_set_array after i.res in - let across = - match op with - | Icall_ind | Icall_imm _ | Iextcall _ - | Iintop Icheckbound | Iintop_imm(Icheckbound, _) -> - (* The function call may raise an exception, branching to the - nearest enclosing try ... with. Similarly for bounds checks. - Hence, everything that must be live at the beginning of - the exception handler must also be live across this instr. *) - Reg.Set.union across_after !live_at_raise - | _ -> - across_after in - i.live <- across; - Reg.add_set_array across i.arg - end - | Iifthenelse(test, ifso, ifnot) -> - let at_join = live i.next finally in - let at_fork = Reg.Set.union (live ifso at_join) (live ifnot at_join) in - i.live <- at_fork; - Reg.add_set_array at_fork i.arg - | Iswitch(index, cases) -> - let at_join = live i.next finally in - let at_fork = ref Reg.Set.empty in - for i = 0 to Array.length cases - 1 do - at_fork := Reg.Set.union !at_fork (live cases.(i) at_join) - done; - i.live <- !at_fork; - Reg.add_set_array !at_fork i.arg - | Iloop(body) -> - let at_top = ref Reg.Set.empty in - (* Yes, there are better algorithms, but we'll just iterate till - reaching a fixpoint. *) - begin try - while true do - let new_at_top = Reg.Set.union !at_top (live body !at_top) in - if Reg.Set.equal !at_top new_at_top then raise Exit; - at_top := new_at_top - done - with Exit -> () - end; - i.live <- !at_top; - !at_top - | Icatch(nfail, body, handler) -> - let at_join = live i.next finally in - let before_handler = live handler at_join in - let before_body = - live_at_exit := (nfail,before_handler) :: !live_at_exit ; - let before_body = live body at_join in - live_at_exit := List.tl !live_at_exit ; - before_body in - i.live <- before_body; - before_body - | Iexit nfail -> - let this_live = find_live_at_exit nfail in - i.live <- this_live ; - this_live - | Itrywith(body, handler) -> - let at_join = live i.next finally in - let before_handler = live handler at_join in - let saved_live_at_raise = !live_at_raise in - live_at_raise := Reg.Set.remove Proc.loc_exn_bucket before_handler; - let before_body = live body at_join in - live_at_raise := saved_live_at_raise; - i.live <- before_body; - before_body - | Iraise _ -> - i.live <- !live_at_raise; - Reg.add_set_array !live_at_raise i.arg - -let reset () = - live_at_raise := Reg.Set.empty; - live_at_exit := [] - -let fundecl ppf f = - let initially_live = live f.fun_body Reg.Set.empty in - (* Sanity check: only function parameters can be live at entrypoint *) - let wrong_live = Reg.Set.diff initially_live (Reg.set_of_array f.fun_args) in - if not (Reg.Set.is_empty wrong_live) then begin - Format.fprintf ppf "%a@." Printmach.regset wrong_live; - Misc.fatal_error "Liveness.fundecl" - end diff --git a/vendor/ocaml/asmcomp/liveness.mli b/vendor/ocaml/asmcomp/liveness.mli deleted file mode 100644 index ed2f1a8ae..000000000 --- a/vendor/ocaml/asmcomp/liveness.mli +++ /dev/null @@ -1,19 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Liveness analysis. - Annotate mach code with the set of regs live at each point. *) - -open Format - -val reset : unit -> unit -val fundecl: formatter -> Mach.fundecl -> unit diff --git a/vendor/ocaml/asmcomp/mach.ml b/vendor/ocaml/asmcomp/mach.ml deleted file mode 100644 index 3a7174763..000000000 --- a/vendor/ocaml/asmcomp/mach.ml +++ /dev/null @@ -1,131 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Representation of machine code by sequences of pseudoinstructions *) - -type integer_comparison = - Isigned of Cmm.comparison - | Iunsigned of Cmm.comparison - -type integer_operation = - Iadd | Isub | Imul | Imulh | Idiv | Imod - | Iand | Ior | Ixor | Ilsl | Ilsr | Iasr - | Icomp of integer_comparison - | Icheckbound - -type test = - Itruetest - | Ifalsetest - | Iinttest of integer_comparison - | Iinttest_imm of integer_comparison * int - | Ifloattest of Cmm.comparison * bool - | Ioddtest - | Ieventest - -type operation = - Imove - | Ispill - | Ireload - | Iconst_int of nativeint - | Iconst_float of float - | Iconst_symbol of string - | Iconst_blockheader of nativeint - | Icall_ind - | Icall_imm of string - | Itailcall_ind - | Itailcall_imm of string - | Iextcall of string * bool - | Istackoffset of int - | Iload of Cmm.memory_chunk * Arch.addressing_mode - | Istore of Cmm.memory_chunk * Arch.addressing_mode * bool - | Ialloc of int - | Iintop of integer_operation - | Iintop_imm of integer_operation * int - | Inegf | Iabsf | Iaddf | Isubf | Imulf | Idivf - | Ifloatofint | Iintoffloat - | Ispecific of Arch.specific_operation - -type instruction = - { desc: instruction_desc; - next: instruction; - arg: Reg.t array; - res: Reg.t array; - dbg: Debuginfo.t; - mutable live: Reg.Set.t } - -and instruction_desc = - Iend - | Iop of operation - | Ireturn - | Iifthenelse of test * instruction * instruction - | Iswitch of int array * instruction array - | Iloop of instruction - | Icatch of int * instruction * instruction - | Iexit of int - | Itrywith of instruction * instruction - | Iraise of Lambda.raise_kind - -type fundecl = - { fun_name: string; - fun_args: Reg.t array; - fun_body: instruction; - fun_fast: bool; - fun_dbg : Debuginfo.t } - -let rec dummy_instr = - { desc = Iend; - next = dummy_instr; - arg = [||]; - res = [||]; - dbg = Debuginfo.none; - live = Reg.Set.empty } - -let end_instr () = - { desc = Iend; - next = dummy_instr; - arg = [||]; - res = [||]; - dbg = Debuginfo.none; - live = Reg.Set.empty } - -let instr_cons d a r n = - { desc = d; next = n; arg = a; res = r; - dbg = Debuginfo.none; live = Reg.Set.empty } - -let instr_cons_debug d a r dbg n = - { desc = d; next = n; arg = a; res = r; dbg = dbg; live = Reg.Set.empty } - -let rec instr_iter f i = - match i.desc with - Iend -> () - | _ -> - f i; - match i.desc with - Iend -> () - | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _) -> () - | Iifthenelse(tst, ifso, ifnot) -> - instr_iter f ifso; instr_iter f ifnot; instr_iter f i.next - | Iswitch(index, cases) -> - for i = 0 to Array.length cases - 1 do - instr_iter f cases.(i) - done; - instr_iter f i.next - | Iloop(body) -> - instr_iter f body; instr_iter f i.next - | Icatch(_, body, handler) -> - instr_iter f body; instr_iter f handler; instr_iter f i.next - | Iexit _ -> () - | Itrywith(body, handler) -> - instr_iter f body; instr_iter f handler; instr_iter f i.next - | Iraise _ -> () - | _ -> - instr_iter f i.next diff --git a/vendor/ocaml/asmcomp/mach.mli b/vendor/ocaml/asmcomp/mach.mli deleted file mode 100644 index 618e5e4ce..000000000 --- a/vendor/ocaml/asmcomp/mach.mli +++ /dev/null @@ -1,93 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Representation of machine code by sequences of pseudoinstructions *) - -type integer_comparison = - Isigned of Cmm.comparison - | Iunsigned of Cmm.comparison - -type integer_operation = - Iadd | Isub | Imul | Imulh | Idiv | Imod - | Iand | Ior | Ixor | Ilsl | Ilsr | Iasr - | Icomp of integer_comparison - | Icheckbound - -type test = - Itruetest - | Ifalsetest - | Iinttest of integer_comparison - | Iinttest_imm of integer_comparison * int - | Ifloattest of Cmm.comparison * bool - | Ioddtest - | Ieventest - -type operation = - Imove - | Ispill - | Ireload - | Iconst_int of nativeint - | Iconst_float of float - | Iconst_symbol of string - | Iconst_blockheader of nativeint - | Icall_ind - | Icall_imm of string - | Itailcall_ind - | Itailcall_imm of string - | Iextcall of string * bool (* false = noalloc, true = alloc *) - | Istackoffset of int - | Iload of Cmm.memory_chunk * Arch.addressing_mode - | Istore of Cmm.memory_chunk * Arch.addressing_mode * bool - (* false = initialization, true = assignment *) - | Ialloc of int - | Iintop of integer_operation - | Iintop_imm of integer_operation * int - | Inegf | Iabsf | Iaddf | Isubf | Imulf | Idivf - | Ifloatofint | Iintoffloat - | Ispecific of Arch.specific_operation - -type instruction = - { desc: instruction_desc; - next: instruction; - arg: Reg.t array; - res: Reg.t array; - dbg: Debuginfo.t; - mutable live: Reg.Set.t } - -and instruction_desc = - Iend - | Iop of operation - | Ireturn - | Iifthenelse of test * instruction * instruction - | Iswitch of int array * instruction array - | Iloop of instruction - | Icatch of int * instruction * instruction - | Iexit of int - | Itrywith of instruction * instruction - | Iraise of Lambda.raise_kind - -type fundecl = - { fun_name: string; - fun_args: Reg.t array; - fun_body: instruction; - fun_fast: bool; - fun_dbg : Debuginfo.t } - -val dummy_instr: instruction -val end_instr: unit -> instruction -val instr_cons: - instruction_desc -> Reg.t array -> Reg.t array -> instruction -> - instruction -val instr_cons_debug: - instruction_desc -> Reg.t array -> Reg.t array -> Debuginfo.t -> - instruction -> instruction -val instr_iter: (instruction -> unit) -> instruction -> unit diff --git a/vendor/ocaml/asmcomp/power/CSE.ml b/vendor/ocaml/asmcomp/power/CSE.ml deleted file mode 100644 index ec10d2df4..000000000 --- a/vendor/ocaml/asmcomp/power/CSE.ml +++ /dev/null @@ -1,37 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* CSE for the PowerPC *) - -open Arch -open Mach -open CSEgen - -class cse = object (self) - -inherit cse_generic as super - -method! class_of_operation op = - match op with - | Ispecific(Imultaddf | Imultsubf) -> Op_pure - | Ispecific(Ialloc_far _) -> Op_other - | _ -> super#class_of_operation op - -method! is_cheap_operation op = - match op with - | Iconst_int n | Iconst_blockheader n -> n <= 32767n && n >= -32768n - | _ -> false - -end - -let fundecl f = - (new cse)#fundecl f diff --git a/vendor/ocaml/asmcomp/power/arch.ml b/vendor/ocaml/asmcomp/power/arch.ml deleted file mode 100644 index cbeba916b..000000000 --- a/vendor/ocaml/asmcomp/power/arch.ml +++ /dev/null @@ -1,89 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Specific operations for the PowerPC processor *) - -open Format - -(* Machine-specific command-line options *) - -let command_line_options = [] - -(* Specific operations *) - -type specific_operation = - Imultaddf (* multiply and add *) - | Imultsubf (* multiply and subtract *) - | Ialloc_far of int (* allocation in large functions *) - -(* Addressing modes *) - -type addressing_mode = - Ibased of string * int (* symbol + displ *) - | Iindexed of int (* reg + displ *) - | Iindexed2 (* reg + reg *) - -(* Sizes, endianness *) - -let big_endian = true - -let ppc64 = - match Config.model with "ppc64" -> true | _ -> false - -let size_addr = if ppc64 then 8 else 4 -let size_int = size_addr -let size_float = 8 - -let allow_unaligned_access = false - -(* Behavior of division *) - -let division_crashes_on_overflow = true - -(* Operations on addressing modes *) - -let identity_addressing = Iindexed 0 - -let offset_addressing addr delta = - match addr with - Ibased(s, n) -> Ibased(s, n + delta) - | Iindexed n -> Iindexed(n + delta) - | Iindexed2 -> assert false - -let num_args_addressing = function - Ibased(s, n) -> 0 - | Iindexed n -> 1 - | Iindexed2 -> 2 - -(* Printing operations and addressing modes *) - -let print_addressing printreg addr ppf arg = - match addr with - | Ibased(s, n) -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "\"%s\"%s" s idx - | Iindexed n -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a%s" printreg arg.(0) idx - | Iindexed2 -> - fprintf ppf "%a + %a" printreg arg.(0) printreg arg.(1) - -let print_specific_operation printreg op ppf arg = - match op with - | Imultaddf -> - fprintf ppf "%a *f %a +f %a" - printreg arg.(0) printreg arg.(1) printreg arg.(2) - | Imultsubf -> - fprintf ppf "%a *f %a -f %a" - printreg arg.(0) printreg arg.(1) printreg arg.(2) - | Ialloc_far n -> - fprintf ppf "alloc_far %d" n diff --git a/vendor/ocaml/asmcomp/power/emit.mlp b/vendor/ocaml/asmcomp/power/emit.mlp deleted file mode 100644 index 434408524..000000000 --- a/vendor/ocaml/asmcomp/power/emit.mlp +++ /dev/null @@ -1,930 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Emission of PowerPC assembly code *) - -module StringSet = - Set.Make(struct type t = string let compare (x:t) y = compare x y end) - -open Misc -open Cmm -open Arch -open Proc -open Reg -open Mach -open Linearize -open Emitaux - -(* Layout of the stack. The stack is kept 16-aligned. *) - -let stack_offset = ref 0 - -let frame_size () = - let size = - !stack_offset + (* Trap frame, outgoing parameters *) - size_int * num_stack_slots.(0) + (* Local int variables *) - size_float * num_stack_slots.(1) + (* Local float variables *) - (if !contains_calls then size_int else 0) in (* The return address *) - Misc.align size 16 - -let slot_offset loc cls = - match loc with - Local n -> - if cls = 0 - then !stack_offset + num_stack_slots.(1) * size_float + n * size_int - else !stack_offset + n * size_float - | Incoming n -> frame_size() + n - | Outgoing n -> n - -(* Output a symbol *) - -let emit_symbol = - match Config.system with - | "elf" | "bsd" | "bsd_elf" -> (fun s -> Emitaux.emit_symbol '.' s) - | "rhapsody" -> (fun s -> emit_char '_'; Emitaux.emit_symbol '$' s) - | _ -> assert false - -(* Output a label *) - -let label_prefix = - match Config.system with - | "elf" | "bsd" | "bsd_elf" -> ".L" - | "rhapsody" -> "L" - | _ -> assert false - -let emit_label lbl = - emit_string label_prefix; emit_int lbl - -let emit_data_label lbl = - emit_string label_prefix; emit_string "d"; emit_int lbl - -(* Section switching *) - -let data_space = - match Config.system with - | "elf" | "bsd" | "bsd_elf" -> " .section \".data\"\n" - | "rhapsody" -> " .data\n" - | _ -> assert false - -let code_space = - match Config.system with - | "elf" | "bsd" | "bsd_elf" -> " .section \".text\"\n" - | "rhapsody" -> " .text\n" - | _ -> assert false - -let rodata_space = - match Config.system with - | "elf" | "bsd" | "bsd_elf" -> " .section \".rodata\"\n" - | "rhapsody" -> " .const\n" - | _ -> assert false - -(* Names of instructions that differ in 32 and 64-bit modes *) - -let lg = if ppc64 then "ld" else "lwz" -let stg = if ppc64 then "std" else "stw" -let lwa = if ppc64 then "lwa" else "lwz" -let cmpg = if ppc64 then "cmpd" else "cmpw" -let cmplg = if ppc64 then "cmpld" else "cmplw" -let datag = if ppc64 then ".quad" else ".long" -let aligng = if ppc64 then 3 else 2 -let mullg = if ppc64 then "mulld" else "mullw" -let divg = if ppc64 then "divd" else "divw" -let tglle = if ppc64 then "tdlle" else "twlle" -let sragi = if ppc64 then "sradi" else "srawi" -let slgi = if ppc64 then "sldi" else "slwi" -let fctigz = if ppc64 then "fctidz" else "fctiwz" - -(* Output a pseudo-register *) - -let emit_reg r = - match r.loc with - Reg r -> emit_string (register_name r) - | _ -> fatal_error "Emit.emit_reg" - -let use_full_regnames = - Config.system = "rhapsody" - -let emit_gpr r = - if use_full_regnames then emit_char 'r'; - emit_int r - -let emit_fpr r = - if use_full_regnames then emit_char 'f'; - emit_int r - -let emit_ccr r = - if use_full_regnames then emit_string "cr"; - emit_int r - -(* Output a stack reference *) - -let emit_stack r = - match r.loc with - Stack s -> - let ofs = slot_offset s (register_class r) in `{emit_int ofs}({emit_gpr 1})` - | _ -> fatal_error "Emit.emit_stack" - -(* Split a 32-bit integer constants in two 16-bit halves *) - -let low n = n land 0xFFFF -let high n = n asr 16 - -let nativelow n = Nativeint.to_int n land 0xFFFF -let nativehigh n = Nativeint.to_int (Nativeint.shift_right n 16) - -let is_immediate n = - n <= 32767 && n >= -32768 - -let is_native_immediate n = - n <= 32767n && n >= -32768n - -(* Output a "upper 16 bits" or "lower 16 bits" operator. *) - -let emit_upper emit_fun arg = - match Config.system with - | "elf" | "bsd" | "bsd_elf" -> - emit_fun arg; emit_string "@ha" - | "rhapsody" -> - emit_string "ha16("; emit_fun arg; emit_string ")" - | _ -> assert false - -let emit_lower emit_fun arg = - match Config.system with - | "elf" | "bsd" | "bsd_elf" -> - emit_fun arg; emit_string "@l" - | "rhapsody" -> - emit_string "lo16("; emit_fun arg; emit_string ")" - | _ -> assert false - -(* Output a load or store operation *) - -let emit_symbol_offset (s, d) = - emit_symbol s; - if d > 0 then `+`; - if d <> 0 then emit_int d - -let valid_offset instr ofs = - ofs land 3 = 0 || (instr <> "ld" && instr <> "std") - -let emit_load_store instr addressing_mode addr n arg = - match addressing_mode with - Ibased(s, d) -> - ` addis {emit_gpr 11}, 0, {emit_upper emit_symbol_offset (s,d)}\n`; - ` {emit_string instr} {emit_reg arg}, {emit_lower emit_symbol_offset (s,d)}({emit_gpr 11})\n` - | Iindexed ofs -> - if is_immediate ofs && valid_offset instr ofs then - ` {emit_string instr} {emit_reg arg}, {emit_int ofs}({emit_reg addr.(n)})\n` - else begin - ` lis {emit_gpr 0}, {emit_int(high ofs)}\n`; - if low ofs <> 0 then - ` ori {emit_gpr 0}, {emit_gpr 0}, {emit_int(low ofs)}\n`; - ` {emit_string instr}x {emit_reg arg}, {emit_reg addr.(n)}, {emit_gpr 0}\n` - end - | Iindexed2 -> - ` {emit_string instr}x {emit_reg arg}, {emit_reg addr.(n)}, {emit_reg addr.(n+1)}\n` - -(* After a comparison, extract the result as 0 or 1 *) - -let emit_set_comp cmp res = - ` mfcr {emit_gpr 0}\n`; - let bitnum = - match cmp with - Ceq | Cne -> 2 - | Cgt | Cle -> 1 - | Clt | Cge -> 0 in -` rlwinm {emit_reg res}, {emit_gpr 0}, {emit_int(bitnum+1)}, 31, 31\n`; - begin match cmp with - Cne | Cle | Cge -> ` xori {emit_reg res}, {emit_reg res}, 1\n` - | _ -> () - end - -(* Record live pointers at call points *) - -let record_frame live dbg = - let lbl = new_label() in - let live_offset = ref [] in - Reg.Set.iter - (function - {typ = Addr; loc = Reg r} -> - live_offset := (r lsl 1) + 1 :: !live_offset - | {typ = Addr; loc = Stack s} as reg -> - live_offset := slot_offset s (register_class reg) :: !live_offset - | _ -> ()) - live; - frame_descriptors := - { fd_lbl = lbl; - fd_frame_size = frame_size(); - fd_live_offset = !live_offset; - fd_debuginfo = dbg } :: !frame_descriptors; - `{emit_label lbl}:\n` - -(* Record floating-point and large integer literals *) - -let float_literals = ref ([] : (int64 * int) list) -let int_literals = ref ([] : (nativeint * int) list) - -(* Record external C functions to be called in a position-independent way - (for MacOSX) *) - -let pic_externals = (Config.system = "rhapsody") - -let external_functions = ref StringSet.empty - -let emit_external s = - ` .non_lazy_symbol_pointer\n`; - `L{emit_symbol s}$non_lazy_ptr:\n`; - ` .indirect_symbol {emit_symbol s}\n`; - ` {emit_string datag} 0\n` - -(* Names for conditional branches after comparisons *) - -let branch_for_comparison = function - Ceq -> "beq" | Cne -> "bne" - | Cle -> "ble" | Cgt -> "bgt" - | Cge -> "bge" | Clt -> "blt" - -let name_for_int_comparison = function - Isigned cmp -> (cmpg, branch_for_comparison cmp) - | Iunsigned cmp -> (cmplg, branch_for_comparison cmp) - -(* Names for various instructions *) - -let name_for_intop = function - Iadd -> "add" - | Imul -> if ppc64 then "mulld" else "mullw" - | Imulh -> if ppc64 then "mulhd" else "mulhw" - | Idiv -> if ppc64 then "divd" else "divw" - | Iand -> "and" - | Ior -> "or" - | Ixor -> "xor" - | Ilsl -> if ppc64 then "sld" else "slw" - | Ilsr -> if ppc64 then "srd" else "srw" - | Iasr -> if ppc64 then "srad" else "sraw" - | _ -> Misc.fatal_error "Emit.Intop" - -let name_for_intop_imm = function - Iadd -> "addi" - | Imul -> "mulli" - | Iand -> "andi." - | Ior -> "ori" - | Ixor -> "xori" - | Ilsl -> if ppc64 then "sldi" else "slwi" - | Ilsr -> if ppc64 then "srdi" else "srwi" - | Iasr -> if ppc64 then "sradi" else "srawi" - | _ -> Misc.fatal_error "Emit.Intop_imm" - -let name_for_floatop1 = function - Inegf -> "fneg" - | Iabsf -> "fabs" - | _ -> Misc.fatal_error "Emit.Iopf1" - -let name_for_floatop2 = function - Iaddf -> "fadd" - | Isubf -> "fsub" - | Imulf -> "fmul" - | Idivf -> "fdiv" - | _ -> Misc.fatal_error "Emit.Iopf2" - -let name_for_specific = function - Imultaddf -> "fmadd" - | Imultsubf -> "fmsub" - | _ -> Misc.fatal_error "Emit.Ispecific" - -(* Name of current function *) -let function_name = ref "" -(* Entry point for tail recursive calls *) -let tailrec_entry_point = ref 0 -(* Names of functions defined in the current file *) -let defined_functions = ref StringSet.empty -(* Label of glue code for calling the GC *) -let call_gc_label = ref 0 - -module BR = Branch_relaxation.Make (struct - type distance = int - - module Cond_branch = struct - type t = Branch - - let all = [Branch] - - let max_displacement = function - (* 14-bit signed offset in words. *) - | Branch -> 8192 - - let classify_instr = function - | Lop (Ialloc _) - (* [Ialloc_far] does not need to be here, since its code sequence - never involves any conditional branches that might need relaxing. *) - | Lcondbranch _ - | Lcondbranch3 _ -> Some Branch - | _ -> None - end - - let offset_pc_at_branch = 1 - - let load_store_size = function - | Ibased(s, d) -> 2 - | Iindexed ofs -> if is_immediate ofs then 1 else 3 - | Iindexed2 -> 1 - - let instr_size = function - | Lend -> 0 - | Lop(Imove | Ispill | Ireload) -> 1 - | Lop(Iconst_int n | Iconst_blockheader n) -> - if is_native_immediate n then 1 else 2 - | Lop(Iconst_float s) -> 2 - | Lop(Iconst_symbol s) -> 2 - | Lop(Icall_ind) -> 2 - | Lop(Icall_imm s) -> 1 - | Lop(Itailcall_ind) -> 5 - | Lop(Itailcall_imm s) -> if s = !function_name then 1 else 4 - | Lop(Iextcall(s, true)) -> 3 - | Lop(Iextcall(s, false)) -> if pic_externals then 4 else 1 - | Lop(Istackoffset n) -> 1 - | Lop(Iload(chunk, addr)) -> - if chunk = Byte_signed - then load_store_size addr + 1 - else load_store_size addr - | Lop(Istore(chunk, addr, _)) -> load_store_size addr - | Lop(Ialloc n) -> 4 - | Lop(Ispecific(Ialloc_far n)) -> 5 - | Lop(Iintop Imod) -> 3 - | Lop(Iintop(Icomp cmp)) -> 4 - | Lop(Iintop op) -> 1 - | Lop(Iintop_imm(Icomp cmp, n)) -> 4 - | Lop(Iintop_imm(op, n)) -> 1 - | Lop(Inegf | Iabsf | Iaddf | Isubf | Imulf | Idivf) -> 1 - | Lop(Ifloatofint) -> 9 - | Lop(Iintoffloat) -> 4 - | Lop(Ispecific sop) -> 1 - | Lreloadretaddr -> 2 - | Lreturn -> 2 - | Llabel lbl -> 0 - | Lbranch lbl -> 1 - | Lcondbranch(tst, lbl) -> 2 - | Lcondbranch3(lbl0, lbl1, lbl2) -> - 1 + (if lbl0 = None then 0 else 1) - + (if lbl1 = None then 0 else 1) - + (if lbl2 = None then 0 else 1) - | Lswitch jumptbl -> 8 - | Lsetuptrap lbl -> 1 - | Lpushtrap -> 4 - | Lpoptrap -> 2 - | Lraise _ -> 6 - - let relax_allocation ~num_words = Lop (Ispecific (Ialloc_far num_words)) - - (* [classify_addr], above, never identifies these instructions as needing - relaxing. As such, these functions should never be called. *) - let relax_specific_op _ = assert false - let relax_intop_checkbound () = assert false - let relax_intop_imm_checkbound ~bound:_ = assert false -end) - -(* Output the assembly code for an instruction *) - -let rec emit_instr i dslot = - match i.desc with - Lend -> () - | Lop(Imove | Ispill | Ireload) -> - let src = i.arg.(0) and dst = i.res.(0) in - if src.loc <> dst.loc then begin - match (src, dst) with - {loc = Reg rs; typ = (Int | Addr)}, {loc = Reg rd} -> - ` mr {emit_reg dst}, {emit_reg src}\n` - | {loc = Reg rs; typ = Float}, {loc = Reg rd; typ = Float} -> - ` fmr {emit_reg dst}, {emit_reg src}\n` - | {loc = Reg rs; typ = (Int | Addr)}, {loc = Stack sd} -> - ` {emit_string stg} {emit_reg src}, {emit_stack dst}\n` - | {loc = Reg rs; typ = Float}, {loc = Stack sd} -> - ` stfd {emit_reg src}, {emit_stack dst}\n` - | {loc = Stack ss; typ = (Int | Addr)}, {loc = Reg rd} -> - ` {emit_string lg} {emit_reg dst}, {emit_stack src}\n` - | {loc = Stack ss; typ = Float}, {loc = Reg rd} -> - ` lfd {emit_reg dst}, {emit_stack src}\n` - | (_, _) -> - fatal_error "Emit: Imove" - end - | Lop(Iconst_int n | Iconst_blockheader n) -> - if is_native_immediate n then - ` li {emit_reg i.res.(0)}, {emit_nativeint n}\n` - else if n >= -0x8000_0000n && n <= 0x7FFF_FFFFn then begin - ` lis {emit_reg i.res.(0)}, {emit_int(nativehigh n)}\n`; - if nativelow n <> 0 then - ` ori {emit_reg i.res.(0)}, {emit_reg i.res.(0)}, {emit_int(nativelow n)}\n` - end else begin - let lbl = new_label() in - int_literals := (n, lbl) :: !int_literals; - ` addis {emit_gpr 11}, 0, {emit_upper emit_label lbl}\n`; - ` {emit_string lg} {emit_reg i.res.(0)}, {emit_lower emit_label lbl}({emit_gpr 11})\n` - end - | Lop(Iconst_float f) -> - let lbl = new_label() in - float_literals := (Int64.bits_of_float f, lbl) :: !float_literals; - ` addis {emit_gpr 11}, 0, {emit_upper emit_label lbl}\n`; - ` lfd {emit_reg i.res.(0)}, {emit_lower emit_label lbl}({emit_gpr 11})\n` - | Lop(Iconst_symbol s) -> - ` addis {emit_reg i.res.(0)}, 0, {emit_upper emit_symbol s}\n`; - ` addi {emit_reg i.res.(0)}, {emit_reg i.res.(0)}, {emit_lower emit_symbol s}\n` - | Lop(Icall_ind) -> - ` mtctr {emit_reg i.arg.(0)}\n`; - ` bctrl\n`; - record_frame i.live i.dbg - | Lop(Icall_imm s) -> - ` bl {emit_symbol s}\n`; - record_frame i.live i.dbg - | Lop(Itailcall_ind) -> - let n = frame_size() in - ` mtctr {emit_reg i.arg.(0)}\n`; - if !contains_calls then begin - ` {emit_string lg} {emit_gpr 11}, {emit_int(n - size_addr)}({emit_gpr 1})\n`; - ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int n}\n`; - ` mtlr {emit_gpr 11}\n` - end else begin - if n > 0 then - ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int n}\n` - end; - ` bctr\n` - | Lop(Itailcall_imm s) -> - if s = !function_name then - ` b {emit_label !tailrec_entry_point}\n` - else begin - let n = frame_size() in - if !contains_calls then begin - ` {emit_string lg} {emit_gpr 11}, {emit_int(n - size_addr)}({emit_gpr 1})\n`; - ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int n}\n`; - ` mtlr {emit_gpr 11}\n` - end else begin - if n > 0 then - ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int n}\n` - end; - ` b {emit_symbol s}\n` - end - | Lop(Iextcall(s, alloc)) -> - if alloc then begin - if pic_externals then begin - external_functions := StringSet.add s !external_functions; - ` addis {emit_gpr 11}, 0, ha16(L{emit_symbol s}$non_lazy_ptr)\n`; - ` {emit_string lg} {emit_gpr 11}, lo16(L{emit_symbol s}$non_lazy_ptr)({emit_gpr 11})\n` - end else begin - ` addis {emit_gpr 11}, 0, {emit_upper emit_symbol s}\n`; - ` addi {emit_gpr 11}, {emit_gpr 11}, {emit_lower emit_symbol s}\n` - end; - ` bl {emit_symbol "caml_c_call"}\n`; - record_frame i.live i.dbg - end else begin - if pic_externals then begin - external_functions := StringSet.add s !external_functions; - ` addis {emit_gpr 11}, 0, ha16(L{emit_symbol s}$non_lazy_ptr)\n`; - ` {emit_string lg} {emit_gpr 11}, lo16(L{emit_symbol s}$non_lazy_ptr)({emit_gpr 11})\n`; - ` mtctr {emit_gpr 11}\n`; - ` bctrl\n` - end else - ` bl {emit_symbol s}\n` - end - | Lop(Istackoffset n) -> - ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int (-n)}\n`; - stack_offset := !stack_offset + n - | Lop(Iload(chunk, addr)) -> - let loadinstr = - match chunk with - Byte_unsigned -> "lbz" - | Byte_signed -> "lbz" - | Sixteen_unsigned -> "lhz" - | Sixteen_signed -> "lha" - | Thirtytwo_unsigned -> "lwz" - | Thirtytwo_signed -> if ppc64 then "lwa" else "lwz" - | Word -> lg - | Single -> "lfs" - | Double | Double_u -> "lfd" in - emit_load_store loadinstr addr i.arg 0 i.res.(0); - if chunk = Byte_signed then - ` extsb {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` - | Lop(Istore(chunk, addr, _)) -> - let storeinstr = - match chunk with - Byte_unsigned | Byte_signed -> "stb" - | Sixteen_unsigned | Sixteen_signed -> "sth" - | Thirtytwo_unsigned | Thirtytwo_signed -> "stw" - | Word -> stg - | Single -> "stfs" - | Double | Double_u -> "stfd" in - emit_load_store storeinstr addr i.arg 1 i.arg.(0) - | Lop(Ialloc n) -> - if !call_gc_label = 0 then call_gc_label := new_label(); - ` addi {emit_gpr 31}, {emit_gpr 31}, {emit_int(-n)}\n`; - ` {emit_string cmplg} {emit_gpr 31}, {emit_gpr 30}\n`; - ` addi {emit_reg i.res.(0)}, {emit_gpr 31}, {emit_int size_addr}\n`; - ` bltl {emit_label !call_gc_label}\n`; - record_frame i.live Debuginfo.none - | Lop(Ispecific(Ialloc_far n)) -> - if !call_gc_label = 0 then call_gc_label := new_label(); - let lbl = new_label() in - ` addi {emit_gpr 31}, {emit_gpr 31}, {emit_int(-n)}\n`; - ` {emit_string cmplg} {emit_gpr 31}, {emit_gpr 30}\n`; - ` bge {emit_label lbl}\n`; - ` bl {emit_label !call_gc_label}\n`; - record_frame i.live Debuginfo.none; - `{emit_label lbl}: addi {emit_reg i.res.(0)}, {emit_gpr 31}, {emit_int size_addr}\n` - | Lop(Iintop Isub) -> (* subfc has swapped arguments *) - ` subfc {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n` - | Lop(Iintop Imod) -> - ` {emit_string divg} {emit_gpr 0}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` {emit_string mullg} {emit_gpr 0}, {emit_gpr 0}, {emit_reg i.arg.(1)}\n`; - ` subfc {emit_reg i.res.(0)}, {emit_gpr 0}, {emit_reg i.arg.(0)}\n` - | Lop(Iintop(Icomp cmp)) -> - begin match cmp with - Isigned c -> - ` {emit_string cmpg} {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - emit_set_comp c i.res.(0) - | Iunsigned c -> - ` {emit_string cmplg} {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - emit_set_comp c i.res.(0) - end - | Lop(Iintop Icheckbound) -> - if !Clflags.debug then - record_frame Reg.Set.empty i.dbg; - ` {emit_string tglle} {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n` - | Lop(Iintop op) -> - let instr = name_for_intop op in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n` - | Lop(Iintop_imm(Isub, n)) -> - ` addi {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_int(-n)}\n` - | Lop(Iintop_imm(Icomp cmp, n)) -> - begin match cmp with - Isigned c -> - ` {emit_string cmpg}i {emit_reg i.arg.(0)}, {emit_int n}\n`; - emit_set_comp c i.res.(0) - | Iunsigned c -> - ` {emit_string cmplg}i {emit_reg i.arg.(0)}, {emit_int n}\n`; - emit_set_comp c i.res.(0) - end - | Lop(Iintop_imm(Icheckbound, n)) -> - if !Clflags.debug then - record_frame Reg.Set.empty i.dbg; - ` {emit_string tglle}i {emit_reg i.arg.(0)}, {emit_int n}\n` - | Lop(Iintop_imm(op, n)) -> - let instr = name_for_intop_imm op in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_int n}\n` - | Lop(Inegf | Iabsf as op) -> - let instr = name_for_floatop1 op in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n` - | Lop(Iaddf | Isubf | Imulf | Idivf as op) -> - let instr = name_for_floatop2 op in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n` - | Lop(Ifloatofint) -> - if ppc64 then begin - ` stdu {emit_reg i.arg.(0)}, -16({emit_gpr 1})\n`; - ` lfd {emit_reg i.res.(0)}, 0({emit_gpr 1})\n`; - ` addi {emit_gpr 1}, {emit_gpr 1}, 16\n`; - ` fcfid {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` - end else begin - let lbl = new_label() in - float_literals := (0x4330000080000000L, lbl) :: !float_literals; - ` addis {emit_gpr 11}, 0, {emit_upper emit_label lbl}\n`; - ` lfd {emit_fpr 0}, {emit_lower emit_label lbl}({emit_gpr 11})\n`; - ` lis {emit_gpr 0}, 0x4330\n`; - ` stwu {emit_gpr 0}, -16({emit_gpr 1})\n`; - ` xoris {emit_gpr 0}, {emit_reg i.arg.(0)}, 0x8000\n`; - ` stw {emit_gpr 0}, 4({emit_gpr 1})\n`; - ` lfd {emit_reg i.res.(0)}, 0({emit_gpr 1})\n`; - ` addi {emit_gpr 1}, {emit_gpr 1}, 16\n`; - ` fsub {emit_reg i.res.(0)}, {emit_reg i.res.(0)}, {emit_fpr 0}\n` - end - | Lop(Iintoffloat) -> - let ofs = if ppc64 then 0 else 4 in - ` {emit_string fctigz} {emit_fpr 0}, {emit_reg i.arg.(0)}\n`; - ` stfdu {emit_fpr 0}, -16({emit_gpr 1})\n`; - ` {emit_string lg} {emit_reg i.res.(0)}, {emit_int ofs}({emit_gpr 1})\n`; - ` addi {emit_gpr 1}, {emit_gpr 1}, 16\n` - | Lop(Ispecific sop) -> - let instr = name_for_specific sop in - ` {emit_string instr} {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(2)}\n` - | Lreloadretaddr -> - let n = frame_size() in - ` {emit_string lg} {emit_gpr 11}, {emit_int(n - size_addr)}({emit_gpr 1})\n`; - ` mtlr {emit_gpr 11}\n` - | Lreturn -> - let n = frame_size() in - if n > 0 then - ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int n}\n`; - ` blr\n` - | Llabel lbl -> - `{emit_label lbl}:\n` - | Lbranch lbl -> - ` b {emit_label lbl}\n` - | Lcondbranch(tst, lbl) -> - begin match tst with - Itruetest -> - ` {emit_string cmpg}i {emit_reg i.arg.(0)}, 0\n`; - emit_delay dslot; - ` bne {emit_label lbl}\n` - | Ifalsetest -> - ` {emit_string cmpg}i {emit_reg i.arg.(0)}, 0\n`; - emit_delay dslot; - ` beq {emit_label lbl}\n` - | Iinttest cmp -> - let (comp, branch) = name_for_int_comparison cmp in - ` {emit_string comp} {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - emit_delay dslot; - ` {emit_string branch} {emit_label lbl}\n` - | Iinttest_imm(cmp, n) -> - let (comp, branch) = name_for_int_comparison cmp in - ` {emit_string comp}i {emit_reg i.arg.(0)}, {emit_int n}\n`; - emit_delay dslot; - ` {emit_string branch} {emit_label lbl}\n` - | Ifloattest(cmp, neg) -> - ` fcmpu {emit_ccr 0}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - (* bit 0 = lt, bit 1 = gt, bit 2 = eq *) - let (bitnum, negtst) = - match cmp with - Ceq -> (2, neg) - | Cne -> (2, not neg) - | Cle -> ` cror 3, 0, 2\n`; (* lt or eq *) - (3, neg) - | Cgt -> (1, neg) - | Cge -> ` cror 3, 1, 2\n`; (* gt or eq *) - (3, neg) - | Clt -> (0, neg) in - emit_delay dslot; - if negtst - then ` bf {emit_int bitnum}, {emit_label lbl}\n` - else ` bt {emit_int bitnum}, {emit_label lbl}\n` - | Ioddtest -> - ` andi. {emit_gpr 0}, {emit_reg i.arg.(0)}, 1\n`; - emit_delay dslot; - ` bne {emit_label lbl}\n` - | Ieventest -> - ` andi. {emit_gpr 0}, {emit_reg i.arg.(0)}, 1\n`; - emit_delay dslot; - ` beq {emit_label lbl}\n` - end - | Lcondbranch3(lbl0, lbl1, lbl2) -> - ` {emit_string cmpg}i {emit_reg i.arg.(0)}, 1\n`; - emit_delay dslot; - begin match lbl0 with - None -> () - | Some lbl -> ` blt {emit_label lbl}\n` - end; - begin match lbl1 with - None -> () - | Some lbl -> ` beq {emit_label lbl}\n` - end; - begin match lbl2 with - None -> () - | Some lbl -> ` bgt {emit_label lbl}\n` - end - | Lswitch jumptbl -> - let lbl = new_label() in - ` addis {emit_gpr 11}, 0, {emit_upper emit_label lbl}\n`; - ` addi {emit_gpr 11}, {emit_gpr 11}, {emit_lower emit_label lbl}\n`; - ` {emit_string slgi} {emit_gpr 0}, {emit_reg i.arg.(0)}, 2\n`; - ` {emit_string lwa}x {emit_gpr 0}, {emit_gpr 11}, {emit_gpr 0}\n`; - ` add {emit_gpr 0}, {emit_gpr 11}, {emit_gpr 0}\n`; - ` mtctr {emit_gpr 0}\n`; - ` bctr\n`; - emit_string rodata_space; - `{emit_label lbl}:`; - for i = 0 to Array.length jumptbl - 1 do - ` .long {emit_label jumptbl.(i)} - {emit_label lbl}\n` - done; - emit_string code_space - | Lsetuptrap lbl -> - ` bl {emit_label lbl}\n` - | Lpushtrap -> - stack_offset := !stack_offset + 16; - ` mflr {emit_gpr 0}\n`; - ` {emit_string stg}u {emit_gpr 0}, -16({emit_gpr 1})\n`; - ` {emit_string stg} {emit_gpr 29}, {emit_int size_addr}({emit_gpr 1})\n`; - ` mr {emit_gpr 29}, {emit_gpr 1}\n` - | Lpoptrap -> - ` {emit_string lg} {emit_gpr 29}, {emit_int size_addr}({emit_gpr 1})\n`; - ` addi {emit_gpr 1}, {emit_gpr 1}, 16\n`; - stack_offset := !stack_offset - 16 - | Lraise k -> - begin match !Clflags.debug, k with - | true, Lambda.Raise_regular -> - ` bl {emit_symbol "caml_raise_exn"}\n`; - record_frame Reg.Set.empty i.dbg - | true, Lambda.Raise_reraise -> - ` bl {emit_symbol "caml_reraise_exn"}\n`; - record_frame Reg.Set.empty i.dbg - | false, _ - | true, Lambda.Raise_notrace -> - ` {emit_string lg} {emit_gpr 0}, 0({emit_gpr 29})\n`; - ` mr {emit_gpr 1}, {emit_gpr 29}\n`; - ` mtctr {emit_gpr 0}\n`; - ` {emit_string lg} {emit_gpr 29}, {emit_int size_addr}({emit_gpr 1})\n`; - ` addi {emit_gpr 1}, {emit_gpr 1}, 16\n`; - ` bctr\n` - end - -and emit_delay = function - None -> () - | Some i -> emit_instr i None - -(* Checks if a pseudo-instruction expands to instructions - that do not branch and do not affect CR0 nor R12. *) - -let is_simple_instr i = - match i.desc with - Lop op -> - begin match op with - Icall_imm _ | Icall_ind | Itailcall_imm _ | Itailcall_ind | - Iextcall(_, _) -> false - | Ialloc(_) -> false - | Iintop(Icomp _) -> false - | Iintop_imm(Iand, _) -> false - | Iintop_imm(Icomp _, _) -> false - | _ -> true - end - | Lreloadretaddr -> true - | _ -> false - -let no_interference res arg = - try - for i = 0 to Array.length arg - 1 do - for j = 0 to Array.length res - 1 do - if arg.(i).loc = res.(j).loc then raise Exit - done - done; - true - with Exit -> - false - -(* Emit a sequence of instructions, trying to fill delay slots for branches *) - -let rec emit_all i = - match i with - {desc = Lend} -> () - | {next = {desc = (Lcondbranch(_, _) | Lcondbranch3(_, _, _))}} - when is_simple_instr i && no_interference i.res i.next.arg -> - emit_instr i.next (Some i); - emit_all i.next.next - | _ -> - emit_instr i None; - emit_all i.next - -(* Emission of a function declaration *) - -let fundecl fundecl = - function_name := fundecl.fun_name; - defined_functions := StringSet.add fundecl.fun_name !defined_functions; - tailrec_entry_point := new_label(); - stack_offset := 0; - call_gc_label := 0; - float_literals := []; - int_literals := []; - if Config.system = "rhapsody" - && not !Clflags.output_c_object - && is_generic_function fundecl.fun_name - then (* PR#4690 *) - ` .private_extern {emit_symbol fundecl.fun_name}\n` - else - ` .globl {emit_symbol fundecl.fun_name}\n`; - begin match Config.system with - | "elf" | "bsd" | "bsd_elf" -> - ` .type {emit_symbol fundecl.fun_name}, @function\n` - | _ -> () - end; - emit_string code_space; - ` .align 2\n`; - `{emit_symbol fundecl.fun_name}:\n`; - let n = frame_size() in - if !contains_calls then begin - ` mflr {emit_gpr 0}\n`; - ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int(-n)}\n`; - ` {emit_string stg} {emit_gpr 0}, {emit_int(n - size_addr)}({emit_gpr 1})\n` - end else begin - if n > 0 then - ` addi {emit_gpr 1}, {emit_gpr 1}, {emit_int(-n)}\n` - end; - `{emit_label !tailrec_entry_point}:\n`; - (* On this target, there is at most one "out of line" code block per - function: a single "call GC" point. It comes immediately after the - function's body. *) - BR.relax fundecl.fun_body ~max_out_of_line_code_offset:0; - emit_all fundecl.fun_body; - (* Emit the glue code to call the GC *) - if !call_gc_label > 0 then begin - `{emit_label !call_gc_label}:\n`; - ` b {emit_symbol "caml_call_gc"}\n` - end; - (* Emit the numeric literals *) - if !float_literals <> [] || !int_literals <> [] then begin - emit_string rodata_space; - ` .align 3\n`; - List.iter - (fun (f, lbl) -> - `{emit_label lbl}:`; - if ppc64 - then emit_float64_directive ".quad" f - else emit_float64_split_directive ".long" f) - !float_literals; - List.iter - (fun (n, lbl) -> - `{emit_label lbl}: {emit_string datag} {emit_nativeint n}\n`) - !int_literals - end - -(* Emission of data *) - -let declare_global_data s = - ` .globl {emit_symbol s}\n`; - match Config.system with - | "elf" | "bsd" | "bsd_elf" -> - ` .type {emit_symbol s}, @object\n` - | "rhapsody" -> () - | _ -> assert false - -let emit_item = function - Cglobal_symbol s -> - declare_global_data s - | Cdefine_symbol s -> - `{emit_symbol s}:\n`; - | Cdefine_label lbl -> - `{emit_data_label lbl}:\n` - | Cint8 n -> - ` .byte {emit_int n}\n` - | Cint16 n -> - ` .short {emit_int n}\n` - | Cint32 n -> - ` .long {emit_nativeint n}\n` - | Cint n -> - ` {emit_string datag} {emit_nativeint n}\n` - | Csingle f -> - emit_float32_directive ".long" (Int32.bits_of_float f) - | Cdouble f -> - if ppc64 - then emit_float64_directive ".quad" (Int64.bits_of_float f) - else emit_float64_split_directive ".long" (Int64.bits_of_float f) - | Csymbol_address s -> - ` {emit_string datag} {emit_symbol s}\n` - | Clabel_address lbl -> - ` {emit_string datag} {emit_data_label lbl}\n` - | Cstring s -> - emit_bytes_directive " .byte " s - | Cskip n -> - if n > 0 then ` .space {emit_int n}\n` - | Calign n -> - ` .align {emit_int (Misc.log2 n)}\n` - -let data l = - emit_string data_space; - List.iter emit_item l - -(* Beginning / end of an assembly file *) - -let begin_assembly() = - defined_functions := StringSet.empty; - external_functions := StringSet.empty; - (* Emit the beginning of the segments *) - let lbl_begin = Compilenv.make_symbol (Some "data_begin") in - emit_string data_space; - declare_global_data lbl_begin; - `{emit_symbol lbl_begin}:\n`; - let lbl_begin = Compilenv.make_symbol (Some "code_begin") in - emit_string code_space; - declare_global_data lbl_begin; - `{emit_symbol lbl_begin}:\n` - -let end_assembly() = - if pic_externals then - (* Emit the pointers to external functions *) - StringSet.iter emit_external !external_functions; - (* Emit the end of the segments *) - emit_string code_space; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - declare_global_data lbl_end; - `{emit_symbol lbl_end}:\n`; - ` .long 0\n`; - emit_string data_space; - let lbl_end = Compilenv.make_symbol (Some "data_end") in - declare_global_data lbl_end; - `{emit_symbol lbl_end}:\n`; - ` {emit_string datag} 0\n`; - (* Emit the frame descriptors *) - emit_string rodata_space; - let lbl = Compilenv.make_symbol (Some "frametable") in - declare_global_data lbl; - `{emit_symbol lbl}:\n`; - emit_frames - { efa_label = (fun l -> ` {emit_string datag} {emit_label l}\n`); - efa_16 = (fun n -> ` .short {emit_int n}\n`); - efa_32 = (fun n -> ` .long {emit_int32 n}\n`); - efa_word = (fun n -> ` {emit_string datag} {emit_int n}\n`); - efa_align = (fun n -> ` .align {emit_int (Misc.log2 n)}\n`); - efa_label_rel = (fun lbl ofs -> - ` .long ({emit_label lbl} - .) + {emit_int32 ofs}\n`); - efa_def_label = (fun l -> `{emit_label l}:\n`); - efa_string = (fun s -> emit_bytes_directive " .byte " (s ^ "\000")) - } diff --git a/vendor/ocaml/asmcomp/power/proc.ml b/vendor/ocaml/asmcomp/power/proc.ml deleted file mode 100644 index 934d2cbfe..000000000 --- a/vendor/ocaml/asmcomp/power/proc.ml +++ /dev/null @@ -1,253 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Description of the Power PC *) - -open Misc -open Cmm -open Reg -open Arch -open Mach - -(* Instruction selection *) - -let word_addressed = false - -(* Registers available for register allocation *) - -(* Integer register map: - 0 temporary, null register for some operations - 1 stack pointer - 2 pointer to table of contents - 3 - 10 function arguments and results - 11 - 12 temporaries - 13 pointer to small data area - 14 - 28 general purpose, preserved by C - 29 trap pointer - 30 allocation limit - 31 allocation pointer - Floating-point register map: - 0 temporary - 1 - 13 function arguments and results - 14 - 31 general purpose, preserved by C -*) - -let int_reg_name = - if Config.system = "rhapsody" then - [| "r3"; "r4"; "r5"; "r6"; "r7"; "r8"; "r9"; "r10"; - "r14"; "r15"; "r16"; "r17"; "r18"; "r19"; "r20"; "r21"; - "r22"; "r23"; "r24"; "r25"; "r26"; "r27"; "r28" |] - else - [| "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; - "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; - "22"; "23"; "24"; "25"; "26"; "27"; "28" |] - -let float_reg_name = - if Config.system = "rhapsody" then - [| "f1"; "f2"; "f3"; "f4"; "f5"; "f6"; "f7"; "f8"; - "f9"; "f10"; "f11"; "f12"; "f13"; "f14"; "f15"; "f16"; - "f17"; "f18"; "f19"; "f20"; "f21"; "f22"; "f23"; "f24"; - "f25"; "f26"; "f27"; "f28"; "f29"; "f30"; "f31" |] - else - [| "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; - "9"; "10"; "11"; "12"; "13"; "14"; "15"; "16"; - "17"; "18"; "19"; "20"; "21"; "22"; "23"; "24"; - "25"; "26"; "27"; "28"; "29"; "30"; "31" |] - -let num_register_classes = 2 - -let register_class r = - match r.typ with - Int -> 0 - | Addr -> 0 - | Float -> 1 - -let num_available_registers = [| 23; 31 |] - -let first_available_register = [| 0; 100 |] - -let register_name r = - if r < 100 then int_reg_name.(r) else float_reg_name.(r - 100) - -let rotate_registers = true - -(* Representation of hard registers by pseudo-registers *) - -let hard_int_reg = - let v = Array.make 23 Reg.dummy in - for i = 0 to 22 do v.(i) <- Reg.at_location Int (Reg i) done; v - -let hard_float_reg = - let v = Array.make 31 Reg.dummy in - for i = 0 to 30 do v.(i) <- Reg.at_location Float (Reg(100 + i)) done; v - -let all_phys_regs = - Array.append hard_int_reg hard_float_reg - -let phys_reg n = - if n < 100 then hard_int_reg.(n) else hard_float_reg.(n - 100) - -let stack_slot slot ty = - Reg.at_location ty (Stack slot) - -(* Calling conventions *) - -let calling_conventions - first_int last_int first_float last_float make_stack stack_ofs arg = - let loc = Array.make (Array.length arg) Reg.dummy in - let int = ref first_int in - let float = ref first_float in - let ofs = ref stack_ofs in - for i = 0 to Array.length arg - 1 do - match arg.(i).typ with - Int | Addr as ty -> - if !int <= last_int then begin - loc.(i) <- phys_reg !int; - incr int - end else begin - loc.(i) <- stack_slot (make_stack !ofs) ty; - ofs := !ofs + size_int - end - | Float -> - if !float <= last_float then begin - loc.(i) <- phys_reg !float; - incr float - end else begin - loc.(i) <- stack_slot (make_stack !ofs) Float; - ofs := !ofs + size_float - end - done; - (loc, Misc.align !ofs 16) - (* Keep stack 16-aligned. *) - -let incoming ofs = Incoming ofs -let outgoing ofs = Outgoing ofs -let not_supported ofs = fatal_error "Proc.loc_results: cannot call" - -let loc_arguments arg = - calling_conventions 0 7 100 112 outgoing 0 arg -let loc_parameters arg = - let (loc, ofs) = calling_conventions 0 7 100 112 incoming 0 arg in loc -let loc_results res = - let (loc, ofs) = calling_conventions 0 7 100 112 not_supported 0 res in loc - -(* C calling conventions under PowerOpen: - use GPR 3-10 and FPR 1-13 just like ML calling - conventions, but always reserve stack space for all arguments. - Also, using a float register automatically reserves two int registers - (in 32-bit mode) or one int register (in 64-bit mode). - (If we were to call a non-prototyped C function, each float argument - would have to go both in a float reg and in the matching pair - of integer regs.) - - C calling conventions under SVR4: - use GPR 3-10 and FPR 1-8 just like ML calling conventions. - Using a float register does not affect the int registers. - Always reserve 8 bytes at bottom of stack, plus whatever is needed - to hold the overflow arguments. *) - -let poweropen_external_conventions first_int last_int - first_float last_float arg = - let loc = Array.make (Array.length arg) Reg.dummy in - let int = ref first_int in - let float = ref first_float in - let ofs = ref (14 * size_addr) in - for i = 0 to Array.length arg - 1 do - match arg.(i).typ with - Int | Addr as ty -> - if !int <= last_int then begin - loc.(i) <- phys_reg !int; - incr int - end else begin - loc.(i) <- stack_slot (Outgoing !ofs) ty; - ofs := !ofs + size_int - end - | Float -> - if !float <= last_float then begin - loc.(i) <- phys_reg !float; - incr float - end else begin - loc.(i) <- stack_slot (Outgoing !ofs) Float; - ofs := !ofs + size_float - end; - int := !int + (if ppc64 then 1 else 2) - done; - (loc, Misc.align !ofs 16) (* Keep stack 16-aligned *) - -let loc_external_arguments = - match Config.system with - | "rhapsody" -> poweropen_external_conventions 0 7 100 112 - | "elf" | "bsd" | "bsd_elf" -> calling_conventions 0 7 100 107 outgoing 8 - | _ -> assert false - -let extcall_use_push = false - -(* Results are in GPR 3 and FPR 1 *) - -let loc_external_results res = - let (loc, ofs) = calling_conventions 0 0 100 100 not_supported 0 res in loc - -(* Exceptions are in GPR 3 *) - -let loc_exn_bucket = phys_reg 0 - -(* Volatile registers: none *) - -let regs_are_volatile rs = false - -(* Registers destroyed by operations *) - -let destroyed_at_c_call = - Array.of_list(List.map phys_reg - [0; 1; 2; 3; 4; 5; 6; 7; - 100; 101; 102; 103; 104; 105; 106; 107; 108; 109; 110; 111; 112]) - -let destroyed_at_oper = function - Iop(Icall_ind | Icall_imm _ | Iextcall(_, true)) -> all_phys_regs - | Iop(Iextcall(_, false)) -> destroyed_at_c_call - | _ -> [||] - -let destroyed_at_raise = all_phys_regs - -(* Maximal register pressure *) - -let safe_register_pressure = function - Iextcall(_, _) -> 15 - | _ -> 23 - -let max_register_pressure = function - Iextcall(_, _) -> [| 15; 18 |] - | _ -> [| 23; 30 |] - -(* Pure operations (without any side effect besides updating their result - registers). *) - -let op_is_pure = function - | Icall_ind | Icall_imm _ | Itailcall_ind | Itailcall_imm _ - | Iextcall _ | Istackoffset _ | Istore _ | Ialloc _ - | Iintop(Icheckbound) | Iintop_imm(Icheckbound, _) -> false - | Ispecific(Imultaddf | Imultsubf) -> true - | Ispecific _ -> false - | _ -> true - -(* Layout of the stack *) - -let num_stack_slots = [| 0; 0 |] -let contains_calls = ref false - -(* Calling the assembler *) - -let assemble_file infile outfile = - Ccomp.command (Config.asm ^ " -o " ^ - Filename.quote outfile ^ " " ^ Filename.quote infile) - -let init () = () diff --git a/vendor/ocaml/asmcomp/power/reload.ml b/vendor/ocaml/asmcomp/power/reload.ml deleted file mode 100644 index 98f747a81..000000000 --- a/vendor/ocaml/asmcomp/power/reload.ml +++ /dev/null @@ -1,16 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Reloading for the PowerPC *) - -let fundecl f = - (new Reloadgen.reload_generic)#fundecl f diff --git a/vendor/ocaml/asmcomp/power/scheduling.ml b/vendor/ocaml/asmcomp/power/scheduling.ml deleted file mode 100644 index 7adaa2eed..000000000 --- a/vendor/ocaml/asmcomp/power/scheduling.ml +++ /dev/null @@ -1,61 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction scheduling for the Power PC *) - -open Arch -open Mach - -class scheduler = object - -inherit Schedgen.scheduler_generic - -(* Latencies (in cycles). Based roughly on the "common model". *) - -method oper_latency = function - Ireload -> 2 - | Iload(_, _) -> 2 - | Iconst_float _ -> 2 (* turned into a load *) - | Iconst_symbol _ -> 1 - | Iintop(Imul | Imulh) -> 9 - | Iintop_imm(Imul, _) -> 5 - | Iintop(Idiv | Imod) -> 36 - | Iaddf | Isubf -> 4 - | Imulf -> 5 - | Idivf -> 33 - | Ispecific(Imultaddf | Imultsubf) -> 5 - | _ -> 1 - -method reload_retaddr_latency = 12 - (* If we can have that many cycles between the reloadretaddr and the - return, we can expect that the blr branch will be completely folded. *) - -(* Issue cycles. Rough approximations. *) - -method oper_issue_cycles = function - Iconst_float _ | Iconst_symbol _ -> 2 - | Iload(_, Ibased(_, _)) -> 2 - | Istore(_, Ibased(_, _), _) -> 2 - | Ialloc _ -> 4 - | Iintop(Imod) -> 40 (* assuming full stall *) - | Iintop(Icomp _) -> 4 - | Iintop_imm(Icomp _, _) -> 4 - | Ifloatofint -> 9 - | Iintoffloat -> 4 - | _ -> 1 - -method reload_retaddr_issue_cycles = 3 - (* load then stalling mtlr *) - -end - -let fundecl f = (new scheduler)#schedule_fundecl f diff --git a/vendor/ocaml/asmcomp/power/selection.ml b/vendor/ocaml/asmcomp/power/selection.ml deleted file mode 100644 index 86aea05f4..000000000 --- a/vendor/ocaml/asmcomp/power/selection.ml +++ /dev/null @@ -1,91 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1997 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction selection for the Power PC processor *) - -open Cmm -open Arch -open Mach - -(* Recognition of addressing modes *) - -type addressing_expr = - Asymbol of string - | Alinear of expression - | Aadd of expression * expression - -let rec select_addr = function - Cconst_symbol s -> - (Asymbol s, 0) - | Cop((Caddi | Cadda), [arg; Cconst_int m]) -> - let (a, n) = select_addr arg in (a, n + m) - | Cop((Caddi | Cadda), [Cconst_int m; arg]) -> - let (a, n) = select_addr arg in (a, n + m) - | Cop((Caddi | Cadda), [arg1; arg2]) -> - begin match (select_addr arg1, select_addr arg2) with - ((Alinear e1, n1), (Alinear e2, n2)) -> - (Aadd(e1, e2), n1 + n2) - | _ -> - (Aadd(arg1, arg2), 0) - end - | exp -> - (Alinear exp, 0) - -(* Instruction selection *) - -class selector = object (self) - -inherit Selectgen.selector_generic as super - -method is_immediate n = (n <= 32767) && (n >= -32768) - -method select_addressing chunk exp = - match select_addr exp with - (Asymbol s, d) -> - (Ibased(s, d), Ctuple []) - | (Alinear e, d) -> - (Iindexed d, e) - | (Aadd(e1, e2), d) -> - if d = 0 - then (Iindexed2, Ctuple[e1; e2]) - else (Iindexed d, Cop(Cadda, [e1; e2])) - -method! select_operation op args = - match (op, args) with - (* PowerPC does not support immediate operands for multiply high *) - (Cmulhi, _) -> (Iintop Imulh, args) - (* The and, or and xor instructions have a different range of immediate - operands than the other instructions *) - | (Cand, _) -> self#select_logical Iand args - | (Cor, _) -> self#select_logical Ior args - | (Cxor, _) -> self#select_logical Ixor args - (* Recognize mult-add and mult-sub instructions *) - | (Caddf, [Cop(Cmulf, [arg1; arg2]); arg3]) -> - (Ispecific Imultaddf, [arg1; arg2; arg3]) - | (Caddf, [arg3; Cop(Cmulf, [arg1; arg2])]) -> - (Ispecific Imultaddf, [arg1; arg2; arg3]) - | (Csubf, [Cop(Cmulf, [arg1; arg2]); arg3]) -> - (Ispecific Imultsubf, [arg1; arg2; arg3]) - | _ -> - super#select_operation op args - -method select_logical op = function - [arg; Cconst_int n] when n >= 0 && n <= 0xFFFF -> - (Iintop_imm(op, n), [arg]) - | [Cconst_int n; arg] when n >= 0 && n <= 0xFFFF -> - (Iintop_imm(op, n), [arg]) - | args -> - (Iintop op, args) - -end - -let fundecl f = (new selector)#emit_fundecl f diff --git a/vendor/ocaml/asmcomp/printclambda.ml b/vendor/ocaml/asmcomp/printclambda.ml deleted file mode 100644 index b28d749e2..000000000 --- a/vendor/ocaml/asmcomp/printclambda.ml +++ /dev/null @@ -1,193 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - - -open Format -open Asttypes -open Clambda - -let rec structured_constant ppf = function - | Uconst_float x -> fprintf ppf "%F" x - | Uconst_int32 x -> fprintf ppf "%ldl" x - | Uconst_int64 x -> fprintf ppf "%LdL" x - | Uconst_nativeint x -> fprintf ppf "%ndn" x - | Uconst_block (tag, l) -> - fprintf ppf "block(%i" tag; - List.iter (fun u -> fprintf ppf ",%a" uconstant u) l; - fprintf ppf ")" - | Uconst_float_array [] -> - fprintf ppf "floatarray()" - | Uconst_float_array (f1 :: fl) -> - fprintf ppf "floatarray(%F" f1; - List.iter (fun f -> fprintf ppf ",%F" f) fl; - fprintf ppf ")" - | Uconst_string s -> fprintf ppf "%S" s - -and uconstant ppf = function - | Uconst_ref (s, c) -> - fprintf ppf "%S=%a" s structured_constant c - | Uconst_int i -> fprintf ppf "%i" i - | Uconst_ptr i -> fprintf ppf "%ia" i - -let rec lam ppf = function - | Uvar id -> - Ident.print ppf id - | Uconst c -> uconstant ppf c - | Udirect_apply(f, largs, _) -> - let lams ppf largs = - List.iter (fun l -> fprintf ppf "@ %a" lam l) largs in - fprintf ppf "@[<2>(apply*@ %s %a)@]" f lams largs - | Ugeneric_apply(lfun, largs, _) -> - let lams ppf largs = - List.iter (fun l -> fprintf ppf "@ %a" lam l) largs in - fprintf ppf "@[<2>(apply@ %a%a)@]" lam lfun lams largs - | Uclosure(clos, fv) -> - let idents ppf = - List.iter (fprintf ppf "@ %a" Ident.print)in - let one_fun ppf f = - fprintf ppf "@[<2>(fun@ %s@ %d @[<2>%a@]@ @[<2>%a@]@])" - f.label f.arity idents f.params lam f.body in - let funs ppf = - List.iter (fprintf ppf "@ %a" one_fun) in - let lams ppf = - List.iter (fprintf ppf "@ %a" lam) in - fprintf ppf "@[<2>(closure@ %a %a)@]" funs clos lams fv - | Uoffset(l,i) -> fprintf ppf "@[<2>(offset %a %d)@]" lam l i - | Ulet(id, arg, body) -> - let rec letbody ul = match ul with - | Ulet(id, arg, body) -> - fprintf ppf "@ @[<2>%a@ %a@]" Ident.print id lam arg; - letbody body - | _ -> ul in - fprintf ppf "@[<2>(let@ @[(@[<2>%a@ %a@]" Ident.print id lam arg; - let expr = letbody body in - fprintf ppf ")@]@ %a)@]" lam expr - | Uletrec(id_arg_list, body) -> - let bindings ppf id_arg_list = - let spc = ref false in - List.iter - (fun (id, l) -> - if !spc then fprintf ppf "@ " else spc := true; - fprintf ppf "@[<2>%a@ %a@]" Ident.print id lam l) - id_arg_list in - fprintf ppf - "@[<2>(letrec@ (@[%a@])@ %a)@]" bindings id_arg_list lam body - | Uprim(prim, largs, _) -> - let lams ppf largs = - List.iter (fun l -> fprintf ppf "@ %a" lam l) largs in - fprintf ppf "@[<2>(%a%a)@]" Printlambda.primitive prim lams largs - | Uswitch(larg, sw) -> - let print_case tag index i ppf = - for j = 0 to Array.length index - 1 do - if index.(j) = i then fprintf ppf "case %s %i:" tag j - done in - let print_cases tag index cases ppf = - for i = 0 to Array.length cases - 1 do - fprintf ppf "@ @[<2>%t@ %a@]" - (print_case tag index i) sequence cases.(i) - done in - let switch ppf sw = - print_cases "int" sw.us_index_consts sw.us_actions_consts ppf ; - print_cases "tag" sw.us_index_blocks sw.us_actions_blocks ppf in - fprintf ppf - "@[@[<2>(switch@ %a@ @]%a)@]" - lam larg switch sw - | Ustringswitch(larg,sw,d) -> - let switch ppf sw = - let spc = ref false in - List.iter - (fun (s,l) -> - if !spc then fprintf ppf "@ " else spc := true; - fprintf ppf "@[case \"%s\":@ %a@]" - (String.escaped s) lam l) - sw ; - begin match d with - | Some d -> - if !spc then fprintf ppf "@ " else spc := true; - fprintf ppf "@[default:@ %a@]" lam d - | None -> () - end in - fprintf ppf - "@[<1>(switch %a@ @[%a@])@]" lam larg switch sw - | Ustaticfail (i, ls) -> - let lams ppf largs = - List.iter (fun l -> fprintf ppf "@ %a" lam l) largs in - fprintf ppf "@[<2>(exit@ %d%a)@]" i lams ls; - | Ucatch(i, vars, lbody, lhandler) -> - fprintf ppf "@[<2>(catch@ %a@;<1 -1>with (%d%a)@ %a)@]" - lam lbody i - (fun ppf vars -> match vars with - | [] -> () - | _ -> - List.iter - (fun x -> fprintf ppf " %a" Ident.print x) - vars) - vars - lam lhandler - | Utrywith(lbody, param, lhandler) -> - fprintf ppf "@[<2>(try@ %a@;<1 -1>with %a@ %a)@]" - lam lbody Ident.print param lam lhandler - | Uifthenelse(lcond, lif, lelse) -> - fprintf ppf "@[<2>(if@ %a@ %a@ %a)@]" lam lcond lam lif lam lelse - | Usequence(l1, l2) -> - fprintf ppf "@[<2>(seq@ %a@ %a)@]" lam l1 sequence l2 - | Uwhile(lcond, lbody) -> - fprintf ppf "@[<2>(while@ %a@ %a)@]" lam lcond lam lbody - | Ufor(param, lo, hi, dir, body) -> - fprintf ppf "@[<2>(for %a@ %a@ %s@ %a@ %a)@]" - Ident.print param lam lo - (match dir with Upto -> "to" | Downto -> "downto") - lam hi lam body - | Uassign(id, expr) -> - fprintf ppf "@[<2>(assign@ %a@ %a)@]" Ident.print id lam expr - | Usend (k, met, obj, largs, _) -> - let args ppf largs = - List.iter (fun l -> fprintf ppf "@ %a" lam l) largs in - let kind = - if k = Lambda.Self then "self" - else if k = Lambda.Cached then "cache" - else "" in - fprintf ppf "@[<2>(send%s@ %a@ %a%a)@]" kind lam obj lam met args largs - -and sequence ppf ulam = match ulam with - | Usequence(l1, l2) -> - fprintf ppf "%a@ %a" sequence l1 sequence l2 - | _ -> lam ppf ulam - -let clambda ppf ulam = - fprintf ppf "%a@." lam ulam - - -let rec approx ppf = function - Value_closure(fundesc, a) -> - Format.fprintf ppf "@[<2>function %s@ arity %i" - fundesc.fun_label fundesc.fun_arity; - if fundesc.fun_closed then begin - Format.fprintf ppf "@ (closed)" - end; - if fundesc.fun_inline <> None then begin - Format.fprintf ppf "@ (inline)" - end; - Format.fprintf ppf "@ -> @ %a@]" approx a - | Value_tuple a -> - let tuple ppf a = - for i = 0 to Array.length a - 1 do - if i > 0 then Format.fprintf ppf ";@ "; - Format.fprintf ppf "%i: %a" i approx a.(i) - done in - Format.fprintf ppf "@[(%a)@]" tuple a - | Value_unknown -> - Format.fprintf ppf "_" - | Value_const c -> - fprintf ppf "@[const(%a)@]" uconstant c - | Value_global_field (s, i) -> - fprintf ppf "@[global(%s,%i)@]" s i diff --git a/vendor/ocaml/asmcomp/printclambda.mli b/vendor/ocaml/asmcomp/printclambda.mli deleted file mode 100644 index d138b958a..000000000 --- a/vendor/ocaml/asmcomp/printclambda.mli +++ /dev/null @@ -1,18 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -open Clambda -open Format - -val clambda: formatter -> ulambda -> unit -val approx: formatter -> value_approximation -> unit -val structured_constant: formatter -> ustructured_constant -> unit diff --git a/vendor/ocaml/asmcomp/printcmm.ml b/vendor/ocaml/asmcomp/printcmm.ml deleted file mode 100644 index 89c8582ae..000000000 --- a/vendor/ocaml/asmcomp/printcmm.ml +++ /dev/null @@ -1,205 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Pretty-printing of C-- code *) - -open Format -open Cmm - -let machtype_component ppf = function - | Addr -> fprintf ppf "addr" - | Int -> fprintf ppf "int" - | Float -> fprintf ppf "float" - -let machtype ppf mty = - match Array.length mty with - | 0 -> fprintf ppf "unit" - | n -> machtype_component ppf mty.(0); - for i = 1 to n-1 do - fprintf ppf "*%a" machtype_component mty.(i) - done - -let comparison = function - | Ceq -> "==" - | Cne -> "!=" - | Clt -> "<" - | Cle -> "<=" - | Cgt -> ">" - | Cge -> ">=" - -let chunk = function - | Byte_unsigned -> "unsigned int8" - | Byte_signed -> "signed int8" - | Sixteen_unsigned -> "unsigned int16" - | Sixteen_signed -> "signed int16" - | Thirtytwo_unsigned -> "unsigned int32" - | Thirtytwo_signed -> "signed int32" - | Word -> "" - | Single -> "float32" - | Double -> "float64" - | Double_u -> "float64u" - -let operation = function - | Capply(ty, d) -> "app" ^ Debuginfo.to_string d - | Cextcall(lbl, ty, alloc, d) -> - Printf.sprintf "extcall \"%s\"%s" lbl (Debuginfo.to_string d) - | Cload Word -> "load" - | Cload c -> Printf.sprintf "load %s" (chunk c) - | Calloc -> "alloc" - | Cstore Word -> "store" - | Cstore c -> Printf.sprintf "store %s" (chunk c) - | Caddi -> "+" - | Csubi -> "-" - | Cmuli -> "*" - | Cmulhi -> "*h" - | Cdivi -> "/" - | Cmodi -> "mod" - | Cand -> "and" - | Cor -> "or" - | Cxor -> "xor" - | Clsl -> "<<" - | Clsr -> ">>u" - | Casr -> ">>s" - | Ccmpi c -> comparison c - | Cadda -> "+a" - | Csuba -> "-a" - | Ccmpa c -> Printf.sprintf "%sa" (comparison c) - | Cnegf -> "~f" - | Cabsf -> "absf" - | Caddf -> "+f" - | Csubf -> "-f" - | Cmulf -> "*f" - | Cdivf -> "/f" - | Cfloatofint -> "floatofint" - | Cintoffloat -> "intoffloat" - | Ccmpf c -> Printf.sprintf "%sf" (comparison c) - | Craise (k, d) -> Lambda.raise_kind k ^ Debuginfo.to_string d - | Ccheckbound d -> "checkbound" ^ Debuginfo.to_string d - -let rec expr ppf = function - | Cconst_int n -> fprintf ppf "%i" n - | Cconst_natint n | Cconst_blockheader n -> - fprintf ppf "%s" (Nativeint.to_string n) - | Cconst_float n -> fprintf ppf "%F" n - | Cconst_symbol s -> fprintf ppf "\"%s\"" s - | Cconst_pointer n -> fprintf ppf "%ia" n - | Cconst_natpointer n -> fprintf ppf "%sa" (Nativeint.to_string n) - | Cvar id -> Ident.print ppf id - | Clet(id, def, (Clet(_, _, _) as body)) -> - let print_binding id ppf def = - fprintf ppf "@[<2>%a@ %a@]" Ident.print id expr def in - let rec in_part ppf = function - | Clet(id, def, body) -> - fprintf ppf "@ %a" (print_binding id) def; - in_part ppf body - | exp -> exp in - fprintf ppf "@[<2>(let@ @[<1>(%a" (print_binding id) def; - let exp = in_part ppf body in - fprintf ppf ")@]@ %a)@]" sequence exp - | Clet(id, def, body) -> - fprintf ppf - "@[<2>(let@ @[<2>%a@ %a@]@ %a)@]" - Ident.print id expr def sequence body - | Cassign(id, exp) -> - fprintf ppf "@[<2>(assign @[<2>%a@ %a@])@]" Ident.print id expr exp - | Ctuple el -> - let tuple ppf el = - let first = ref true in - List.iter - (fun e -> - if !first then first := false else fprintf ppf "@ "; - expr ppf e) - el in - fprintf ppf "@[<1>[%a]@]" tuple el - | Cop(op, el) -> - fprintf ppf "@[<2>(%s" (operation op); - List.iter (fun e -> fprintf ppf "@ %a" expr e) el; - begin match op with - | Capply (mty, _) -> fprintf ppf "@ %a" machtype mty - | Cextcall(_, mty, _, _) -> fprintf ppf "@ %a" machtype mty - | _ -> () - end; - fprintf ppf ")@]" - | Csequence(e1, e2) -> - fprintf ppf "@[<2>(seq@ %a@ %a)@]" sequence e1 sequence e2 - | Cifthenelse(e1, e2, e3) -> - fprintf ppf "@[<2>(if@ %a@ %a@ %a)@]" expr e1 expr e2 expr e3 - | Cswitch(e1, index, cases) -> - let print_case i ppf = - for j = 0 to Array.length index - 1 do - if index.(j) = i then fprintf ppf "case %i:" j - done in - let print_cases ppf = - for i = 0 to Array.length cases - 1 do - fprintf ppf "@ @[<2>%t@ %a@]" (print_case i) sequence cases.(i) - done in - fprintf ppf "@[@[<2>(switch@ %a@ @]%t)@]" expr e1 print_cases - | Cloop e -> - fprintf ppf "@[<2>(loop@ %a)@]" sequence e - | Ccatch(i, ids, e1, e2) -> - fprintf ppf - "@[<2>(catch@ %a@;<1 -2>with(%d%a)@ %a)@]" - sequence e1 i - (fun ppf ids -> - List.iter - (fun id -> fprintf ppf " %a" Ident.print id) - ids) ids - sequence e2 - | Cexit (i, el) -> - fprintf ppf "@[<2>(exit %d" i ; - List.iter (fun e -> fprintf ppf "@ %a" expr e) el; - fprintf ppf ")@]" - | Ctrywith(e1, id, e2) -> - fprintf ppf "@[<2>(try@ %a@;<1 -2>with@ %a@ %a)@]" - sequence e1 Ident.print id sequence e2 - -and sequence ppf = function - | Csequence(e1, e2) -> fprintf ppf "%a@ %a" sequence e1 sequence e2 - | e -> expression ppf e - -and expression ppf e = fprintf ppf "%a" expr e - -let fundecl ppf f = - let print_cases ppf cases = - let first = ref true in - List.iter - (fun (id, ty) -> - if !first then first := false else fprintf ppf "@ "; - fprintf ppf "%a: %a" Ident.print id machtype ty) - cases in - fprintf ppf "@[<1>(function%s %s@;<1 4>@[<1>(%a)@]@ @[%a@])@]@." - (Debuginfo.to_string f.fun_dbg) f.fun_name - print_cases f.fun_args sequence f.fun_body - -let data_item ppf = function - | Cdefine_symbol s -> fprintf ppf "\"%s\":" s - | Cdefine_label l -> fprintf ppf "L%i:" l - | Cglobal_symbol s -> fprintf ppf "global \"%s\"" s - | Cint8 n -> fprintf ppf "byte %i" n - | Cint16 n -> fprintf ppf "int16 %i" n - | Cint32 n -> fprintf ppf "int32 %s" (Nativeint.to_string n) - | Cint n -> fprintf ppf "int %s" (Nativeint.to_string n) - | Csingle f -> fprintf ppf "single %F" f - | Cdouble f -> fprintf ppf "double %F" f - | Csymbol_address s -> fprintf ppf "addr \"%s\"" s - | Clabel_address l -> fprintf ppf "addr L%i" l - | Cstring s -> fprintf ppf "string \"%s\"" s - | Cskip n -> fprintf ppf "skip %i" n - | Calign n -> fprintf ppf "align %i" n - -let data ppf dl = - let items ppf = List.iter (fun d -> fprintf ppf "@ %a" data_item d) dl in - fprintf ppf "@[(data%t)@]" items - -let phrase ppf = function - | Cfunction f -> fundecl ppf f - | Cdata dl -> data ppf dl diff --git a/vendor/ocaml/asmcomp/printcmm.mli b/vendor/ocaml/asmcomp/printcmm.mli deleted file mode 100644 index 1c97c4a00..000000000 --- a/vendor/ocaml/asmcomp/printcmm.mli +++ /dev/null @@ -1,25 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Pretty-printing of C-- code *) - -open Format - -val machtype_component : formatter -> Cmm.machtype_component -> unit -val machtype : formatter -> Cmm.machtype_component array -> unit -val comparison : Cmm.comparison -> string -val chunk : Cmm.memory_chunk -> string -val operation : Cmm.operation -> string -val expression : formatter -> Cmm.expression -> unit -val fundecl : formatter -> Cmm.fundecl -> unit -val data : formatter -> Cmm.data_item list -> unit -val phrase : formatter -> Cmm.phrase -> unit diff --git a/vendor/ocaml/asmcomp/printlinear.ml b/vendor/ocaml/asmcomp/printlinear.ml deleted file mode 100644 index df58c5cc5..000000000 --- a/vendor/ocaml/asmcomp/printlinear.ml +++ /dev/null @@ -1,80 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Pretty-printing of linearized machine code *) - -open Format -open Mach -open Printmach -open Linearize - -let label ppf l = - Format.fprintf ppf "L%i" l - -let instr ppf i = - begin match i.desc with - | Lend -> () - | Lop op -> - begin match op with - | Ialloc _ | Icall_ind | Icall_imm _ | Iextcall(_, _) -> - fprintf ppf "@[<1>{%a}@]@," regsetaddr i.live - | _ -> () - end; - operation op i.arg ppf i.res - | Lreloadretaddr -> - fprintf ppf "reload retaddr" - | Lreturn -> - fprintf ppf "return %a" regs i.arg - | Llabel lbl -> - fprintf ppf "%a:" label lbl - | Lbranch lbl -> - fprintf ppf "goto %a" label lbl - | Lcondbranch(tst, lbl) -> - fprintf ppf "if %a goto %a" (test tst) i.arg label lbl - | Lcondbranch3(lbl0, lbl1, lbl2) -> - fprintf ppf "switch3 %a" reg i.arg.(0); - let case n = function - | None -> () - | Some lbl -> - fprintf ppf "@,case %i: goto %a" n label lbl in - case 0 lbl0; case 1 lbl1; case 2 lbl2; - fprintf ppf "@,endswitch" - | Lswitch lblv -> - fprintf ppf "switch %a" reg i.arg.(0); - for i = 0 to Array.length lblv - 1 do - fprintf ppf "case %i: goto %a" i label lblv.(i) - done; - fprintf ppf "@,endswitch" - | Lsetuptrap lbl -> - fprintf ppf "setup trap %a" label lbl - | Lpushtrap -> - fprintf ppf "push trap" - | Lpoptrap -> - fprintf ppf "pop trap" - | Lraise k -> - fprintf ppf "%s %a" (Lambda.raise_kind k) reg i.arg.(0) - end; - if not (Debuginfo.is_none i.dbg) then - fprintf ppf " %s" (Debuginfo.to_string i.dbg) - -let rec all_instr ppf i = - match i.desc with - | Lend -> () - | _ -> fprintf ppf "%a@,%a" instr i all_instr i.next - -let fundecl ppf f = - let dbg = - if Debuginfo.is_none f.fun_dbg then - "" - else - " " ^ Debuginfo.to_string f.fun_dbg in - fprintf ppf "@[%s:%s@,%a@]" f.fun_name dbg all_instr f.fun_body diff --git a/vendor/ocaml/asmcomp/printlinear.mli b/vendor/ocaml/asmcomp/printlinear.mli deleted file mode 100644 index 68eda9c1d..000000000 --- a/vendor/ocaml/asmcomp/printlinear.mli +++ /dev/null @@ -1,19 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Pretty-printing of linearized machine code *) - -open Format -open Linearize - -val instr: formatter -> instruction -> unit -val fundecl: formatter -> fundecl -> unit diff --git a/vendor/ocaml/asmcomp/printmach.ml b/vendor/ocaml/asmcomp/printmach.ml deleted file mode 100644 index a39160d28..000000000 --- a/vendor/ocaml/asmcomp/printmach.ml +++ /dev/null @@ -1,225 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Pretty-printing of pseudo machine code *) - -open Format -open Cmm -open Reg -open Mach - -let reg ppf r = - if not (Reg.anonymous r) then - fprintf ppf "%s" (Reg.name r) - else - fprintf ppf "%s" (match r.typ with Addr -> "A" | Int -> "I" | Float -> "F"); - fprintf ppf "/%i" r.stamp; - begin match r.loc with - | Unknown -> () - | Reg r -> - fprintf ppf "[%s]" (Proc.register_name r) - | Stack(Local s) -> - fprintf ppf "[s%i]" s - | Stack(Incoming s) -> - fprintf ppf "[si%i]" s - | Stack(Outgoing s) -> - fprintf ppf "[so%i]" s - end - -let regs ppf v = - match Array.length v with - | 0 -> () - | 1 -> reg ppf v.(0) - | n -> reg ppf v.(0); - for i = 1 to n-1 do fprintf ppf " %a" reg v.(i) done - -let regset ppf s = - let first = ref true in - Reg.Set.iter - (fun r -> - if !first then begin first := false; fprintf ppf "%a" reg r end - else fprintf ppf "@ %a" reg r) - s - -let regsetaddr ppf s = - let first = ref true in - Reg.Set.iter - (fun r -> - if !first then begin first := false; fprintf ppf "%a" reg r end - else fprintf ppf "@ %a" reg r; - match r.typ with Addr -> fprintf ppf "*" | _ -> ()) - s - -let intcomp = function - | Isigned c -> Printf.sprintf " %ss " (Printcmm.comparison c) - | Iunsigned c -> Printf.sprintf " %su " (Printcmm.comparison c) - -let floatcomp c = - Printf.sprintf " %sf " (Printcmm.comparison c) - -let intop = function - | Iadd -> " + " - | Isub -> " - " - | Imul -> " * " - | Imulh -> " *h " - | Idiv -> " div " - | Imod -> " mod " - | Iand -> " & " - | Ior -> " | " - | Ixor -> " ^ " - | Ilsl -> " << " - | Ilsr -> " >>u " - | Iasr -> " >>s " - | Icomp cmp -> intcomp cmp - | Icheckbound -> " check > " - -let test tst ppf arg = - match tst with - | Itruetest -> reg ppf arg.(0) - | Ifalsetest -> fprintf ppf "not %a" reg arg.(0) - | Iinttest cmp -> fprintf ppf "%a%s%a" reg arg.(0) (intcomp cmp) reg arg.(1) - | Iinttest_imm(cmp, n) -> fprintf ppf "%a%s%i" reg arg.(0) (intcomp cmp) n - | Ifloattest(cmp, neg) -> - fprintf ppf "%s%a%s%a" - (if neg then "not " else "") - reg arg.(0) (floatcomp cmp) reg arg.(1) - | Ieventest -> fprintf ppf "%a & 1 == 0" reg arg.(0) - | Ioddtest -> fprintf ppf "%a & 1 == 1" reg arg.(0) - -let print_live = ref false - -let operation op arg ppf res = - if Array.length res > 0 then fprintf ppf "%a := " regs res; - match op with - | Imove -> regs ppf arg - | Ispill -> fprintf ppf "%a (spill)" regs arg - | Ireload -> fprintf ppf "%a (reload)" regs arg - | Iconst_int n - | Iconst_blockheader n -> fprintf ppf "%s" (Nativeint.to_string n) - | Iconst_float f -> fprintf ppf "%F" f - | Iconst_symbol s -> fprintf ppf "\"%s\"" s - | Icall_ind -> fprintf ppf "call %a" regs arg - | Icall_imm lbl -> fprintf ppf "call \"%s\" %a" lbl regs arg - | Itailcall_ind -> fprintf ppf "tailcall %a" regs arg - | Itailcall_imm lbl -> fprintf ppf "tailcall \"%s\" %a" lbl regs arg - | Iextcall(lbl, alloc) -> - fprintf ppf "extcall \"%s\" %a%s" lbl regs arg - (if alloc then "" else " (noalloc)") - | Istackoffset n -> - fprintf ppf "offset stack %i" n - | Iload(chunk, addr) -> - fprintf ppf "%s[%a]" - (Printcmm.chunk chunk) (Arch.print_addressing reg addr) arg - | Istore(chunk, addr, is_assign) -> - fprintf ppf "%s[%a] := %a %s" - (Printcmm.chunk chunk) - (Arch.print_addressing reg addr) - (Array.sub arg 1 (Array.length arg - 1)) - reg arg.(0) - (if is_assign then "(assign)" else "(init)") - | Ialloc n -> fprintf ppf "alloc %i" n - | Iintop(op) -> fprintf ppf "%a%s%a" reg arg.(0) (intop op) reg arg.(1) - | Iintop_imm(op, n) -> fprintf ppf "%a%s%i" reg arg.(0) (intop op) n - | Inegf -> fprintf ppf "-f %a" reg arg.(0) - | Iabsf -> fprintf ppf "absf %a" reg arg.(0) - | Iaddf -> fprintf ppf "%a +f %a" reg arg.(0) reg arg.(1) - | Isubf -> fprintf ppf "%a -f %a" reg arg.(0) reg arg.(1) - | Imulf -> fprintf ppf "%a *f %a" reg arg.(0) reg arg.(1) - | Idivf -> fprintf ppf "%a /f %a" reg arg.(0) reg arg.(1) - | Ifloatofint -> fprintf ppf "floatofint %a" reg arg.(0) - | Iintoffloat -> fprintf ppf "intoffloat %a" reg arg.(0) - | Ispecific op -> - Arch.print_specific_operation reg op ppf arg - -let rec instr ppf i = - if !print_live then begin - fprintf ppf "@[<1>{%a" regsetaddr i.live; - if Array.length i.arg > 0 then fprintf ppf "@ +@ %a" regs i.arg; - fprintf ppf "}@]@,"; - end; - begin match i.desc with - | Iend -> () - | Iop op -> - operation op i.arg ppf i.res - | Ireturn -> - fprintf ppf "return %a" regs i.arg - | Iifthenelse(tst, ifso, ifnot) -> - fprintf ppf "@[if %a then@,%a" (test tst) i.arg instr ifso; - begin match ifnot.desc with - | Iend -> () - | _ -> fprintf ppf "@;<0 -2>else@,%a" instr ifnot - end; - fprintf ppf "@;<0 -2>endif@]" - | Iswitch(index, cases) -> - fprintf ppf "switch %a" reg i.arg.(0); - for i = 0 to Array.length cases - 1 do - fprintf ppf "@,@[@["; - for j = 0 to Array.length index - 1 do - if index.(j) = i then fprintf ppf "case %i:@," j - done; - fprintf ppf "@]@,%a@]" instr cases.(i) - done; - fprintf ppf "@,endswitch" - | Iloop(body) -> - fprintf ppf "@[loop@,%a@;<0 -2>endloop@]" instr body - | Icatch(i, body, handler) -> - fprintf - ppf "@[catch@,%a@;<0 -2>with(%d)@,%a@;<0 -2>endcatch@]" - instr body i instr handler - | Iexit i -> - fprintf ppf "exit(%d)" i - | Itrywith(body, handler) -> - fprintf ppf "@[try@,%a@;<0 -2>with@,%a@;<0 -2>endtry@]" - instr body instr handler - | Iraise k -> - fprintf ppf "%s %a" (Lambda.raise_kind k) reg i.arg.(0) - end; - if not (Debuginfo.is_none i.dbg) then - fprintf ppf "%s" (Debuginfo.to_string i.dbg); - begin match i.next.desc with - Iend -> () - | _ -> fprintf ppf "@,%a" instr i.next - end - -let fundecl ppf f = - let dbg = - if Debuginfo.is_none f.fun_dbg then - "" - else - " " ^ Debuginfo.to_string f.fun_dbg in - fprintf ppf "@[%s(%a)%s@,%a@]" - f.fun_name regs f.fun_args dbg instr f.fun_body - -let phase msg ppf f = - fprintf ppf "*** %s@.%a@." msg fundecl f - -let interference ppf r = - let interf ppf = - List.iter - (fun r -> fprintf ppf "@ %a" reg r) - r.interf in - fprintf ppf "@[<2>%a:%t@]@." reg r interf - -let interferences ppf () = - fprintf ppf "*** Interferences@."; - List.iter (interference ppf) (Reg.all_registers()) - -let preference ppf r = - let prefs ppf = - List.iter - (fun (r, w) -> fprintf ppf "@ %a weight %i" reg r w) - r.prefer in - fprintf ppf "@[<2>%a: %t@]@." reg r prefs - -let preferences ppf () = - fprintf ppf "*** Preferences@."; - List.iter (preference ppf) (Reg.all_registers()) diff --git a/vendor/ocaml/asmcomp/printmach.mli b/vendor/ocaml/asmcomp/printmach.mli deleted file mode 100644 index bfb0dbefa..000000000 --- a/vendor/ocaml/asmcomp/printmach.mli +++ /dev/null @@ -1,29 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Pretty-printing of pseudo machine code *) - -open Format - -val reg: formatter -> Reg.t -> unit -val regs: formatter -> Reg.t array -> unit -val regset: formatter -> Reg.Set.t -> unit -val regsetaddr: formatter -> Reg.Set.t -> unit -val operation: Mach.operation -> Reg.t array -> formatter -> Reg.t array -> unit -val test: Mach.test -> formatter -> Reg.t array -> unit -val instr: formatter -> Mach.instruction -> unit -val fundecl: formatter -> Mach.fundecl -> unit -val phase: string -> formatter -> Mach.fundecl -> unit -val interferences: formatter -> unit -> unit -val preferences: formatter -> unit -> unit - -val print_live: bool ref diff --git a/vendor/ocaml/asmcomp/proc.mli b/vendor/ocaml/asmcomp/proc.mli deleted file mode 100644 index cabac4db7..000000000 --- a/vendor/ocaml/asmcomp/proc.mli +++ /dev/null @@ -1,57 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Processor descriptions *) - -(* Instruction selection *) -val word_addressed: bool - -(* Registers available for register allocation *) -val num_register_classes: int -val register_class: Reg.t -> int -val num_available_registers: int array -val first_available_register: int array -val register_name: int -> string -val phys_reg: int -> Reg.t -val rotate_registers: bool - -(* Calling conventions *) -val loc_arguments: Reg.t array -> Reg.t array * int -val loc_results: Reg.t array -> Reg.t array -val loc_parameters: Reg.t array -> Reg.t array -val loc_external_arguments: Reg.t array -> Reg.t array * int -val loc_external_results: Reg.t array -> Reg.t array -val loc_exn_bucket: Reg.t - -(* Maximal register pressures for pre-spilling *) -val safe_register_pressure: Mach.operation -> int -val max_register_pressure: Mach.operation -> int array - -(* Registers destroyed by operations *) -val destroyed_at_oper: Mach.instruction_desc -> Reg.t array -val destroyed_at_raise: Reg.t array - -(* Volatile registers: those that change value when read *) -val regs_are_volatile: Reg.t array -> bool - -(* Pure operations *) -val op_is_pure: Mach.operation -> bool - -(* Info for laying out the stack frame *) -val num_stack_slots: int array -val contains_calls: bool ref - -(* Calling the assembler *) -val assemble_file: string -> string -> int - -(* Called before translating a fundecl. *) -val init : unit -> unit diff --git a/vendor/ocaml/asmcomp/reg.ml b/vendor/ocaml/asmcomp/reg.ml deleted file mode 100644 index 8f0298a99..000000000 --- a/vendor/ocaml/asmcomp/reg.ml +++ /dev/null @@ -1,197 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -open Cmm - -module Raw_name = struct - type t = - | Anon - | R - | Ident of Ident.t - - let create_from_ident ident = Ident ident - - let to_string t = - match t with - | Anon -> None - | R -> Some "R" - | Ident ident -> - let name = Ident.name ident in - if String.length name <= 0 then None else Some name -end - -type t = - { mutable raw_name: Raw_name.t; - stamp: int; - typ: Cmm.machtype_component; - mutable loc: location; - mutable spill: bool; - mutable part: int option; - mutable interf: t list; - mutable prefer: (t * int) list; - mutable degree: int; - mutable spill_cost: int; - mutable visited: bool } - -and location = - Unknown - | Reg of int - | Stack of stack_location - -and stack_location = - Local of int - | Incoming of int - | Outgoing of int - -type reg = t - -let dummy = - { raw_name = Raw_name.Anon; stamp = 0; typ = Int; loc = Unknown; - spill = false; interf = []; prefer = []; degree = 0; spill_cost = 0; - visited = false; part = None; - } - -let currstamp = ref 0 -let reg_list = ref([] : t list) - -let create ty = - let r = { raw_name = Raw_name.Anon; stamp = !currstamp; typ = ty; - loc = Unknown; spill = false; interf = []; prefer = []; degree = 0; - spill_cost = 0; visited = false; part = None; } in - reg_list := r :: !reg_list; - incr currstamp; - r - -let createv tyv = - let n = Array.length tyv in - let rv = Array.make n dummy in - for i = 0 to n-1 do rv.(i) <- create tyv.(i) done; - rv - -let createv_like rv = - let n = Array.length rv in - let rv' = Array.make n dummy in - for i = 0 to n-1 do rv'.(i) <- create rv.(i).typ done; - rv' - -let clone r = - let nr = create r.typ in - nr.raw_name <- r.raw_name; - nr - -let at_location ty loc = - let r = { raw_name = Raw_name.R; stamp = !currstamp; typ = ty; loc; - spill = false; interf = []; prefer = []; degree = 0; - spill_cost = 0; visited = false; part = None; } in - incr currstamp; - r - -let anonymous t = - match Raw_name.to_string t.raw_name with - | None -> true - | Some _raw_name -> false - -let name t = - match Raw_name.to_string t.raw_name with - | None -> "" - | Some raw_name -> - let with_spilled = - if t.spill then - "spilled-" ^ raw_name - else - raw_name - in - match t.part with - | None -> with_spilled - | Some part -> with_spilled ^ "#" ^ string_of_int part - -let first_virtual_reg_stamp = ref (-1) - -let reset() = - (* When reset() is called for the first time, the current stamp reflects - all hard pseudo-registers that have been allocated by Proc, so - remember it and use it as the base stamp for allocating - soft pseudo-registers *) - if !first_virtual_reg_stamp = -1 then first_virtual_reg_stamp := !currstamp; - currstamp := !first_virtual_reg_stamp; - reg_list := [] - -let all_registers() = !reg_list -let num_registers() = !currstamp - -let reinit_reg r = - r.loc <- Unknown; - r.interf <- []; - r.prefer <- []; - r.degree <- 0; - (* Preserve the very high spill costs introduced by the reloading pass *) - if r.spill_cost >= 100000 - then r.spill_cost <- 100000 - else r.spill_cost <- 0 - -let reinit() = - List.iter reinit_reg !reg_list - -module RegOrder = - struct - type t = reg - let compare r1 r2 = r1.stamp - r2.stamp - end - -module Set = Set.Make(RegOrder) -module Map = Map.Make(RegOrder) - -let add_set_array s v = - match Array.length v with - 0 -> s - | 1 -> Set.add v.(0) s - | n -> let rec add_all i = - if i >= n then s else Set.add v.(i) (add_all(i+1)) - in add_all 0 - -let diff_set_array s v = - match Array.length v with - 0 -> s - | 1 -> Set.remove v.(0) s - | n -> let rec remove_all i = - if i >= n then s else Set.remove v.(i) (remove_all(i+1)) - in remove_all 0 - -let inter_set_array s v = - match Array.length v with - 0 -> Set.empty - | 1 -> if Set.mem v.(0) s - then Set.add v.(0) Set.empty - else Set.empty - | n -> let rec inter_all i = - if i >= n then Set.empty - else if Set.mem v.(i) s then Set.add v.(i) (inter_all(i+1)) - else inter_all(i+1) - in inter_all 0 - -let disjoint_set_array s v = - match Array.length v with - 0 -> true - | 1 -> not (Set.mem v.(0) s) - | n -> let rec disjoint_all i = - if i >= n then true - else if Set.mem v.(i) s then false - else disjoint_all (i+1) - in disjoint_all 0 - -let set_of_array v = - match Array.length v with - 0 -> Set.empty - | 1 -> Set.add v.(0) Set.empty - | n -> let rec add_all i = - if i >= n then Set.empty else Set.add v.(i) (add_all(i+1)) - in add_all 0 diff --git a/vendor/ocaml/asmcomp/reg.mli b/vendor/ocaml/asmcomp/reg.mli deleted file mode 100644 index e3cb2d952..000000000 --- a/vendor/ocaml/asmcomp/reg.mli +++ /dev/null @@ -1,67 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Pseudo-registers *) - -module Raw_name : sig - type t - val create_from_ident : Ident.t -> t -end - -type t = - { mutable raw_name: Raw_name.t; (* Name *) - stamp: int; (* Unique stamp *) - typ: Cmm.machtype_component; (* Type of contents *) - mutable loc: location; (* Actual location *) - mutable spill: bool; (* "true" to force stack allocation *) - mutable part: int option; (* Zero-based index of part of value *) - mutable interf: t list; (* Other regs live simultaneously *) - mutable prefer: (t * int) list; (* Preferences for other regs *) - mutable degree: int; (* Number of other regs live sim. *) - mutable spill_cost: int; (* Estimate of spilling cost *) - mutable visited: bool } (* For graph walks *) - -and location = - Unknown - | Reg of int - | Stack of stack_location - -and stack_location = - Local of int - | Incoming of int - | Outgoing of int - -val dummy: t -val create: Cmm.machtype_component -> t -val createv: Cmm.machtype -> t array -val createv_like: t array -> t array -val clone: t -> t -val at_location: Cmm.machtype_component -> location -> t - -val anonymous : t -> bool - -(* Name for printing *) -val name : t -> string - -module Set: Set.S with type elt = t -module Map: Map.S with type key = t - -val add_set_array: Set.t -> t array -> Set.t -val diff_set_array: Set.t -> t array -> Set.t -val inter_set_array: Set.t -> t array -> Set.t -val disjoint_set_array: Set.t -> t array -> bool -val set_of_array: t array -> Set.t - -val reset: unit -> unit -val all_registers: unit -> t list -val num_registers: unit -> int -val reinit: unit -> unit diff --git a/vendor/ocaml/asmcomp/reload.mli b/vendor/ocaml/asmcomp/reload.mli deleted file mode 100644 index cecacbd4a..000000000 --- a/vendor/ocaml/asmcomp/reload.mli +++ /dev/null @@ -1,15 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Insert load/stores for pseudoregs that got assigned to stack locations. *) - -val fundecl: Mach.fundecl -> Mach.fundecl * bool diff --git a/vendor/ocaml/asmcomp/reloadgen.ml b/vendor/ocaml/asmcomp/reloadgen.ml deleted file mode 100644 index 30f23a825..000000000 --- a/vendor/ocaml/asmcomp/reloadgen.ml +++ /dev/null @@ -1,139 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Insert load/stores for pseudoregs that got assigned to stack locations. *) - -open Misc -open Reg -open Mach - -let access_stack r = - try - for i = 0 to Array.length r - 1 do - match r.(i).loc with Stack _ -> raise Exit | _ -> () - done; - false - with Exit -> - true - -let insert_move src dst next = - if src.loc = dst.loc - then next - else instr_cons (Iop Imove) [|src|] [|dst|] next - -let insert_moves src dst next = - let rec insmoves i = - if i >= Array.length src - then next - else insert_move src.(i) dst.(i) (insmoves (i+1)) - in insmoves 0 - -class reload_generic = object (self) - -val mutable redo_regalloc = false - -method makereg r = - match r.loc with - Unknown -> fatal_error "Reload.makereg" - | Reg _ -> r - | Stack _ -> - redo_regalloc <- true; - let newr = Reg.clone r in - (* Strongly discourage spilling this register *) - newr.spill_cost <- 100000; - newr - -method private makeregs rv = - let n = Array.length rv in - let newv = Array.make n Reg.dummy in - for i = 0 to n-1 do newv.(i) <- self#makereg rv.(i) done; - newv - -method private makereg1 rv = - let newv = Array.copy rv in - newv.(0) <- self#makereg rv.(0); - newv - -method reload_operation op arg res = - (* By default, assume that arguments and results must reside - in hardware registers. For moves, allow one arg or one - res to be stack-allocated, but do something for - stack-to-stack moves *) - match op with - Imove | Ireload | Ispill -> - begin match arg.(0), res.(0) with - {loc = Stack s1}, {loc = Stack s2} when s1 <> s2 -> - ([| self#makereg arg.(0) |], res) - | _ -> - (arg, res) - end - | _ -> - (self#makeregs arg, self#makeregs res) - -method reload_test tst args = - self#makeregs args - -method private reload i = - match i.desc with - (* For function calls, returns, etc: the arguments and results are - already at the correct position (e.g. on stack for some arguments). - However, something needs to be done for the function pointer in - indirect calls. *) - Iend | Ireturn | Iop(Itailcall_imm _) | Iraise _ -> i - | Iop(Itailcall_ind) -> - let newarg = self#makereg1 i.arg in - insert_moves i.arg newarg - {i with arg = newarg} - | Iop(Icall_imm _ | Iextcall _) -> - {i with next = self#reload i.next} - | Iop(Icall_ind) -> - let newarg = self#makereg1 i.arg in - insert_moves i.arg newarg - {i with arg = newarg; next = self#reload i.next} - | Iop op -> - let (newarg, newres) = self#reload_operation op i.arg i.res in - insert_moves i.arg newarg - {i with arg = newarg; res = newres; next = - (insert_moves newres i.res - (self#reload i.next))} - | Iifthenelse(tst, ifso, ifnot) -> - let newarg = self#reload_test tst i.arg in - insert_moves i.arg newarg - (instr_cons - (Iifthenelse(tst, self#reload ifso, self#reload ifnot)) newarg [||] - (self#reload i.next)) - | Iswitch(index, cases) -> - let newarg = self#makeregs i.arg in - insert_moves i.arg newarg - (instr_cons (Iswitch(index, Array.map (self#reload) cases)) newarg [||] - (self#reload i.next)) - | Iloop body -> - instr_cons (Iloop(self#reload body)) [||] [||] (self#reload i.next) - | Icatch(nfail, body, handler) -> - instr_cons - (Icatch(nfail, self#reload body, self#reload handler)) [||] [||] - (self#reload i.next) - | Iexit i -> - instr_cons (Iexit i) [||] [||] dummy_instr - | Itrywith(body, handler) -> - instr_cons (Itrywith(self#reload body, self#reload handler)) [||] [||] - (self#reload i.next) - -method fundecl f = - redo_regalloc <- false; - let new_body = self#reload f.fun_body in - ({fun_name = f.fun_name; fun_args = f.fun_args; - fun_body = new_body; fun_fast = f.fun_fast; - fun_dbg = f.fun_dbg}, - redo_regalloc) - -end diff --git a/vendor/ocaml/asmcomp/reloadgen.mli b/vendor/ocaml/asmcomp/reloadgen.mli deleted file mode 100644 index 45c68d1c3..000000000 --- a/vendor/ocaml/asmcomp/reloadgen.mli +++ /dev/null @@ -1,24 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1997 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -class reload_generic : object - method reload_operation : - Mach.operation -> Reg.t array -> Reg.t array -> Reg.t array * Reg.t array - method reload_test : Mach.test -> Reg.t array -> Reg.t array - (* Can be overridden to reflect instructions that can operate - directly on stack locations *) - method makereg : Reg.t -> Reg.t - (* Can be overridden to avoid creating new registers of some class - (i.e. if all "registers" of that class are actually on stack) *) - method fundecl : Mach.fundecl -> Mach.fundecl * bool - (* The entry point *) -end diff --git a/vendor/ocaml/asmcomp/schedgen.ml b/vendor/ocaml/asmcomp/schedgen.ml deleted file mode 100644 index f7af44367..000000000 --- a/vendor/ocaml/asmcomp/schedgen.ml +++ /dev/null @@ -1,395 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction scheduling *) - -open Reg -open Mach -open Linearize - -(* Representation of the code DAG. *) - -type code_dag_node = - { instr: instruction; (* The instruction *) - delay: int; (* How many cycles before result is available *) - mutable sons: (code_dag_node * int) list; - (* Instructions that depend on it *) - mutable date: int; (* Start date *) - mutable length: int; (* Length of longest path to result *) - mutable ancestors: int; (* Number of ancestors *) - mutable emitted_ancestors: int } (* Number of emitted ancestors *) - -let dummy_node = - { instr = end_instr; delay = 0; sons = []; date = 0; - length = -1; ancestors = 0; emitted_ancestors = 0 } - -(* The code dag itself is represented by two tables from registers to nodes: - - "results" maps registers to the instructions that produced them; - - "uses" maps registers to the instructions that use them. - In addition: - - code_stores contains the latest store nodes emitted so far - - code_loads contains all load nodes emitted since the last store - - code_checkbounds contains the latest checkbound node not matched - by a subsequent load or store. *) - -let code_results = (Hashtbl.create 31 : (location, code_dag_node) Hashtbl.t) -let code_uses = (Hashtbl.create 31 : (location, code_dag_node) Hashtbl.t) -let code_stores = ref ([] : code_dag_node list) -let code_loads = ref ([] : code_dag_node list) -let code_checkbounds = ref ([] : code_dag_node list) - -let clear_code_dag () = - Hashtbl.clear code_results; - Hashtbl.clear code_uses; - code_stores := []; - code_loads := []; - code_checkbounds := [] - -(* Add an edge to the code DAG *) - -let add_edge ancestor son delay = - ancestor.sons <- (son, delay) :: ancestor.sons; - son.ancestors <- son.ancestors + 1 - -let add_edge_after son ancestor = add_edge ancestor son 0 - -(* Add edges from all instructions that define a pseudoregister [arg] being used - as argument to node [node] (RAW dependencies *) - -let add_RAW_dependencies node arg = - try - let ancestor = Hashtbl.find code_results arg.loc in - add_edge ancestor node ancestor.delay - with Not_found -> - () - -(* Add edges from all instructions that use a pseudoregister [res] that is - defined by node [node] (WAR dependencies). *) - -let add_WAR_dependencies node res = - let ancestors = Hashtbl.find_all code_uses res.loc in - List.iter (add_edge_after node) ancestors - -(* Add edges from all instructions that have already defined a pseudoregister - [res] that is defined by node [node] (WAW dependencies). *) - -let add_WAW_dependencies node res = - try - let ancestor = Hashtbl.find code_results res.loc in - add_edge ancestor node 0 - with Not_found -> - () - -(* Compute length of longest path to a result. - For leafs of the DAG, see whether their result is used in the instruction - immediately following the basic block (a "critical" output). *) - -let is_critical critical_outputs results = - try - for i = 0 to Array.length results - 1 do - let r = results.(i).loc in - for j = 0 to Array.length critical_outputs - 1 do - if critical_outputs.(j).loc = r then raise Exit - done - done; - false - with Exit -> - true - -let rec longest_path critical_outputs node = - if node.length < 0 then begin - match node.sons with - [] -> - node.length <- - if is_critical critical_outputs node.instr.res - || node.instr.desc = Lreloadretaddr (* alway critical *) - then node.delay - else 0 - | sons -> - node.length <- - List.fold_left - (fun len (son, delay) -> - max len (longest_path critical_outputs son + delay)) - 0 sons - end; - node.length - -(* Remove an instruction from the ready queue *) - -let rec remove_instr node = function - [] -> [] - | instr :: rem -> - if instr == node then rem else instr :: remove_instr node rem - -(* We treat Lreloadretaddr as a word-sized load *) - -let some_load = (Iload(Cmm.Word, Arch.identity_addressing)) - -(* The generic scheduler *) - -class virtual scheduler_generic = object (self) - -val mutable trywith_nesting = 0 - -(* Determine whether an operation ends a basic block or not. - Can be overridden for some processors to signal specific instructions - that terminate a basic block. *) - -method oper_in_basic_block = function - Icall_ind -> false - | Icall_imm _ -> false - | Itailcall_ind -> false - | Itailcall_imm _ -> false - | Iextcall _ -> false - | Istackoffset _ -> false - | Ialloc _ -> false - | _ -> true - -(* Determine whether an instruction ends a basic block or not *) - -(* PR#2719: it is generally incorrect to schedule checkbound instructions - within a try ... with Invalid_argument _ -> ... - Hence, a checkbound instruction within a try...with block ends the - current basic block. *) - -method private instr_in_basic_block instr try_nesting = - match instr.desc with - Lop op -> - self#oper_in_basic_block op && - not (try_nesting > 0 && self#is_checkbound op) - | Lreloadretaddr -> true - | _ -> false - -(* Determine whether an operation is a memory store or a memory load. - Can be overridden for some processors to signal specific - load or store instructions (e.g. on the I386). *) - -method is_store = function - Istore(_, _, _) -> true - | _ -> false - -method is_load = function - Iload(_, _) -> true - | _ -> false - -method is_checkbound = function - Iintop Icheckbound -> true - | Iintop_imm(Icheckbound, _) -> true - | _ -> false - -method private instr_is_store instr = - match instr.desc with - Lop op -> self#is_store op - | _ -> false - -method private instr_is_load instr = - match instr.desc with - Lop op -> self#is_load op - | _ -> false - -method private instr_is_checkbound instr = - match instr.desc with - Lop op -> self#is_checkbound op - | _ -> false - -(* Estimate the latency of an operation. *) - -method virtual oper_latency : Mach.operation -> int - -(* Estimate the latency of a Lreloadretaddr operation. *) - -method reload_retaddr_latency = self#oper_latency some_load - -(* Estimate the delay needed to evaluate an instruction *) - -method private instr_latency instr = - match instr.desc with - Lop op -> self#oper_latency op - | Lreloadretaddr -> self#reload_retaddr_latency - | _ -> assert false - -(* Estimate the number of cycles consumed by emitting an operation. *) - -method virtual oper_issue_cycles : Mach.operation -> int - -(* Estimate the number of cycles consumed by emitting a Lreloadretaddr. *) - -method reload_retaddr_issue_cycles = self#oper_issue_cycles some_load - -(* Estimate the number of cycles consumed by emitting an instruction. *) - -method private instr_issue_cycles instr = - match instr.desc with - Lop op -> self#oper_issue_cycles op - | Lreloadretaddr -> self#reload_retaddr_issue_cycles - | _ -> assert false - -(* Pseudoregisters destroyed by an instruction *) - -method private destroyed_by_instr instr = - match instr.desc with - | Lop op -> Proc.destroyed_at_oper (Iop op) - | Lreloadretaddr -> [||] - | _ -> assert false - -(* Add an instruction to the code dag *) - -method private add_instruction ready_queue instr = - let delay = self#instr_latency instr in - let destroyed = self#destroyed_by_instr instr in - let node = - { instr = instr; - delay = delay; - sons = []; - date = 0; - length = -1; - ancestors = 0; - emitted_ancestors = 0 } in - (* Add edges from all instructions that define one of the registers used - (RAW dependencies) *) - Array.iter (add_RAW_dependencies node) instr.arg; - (* Also add edges from all instructions that use one of the result regs - of this instruction, or a reg destroyed by this instruction - (WAR dependencies). *) - Array.iter (add_WAR_dependencies node) instr.res; - Array.iter (add_WAR_dependencies node) destroyed; (* PR#5731 *) - (* Also add edges from all instructions that have already defined one - of the results of this instruction, or a reg destroyed by - this instruction (WAW dependencies). *) - Array.iter (add_WAW_dependencies node) instr.res; - Array.iter (add_WAW_dependencies node) destroyed; (* PR#5731 *) - (* If this is a load, add edges from the most recent store viewed so - far (if any) and remember the load. Also add edges from the most - recent checkbound and forget that checkbound. *) - if self#instr_is_load instr then begin - List.iter (add_edge_after node) !code_stores; - code_loads := node :: !code_loads; - List.iter (add_edge_after node) !code_checkbounds; - code_checkbounds := [] - end - (* If this is a store, add edges from the most recent store, - as well as all loads viewed since then, and also the most recent - checkbound. Remember the store, - discarding the previous stores, loads and checkbounds. *) - else if self#instr_is_store instr then begin - List.iter (add_edge_after node) !code_stores; - List.iter (add_edge_after node) !code_loads; - List.iter (add_edge_after node) !code_checkbounds; - code_stores := [node]; - code_loads := []; - code_checkbounds := [] - end - else if self#instr_is_checkbound instr then begin - code_checkbounds := [node] - end; - (* Remember the registers used and produced by this instruction *) - for i = 0 to Array.length instr.res - 1 do - Hashtbl.add code_results instr.res.(i).loc node - done; - for i = 0 to Array.length destroyed - 1 do - Hashtbl.add code_results destroyed.(i).loc node (* PR#5731 *) - done; - for i = 0 to Array.length instr.arg - 1 do - Hashtbl.add code_uses instr.arg.(i).loc node - done; - (* If this is a root instruction (all arguments already computed), - add it to the ready queue *) - if node.ancestors = 0 then node :: ready_queue else ready_queue - -(* Given a list of instructions and a date, choose one or several - that are ready to be computed (start date <= current date) - and that we can emit in one cycle. Favor instructions with - maximal distance to result. If we can't find any, return None. - This does not take multiple issues into account, though. *) - -method private ready_instruction date queue = - let rec extract best = function - [] -> - if best == dummy_node then None else Some best - | instr :: rem -> - let new_best = - if instr.date <= date && instr.length > best.length - then instr else best in - extract new_best rem in - extract dummy_node queue - -(* Schedule a basic block, adding its instructions in front of the given - instruction sequence *) - -method private reschedule ready_queue date cont = - if ready_queue = [] then cont else begin - match self#ready_instruction date ready_queue with - None -> - self#reschedule ready_queue (date + 1) cont - | Some node -> - (* Remove node from queue *) - let new_queue = ref (remove_instr node ready_queue) in - (* Update the start date and number of ancestors emitted of - all descendents of this node. Enter those that become ready - in the queue. *) - let issue_cycles = self#instr_issue_cycles node.instr in - List.iter - (fun (son, delay) -> - let completion_date = date + issue_cycles + delay - 1 in - if son.date < completion_date then son.date <- completion_date; - son.emitted_ancestors <- son.emitted_ancestors + 1; - if son.emitted_ancestors = son.ancestors then - new_queue := son :: !new_queue) - node.sons; - { node.instr with next = - self#reschedule !new_queue (date + issue_cycles) cont } - end - -(* Entry point *) -(* Don't bother to schedule for initialization code and the like. *) - -method schedule_fundecl f = - - let rec schedule i try_nesting = - match i.desc with - | Lend -> i - | Lpushtrap -> { i with next = schedule i.next (try_nesting + 1) } - | Lpoptrap -> { i with next = schedule i.next (try_nesting - 1) } - | _ -> - if self#instr_in_basic_block i try_nesting then begin - clear_code_dag(); - schedule_block [] i try_nesting - end else - { i with next = schedule i.next try_nesting } - - and schedule_block ready_queue i try_nesting = - if self#instr_in_basic_block i try_nesting then - schedule_block (self#add_instruction ready_queue i) i.next try_nesting - else begin - let critical_outputs = - match i.desc with - Lop(Icall_ind | Itailcall_ind) -> [| i.arg.(0) |] - | Lop(Icall_imm _ | Itailcall_imm _ | Iextcall _) -> [||] - | Lreturn -> [||] - | _ -> i.arg in - List.iter (fun x -> ignore (longest_path critical_outputs x)) ready_queue; - self#reschedule ready_queue 0 (schedule i try_nesting) - end in - - if f.fun_fast then begin - let new_body = schedule f.fun_body 0 in - clear_code_dag(); - { fun_name = f.fun_name; - fun_body = new_body; - fun_fast = f.fun_fast; - fun_dbg = f.fun_dbg } - end else - f - -end - -let reset () = clear_code_dag () diff --git a/vendor/ocaml/asmcomp/schedgen.mli b/vendor/ocaml/asmcomp/schedgen.mli deleted file mode 100644 index 911330f8a..000000000 --- a/vendor/ocaml/asmcomp/schedgen.mli +++ /dev/null @@ -1,46 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1997 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction scheduling *) - -type code_dag_node = - { instr: Linearize.instruction; - delay: int; - mutable sons: (code_dag_node * int) list; - mutable date: int; - mutable length: int; - mutable ancestors: int; - mutable emitted_ancestors: int } - -class virtual scheduler_generic : object - (* Can be overridden by processor description *) - method virtual oper_issue_cycles : Mach.operation -> int - (* Number of cycles needed to issue the given operation *) - method virtual oper_latency : Mach.operation -> int - (* Number of cycles needed to complete the given operation *) - method reload_retaddr_issue_cycles : int - (* Number of cycles needed to issue a Lreloadretaddr operation *) - method reload_retaddr_latency : int - (* Number of cycles needed to complete a Lreloadretaddr operation *) - method oper_in_basic_block : Mach.operation -> bool - (* Says whether the given operation terminates a basic block *) - method is_store : Mach.operation -> bool - (* Says whether the given operation is a memory store *) - method is_load : Mach.operation -> bool - (* Says whether the given operation is a memory load *) - method is_checkbound : Mach.operation -> bool - (* Says whether the given operation is a checkbound *) - (* Entry point *) - method schedule_fundecl : Linearize.fundecl -> Linearize.fundecl -end - -val reset : unit -> unit diff --git a/vendor/ocaml/asmcomp/scheduling.mli b/vendor/ocaml/asmcomp/scheduling.mli deleted file mode 100644 index 5949661d1..000000000 --- a/vendor/ocaml/asmcomp/scheduling.mli +++ /dev/null @@ -1,15 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction scheduling *) - -val fundecl: Linearize.fundecl -> Linearize.fundecl diff --git a/vendor/ocaml/asmcomp/selectgen.ml b/vendor/ocaml/asmcomp/selectgen.ml deleted file mode 100644 index 8871bf49d..000000000 --- a/vendor/ocaml/asmcomp/selectgen.ml +++ /dev/null @@ -1,863 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Selection of pseudo-instructions, assignment of pseudo-registers, - sequentialization. *) - -open Misc -open Cmm -open Reg -open Mach - -type environment = (Ident.t, Reg.t array) Tbl.t - -(* Infer the type of the result of an operation *) - -let oper_result_type = function - Capply(ty, _) -> ty - | Cextcall(s, ty, alloc, _) -> ty - | Cload c -> - begin match c with - Word -> typ_addr - | Single | Double | Double_u -> typ_float - | _ -> typ_int - end - | Calloc -> typ_addr - | Cstore c -> typ_void - | Caddi | Csubi | Cmuli | Cmulhi | Cdivi | Cmodi | - Cand | Cor | Cxor | Clsl | Clsr | Casr | - Ccmpi _ | Ccmpa _ | Ccmpf _ -> typ_int - | Cadda | Csuba -> typ_addr - | Cnegf | Cabsf | Caddf | Csubf | Cmulf | Cdivf -> typ_float - | Cfloatofint -> typ_float - | Cintoffloat -> typ_int - | Craise _ -> typ_void - | Ccheckbound _ -> typ_void - -(* Infer the size in bytes of the result of a simple expression *) - -let size_expr env exp = - let rec size localenv = function - Cconst_int _ | Cconst_natint _ - | Cconst_blockheader _ -> Arch.size_int - | Cconst_symbol _ | Cconst_pointer _ | Cconst_natpointer _ -> - Arch.size_addr - | Cconst_float _ -> Arch.size_float - | Cvar id -> - begin try - Tbl.find id localenv - with Not_found -> - try - let regs = Tbl.find id env in - size_machtype (Array.map (fun r -> r.typ) regs) - with Not_found -> - fatal_error("Selection.size_expr: unbound var " ^ - Ident.unique_name id) - end - | Ctuple el -> - List.fold_right (fun e sz -> size localenv e + sz) el 0 - | Cop(op, args) -> - size_machtype(oper_result_type op) - | Clet(id, arg, body) -> - size (Tbl.add id (size localenv arg) localenv) body - | Csequence(e1, e2) -> - size localenv e2 - | _ -> - fatal_error "Selection.size_expr" - in size Tbl.empty exp - -(* Swap the two arguments of an integer comparison *) - -let swap_intcomp = function - Isigned cmp -> Isigned(swap_comparison cmp) - | Iunsigned cmp -> Iunsigned(swap_comparison cmp) - -(* Naming of registers *) - -let all_regs_anonymous rv = - try - for i = 0 to Array.length rv - 1 do - if not (Reg.anonymous rv.(i)) then raise Exit - done; - true - with Exit -> - false - -let name_regs id rv = - if Array.length rv = 1 then - rv.(0).raw_name <- Raw_name.create_from_ident id - else - for i = 0 to Array.length rv - 1 do - rv.(i).raw_name <- Raw_name.create_from_ident id; - rv.(i).part <- Some i - done - -(* "Join" two instruction sequences, making sure they return their results - in the same registers. *) - -let join opt_r1 seq1 opt_r2 seq2 = - match (opt_r1, opt_r2) with - (None, _) -> opt_r2 - | (_, None) -> opt_r1 - | (Some r1, Some r2) -> - let l1 = Array.length r1 in - assert (l1 = Array.length r2); - let r = Array.make l1 Reg.dummy in - for i = 0 to l1-1 do - if Reg.anonymous r1.(i) then begin - r.(i) <- r1.(i); - seq2#insert_move r2.(i) r1.(i) - end else if Reg.anonymous r2.(i) then begin - r.(i) <- r2.(i); - seq1#insert_move r1.(i) r2.(i) - end else begin - r.(i) <- Reg.create r1.(i).typ; - seq1#insert_move r1.(i) r.(i); - seq2#insert_move r2.(i) r.(i) - end - done; - Some r - -(* Same, for N branches *) - -let join_array rs = - let some_res = ref None in - for i = 0 to Array.length rs - 1 do - let (r, s) = rs.(i) in - if r <> None then some_res := r - done; - match !some_res with - None -> None - | Some template -> - let size_res = Array.length template in - let res = Array.make size_res Reg.dummy in - for i = 0 to size_res - 1 do - res.(i) <- Reg.create template.(i).typ - done; - for i = 0 to Array.length rs - 1 do - let (r, s) = rs.(i) in - match r with - None -> () - | Some r -> s#insert_moves r res - done; - Some res - -(* Extract debug info contained in a C-- operation *) -let debuginfo_op = function - | Capply(_, dbg) -> dbg - | Cextcall(_, _, _, dbg) -> dbg - | Craise (_, dbg) -> dbg - | Ccheckbound dbg -> dbg - | _ -> Debuginfo.none - -(* Registers for catch constructs *) -let catch_regs = ref [] - -(* Name of function being compiled *) -let current_function_name = ref "" - -(* The default instruction selection class *) - -class virtual selector_generic = object (self) - -(* Says if an expression is "simple". A "simple" expression has no - side-effects and its execution can be delayed until its value - is really needed. In the case of e.g. an [alloc] instruction, - the non-simple arguments are computed in right-to-left order - first, then the block is allocated, then the simple arguments are - evaluated and stored. *) - -method is_simple_expr = function - Cconst_int _ -> true - | Cconst_natint _ -> true - | Cconst_blockheader _ -> true - | Cconst_float _ -> true - | Cconst_symbol _ -> true - | Cconst_pointer _ -> true - | Cconst_natpointer _ -> true - | Cvar _ -> true - | Ctuple el -> List.for_all self#is_simple_expr el - | Clet(id, arg, body) -> self#is_simple_expr arg && self#is_simple_expr body - | Csequence(e1, e2) -> self#is_simple_expr e1 && self#is_simple_expr e2 - | Cop(op, args) -> - begin match op with - (* The following may have side effects *) - | Capply _ | Cextcall _ | Calloc | Cstore _ | Craise _ -> false - (* The remaining operations are simple if their args are *) - | _ -> - List.for_all self#is_simple_expr args - end - | _ -> false - -(* Says whether an integer constant is a suitable immediate argument *) - -method virtual is_immediate : int -> bool - -(* Selection of addressing modes *) - -method virtual select_addressing : - Cmm.memory_chunk -> Cmm.expression -> Arch.addressing_mode * Cmm.expression - -(* Default instruction selection for stores (of words) *) - -method select_store is_assign addr arg = - (Istore(Word, addr, is_assign), arg) - -(* call marking methods, documented in selectgen.mli *) - -method mark_call = - Proc.contains_calls := true - -method mark_tailcall = () - -method mark_c_tailcall = () - -method mark_instr = function - | Iop (Icall_ind | Icall_imm _ | Iextcall _) -> - self#mark_call - | Iop (Itailcall_ind | Itailcall_imm _) -> - self#mark_tailcall - | Iop (Ialloc _) -> - self#mark_call (* caml_alloc*, caml_garbage_collection *) - | Iop (Iintop Icheckbound | Iintop_imm(Icheckbound, _)) -> - self#mark_c_tailcall (* caml_ml_array_bound_error *) - | Iraise raise_kind -> - begin match raise_kind with - | Lambda.Raise_notrace -> () - | Lambda.Raise_regular | Lambda.Raise_reraise -> - if !Clflags.debug then (* PR#6239 *) - (* caml_stash_backtrace; we #mark_call rather than - #mark_c_tailcall to get a good stack backtrace *) - self#mark_call - end - | Itrywith _ -> - self#mark_call - | _ -> () - -(* Default instruction selection for operators *) - -method select_operation op args = - match (op, args) with - (Capply(ty, dbg), Cconst_symbol s :: rem) -> (Icall_imm s, rem) - | (Capply(ty, dbg), _) -> (Icall_ind, args) - | (Cextcall(s, ty, alloc, dbg), _) -> (Iextcall(s, alloc), args) - | (Cload chunk, [arg]) -> - let (addr, eloc) = self#select_addressing chunk arg in - (Iload(chunk, addr), [eloc]) - | (Cstore chunk, [arg1; arg2]) -> - let (addr, eloc) = self#select_addressing chunk arg1 in - if chunk = Word then begin - let (op, newarg2) = self#select_store true addr arg2 in - (op, [newarg2; eloc]) - end else begin - (Istore(chunk, addr, true), [arg2; eloc]) - (* Inversion addr/datum in Istore *) - end - | (Calloc, _) -> (Ialloc 0, args) - | (Caddi, _) -> self#select_arith_comm Iadd args - | (Csubi, _) -> self#select_arith Isub args - | (Cmuli, _) -> self#select_arith_comm Imul args - | (Cmulhi, _) -> self#select_arith_comm Imulh args - | (Cdivi, _) -> (Iintop Idiv, args) - | (Cmodi, _) -> (Iintop Imod, args) - | (Cand, _) -> self#select_arith_comm Iand args - | (Cor, _) -> self#select_arith_comm Ior args - | (Cxor, _) -> self#select_arith_comm Ixor args - | (Clsl, _) -> self#select_shift Ilsl args - | (Clsr, _) -> self#select_shift Ilsr args - | (Casr, _) -> self#select_shift Iasr args - | (Ccmpi comp, _) -> self#select_arith_comp (Isigned comp) args - | (Cadda, _) -> self#select_arith_comm Iadd args - | (Csuba, _) -> self#select_arith Isub args - | (Ccmpa comp, _) -> self#select_arith_comp (Iunsigned comp) args - | (Cnegf, _) -> (Inegf, args) - | (Cabsf, _) -> (Iabsf, args) - | (Caddf, _) -> (Iaddf, args) - | (Csubf, _) -> (Isubf, args) - | (Cmulf, _) -> (Imulf, args) - | (Cdivf, _) -> (Idivf, args) - | (Cfloatofint, _) -> (Ifloatofint, args) - | (Cintoffloat, _) -> (Iintoffloat, args) - | (Ccheckbound _, _) -> self#select_arith Icheckbound args - | _ -> fatal_error "Selection.select_oper" - -method private select_arith_comm op = function - [arg; Cconst_int n] when self#is_immediate n -> - (Iintop_imm(op, n), [arg]) - | [arg; Cconst_pointer n] when self#is_immediate n -> - (Iintop_imm(op, n), [arg]) - | [Cconst_int n; arg] when self#is_immediate n -> - (Iintop_imm(op, n), [arg]) - | [Cconst_pointer n; arg] when self#is_immediate n -> - (Iintop_imm(op, n), [arg]) - | args -> - (Iintop op, args) - -method private select_arith op = function - [arg; Cconst_int n] when self#is_immediate n -> - (Iintop_imm(op, n), [arg]) - | [arg; Cconst_pointer n] when self#is_immediate n -> - (Iintop_imm(op, n), [arg]) - | args -> - (Iintop op, args) - -method private select_shift op = function - [arg; Cconst_int n] when n >= 0 && n < Arch.size_int * 8 -> - (Iintop_imm(op, n), [arg]) - | args -> - (Iintop op, args) - -method private select_arith_comp cmp = function - [arg; Cconst_int n] when self#is_immediate n -> - (Iintop_imm(Icomp cmp, n), [arg]) - | [arg; Cconst_pointer n] when self#is_immediate n -> - (Iintop_imm(Icomp cmp, n), [arg]) - | [Cconst_int n; arg] when self#is_immediate n -> - (Iintop_imm(Icomp(swap_intcomp cmp), n), [arg]) - | [Cconst_pointer n; arg] when self#is_immediate n -> - (Iintop_imm(Icomp(swap_intcomp cmp), n), [arg]) - | args -> - (Iintop(Icomp cmp), args) - -(* Instruction selection for conditionals *) - -method select_condition = function - Cop(Ccmpi cmp, [arg1; Cconst_int n]) when self#is_immediate n -> - (Iinttest_imm(Isigned cmp, n), arg1) - | Cop(Ccmpi cmp, [Cconst_int n; arg2]) when self#is_immediate n -> - (Iinttest_imm(Isigned(swap_comparison cmp), n), arg2) - | Cop(Ccmpi cmp, [arg1; Cconst_pointer n]) when self#is_immediate n -> - (Iinttest_imm(Isigned cmp, n), arg1) - | Cop(Ccmpi cmp, [Cconst_pointer n; arg2]) when self#is_immediate n -> - (Iinttest_imm(Isigned(swap_comparison cmp), n), arg2) - | Cop(Ccmpi cmp, args) -> - (Iinttest(Isigned cmp), Ctuple args) - | Cop(Ccmpa cmp, [arg1; Cconst_pointer n]) when self#is_immediate n -> - (Iinttest_imm(Iunsigned cmp, n), arg1) - | Cop(Ccmpa cmp, [arg1; Cconst_int n]) when self#is_immediate n -> - (Iinttest_imm(Iunsigned cmp, n), arg1) - | Cop(Ccmpa cmp, [Cconst_pointer n; arg2]) when self#is_immediate n -> - (Iinttest_imm(Iunsigned(swap_comparison cmp), n), arg2) - | Cop(Ccmpa cmp, [Cconst_int n; arg2]) when self#is_immediate n -> - (Iinttest_imm(Iunsigned(swap_comparison cmp), n), arg2) - | Cop(Ccmpa cmp, args) -> - (Iinttest(Iunsigned cmp), Ctuple args) - | Cop(Ccmpf cmp, args) -> - (Ifloattest(cmp, false), Ctuple args) - | Cop(Cand, [arg; Cconst_int 1]) -> - (Ioddtest, arg) - | arg -> - (Itruetest, arg) - -(* Return an array of fresh registers of the given type. - Normally implemented as Reg.createv, but some - ports (e.g. Arm) can override this definition to store float values - in pairs of integer registers. *) - -method regs_for tys = Reg.createv tys - -(* Buffering of instruction sequences *) - -val mutable instr_seq = dummy_instr - -method insert_debug desc dbg arg res = - instr_seq <- instr_cons_debug desc arg res dbg instr_seq - -method insert desc arg res = - instr_seq <- instr_cons desc arg res instr_seq - -method extract = - let rec extract res i = - if i == dummy_instr - then res - else extract {i with next = res} i.next in - extract (end_instr()) instr_seq - -(* Insert a sequence of moves from one pseudoreg set to another. *) - -method insert_move src dst = - if src.stamp <> dst.stamp then - self#insert (Iop Imove) [|src|] [|dst|] - -method insert_moves src dst = - for i = 0 to min (Array.length src) (Array.length dst) - 1 do - self#insert_move src.(i) dst.(i) - done - -(* Insert moves and stack offsets for function arguments and results *) - -method insert_move_args arg loc stacksize = - if stacksize <> 0 then self#insert (Iop(Istackoffset stacksize)) [||] [||]; - self#insert_moves arg loc - -method insert_move_results loc res stacksize = - if stacksize <> 0 then self#insert(Iop(Istackoffset(-stacksize))) [||] [||]; - self#insert_moves loc res - -(* Add an Iop opcode. Can be overridden by processor description - to insert moves before and after the operation, i.e. for two-address - instructions, or instructions using dedicated registers. *) - -method insert_op_debug op dbg rs rd = - self#insert_debug (Iop op) dbg rs rd; - rd - -method insert_op op rs rd = - self#insert_op_debug op Debuginfo.none rs rd - -(* Add the instructions for the given expression - at the end of the self sequence *) - -method emit_expr env exp = - match exp with - Cconst_int n -> - let r = self#regs_for typ_int in - Some(self#insert_op (Iconst_int(Nativeint.of_int n)) [||] r) - | Cconst_natint n -> - let r = self#regs_for typ_int in - Some(self#insert_op (Iconst_int n) [||] r) - | Cconst_blockheader n -> - let r = self#regs_for typ_int in - Some(self#insert_op (Iconst_blockheader n) [||] r) - | Cconst_float n -> - let r = self#regs_for typ_float in - Some(self#insert_op (Iconst_float n) [||] r) - | Cconst_symbol n -> - let r = self#regs_for typ_addr in - Some(self#insert_op (Iconst_symbol n) [||] r) - | Cconst_pointer n -> - let r = self#regs_for typ_addr in - Some(self#insert_op (Iconst_int(Nativeint.of_int n)) [||] r) - | Cconst_natpointer n -> - let r = self#regs_for typ_addr in - Some(self#insert_op (Iconst_int n) [||] r) - | Cvar v -> - begin try - Some(Tbl.find v env) - with Not_found -> - fatal_error("Selection.emit_expr: unbound var " ^ Ident.unique_name v) - end - | Clet(v, e1, e2) -> - begin match self#emit_expr env e1 with - None -> None - | Some r1 -> self#emit_expr (self#bind_let env v r1) e2 - end - | Cassign(v, e1) -> - let rv = - try - Tbl.find v env - with Not_found -> - fatal_error ("Selection.emit_expr: unbound var " ^ Ident.name v) in - begin match self#emit_expr env e1 with - None -> None - | Some r1 -> self#insert_moves r1 rv; Some [||] - end - | Ctuple [] -> - Some [||] - | Ctuple exp_list -> - begin match self#emit_parts_list env exp_list with - None -> None - | Some(simple_list, ext_env) -> - Some(self#emit_tuple ext_env simple_list) - end - | Cop(Craise (k, dbg), [arg]) -> - begin match self#emit_expr env arg with - None -> None - | Some r1 -> - let rd = [|Proc.loc_exn_bucket|] in - self#insert (Iop Imove) r1 rd; - self#insert_debug (Iraise k) dbg rd [||]; - None - end - | Cop(Ccmpf comp, args) -> - self#emit_expr env (Cifthenelse(exp, Cconst_int 1, Cconst_int 0)) - | Cop(op, args) -> - begin match self#emit_parts_list env args with - None -> None - | Some(simple_args, env) -> - let ty = oper_result_type op in - let (new_op, new_args) = self#select_operation op simple_args in - let dbg = debuginfo_op op in - match new_op with - Icall_ind -> - let r1 = self#emit_tuple env new_args in - let rarg = Array.sub r1 1 (Array.length r1 - 1) in - let rd = self#regs_for ty in - let (loc_arg, stack_ofs) = Proc.loc_arguments rarg in - let loc_res = Proc.loc_results rd in - self#insert_move_args rarg loc_arg stack_ofs; - self#insert_debug (Iop Icall_ind) dbg - (Array.append [|r1.(0)|] loc_arg) loc_res; - self#insert_move_results loc_res rd stack_ofs; - Some rd - | Icall_imm lbl -> - let r1 = self#emit_tuple env new_args in - let rd = self#regs_for ty in - let (loc_arg, stack_ofs) = Proc.loc_arguments r1 in - let loc_res = Proc.loc_results rd in - self#insert_move_args r1 loc_arg stack_ofs; - self#insert_debug (Iop(Icall_imm lbl)) dbg loc_arg loc_res; - self#insert_move_results loc_res rd stack_ofs; - Some rd - | Iextcall(lbl, alloc) -> - let (loc_arg, stack_ofs) = - self#emit_extcall_args env new_args in - let rd = self#regs_for ty in - let loc_res = self#insert_op_debug (Iextcall(lbl, alloc)) dbg - loc_arg (Proc.loc_external_results rd) in - self#insert_move_results loc_res rd stack_ofs; - Some rd - | Ialloc _ -> - let rd = self#regs_for typ_addr in - let size = size_expr env (Ctuple new_args) in - self#insert (Iop(Ialloc size)) [||] rd; - self#emit_stores env new_args rd; - Some rd - | op -> - let r1 = self#emit_tuple env new_args in - let rd = self#regs_for ty in - Some (self#insert_op_debug op dbg r1 rd) - end - | Csequence(e1, e2) -> - begin match self#emit_expr env e1 with - None -> None - | Some r1 -> self#emit_expr env e2 - end - | Cifthenelse(econd, eif, eelse) -> - let (cond, earg) = self#select_condition econd in - begin match self#emit_expr env earg with - None -> None - | Some rarg -> - let (rif, sif) = self#emit_sequence env eif in - let (relse, selse) = self#emit_sequence env eelse in - let r = join rif sif relse selse in - self#insert (Iifthenelse(cond, sif#extract, selse#extract)) - rarg [||]; - r - end - | Cswitch(esel, index, ecases) -> - begin match self#emit_expr env esel with - None -> None - | Some rsel -> - let rscases = Array.map (self#emit_sequence env) ecases in - let r = join_array rscases in - self#insert (Iswitch(index, - Array.map (fun (r, s) -> s#extract) rscases)) - rsel [||]; - r - end - | Cloop(ebody) -> - let (rarg, sbody) = self#emit_sequence env ebody in - self#insert (Iloop(sbody#extract)) [||] [||]; - Some [||] - | Ccatch(nfail, ids, e1, e2) -> - let rs = - List.map - (fun id -> - let r = self#regs_for typ_addr in name_regs id r; r) - ids in - catch_regs := (nfail, Array.concat rs) :: !catch_regs ; - let (r1, s1) = self#emit_sequence env e1 in - catch_regs := List.tl !catch_regs ; - let new_env = - List.fold_left - (fun env (id,r) -> Tbl.add id r env) - env (List.combine ids rs) in - let (r2, s2) = self#emit_sequence new_env e2 in - let r = join r1 s1 r2 s2 in - self#insert (Icatch(nfail, s1#extract, s2#extract)) [||] [||]; - r - | Cexit (nfail,args) -> - begin match self#emit_parts_list env args with - None -> None - | Some (simple_list, ext_env) -> - let src = self#emit_tuple ext_env simple_list in - let dest = - try List.assoc nfail !catch_regs - with Not_found -> - Misc.fatal_error - ("Selectgen.emit_expr, on exit("^string_of_int nfail^")") in - self#insert_moves src dest ; - self#insert (Iexit nfail) [||] [||]; - None - end - | Ctrywith(e1, v, e2) -> - let (r1, s1) = self#emit_sequence env e1 in - let rv = self#regs_for typ_addr in - let (r2, s2) = self#emit_sequence (Tbl.add v rv env) e2 in - let r = join r1 s1 r2 s2 in - self#insert - (Itrywith(s1#extract, - instr_cons (Iop Imove) [|Proc.loc_exn_bucket|] rv - (s2#extract))) - [||] [||]; - r - -method private emit_sequence env exp = - let s = {< instr_seq = dummy_instr >} in - let r = s#emit_expr env exp in - (r, s) - -method private bind_let env v r1 = - if all_regs_anonymous r1 then begin - name_regs v r1; - Tbl.add v r1 env - end else begin - let rv = Reg.createv_like r1 in - name_regs v rv; - self#insert_moves r1 rv; - Tbl.add v rv env - end - -method private emit_parts env exp = - if self#is_simple_expr exp then - Some (exp, env) - else begin - match self#emit_expr env exp with - None -> None - | Some r -> - if Array.length r = 0 then - Some (Ctuple [], env) - else begin - (* The normal case *) - let id = Ident.create "bind" in - if all_regs_anonymous r then - (* r is an anonymous, unshared register; use it directly *) - Some (Cvar id, Tbl.add id r env) - else begin - (* Introduce a fresh temp to hold the result *) - let tmp = Reg.createv_like r in - self#insert_moves r tmp; - Some (Cvar id, Tbl.add id tmp env) - end - end - end - -method private emit_parts_list env exp_list = - match exp_list with - [] -> Some ([], env) - | exp :: rem -> - (* This ensures right-to-left evaluation, consistent with the - bytecode compiler *) - match self#emit_parts_list env rem with - None -> None - | Some(new_rem, new_env) -> - match self#emit_parts new_env exp with - None -> None - | Some(new_exp, fin_env) -> Some(new_exp :: new_rem, fin_env) - -method private emit_tuple env exp_list = - let rec emit_list = function - [] -> [] - | exp :: rem -> - (* Again, force right-to-left evaluation *) - let loc_rem = emit_list rem in - match self#emit_expr env exp with - None -> assert false (* should have been caught in emit_parts *) - | Some loc_exp -> loc_exp :: loc_rem in - Array.concat(emit_list exp_list) - -method emit_extcall_args env args = - let r1 = self#emit_tuple env args in - let (loc_arg, stack_ofs as arg_stack) = Proc.loc_external_arguments r1 in - self#insert_move_args r1 loc_arg stack_ofs; - arg_stack - -method emit_stores env data regs_addr = - let a = - ref (Arch.offset_addressing Arch.identity_addressing (-Arch.size_int)) in - List.iter - (fun e -> - let (op, arg) = self#select_store false !a e in - match self#emit_expr env arg with - None -> assert false - | Some regs -> - match op with - Istore(_, _, _) -> - for i = 0 to Array.length regs - 1 do - let r = regs.(i) in - let kind = if r.typ = Float then Double_u else Word in - self#insert (Iop(Istore(kind, !a, false))) - (Array.append [|r|] regs_addr) [||]; - a := Arch.offset_addressing !a (size_component r.typ) - done - | _ -> - self#insert (Iop op) (Array.append regs regs_addr) [||]; - a := Arch.offset_addressing !a (size_expr env e)) - data - -(* Same, but in tail position *) - -method private emit_return env exp = - match self#emit_expr env exp with - None -> () - | Some r -> - let loc = Proc.loc_results r in - self#insert_moves r loc; - self#insert Ireturn loc [||] - -method emit_tail env exp = - match exp with - Clet(v, e1, e2) -> - begin match self#emit_expr env e1 with - None -> () - | Some r1 -> self#emit_tail (self#bind_let env v r1) e2 - end - | Cop(Capply(ty, dbg) as op, args) -> - begin match self#emit_parts_list env args with - None -> () - | Some(simple_args, env) -> - let (new_op, new_args) = self#select_operation op simple_args in - match new_op with - Icall_ind -> - let r1 = self#emit_tuple env new_args in - let rarg = Array.sub r1 1 (Array.length r1 - 1) in - let (loc_arg, stack_ofs) = Proc.loc_arguments rarg in - if stack_ofs = 0 then begin - self#insert_moves rarg loc_arg; - self#insert (Iop Itailcall_ind) - (Array.append [|r1.(0)|] loc_arg) [||] - end else begin - let rd = self#regs_for ty in - let loc_res = Proc.loc_results rd in - self#insert_move_args rarg loc_arg stack_ofs; - self#insert_debug (Iop Icall_ind) dbg - (Array.append [|r1.(0)|] loc_arg) loc_res; - self#insert(Iop(Istackoffset(-stack_ofs))) [||] [||]; - self#insert Ireturn loc_res [||] - end - | Icall_imm lbl -> - let r1 = self#emit_tuple env new_args in - let (loc_arg, stack_ofs) = Proc.loc_arguments r1 in - if stack_ofs = 0 then begin - self#insert_moves r1 loc_arg; - self#insert (Iop(Itailcall_imm lbl)) loc_arg [||] - end else if lbl = !current_function_name then begin - let loc_arg' = Proc.loc_parameters r1 in - self#insert_moves r1 loc_arg'; - self#insert (Iop(Itailcall_imm lbl)) loc_arg' [||] - end else begin - let rd = self#regs_for ty in - let loc_res = Proc.loc_results rd in - self#insert_move_args r1 loc_arg stack_ofs; - self#insert_debug (Iop(Icall_imm lbl)) dbg loc_arg loc_res; - self#insert(Iop(Istackoffset(-stack_ofs))) [||] [||]; - self#insert Ireturn loc_res [||] - end - | _ -> fatal_error "Selection.emit_tail" - end - | Csequence(e1, e2) -> - begin match self#emit_expr env e1 with - None -> () - | Some r1 -> self#emit_tail env e2 - end - | Cifthenelse(econd, eif, eelse) -> - let (cond, earg) = self#select_condition econd in - begin match self#emit_expr env earg with - None -> () - | Some rarg -> - self#insert (Iifthenelse(cond, self#emit_tail_sequence env eif, - self#emit_tail_sequence env eelse)) - rarg [||] - end - | Cswitch(esel, index, ecases) -> - begin match self#emit_expr env esel with - None -> () - | Some rsel -> - self#insert - (Iswitch(index, Array.map (self#emit_tail_sequence env) ecases)) - rsel [||] - end - | Ccatch(nfail, ids, e1, e2) -> - let rs = - List.map - (fun id -> - let r = self#regs_for typ_addr in - name_regs id r ; - r) - ids in - catch_regs := (nfail, Array.concat rs) :: !catch_regs ; - let s1 = self#emit_tail_sequence env e1 in - catch_regs := List.tl !catch_regs ; - let new_env = - List.fold_left - (fun env (id,r) -> Tbl.add id r env) - env (List.combine ids rs) in - let s2 = self#emit_tail_sequence new_env e2 in - self#insert (Icatch(nfail, s1, s2)) [||] [||] - | Ctrywith(e1, v, e2) -> - let (opt_r1, s1) = self#emit_sequence env e1 in - let rv = self#regs_for typ_addr in - let s2 = self#emit_tail_sequence (Tbl.add v rv env) e2 in - self#insert - (Itrywith(s1#extract, - instr_cons (Iop Imove) [|Proc.loc_exn_bucket|] rv s2)) - [||] [||]; - begin match opt_r1 with - None -> () - | Some r1 -> - let loc = Proc.loc_results r1 in - self#insert_moves r1 loc; - self#insert Ireturn loc [||] - end - | _ -> - self#emit_return env exp - -method private emit_tail_sequence env exp = - let s = {< instr_seq = dummy_instr >} in - s#emit_tail env exp; - s#extract - -(* Sequentialization of a function definition *) - -method emit_fundecl f = - Proc.contains_calls := false; - current_function_name := f.Cmm.fun_name; - let rargs = - List.map - (fun (id, ty) -> let r = self#regs_for ty in name_regs id r; r) - f.Cmm.fun_args in - let rarg = Array.concat rargs in - let loc_arg = Proc.loc_parameters rarg in - let env = - List.fold_right2 - (fun (id, ty) r env -> Tbl.add id r env) - f.Cmm.fun_args rargs Tbl.empty in - self#insert_moves loc_arg rarg; - self#emit_tail env f.Cmm.fun_body; - let body = self#extract in - instr_iter (fun instr -> self#mark_instr instr.Mach.desc) body; - { fun_name = f.Cmm.fun_name; - fun_args = loc_arg; - fun_body = body; - fun_fast = f.Cmm.fun_fast; - fun_dbg = f.Cmm.fun_dbg } - -end - -(* Tail call criterion (estimated). Assumes: -- all arguments are of type "int" (always the case for OCaml function calls) -- one extra argument representing the closure environment (conservative). -*) - -let is_tail_call nargs = - assert (Reg.dummy.typ = Int); - let args = Array.make (nargs + 1) Reg.dummy in - let (loc_arg, stack_ofs) = Proc.loc_arguments args in - stack_ofs = 0 - -let _ = - Simplif.is_tail_native_heuristic := is_tail_call - -let reset () = - catch_regs := []; - current_function_name := "" diff --git a/vendor/ocaml/asmcomp/selectgen.mli b/vendor/ocaml/asmcomp/selectgen.mli deleted file mode 100644 index 0de903821..000000000 --- a/vendor/ocaml/asmcomp/selectgen.mli +++ /dev/null @@ -1,105 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Selection of pseudo-instructions, assignment of pseudo-registers, - sequentialization. *) - -type environment = (Ident.t, Reg.t array) Tbl.t - -val size_expr : environment -> Cmm.expression -> int - -class virtual selector_generic : object - (* The following methods must or can be overridden by the processor - description *) - method virtual is_immediate : int -> bool - (* Must be defined to indicate whether a constant is a suitable - immediate operand to arithmetic instructions *) - method virtual select_addressing : - Cmm.memory_chunk -> Cmm.expression -> Arch.addressing_mode * Cmm.expression - (* Must be defined to select addressing modes *) - method is_simple_expr: Cmm.expression -> bool - (* Can be overridden to reflect special extcalls known to be pure *) - method select_operation : - Cmm.operation -> - Cmm.expression list -> Mach.operation * Cmm.expression list - (* Can be overridden to deal with special arithmetic instructions *) - method select_condition : Cmm.expression -> Mach.test * Cmm.expression - (* Can be overridden to deal with special test instructions *) - method select_store : - bool -> Arch.addressing_mode -> Cmm.expression -> - Mach.operation * Cmm.expression - (* Can be overridden to deal with special store constant instructions *) - method regs_for : Cmm.machtype -> Reg.t array - (* Return an array of fresh registers of the given type. - Default implementation is like Reg.createv. - Can be overridden if float values are stored as pairs of - integer registers. *) - method insert_op : - Mach.operation -> Reg.t array -> Reg.t array -> Reg.t array - (* Can be overridden to deal with 2-address instructions - or instructions with hardwired input/output registers *) - method insert_op_debug : - Mach.operation -> Debuginfo.t -> Reg.t array -> Reg.t array -> Reg.t array - (* Can be overridden to deal with 2-address instructions - or instructions with hardwired input/output registers *) - method emit_extcall_args : - environment -> Cmm.expression list -> Reg.t array * int - (* Can be overridden to deal with stack-based calling conventions *) - method emit_stores : - environment -> Cmm.expression list -> Reg.t array -> unit - (* Fill a freshly allocated block. Can be overridden for architectures - that do not provide Arch.offset_addressing. *) - - method mark_call : unit - (* informs the code emitter that the current function is non-leaf: - it may perform a (non-tail) call; by default, sets - [Proc.contains_calls := true] *) - - method mark_tailcall : unit - (* informs the code emitter that the current function may end with - a tail-call; by default, does nothing *) - - method mark_c_tailcall : unit - (* informs the code emitter that the current function may call - a C function that never returns; by default, does nothing. - - It is unecessary to save the stack pointer in this situation - (which is the main purpose of tracking leaf functions) but some - architectures still need to ensure that the stack is properly - aligned when the C function is called. This is achieved by - overloading this method to set [Proc.contains_calls := true] *) - - method mark_instr : Mach.instruction_desc -> unit - (* dispatches on instructions to call one of the marking function - above; overloading this is useful if Ispecific instructions need - marking *) - - (* The following method is the entry point and should not be overridden *) - method emit_fundecl : Cmm.fundecl -> Mach.fundecl - - (* The following methods should not be overridden. They cannot be - declared "private" in the current implementation because they - are not always applied to "self", but ideally they should be private. *) - method extract : Mach.instruction - method insert : Mach.instruction_desc -> Reg.t array -> Reg.t array -> unit - method insert_debug : Mach.instruction_desc -> Debuginfo.t -> - Reg.t array -> Reg.t array -> unit - method insert_move : Reg.t -> Reg.t -> unit - method insert_move_args : Reg.t array -> Reg.t array -> int -> unit - method insert_move_results : Reg.t array -> Reg.t array -> int -> unit - method insert_moves : Reg.t array -> Reg.t array -> unit - method emit_expr : - (Ident.t, Reg.t array) Tbl.t -> Cmm.expression -> Reg.t array option - method emit_tail : (Ident.t, Reg.t array) Tbl.t -> Cmm.expression -> unit -end - -val reset : unit -> unit diff --git a/vendor/ocaml/asmcomp/selection.mli b/vendor/ocaml/asmcomp/selection.mli deleted file mode 100644 index f1c9e34ce..000000000 --- a/vendor/ocaml/asmcomp/selection.mli +++ /dev/null @@ -1,16 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Selection of pseudo-instructions, assignment of pseudo-registers, - sequentialization. *) - -val fundecl: Cmm.fundecl -> Mach.fundecl diff --git a/vendor/ocaml/asmcomp/sparc/CSE.ml b/vendor/ocaml/asmcomp/sparc/CSE.ml deleted file mode 100644 index e48d60436..000000000 --- a/vendor/ocaml/asmcomp/sparc/CSE.ml +++ /dev/null @@ -1,30 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Gallium, INRIA Rocquencourt *) -(* *) -(* Copyright 2014 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* CSE for Sparc *) - -open Mach -open CSEgen - -class cse = object (self) - -inherit cse_generic (* as super *) - -method! is_cheap_operation op = - match op with - | Iconst_int n | Iconst_blockheader n -> n <= 4095n && n >= -4096n - | _ -> false - -end - -let fundecl f = - (new cse)#fundecl f diff --git a/vendor/ocaml/asmcomp/sparc/arch.ml b/vendor/ocaml/asmcomp/sparc/arch.ml deleted file mode 100644 index f5c069366..000000000 --- a/vendor/ocaml/asmcomp/sparc/arch.ml +++ /dev/null @@ -1,78 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Specific operations for the Sparc processor *) - -open Format - -(* SPARC V8 adds multiply and divide. - SPARC V9 adds double precision float operations, conditional - move, and more instructions that are only useful in 64 bit mode. - Sun calls 32 bit V9 "V8+". *) -type arch_version = SPARC_V7 | SPARC_V8 | SPARC_V9 - -let arch_version = ref SPARC_V7 - -let command_line_options = - [ "-march=v8", Arg.Unit (fun () -> arch_version := SPARC_V8), - " Generate code for SPARC V8 processors"; - "-march=v9", Arg.Unit (fun () -> arch_version := SPARC_V9), - " Generate code for SPARC V9 processors" ] - -type specific_operation = unit (* None worth mentioning *) - -(* Addressing modes *) - -type addressing_mode = - Ibased of string * int (* symbol + displ *) - | Iindexed of int (* reg + displ *) - -(* Sizes, endianness *) - -let big_endian = true - -let size_addr = 4 -let size_int = 4 -let size_float = 8 - -let allow_unaligned_access = false - -(* Behavior of division *) - -let division_crashes_on_overflow = false - -(* Operations on addressing modes *) - -let identity_addressing = Iindexed 0 - -let offset_addressing addr delta = - match addr with - Ibased(s, n) -> Ibased(s, n + delta) - | Iindexed n -> Iindexed(n + delta) - -let num_args_addressing = function - Ibased(s, n) -> 0 - | Iindexed n -> 1 - -(* Printing operations and addressing modes *) - -let print_addressing printreg addr ppf arg = - match addr with - | Ibased(s, n) -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "\"%s\"%s" s idx - | Iindexed n -> - let idx = if n <> 0 then Printf.sprintf " + %i" n else "" in - fprintf ppf "%a%s" printreg arg.(0) idx - -let print_specific_operation printreg op ppf arg = - Misc.fatal_error "Arch_sparc.print_specific_operation" diff --git a/vendor/ocaml/asmcomp/sparc/emit.mlp b/vendor/ocaml/asmcomp/sparc/emit.mlp deleted file mode 100644 index 877a3d52a..000000000 --- a/vendor/ocaml/asmcomp/sparc/emit.mlp +++ /dev/null @@ -1,758 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Emission of Sparc assembly code *) - -open Misc -open Cmm -open Arch -open Proc -open Reg -open Mach -open Linearize -open Emitaux - -(* Solaris vs. the other ports *) - -let solaris = Config.system = "solaris" - -(* Tradeoff between code size and code speed *) - -let fastcode_flag = ref true - -(* Layout of the stack *) -(* Always keep the stack 8-aligned. - Always leave 96 bytes at the bottom of the stack *) - -let stack_offset = ref 0 - -let frame_size () = - let size = - !stack_offset + - 4 * num_stack_slots.(0) + 8 * num_stack_slots.(1) + - (if !contains_calls then 4 else 0) in - Misc.align size 8 - -let slot_offset loc cl = - match loc with - Incoming n -> frame_size() + n + 96 - | Local n -> - if cl = 0 - then !stack_offset + num_stack_slots.(1) * 8 + n * 4 + 96 - else !stack_offset + n * 8 + 96 - | Outgoing n -> n + 96 - -(* Return the other register in a register pair *) - -let next_in_pair = function - {loc = Reg r; typ = (Int | Addr)} -> phys_reg (r + 1) - | {loc = Reg r; typ = Float} -> phys_reg (r + 16) - | _ -> fatal_error "Emit.next_in_pair" - -(* Symbols are prefixed with _ under SunOS *) - -let symbol_prefix = - if Config.system = "sunos" then "_" else "" - -let emit_symbol s = - if String.length s >= 1 && s.[0] = '.' - then emit_string s - else begin emit_string symbol_prefix; Emitaux.emit_symbol '$' s end - -let emit_size lbl = - if Config.system = "solaris" then - ` .size {emit_symbol lbl},.-{emit_symbol lbl}\n` - -let rodata () = - if Config.system = "solaris" (* || Config.system = "linux" *) - (* || Config.system = "gnu" *) then - ` .section \".rodata\"\n` - else - ` .data\n` - -(* Check if an integer or native integer is an immediate operand *) - -let is_immediate n = - n <= 4095 && n >= -4096 - -let is_native_immediate n = - n <= Nativeint.of_int 4095 && n >= Nativeint.of_int (-4096) - -(* Output a label *) - -let label_prefix = - if Config.system = "sunos" then "L" else ".L" - -let emit_label lbl = - emit_string label_prefix; emit_int lbl - -let emit_data_label lbl = - emit_string label_prefix; emit_string "d"; emit_int lbl - -(* Output a pseudo-register *) - -let emit_reg r = - match r.loc with - Reg r -> emit_string (register_name r) - | _ -> fatal_error "Emit.emit_reg" - -(* Output a stack reference *) - -let emit_stack r = - match r.loc with - Stack s -> - let ofs = slot_offset s (register_class r) in `[%sp + {emit_int ofs}]` - | _ -> fatal_error "Emit.emit_stack" - -(* Output a load *) - -let emit_load instr addr arg dst = - match addr with - Ibased(s, 0) -> - ` sethi %hi({emit_symbol s}), %g1\n`; - ` {emit_string instr} [%g1 + %lo({emit_symbol s})], {emit_reg dst}\n` - | Ibased(s, ofs) -> - ` sethi %hi({emit_symbol s} + {emit_int ofs}), %g1\n`; - ` {emit_string instr} [%g1 + %lo({emit_symbol s} + {emit_int ofs})], {emit_reg dst}\n` - | Iindexed ofs -> - if is_immediate ofs then - ` {emit_string instr} [{emit_reg arg.(0)} + {emit_int ofs}], {emit_reg dst}\n` - else begin - ` sethi %hi({emit_int ofs}), %g1\n`; - ` or %g1, %lo({emit_int ofs}), %g1\n`; - ` {emit_string instr} [{emit_reg arg.(0)} + %g1], {emit_reg dst}\n` - end - -(* Output a store *) - -let emit_store instr addr arg src = - match addr with - Ibased(s, 0) -> - ` sethi %hi({emit_symbol s}), %g1\n`; - ` {emit_string instr} {emit_reg src}, [%g1 + %lo({emit_symbol s})]\n` - | Ibased(s, ofs) -> - ` sethi %hi({emit_symbol s} + {emit_int ofs}), %g1\n`; - ` {emit_string instr} {emit_reg src}, [%g1 + %lo({emit_symbol s} + {emit_int ofs})]\n` - | Iindexed ofs -> - if is_immediate ofs then - ` {emit_string instr} {emit_reg src}, [{emit_reg arg.(1)} + {emit_int ofs}]\n` - else begin - ` sethi %hi({emit_int ofs}), %g1\n`; - ` or %g1, %lo({emit_int ofs}), %g1\n`; - ` {emit_string instr} {emit_reg src}, [{emit_reg arg.(1)} + %g1]\n` - end - -(* Record live pointers at call points *) - -type frame_descr = - { fd_lbl: int; (* Return address *) - fd_frame_size: int; (* Size of stack frame *) - fd_live_offset: int list } (* Offsets/regs of live addresses *) - -let frame_descriptors = ref([] : frame_descr list) - -let record_frame live = - let lbl = new_label() in - let live_offset = ref [] in - Reg.Set.iter - (function - {typ = Addr; loc = Reg r} -> - live_offset := ((r lsl 1) + 1) :: !live_offset - | {typ = Addr; loc = Stack s} as reg -> - live_offset := - slot_offset s (register_class reg) :: !live_offset - | _ -> ()) - live; - frame_descriptors := - { fd_lbl = lbl; - fd_frame_size = frame_size(); - fd_live_offset = !live_offset } :: !frame_descriptors; - `{emit_label lbl}:` - -let emit_frame fd = - ` .word {emit_label fd.fd_lbl}\n`; - ` .half {emit_int fd.fd_frame_size}\n`; - ` .half {emit_int (List.length fd.fd_live_offset)}\n`; - List.iter - (fun n -> - ` .half {emit_int n}\n`) - fd.fd_live_offset; - ` .align 4\n` - -(* Record floating-point constants *) - -let float_constants = ref ([] : (int * int64) list) - -let emit_float_constant (lbl, cst) = - rodata (); - ` .align 8\n`; - `{emit_label lbl}:`; - emit_float64_split_directive ".word" cst - -(* Emission of the profiling prelude *) -let emit_profile () = - begin match Config.system with - "solaris" -> - let lbl = new_label() in - ` .section \".bss\"\n`; - `{emit_label lbl}: .skip 4\n`; - ` .text\n`; - ` save %sp,-96,%sp\n`; - ` sethi %hi({emit_label lbl}),%o0\n`; - ` call _mcount\n`; - ` or %o0,%lo({emit_label lbl}),%o0\n`; - ` restore\n` - | _ -> () - end - -(* Names of various instructions *) - -let name_for_int_operation = function - Iadd -> "add" - | Isub -> "sub" - | Iand -> "and" - | Ior -> "or" - | Ixor -> "xor" - | Ilsl -> "sll" - | Ilsr -> "srl" - | Iasr -> "sra" - | Imul -> "smul" - | _ -> Misc.fatal_error "Emit.name_for_int_operation" - -let name_for_float_operation = function - Inegf -> if !arch_version = SPARC_V9 then "fnegd" else "fnegs" - | Iabsf -> if !arch_version = SPARC_V9 then "fabsd" else "fabss" - | Iaddf -> "faddd" - | Isubf -> "fsubd" - | Imulf -> "fmuld" - | Idivf -> "fdivd" - | _ -> Misc.fatal_error "Emit.name_for_float_operation" - -let name_for_int_movcc = function - Isigned Ceq -> "e" | Isigned Cne -> "ne" - | Isigned Cle -> "le" | Isigned Cgt -> "g" - | Isigned Clt -> "l" | Isigned Cge -> "ge" - | Iunsigned Ceq -> "e" | Iunsigned Cne -> "ne" - | Iunsigned Cle -> "leu" | Iunsigned Cgt -> "gu" - | Iunsigned Clt -> "lu" | Iunsigned Cge -> "geu" - -let name_for_int_comparison = function - Isigned Ceq -> "be" | Isigned Cne -> "bne" - | Isigned Cle -> "ble" | Isigned Cgt -> "bg" - | Isigned Clt -> "bl" | Isigned Cge -> "bge" - | Iunsigned Ceq -> "be" | Iunsigned Cne -> "bne" - | Iunsigned Cle -> "bleu" | Iunsigned Cgt -> "bgu" - | Iunsigned Clt -> "blu" | Iunsigned Cge -> "bgeu" - -let name_for_float_comparison cmp neg = - match cmp with - Ceq -> if neg then "fbne" else "fbe" - | Cne -> if neg then "fbe" else "fbne" - | Cle -> if neg then "fbug" else "fble" - | Cgt -> if neg then "fbule" else "fbg" - | Clt -> if neg then "fbuge" else "fbl" - | Cge -> if neg then "fbul" else "fbge" - -(* Output the assembly code for an instruction *) - -let function_name = ref "" -let tailrec_entry_point = ref 0 -let range_check_trap = ref 0 - -let rec emit_instr i dslot = - match i.desc with - Lend -> () - | Lop(Imove | Ispill | Ireload) -> - let src = i.arg.(0) and dst = i.res.(0) in - begin match (src, dst) with - {loc = Reg rs; typ = (Int | Addr)}, {loc = Reg rd} -> - ` mov {emit_reg src}, {emit_reg dst}\n` - | {loc = Reg rs; typ = Float}, {loc = Reg rd; typ = Float} -> - if !arch_version = SPARC_V9 then - ` fmovd {emit_reg src}, {emit_reg dst}\n` - else begin - ` fmovs {emit_reg src}, {emit_reg dst}\n`; - ` fmovs {emit_reg(next_in_pair src)}, {emit_reg(next_in_pair dst)}\n` - end - | {loc = Reg rs; typ = Float}, {loc = Reg rd; typ = (Int | Addr)} -> - (* This happens when calling C functions and passing a float arg - in %o0...%o5 *) - ` sub %sp, 8, %sp\n`; - ` std {emit_reg src}, [%sp + 96]\n`; - ` ld [%sp + 96], {emit_reg dst}\n`; - ` ld [%sp + 100], {emit_reg(next_in_pair dst)}\n`; - ` add %sp, 8, %sp\n` - | {loc = Reg rs; typ = (Int | Addr)}, {loc = Stack sd} -> - ` st {emit_reg src}, {emit_stack dst}\n` - | {loc = Reg rs; typ = Float}, {loc = Stack sd} -> - ` std {emit_reg src}, {emit_stack dst}\n` - | {loc = Stack ss; typ = (Int | Addr)}, {loc = Reg rd} -> - ` ld {emit_stack src}, {emit_reg dst}\n` - | {loc = Stack ss; typ = Float}, {loc = Reg rd} -> - ` ldd {emit_stack src}, {emit_reg dst}\n` - | (_, _) -> - fatal_error "Emit: Imove" - end - | Lop(Iconst_int n | Iconst_blockheader n) -> - if is_native_immediate n then - ` mov {emit_nativeint n}, {emit_reg i.res.(0)}\n` - else begin - ` sethi %hi({emit_nativeint n}), %g1\n`; - ` or %g1, %lo({emit_nativeint n}), {emit_reg i.res.(0)}\n` - end - | Lop(Iconst_float f) -> - (* On UltraSPARC, the fzero instruction could be used to set a - floating point register pair to zero. *) - let lbl = new_label() in - float_constants := (lbl, Int64.bits_of_float f) :: !float_constants; - ` sethi %hi({emit_label lbl}), %g1\n`; - ` ldd [%g1 + %lo({emit_label lbl})], {emit_reg i.res.(0)}\n` - | Lop(Iconst_symbol s) -> - ` sethi %hi({emit_symbol s}), %g1\n`; - ` or %g1, %lo({emit_symbol s}), {emit_reg i.res.(0)}\n` - | Lop(Icall_ind) -> - `{record_frame i.live} call {emit_reg i.arg.(0)}\n`; - fill_delay_slot dslot - | Lop(Icall_imm s) -> - `{record_frame i.live} call {emit_symbol s}\n`; - fill_delay_slot dslot - | Lop(Itailcall_ind) -> - let n = frame_size() in - if !contains_calls then - ` ld [%sp + {emit_int(n - 4 + 96)}], %o7\n`; - ` jmp {emit_reg i.arg.(0)}\n`; - ` add %sp, {emit_int n}, %sp\n` (* in delay slot *) - | Lop(Itailcall_imm s) -> - let n = frame_size() in - if s = !function_name then begin - ` b {emit_label !tailrec_entry_point}\n`; - fill_delay_slot dslot - end else begin - if !contains_calls then - ` ld [%sp + {emit_int(n - 4 + 96)}], %o7\n`; - ` sethi %hi({emit_symbol s}), %g1\n`; - ` jmp %g1 + %lo({emit_symbol s})\n`; - ` add %sp, {emit_int n}, %sp\n` (* in delay slot *) - end - | Lop(Iextcall(s, alloc)) -> - if alloc then begin - ` sethi %hi({emit_symbol s}), %g2\n`; - `{record_frame i.live} call {emit_symbol "caml_c_call"}\n`; - ` or %g2, %lo({emit_symbol s}), %g2\n` (* in delay slot *) - end else begin - ` call {emit_symbol s}\n`; - fill_delay_slot dslot - end - | Lop(Istackoffset n) -> - ` add %sp, {emit_int (-n)}, %sp\n`; - stack_offset := !stack_offset + n - | Lop(Iload(chunk, addr)) -> - let dest = i.res.(0) in - begin match chunk with - Double_u -> - emit_load "ld" addr i.arg dest; - emit_load "ld" (offset_addressing addr 4) i.arg (next_in_pair dest) - | Single -> - emit_load "ld" addr i.arg dest; - ` fstod {emit_reg dest}, {emit_reg dest}\n` - | _ -> - let loadinstr = - match chunk with - Byte_unsigned -> "ldub" - | Byte_signed -> "ldsb" - | Sixteen_unsigned -> "lduh" - | Sixteen_signed -> "ldsh" - | Double -> "ldd" - | _ -> "ld" in - emit_load loadinstr addr i.arg dest - end - | Lop(Istore(chunk, addr, _)) -> - let src = i.arg.(0) in - begin match chunk with - Double_u -> - emit_store "st" addr i.arg src; - emit_store "st" (offset_addressing addr 4) i.arg (next_in_pair src) - | Single -> - ` fdtos {emit_reg src}, %f30\n`; - emit_store "st" addr i.arg (phys_reg 115) (* %f30 *) - | _ -> - let storeinstr = - match chunk with - | Byte_unsigned | Byte_signed -> "stb" - | Sixteen_unsigned | Sixteen_signed -> "sth" - | Double -> "std" - | _ -> "st" in - emit_store storeinstr addr i.arg src - end - | Lop(Ialloc n) -> - if !fastcode_flag then begin - let lbl_cont = new_label() in - if solaris then begin - ` sub %l6, {emit_int n}, %l6\n`; - ` cmp %l6, %l7\n` - end else begin - ` ld [%l7], %g1\n`; - ` sub %l6, {emit_int n}, %l6\n`; - ` cmp %l6, %g1\n` - end; - ` bgeu {emit_label lbl_cont}\n`; - ` add %l6, 4, {emit_reg i.res.(0)}\n`; (* in delay slot *) - `{record_frame i.live} call {emit_symbol "caml_call_gc"}\n`; - ` mov {emit_int n}, %g2\n`; (* in delay slot *) - ` add %l6, 4, {emit_reg i.res.(0)}\n`; - `{emit_label lbl_cont}:\n` - end else begin - `{record_frame i.live} call {emit_symbol "caml_allocN"}\n`; - ` mov {emit_int n}, %g2\n`; (* in delay slot *) - ` add %l6, 4, {emit_reg i.res.(0)}\n` - end - | Lop(Iintop(Icomp cmp)) -> - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - if !arch_version = SPARC_V9 then begin - let comp = name_for_int_movcc cmp in - ` mov 0, {emit_reg i.res.(0)}\n`; - ` mov{emit_string comp} %icc, 1, {emit_reg i.res.(0)}\n` - end - else begin - let comp = name_for_int_comparison cmp - and lbl = new_label() in - ` {emit_string comp},a {emit_label lbl}\n`; - ` mov 1, {emit_reg i.res.(0)}\n`; - ` mov 0, {emit_reg i.res.(0)}\n`; - `{emit_label lbl}:\n` - end - | Lop(Iintop Icheckbound) -> - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - if solaris then - ` tleu 5\n` (* 5 = ST_RANGE_CHECK *) - else begin - if !range_check_trap = 0 then range_check_trap := new_label(); - ` bleu {emit_label !range_check_trap}\n`; - ` nop\n` (* delay slot *) - end - | Lop(Iintop Idiv) -> - ` sra {emit_reg i.arg.(0)}, 31, %g1\n`; - ` wr %g1, %y\n`; - ` sdiv {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.res.(0)}\n` - | Lop(Iintop Imulh) -> - ` smul {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, %g1\n`; - ` rd %y, {emit_reg i.res.(0)}\n` - | Lop(Iintop op) -> - let instr = name_for_int_operation op in - ` {emit_string instr} {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Ilsl, 1)) -> - (* UltraSPARC has two add units but only one shifter. *) - ` add {emit_reg i.arg.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(Icomp cmp, n)) -> - ` cmp {emit_reg i.arg.(0)}, {emit_int n}\n`; - if !arch_version = SPARC_V9 then begin - let comp = name_for_int_movcc cmp in - ` mov 0, {emit_reg i.res.(0)}\n`; - ` mov{emit_string comp} %icc, 1, {emit_reg i.res.(0)}\n` - end else begin - let comp = name_for_int_comparison cmp - and lbl = new_label() in - ` {emit_string comp},a {emit_label lbl}\n`; - ` mov 1, {emit_reg i.res.(0)}\n`; - ` mov 0, {emit_reg i.res.(0)}\n`; - `{emit_label lbl}:\n` - end - | Lop(Iintop_imm(Icheckbound, n)) -> - ` cmp {emit_reg i.arg.(0)}, {emit_int n}\n`; - if solaris then - ` tleu 5\n` (* 5 = ST_RANGE_CHECK *) - else begin - if !range_check_trap = 0 then range_check_trap := new_label(); - ` bleu {emit_label !range_check_trap}\n`; - ` nop\n` (* delay slot *) - end - | Lop(Iintop_imm(Imulh, n)) -> - ` smul {emit_reg i.arg.(0)}, {emit_int n}, %g1\n`; - ` rd %y, {emit_reg i.res.(0)}\n` - | Lop(Iintop_imm(op, n)) -> - let instr = name_for_int_operation op in - ` {emit_string instr} {emit_reg i.arg.(0)}, {emit_int n}, {emit_reg i.res.(0)}\n` - | Lop(Inegf | Iabsf as op) -> - let instr = name_for_float_operation op in - ` {emit_string instr} {emit_reg i.arg.(0)}, {emit_reg i.res.(0)}\n`; - if !arch_version <> SPARC_V9 then - ` fmovs {emit_reg(next_in_pair i.arg.(0))}, {emit_reg(next_in_pair i.res.(0))}\n` - | Lop(Iaddf | Isubf | Imulf | Idivf as op) -> - let instr = name_for_float_operation op in - ` {emit_string instr} {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.res.(0)}\n` - | Lop(Ifloatofint) -> - ` sub %sp, 8, %sp\n`; - ` st {emit_reg i.arg.(0)}, [%sp + 96]\n`; - ` ld [%sp + 96], %f30\n`; - ` add %sp, 8, %sp\n`; - ` fitod %f30, {emit_reg i.res.(0)}\n` - | Lop(Iintoffloat) -> - ` fdtoi {emit_reg i.arg.(0)}, %f30\n`; - ` sub %sp, 8, %sp\n`; - ` st %f30, [%sp + 96]\n`; - ` ld [%sp + 96], {emit_reg i.res.(0)}\n`; - ` add %sp, 8, %sp\n` - | Lop(Ispecific sop) -> - assert false - | Lreloadretaddr -> - let n = frame_size() in - ` ld [%sp + {emit_int(n - 4 + 96)}], %o7\n` - | Lreturn -> - let n = frame_size() in - ` retl\n`; - if n = 0 then - ` nop\n` - else - ` add %sp, {emit_int n}, %sp\n` - | Llabel lbl -> - `{emit_label lbl}:\n` - | Lbranch lbl -> - ` b {emit_label lbl}\n`; - fill_delay_slot dslot - | Lcondbranch(tst, lbl) -> - begin match tst with - Itruetest -> - ` tst {emit_reg i.arg.(0)}\n`; - ` bne {emit_label lbl}\n` - | Ifalsetest -> - ` tst {emit_reg i.arg.(0)}\n`; - ` be {emit_label lbl}\n` - | Iinttest cmp -> - let comp = name_for_int_comparison cmp in - ` cmp {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` {emit_string comp} {emit_label lbl}\n` - | Iinttest_imm(cmp, n) -> - let comp = name_for_int_comparison cmp in - ` cmp {emit_reg i.arg.(0)}, {emit_int n}\n`; - ` {emit_string comp} {emit_label lbl}\n` - | Ifloattest(cmp, neg) -> - let comp = name_for_float_comparison cmp neg in - ` fcmpd {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; - ` nop\n`; - ` {emit_string comp} {emit_label lbl}\n` - | Ioddtest -> - ` andcc {emit_reg i.arg.(0)}, 1, %g0\n`; - ` bne {emit_label lbl}\n` - | Ieventest -> - ` andcc {emit_reg i.arg.(0)}, 1, %g0\n`; - ` be {emit_label lbl}\n` - end; - fill_delay_slot dslot - | Lcondbranch3(lbl0, lbl1, lbl2) -> - ` cmp {emit_reg i.arg.(0)}, 1\n`; - begin match lbl0 with - None -> () - | Some lbl -> ` bl {emit_label lbl}\n nop\n` - end; - begin match lbl1 with - None -> () - | Some lbl -> ` be {emit_label lbl}\n nop\n` - end; - begin match lbl2 with - None -> () - | Some lbl -> ` bg {emit_label lbl}\n nop\n` - end - | Lswitch jumptbl -> - let lbl_jumptbl = new_label() in - ` sethi %hi({emit_label lbl_jumptbl}), %g1\n`; - ` or %g1, %lo({emit_label lbl_jumptbl}), %g1\n`; - ` sll {emit_reg i.arg.(0)}, 2, %g2\n`; - ` ld [%g1 + %g2], %g1\n`; - ` jmp %g1\n`; (* poor scheduling *) - ` nop\n`; - `{emit_label lbl_jumptbl}:`; - for i = 0 to Array.length jumptbl - 1 do - ` .word {emit_label jumptbl.(i)}\n` - done - | Lsetuptrap lbl -> - ` call {emit_label lbl}\n`; - ` sub %sp, 8, %sp\n` (* in delay slot *) - | Lpushtrap -> - stack_offset := !stack_offset + 8; - ` st %o7, [%sp + 96]\n`; - ` st %l5, [%sp + 100]\n`; - ` mov %sp, %l5\n` - | Lpoptrap -> - ` ld [%sp + 100], %l5\n`; - ` add %sp, 8, %sp\n`; - stack_offset := !stack_offset - 8 - | Lraise _ -> - ` ld [%l5 + 96], %g1\n`; - ` mov %l5, %sp\n`; - ` ld [%sp + 100], %l5\n`; - ` jmp %g1 + 8\n`; - ` add %sp, 8, %sp\n` - -and fill_delay_slot = function - None -> ` nop\n` - | Some i -> emit_instr i None - -(* Checks if a pseudo-instruction expands to exactly one machine instruction - that does not branch. *) - -let is_one_instr_op = function - Imulh | Idiv | Imod | Icomp _ | Icheckbound -> false - | _ -> true - -let is_one_instr i = - match i.desc with - Lop op -> - begin match op with - Imove | Ispill | Ireload -> - i.arg.(0).typ <> Float && i.res.(0).typ <> Float - | Iconst_int n | Iconst_blockheader n -> is_native_immediate n - | Istackoffset _ -> true - | Iload(_, Iindexed n) -> i.res.(0).typ <> Float && is_immediate n - | Istore(_, Iindexed n, _) -> i.arg.(0).typ <> Float && is_immediate n - | Iintop(op) -> is_one_instr_op op - | Iintop_imm(op, _) -> is_one_instr_op op - | Iaddf | Isubf | Imulf | Idivf -> true - | Iabsf | Inegf -> !arch_version = SPARC_V9 - | _ -> false - end - | _ -> false - -let no_interference res arg = - try - for i = 0 to Array.length arg - 1 do - for j = 0 to Array.length res - 1 do - if arg.(i).loc = res.(j).loc then raise Exit - done - done; - true - with Exit -> - false - -(* Emit a sequence of instructions, trying to fill delay slots for branches *) - -let rec emit_all i = - match i with - {desc = Lend} -> () - | {next = {desc = Lop(Icall_imm _) | Lop(Iextcall(_, false)) | Lbranch _}} - when is_one_instr i -> - emit_instr i.next (Some i); - emit_all i.next.next - | {next = {desc = Lop(Itailcall_imm s)}} - when s = !function_name && is_one_instr i -> - emit_instr i.next (Some i); - emit_all i.next.next - | {next = {desc = Lop(Icall_ind)}} - when is_one_instr i && no_interference i.res i.next.arg -> - emit_instr i.next (Some i); - emit_all i.next.next - | {next = {desc = Lcondbranch(_, _)}} - when is_one_instr i && no_interference i.res i.next.arg -> - emit_instr i.next (Some i); - emit_all i.next.next - | _ -> - emit_instr i None; - emit_all i.next - -(* Emission of a function declaration *) - -let fundecl fundecl = - function_name := fundecl.fun_name; - fastcode_flag := fundecl.fun_fast; - tailrec_entry_point := new_label(); - range_check_trap := 0; - stack_offset := 0; - float_constants := []; - ` .text\n`; - ` .align 4\n`; - ` .global {emit_symbol fundecl.fun_name}\n`; - if Config.system = "solaris" then - ` .type {emit_symbol fundecl.fun_name},#function\n`; - `{emit_symbol fundecl.fun_name}:\n`; - if !Clflags.gprofile then emit_profile(); - let n = frame_size() in - if n > 0 then - ` sub %sp, {emit_int n}, %sp\n`; - if !contains_calls then - ` st %o7, [%sp + {emit_int(n - 4 + 96)}]\n`; - `{emit_label !tailrec_entry_point}:\n`; - emit_all fundecl.fun_body; - if !range_check_trap > 0 then begin - `{emit_label !range_check_trap}:\n`; - ` call {emit_symbol "caml_ml_array_bound_error"}\n`; - ` nop\n` - end; - emit_size fundecl.fun_name; - List.iter emit_float_constant !float_constants - -(* Emission of data *) - -let emit_item = function - Cglobal_symbol s -> - ` .global {emit_symbol s}\n`; - | Cdefine_symbol s -> - `{emit_symbol s}:\n` - | Cdefine_label lbl -> - `{emit_data_label lbl}:\n` - | Cint8 n -> - ` .byte {emit_int n}\n` - | Cint16 n -> - ` .half {emit_int n}\n` - | Cint32 n -> - ` .word {emit_nativeint n}\n` - | Cint n -> - ` .word {emit_nativeint n}\n` - | Csingle f -> - emit_float32_directive ".word" (Int32.bits_of_float f) - | Cdouble f -> - emit_float64_split_directive ".word" (Int64.bits_of_float f) - | Csymbol_address s -> - ` .word {emit_symbol s}\n` - | Clabel_address lbl -> - ` .word {emit_data_label lbl}\n` - | Cstring s -> - emit_string_directive " .ascii " s - | Cskip n -> - if n > 0 then ` .skip {emit_int n}\n` - | Calign n -> - ` .align {emit_int n}\n` - -let data l = - ` .data\n`; - List.iter emit_item l - -(* Beginning / end of an assembly file *) - -let begin_assembly() = - let lbl_begin = Compilenv.make_symbol (Some "data_begin") in - ` .data\n`; - ` .global {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n`; - let lbl_begin = Compilenv.make_symbol (Some "code_begin") in - ` .text\n`; - ` .global {emit_symbol lbl_begin}\n`; - `{emit_symbol lbl_begin}:\n` - -let end_assembly() = - ` .text\n`; - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .global {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - ` .data\n`; - let lbl_end = Compilenv.make_symbol (Some "data_end") in - ` .global {emit_symbol lbl_end}\n`; - `{emit_symbol lbl_end}:\n`; - ` .word 0\n`; - let lbl = Compilenv.make_symbol (Some "frametable") in - rodata (); - ` .global {emit_symbol lbl}\n`; - if Config.system = "solaris" then - ` .type {emit_symbol lbl},#object\n`; - `{emit_symbol lbl}:\n`; - ` .word {emit_int (List.length !frame_descriptors)}\n`; - List.iter emit_frame !frame_descriptors; - emit_size lbl; - frame_descriptors := [] diff --git a/vendor/ocaml/asmcomp/sparc/proc.ml b/vendor/ocaml/asmcomp/sparc/proc.ml deleted file mode 100644 index 625f517f6..000000000 --- a/vendor/ocaml/asmcomp/sparc/proc.ml +++ /dev/null @@ -1,228 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Description of the Sparc processor *) - -open Misc -open Cmm -open Reg -open Arch -open Mach - -(* Instruction selection *) - -let word_addressed = false - -(* Registers available for register allocation *) - -(* Register map: - %o0 - %o5 0 - 5 function results, C functions args / res - %i0 - %i5 6 - 11 function arguments, preserved by C - %l0 - %l4 12 - 16 general purpose, preserved by C - %g3 - %g4 17 - 18 general purpose, not preserved by C - - %l5 exception pointer - %l6 allocation pointer - %l7 address of allocation limit - - %g0 always zero - %g1 - %g2 temporaries - %g5 - %g7 reserved for system libraries - - %f0 - %f10 100 - 105 function arguments and results - %f12 - %f28 106 - 114 general purpose - %f30 temporary *) - -let int_reg_name = [| - (* 0-5 *) "%o0"; "%o1"; "%o2"; "%o3"; "%o4"; "%o5"; - (* 6-11 *) "%i0"; "%i1"; "%i2"; "%i3"; "%i4"; "%i5"; - (* 12-16 *) "%l0"; "%l1"; "%l2"; "%l3"; "%l4"; - (* 17-18 *) "%g3"; "%g4" -|] - -let float_reg_name = [| - (* 100-105 *) "%f0"; "%f2"; "%f4"; "%f6"; "%f8"; "%f10"; - (* 106-109 *) "%f12"; "%f14"; "%f16"; "%f18"; - (* 110-114 *) "%f20"; "%f22"; "%f24"; "%f26"; "%f28"; - (* 115 *) "%f30"; - (* Odd parts of register pairs *) - (* 116-121 *) "%f1"; "%f3"; "%f5"; "%f7"; "%f9"; "%f11"; - (* 122-125 *) "%f13"; "%f15"; "%f17"; "%f19"; - (* 126-130 *) "%f21"; "%f23"; "%f25"; "%f27"; "%f29"; - (* 131 *) "%f31" -|] - -let num_register_classes = 2 - -let register_class r = - match r.typ with - Int -> 0 - | Addr -> 0 - | Float -> 1 - -let num_available_registers = [| 19; 15 |] - -let first_available_register = [| 0; 100 |] - -let register_name r = - if r < 100 then int_reg_name.(r) else float_reg_name.(r - 100) - -let rotate_registers = true - -(* Representation of hard registers by pseudo-registers *) - -let hard_int_reg = - let v = Array.make 19 Reg.dummy in - for i = 0 to 18 do v.(i) <- Reg.at_location Int (Reg i) done; - v - -let hard_float_reg = - let v = Array.make 32 Reg.dummy in - for i = 0 to 31 do v.(i) <- Reg.at_location Float (Reg(100 + i)) done; - v - -let all_phys_regs = - Array.append hard_int_reg (Array.sub hard_float_reg 0 15) - (* No need to include the odd parts of float register pairs, - nor the temporary register %f30 *) - -let phys_reg n = - if n < 100 then hard_int_reg.(n) else hard_float_reg.(n - 100) - -let stack_slot slot ty = - Reg.at_location ty (Stack slot) - -(* Calling conventions *) - -let calling_conventions first_int last_int first_float last_float make_stack - arg = - let loc = Array.make (Array.length arg) Reg.dummy in - let int = ref first_int in - let float = ref first_float in - let ofs = ref 0 in - for i = 0 to Array.length arg - 1 do - match arg.(i).typ with - Int | Addr as ty -> - if !int <= last_int then begin - loc.(i) <- phys_reg !int; - incr int - end else begin - loc.(i) <- stack_slot (make_stack !ofs) ty; - ofs := !ofs + size_int - end - | Float -> - if !float <= last_float then begin - loc.(i) <- phys_reg !float; - incr float - end else begin - loc.(i) <- stack_slot (make_stack !ofs) Float; - ofs := !ofs + size_float - end - done; - (loc, Misc.align !ofs 8) (* Keep stack 8-aligned *) - -let incoming ofs = Incoming ofs -let outgoing ofs = Outgoing ofs -let not_supported ofs = fatal_error "Proc.loc_results: cannot call" - -let loc_arguments arg = - calling_conventions 6 15 100 105 outgoing arg -let loc_parameters arg = - let (loc, ofs) = calling_conventions 6 15 100 105 incoming arg in loc -let loc_results res = - let (loc, ofs) = calling_conventions 0 5 100 105 not_supported res in loc - -(* On the Sparc, all arguments to C functions, even floating-point arguments, - are passed in %o0..%o5, then on the stack *) - -let loc_external_arguments arg = - let loc = ref [] in - let reg = ref 0 (* %o0 *) in - let ofs = ref (-4) in (* start at sp + 92 = sp + 96 - 4 *) - for i = 0 to Array.length arg - 1 do - if !reg <= 5 (* %o5 *) then begin - match arg.(i).typ with - Int | Addr -> - loc := phys_reg !reg :: !loc; - incr reg - | Float -> - if !reg = 5 then fatal_error "Proc_sparc: cannot call"; - loc := phys_reg (!reg + 1) :: phys_reg !reg :: !loc; - reg := !reg + 2 - end else begin - loc := stack_slot (outgoing !ofs) arg.(i).typ :: !loc; - ofs := !ofs + size_component arg.(i).typ - end - done; - (* Keep stack 8-aligned *) - (Array.of_list(List.rev !loc), Misc.align (!ofs + 4) 8) - -let loc_external_results res = - let (loc, ofs) = calling_conventions 0 0 100 100 not_supported res in loc - -let loc_exn_bucket = phys_reg 0 (* $o0 *) - -(* Volatile registers: none *) - -let regs_are_volatile rs = false - -(* Registers destroyed by operations *) - -let destroyed_at_c_call = (* %l0-%l4, %i0-%i5 preserved *) - Array.of_list(List.map phys_reg - [0; 1; 2; 3; 4; 5; 17; 18; - 100; 101; 102; 103; 104; 105; 106; 107; - 108; 109; 110; 111; 112; 113; 114]) - -let destroyed_at_oper = function - Iop(Icall_ind | Icall_imm _ | Iextcall(_, true)) -> all_phys_regs - | Iop(Iextcall(_, false)) -> destroyed_at_c_call - | _ -> [||] - -let destroyed_at_raise = all_phys_regs - -(* Maximal register pressure *) - -let safe_register_pressure = function - Iextcall(_, _) -> 0 - | _ -> 15 - -let max_register_pressure = function - Iextcall(_, _) -> [| 11; 0 |] - | _ -> [| 19; 15 |] - -(* Pure operations (without any side effect besides updating their result - registers). *) - -let op_is_pure = function - | Icall_ind | Icall_imm _ | Itailcall_ind | Itailcall_imm _ - | Iextcall _ | Istackoffset _ | Istore _ | Ialloc _ - | Iintop(Icheckbound) | Iintop_imm(Icheckbound, _) -> false - | _ -> true - -(* Layout of the stack *) - -let num_stack_slots = [| 0; 0 |] -let contains_calls = ref false - -(* Calling the assembler and the archiver *) - -let assemble_file infile outfile = - let asflags = begin match !arch_version with - SPARC_V7 -> " -o " - | SPARC_V8 -> " -xarch=v8 -o " - | SPARC_V9 -> " -xarch=v8plus -o " - end in - Ccomp.command (Config.asm ^ asflags ^ - Filename.quote outfile ^ " " ^ Filename.quote infile) - -let init () = () diff --git a/vendor/ocaml/asmcomp/sparc/reload.ml b/vendor/ocaml/asmcomp/sparc/reload.ml deleted file mode 100644 index caae16d7f..000000000 --- a/vendor/ocaml/asmcomp/sparc/reload.ml +++ /dev/null @@ -1,16 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Reloading for the Sparc *) - -let fundecl f = - (new Reloadgen.reload_generic)#fundecl f diff --git a/vendor/ocaml/asmcomp/sparc/scheduling.ml b/vendor/ocaml/asmcomp/sparc/scheduling.ml deleted file mode 100644 index 497722bbc..000000000 --- a/vendor/ocaml/asmcomp/sparc/scheduling.ml +++ /dev/null @@ -1,60 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -open Cmm -open Mach - -(* Instruction scheduling for the Sparc *) - -class scheduler = object - -inherit Schedgen.scheduler_generic - -(* Latencies (in cycles). *) - -(* UltraSPARC issues two integer operations, plus a single load or store, - per cycle. At most one of the integer instructions may be a shift. - Most integer operations have one cycle latency. Unsigned loads take - two cycles. Signed loads take three cycles. Conditional moves have - two cycle latency and may not issue in the same cycle as any other - instruction. Floating point issue rules are complicated, but in - general independent add and multiply can dual issue with four cycle - latency. *) - -method oper_latency = function - Ireload -> 2 - | Iload((Byte_signed|Sixteen_signed|Thirtytwo_signed), _) -> 3 - | Iload(_, _) -> 2 - | Iconst_float _ -> 2 (* turned into a load *) - | Inegf | Iabsf | Iaddf | Isubf | Imulf -> 4 - | Idivf -> 15 - | _ -> 1 - -(* Issue cycles. Rough approximations. *) - -method oper_issue_cycles = function - Iconst_float _ -> 2 - | Iconst_symbol _ -> 2 - | Ialloc _ -> 6 - | Iintop(Icomp _) -> 4 - | Iintop(Icheckbound) -> 2 - | Iintop_imm(Icomp _, _) -> 4 - | Iintop_imm(Icheckbound, _) -> 2 - | Inegf -> 2 - | Iabsf -> 2 - | Ifloatofint -> 6 - | Iintoffloat -> 6 - | _ -> 1 - -end - -let fundecl f = (new scheduler)#schedule_fundecl f diff --git a/vendor/ocaml/asmcomp/sparc/selection.ml b/vendor/ocaml/asmcomp/sparc/selection.ml deleted file mode 100644 index d938c1eff..000000000 --- a/vendor/ocaml/asmcomp/sparc/selection.ml +++ /dev/null @@ -1,73 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1997 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Instruction selection for the Sparc processor *) - -open Cmm -open Reg -open Arch -open Mach - -class selector = object (self) - -inherit Selectgen.selector_generic as super - -method is_immediate n = (n <= 4095) && (n >= -4096) - -method select_addressing chunk = function - Cconst_symbol s -> - (Ibased(s, 0), Ctuple []) - | Cop(Cadda, [Cconst_symbol s; Cconst_int n]) -> - (Ibased(s, n), Ctuple []) - | Cop(Cadda, [arg; Cconst_int n]) -> - (Iindexed n, arg) - | Cop(Cadda, [arg1; Cop(Caddi, [arg2; Cconst_int n])]) -> - (Iindexed n, Cop(Cadda, [arg1; arg2])) - | arg -> - (Iindexed 0, arg) - -method! select_operation op args = - match (op, args) with - (* For SPARC V7 multiplication, division and modulus are turned into - calls to C library routines. - For SPARC V8 and V9, use hardware multiplication and division, - but C library routine for modulus. *) - (Cmuli, _) when !arch_version = SPARC_V7 -> - (Iextcall(".umul", false), args) - | (Cdivi, _) when !arch_version = SPARC_V7 -> - (Iextcall(".div", false), args) - | (Cmodi, _) -> - (Iextcall(".rem", false), args) - | _ -> - super#select_operation op args - -(* Override insert_move_args to deal correctly with floating-point - arguments being passed into pairs of integer registers. *) -method! insert_move_args arg loc stacksize = - if stacksize <> 0 then self#insert (Iop(Istackoffset stacksize)) [||] [||]; - let locpos = ref 0 in - for i = 0 to Array.length arg - 1 do - let src = arg.(i) in - let dst = loc.(!locpos) in - match (src, dst) with - ({typ = Float}, {typ = Int}) -> - let dst2 = loc.(!locpos + 1) in - self#insert (Iop Imove) [|src|] [|dst; dst2|]; - locpos := !locpos + 2 - | (_, _) -> - self#insert_move src dst; - incr locpos - done - -end - -let fundecl f = (new selector)#emit_fundecl f diff --git a/vendor/ocaml/asmcomp/spill.ml b/vendor/ocaml/asmcomp/spill.ml deleted file mode 100644 index 105550d05..000000000 --- a/vendor/ocaml/asmcomp/spill.ml +++ /dev/null @@ -1,410 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Insertion of moves to suggest possible spilling / reloading points - before register allocation. *) - -open Reg -open Mach - -(* We say that a register is "destroyed" if it is live across a construct - that potentially destroys all physical registers: function calls or - try...with constructs. - - The "destroyed" registers must therefore reside in the stack during - these instructions.. We will insert spills (stores) just after they - are defined, and reloads just before their first use following a - "destroying" construct. - - Instructions with more live registers than actual registers also - "destroy" registers: we mark as "destroyed" the registers live - across the instruction that haven't been used for the longest time. - These registers will be spilled and reloaded as described above. *) - -(* Association of spill registers to registers *) - -let spill_env = ref (Reg.Map.empty : Reg.t Reg.Map.t) - -let spill_reg r = - try - Reg.Map.find r !spill_env - with Not_found -> - let spill_r = Reg.create r.typ in - spill_r.spill <- true; - if not (Reg.anonymous r) then spill_r.raw_name <- r.raw_name; - spill_env := Reg.Map.add r spill_r !spill_env; - spill_r - -(* Record the position of last use of registers *) - -let use_date = ref (Reg.Map.empty : int Reg.Map.t) -let current_date = ref 0 - -let record_use regv = - for i = 0 to Array.length regv - 1 do - let r = regv.(i) in - let prev_date = try Reg.Map.find r !use_date with Not_found -> 0 in - if !current_date > prev_date then - use_date := Reg.Map.add r !current_date !use_date - done - -(* Check if the register pressure overflows the maximum pressure allowed - at that point. If so, spill enough registers to lower the pressure. *) - -let add_superpressure_regs op live_regs res_regs spilled = - let max_pressure = Proc.max_register_pressure op in - let regs = Reg.add_set_array live_regs res_regs in - (* Compute the pressure in each register class *) - let pressure = Array.make Proc.num_register_classes 0 in - Reg.Set.iter - (fun r -> - if Reg.Set.mem r spilled then () else begin - match r.loc with - Stack s -> () - | _ -> let c = Proc.register_class r in - pressure.(c) <- pressure.(c) + 1 - end) - regs; - (* Check if pressure is exceeded for each class. *) - let rec check_pressure cl spilled = - if cl >= Proc.num_register_classes then - spilled - else if pressure.(cl) <= max_pressure.(cl) then - check_pressure (cl+1) spilled - else begin - (* Find the least recently used, unspilled, unallocated, live register - in the class *) - let lru_date = ref 1000000 and lru_reg = ref Reg.dummy in - Reg.Set.iter - (fun r -> - if Proc.register_class r = cl && - not (Reg.Set.mem r spilled) && - r.loc = Unknown - then begin - try - let d = Reg.Map.find r !use_date in - if d < !lru_date then begin - lru_date := d; - lru_reg := r - end - with Not_found -> (* Should not happen *) - () - end) - live_regs; - if !lru_reg != Reg.dummy then begin - pressure.(cl) <- pressure.(cl) - 1; - check_pressure cl (Reg.Set.add !lru_reg spilled) - end else - (* Couldn't find any spillable register, give up for this class *) - check_pressure (cl+1) spilled - end in - check_pressure 0 spilled - -(* A-list recording what is destroyed at if-then-else points. *) - -let destroyed_at_fork = ref ([] : (instruction * Reg.Set.t) list) - -(* First pass: insert reload instructions based on an approximation of - what is destroyed at pressure points. *) - -let add_reloads regset i = - Reg.Set.fold - (fun r i -> instr_cons (Iop Ireload) [|spill_reg r|] [|r|] i) - regset i - -let reload_at_exit = ref [] - -let find_reload_at_exit k = - try - List.assoc k !reload_at_exit - with - | Not_found -> Misc.fatal_error "Spill.find_reload_at_exit" - -let reload_at_break = ref Reg.Set.empty - -let rec reload i before = - incr current_date; - record_use i.arg; - record_use i.res; - match i.desc with - Iend -> - (i, before) - | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _) -> - (add_reloads (Reg.inter_set_array before i.arg) i, - Reg.Set.empty) - | Iop(Icall_ind | Icall_imm _ | Iextcall(_, true)) -> - (* All regs live across must be spilled *) - let (new_next, finally) = reload i.next i.live in - (add_reloads (Reg.inter_set_array before i.arg) - (instr_cons_debug i.desc i.arg i.res i.dbg new_next), - finally) - | Iop op -> - let new_before = - (* Quick check to see if the register pressure is below the maximum *) - if Reg.Set.cardinal i.live + Array.length i.res <= - Proc.safe_register_pressure op - then before - else add_superpressure_regs op i.live i.res before in - let after = - Reg.diff_set_array (Reg.diff_set_array new_before i.arg) i.res in - let (new_next, finally) = reload i.next after in - (add_reloads (Reg.inter_set_array new_before i.arg) - (instr_cons_debug i.desc i.arg i.res i.dbg new_next), - finally) - | Iifthenelse(test, ifso, ifnot) -> - let at_fork = Reg.diff_set_array before i.arg in - let date_fork = !current_date in - let (new_ifso, after_ifso) = reload ifso at_fork in - let date_ifso = !current_date in - current_date := date_fork; - let (new_ifnot, after_ifnot) = reload ifnot at_fork in - current_date := max date_ifso !current_date; - let (new_next, finally) = - reload i.next (Reg.Set.union after_ifso after_ifnot) in - let new_i = - instr_cons (Iifthenelse(test, new_ifso, new_ifnot)) - i.arg i.res new_next in - destroyed_at_fork := (new_i, at_fork) :: !destroyed_at_fork; - (add_reloads (Reg.inter_set_array before i.arg) new_i, - finally) - | Iswitch(index, cases) -> - let at_fork = Reg.diff_set_array before i.arg in - let date_fork = !current_date in - let date_join = ref 0 in - let after_cases = ref Reg.Set.empty in - let new_cases = - Array.map - (fun c -> - current_date := date_fork; - let (new_c, after_c) = reload c at_fork in - after_cases := Reg.Set.union !after_cases after_c; - date_join := max !date_join !current_date; - new_c) - cases in - current_date := !date_join; - let (new_next, finally) = reload i.next !after_cases in - (add_reloads (Reg.inter_set_array before i.arg) - (instr_cons (Iswitch(index, new_cases)) - i.arg i.res new_next), - finally) - | Iloop(body) -> - let date_start = !current_date in - let at_head = ref before in - let final_body = ref body in - begin try - while true do - current_date := date_start; - let (new_body, new_at_head) = reload body !at_head in - let merged_at_head = Reg.Set.union !at_head new_at_head in - if Reg.Set.equal merged_at_head !at_head then begin - final_body := new_body; - raise Exit - end; - at_head := merged_at_head - done - with Exit -> () - end; - let (new_next, finally) = reload i.next Reg.Set.empty in - (instr_cons (Iloop(!final_body)) i.arg i.res new_next, - finally) - | Icatch(nfail, body, handler) -> - let new_set = ref Reg.Set.empty in - reload_at_exit := (nfail, new_set) :: !reload_at_exit ; - let (new_body, after_body) = reload body before in - let at_exit = !new_set in - reload_at_exit := List.tl !reload_at_exit ; - let (new_handler, after_handler) = reload handler at_exit in - let (new_next, finally) = - reload i.next (Reg.Set.union after_body after_handler) in - (instr_cons (Icatch(nfail, new_body, new_handler)) i.arg i.res new_next, - finally) - | Iexit nfail -> - let set = find_reload_at_exit nfail in - set := Reg.Set.union !set before; - (i, Reg.Set.empty) - | Itrywith(body, handler) -> - let (new_body, after_body) = reload body before in - (* All registers live at the beginning of the handler are destroyed, - except the exception bucket *) - let before_handler = - Reg.Set.remove Proc.loc_exn_bucket - (Reg.add_set_array handler.live handler.arg) in - let (new_handler, after_handler) = reload handler before_handler in - let (new_next, finally) = - reload i.next (Reg.Set.union after_body after_handler) in - (instr_cons (Itrywith(new_body, new_handler)) i.arg i.res new_next, - finally) - | Iraise _ -> - (add_reloads (Reg.inter_set_array before i.arg) i, Reg.Set.empty) - -(* Second pass: add spill instructions based on what we've decided to reload. - That is, any register that may be reloaded in the future must be spilled - just after its definition. *) - -(* - As an optimization, if a register needs to be spilled in one branch of - a conditional but not in the other, then we spill it late on entrance - in the branch that needs it spilled. - NB: This strategy is turned off in loops, as it may prevent a spill from - being lifted up all the way out of the loop. - NB again: This strategy is also off in switch arms - as it generates many useless spills inside switch arms - NB ter: is it the same thing for catch bodies ? -*) - - -let spill_at_exit = ref [] -let find_spill_at_exit k = - try - List.assoc k !spill_at_exit - with - | Not_found -> Misc.fatal_error "Spill.find_spill_at_exit" - -let spill_at_raise = ref Reg.Set.empty -let inside_loop = ref false -and inside_arm = ref false -and inside_catch = ref false - -let add_spills regset i = - Reg.Set.fold - (fun r i -> instr_cons (Iop Ispill) [|r|] [|spill_reg r|] i) - regset i - -let rec spill i finally = - match i.desc with - Iend -> - (i, finally) - | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _) -> - (i, Reg.Set.empty) - | Iop Ireload -> - let (new_next, after) = spill i.next finally in - let before1 = Reg.diff_set_array after i.res in - (instr_cons i.desc i.arg i.res new_next, - Reg.add_set_array before1 i.res) - | Iop _ -> - let (new_next, after) = spill i.next finally in - let before1 = Reg.diff_set_array after i.res in - let before = - match i.desc with - Iop Icall_ind | Iop(Icall_imm _) | Iop(Iextcall _) - | Iop(Iintop Icheckbound) | Iop(Iintop_imm(Icheckbound, _)) -> - Reg.Set.union before1 !spill_at_raise - | _ -> - before1 in - (instr_cons_debug i.desc i.arg i.res i.dbg - (add_spills (Reg.inter_set_array after i.res) new_next), - before) - | Iifthenelse(test, ifso, ifnot) -> - let (new_next, at_join) = spill i.next finally in - let (new_ifso, before_ifso) = spill ifso at_join in - let (new_ifnot, before_ifnot) = spill ifnot at_join in - if - !inside_loop || !inside_arm - then - (instr_cons (Iifthenelse(test, new_ifso, new_ifnot)) - i.arg i.res new_next, - Reg.Set.union before_ifso before_ifnot) - else begin - let destroyed = List.assq i !destroyed_at_fork in - let spill_ifso_branch = - Reg.Set.diff (Reg.Set.diff before_ifso before_ifnot) destroyed - and spill_ifnot_branch = - Reg.Set.diff (Reg.Set.diff before_ifnot before_ifso) destroyed in - (instr_cons - (Iifthenelse(test, add_spills spill_ifso_branch new_ifso, - add_spills spill_ifnot_branch new_ifnot)) - i.arg i.res new_next, - Reg.Set.diff (Reg.Set.diff (Reg.Set.union before_ifso before_ifnot) - spill_ifso_branch) - spill_ifnot_branch) - end - | Iswitch(index, cases) -> - let (new_next, at_join) = spill i.next finally in - let saved_inside_arm = !inside_arm in - inside_arm := true ; - let before = ref Reg.Set.empty in - let new_cases = - Array.map - (fun c -> - let (new_c, before_c) = spill c at_join in - before := Reg.Set.union !before before_c; - new_c) - cases in - inside_arm := saved_inside_arm ; - (instr_cons (Iswitch(index, new_cases)) i.arg i.res new_next, - !before) - | Iloop(body) -> - let (new_next, _) = spill i.next finally in - let saved_inside_loop = !inside_loop in - inside_loop := true; - let at_head = ref Reg.Set.empty in - let final_body = ref body in - begin try - while true do - let (new_body, before_body) = spill body !at_head in - let new_at_head = Reg.Set.union !at_head before_body in - if Reg.Set.equal new_at_head !at_head then begin - final_body := new_body; raise Exit - end; - at_head := new_at_head - done - with Exit -> () - end; - inside_loop := saved_inside_loop; - (instr_cons (Iloop(!final_body)) i.arg i.res new_next, - !at_head) - | Icatch(nfail, body, handler) -> - let (new_next, at_join) = spill i.next finally in - let (new_handler, at_exit) = spill handler at_join in - let saved_inside_catch = !inside_catch in - inside_catch := true ; - spill_at_exit := (nfail, at_exit) :: !spill_at_exit ; - let (new_body, before) = spill body at_join in - spill_at_exit := List.tl !spill_at_exit; - inside_catch := saved_inside_catch ; - (instr_cons (Icatch(nfail, new_body, new_handler)) i.arg i.res new_next, - before) - | Iexit nfail -> - (i, find_spill_at_exit nfail) - | Itrywith(body, handler) -> - let (new_next, at_join) = spill i.next finally in - let (new_handler, before_handler) = spill handler at_join in - let saved_spill_at_raise = !spill_at_raise in - spill_at_raise := before_handler; - let (new_body, before_body) = spill body at_join in - spill_at_raise := saved_spill_at_raise; - (instr_cons (Itrywith(new_body, new_handler)) i.arg i.res new_next, - before_body) - | Iraise _ -> - (i, !spill_at_raise) - -(* Entry point *) - -let reset () = - spill_env := Reg.Map.empty; - use_date := Reg.Map.empty; - current_date := 0 - -let fundecl f = - reset (); - - let (body1, _) = reload f.fun_body Reg.Set.empty in - let (body2, tospill_at_entry) = spill body1 Reg.Set.empty in - let new_body = - add_spills (Reg.inter_set_array tospill_at_entry f.fun_args) body2 in - spill_env := Reg.Map.empty; - use_date := Reg.Map.empty; - { fun_name = f.fun_name; - fun_args = f.fun_args; - fun_body = new_body; - fun_fast = f.fun_fast; - fun_dbg = f.fun_dbg } diff --git a/vendor/ocaml/asmcomp/spill.mli b/vendor/ocaml/asmcomp/spill.mli deleted file mode 100644 index 598a17552..000000000 --- a/vendor/ocaml/asmcomp/spill.mli +++ /dev/null @@ -1,17 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Insertion of moves to suggest possible spilling / reloading points - before register allocation. *) - -val fundecl: Mach.fundecl -> Mach.fundecl -val reset : unit -> unit diff --git a/vendor/ocaml/asmcomp/split.ml b/vendor/ocaml/asmcomp/split.ml deleted file mode 100644 index 8c553ab9e..000000000 --- a/vendor/ocaml/asmcomp/split.ml +++ /dev/null @@ -1,214 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Renaming of registers at reload points to split live ranges. *) - -open Reg -open Mach - -(* Substitutions are represented by register maps *) - -type subst = Reg.t Reg.Map.t - -let subst_reg r (sub : subst) = - try - Reg.Map.find r sub - with Not_found -> - r - -let subst_regs rv sub = - match sub with - None -> rv - | Some s -> - let n = Array.length rv in - let nv = Array.make n Reg.dummy in - for i = 0 to n-1 do nv.(i) <- subst_reg rv.(i) s done; - nv - -(* We maintain equivalence classes of registers using a standard - union-find algorithm *) - -let equiv_classes = ref (Reg.Map.empty : Reg.t Reg.Map.t) - -let rec repres_reg r = - try - repres_reg(Reg.Map.find r !equiv_classes) - with Not_found -> - r - -let repres_regs rv = - let n = Array.length rv in - for i = 0 to n-1 do rv.(i) <- repres_reg rv.(i) done - -(* Identify two registers. - The second register is chosen as canonical representative. *) - -let identify r1 r2 = - let repres1 = repres_reg r1 in - let repres2 = repres_reg r2 in - if repres1.stamp = repres2.stamp then () else begin - equiv_classes := Reg.Map.add repres1 repres2 !equiv_classes - end - -(* Identify the image of a register by two substitutions. - Be careful to use the original register as canonical representative - in case it does not belong to the domain of one of the substitutions. *) - -let identify_sub sub1 sub2 reg = - try - let r1 = Reg.Map.find reg sub1 in - try - let r2 = Reg.Map.find reg sub2 in - identify r1 r2 - with Not_found -> - identify r1 reg - with Not_found -> - try - let r2 = Reg.Map.find reg sub2 in - identify r2 reg - with Not_found -> - () - -(* Identify registers so that the two substitutions agree on the - registers live before the given instruction. *) - -let merge_substs sub1 sub2 i = - match (sub1, sub2) with - (None, None) -> None - | (Some s1, None) -> sub1 - | (None, Some s2) -> sub2 - | (Some s1, Some s2) -> - Reg.Set.iter (identify_sub s1 s2) (Reg.add_set_array i.live i.arg); - sub1 - -(* Same, for N substitutions *) - -let merge_subst_array subv instr = - let rec find_one_subst i = - if i >= Array.length subv then None else begin - match subv.(i) with - None -> find_one_subst (i+1) - | Some si as sub -> - for j = i+1 to Array.length subv - 1 do - match subv.(j) with - None -> () - | Some sj -> - Reg.Set.iter (identify_sub si sj) - (Reg.add_set_array instr.live instr.arg) - done; - sub - end in - find_one_subst 0 - -(* First pass: rename registers at reload points *) - -let exit_subst = ref [] - -let find_exit_subst k = - try - List.assoc k !exit_subst with - | Not_found -> Misc.fatal_error "Split.find_exit_subst" - -let rec rename i sub = - match i.desc with - Iend -> - (i, sub) - | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _) -> - (instr_cons i.desc (subst_regs i.arg sub) [||] i.next, - None) - | Iop Ireload when i.res.(0).loc = Unknown -> - begin match sub with - None -> rename i.next sub - | Some s -> - let oldr = i.res.(0) in - let newr = Reg.clone i.res.(0) in - let (new_next, sub_next) = - rename i.next (Some(Reg.Map.add oldr newr s)) in - (instr_cons i.desc i.arg [|newr|] new_next, - sub_next) - end - | Iop _ -> - let (new_next, sub_next) = rename i.next sub in - (instr_cons_debug i.desc (subst_regs i.arg sub) (subst_regs i.res sub) - i.dbg new_next, - sub_next) - | Iifthenelse(tst, ifso, ifnot) -> - let (new_ifso, sub_ifso) = rename ifso sub in - let (new_ifnot, sub_ifnot) = rename ifnot sub in - let (new_next, sub_next) = - rename i.next (merge_substs sub_ifso sub_ifnot i.next) in - (instr_cons (Iifthenelse(tst, new_ifso, new_ifnot)) - (subst_regs i.arg sub) [||] new_next, - sub_next) - | Iswitch(index, cases) -> - let new_sub_cases = Array.map (fun c -> rename c sub) cases in - let sub_merge = - merge_subst_array (Array.map (fun (n, s) -> s) new_sub_cases) i.next in - let (new_next, sub_next) = rename i.next sub_merge in - (instr_cons (Iswitch(index, Array.map (fun (n, s) -> n) new_sub_cases)) - (subst_regs i.arg sub) [||] new_next, - sub_next) - | Iloop(body) -> - let (new_body, sub_body) = rename body sub in - let (new_next, sub_next) = rename i.next (merge_substs sub sub_body i) in - (instr_cons (Iloop(new_body)) [||] [||] new_next, - sub_next) - | Icatch(nfail, body, handler) -> - let new_subst = ref None in - exit_subst := (nfail, new_subst) :: !exit_subst ; - let (new_body, sub_body) = rename body sub in - let sub_entry_handler = !new_subst in - exit_subst := List.tl !exit_subst; - let (new_handler, sub_handler) = rename handler sub_entry_handler in - let (new_next, sub_next) = - rename i.next (merge_substs sub_body sub_handler i.next) in - (instr_cons (Icatch(nfail, new_body, new_handler)) [||] [||] new_next, - sub_next) - | Iexit nfail -> - let r = find_exit_subst nfail in - r := merge_substs !r sub i; - (i, None) - | Itrywith(body, handler) -> - let (new_body, sub_body) = rename body sub in - let (new_handler, sub_handler) = rename handler sub in - let (new_next, sub_next) = - rename i.next (merge_substs sub_body sub_handler i.next) in - (instr_cons (Itrywith(new_body, new_handler)) [||] [||] new_next, - sub_next) - | Iraise k -> - (instr_cons_debug (Iraise k) (subst_regs i.arg sub) [||] i.dbg i.next, - None) - -(* Second pass: replace registers by their final representatives *) - -let set_repres i = - instr_iter (fun i -> repres_regs i.arg; repres_regs i.res) i - -(* Entry point *) - -let reset () = - equiv_classes := Reg.Map.empty; - exit_subst := [] - -let fundecl f = - reset (); - - let new_args = Array.copy f.fun_args in - let (new_body, sub_body) = rename f.fun_body (Some Reg.Map.empty) in - repres_regs new_args; - set_repres new_body; - equiv_classes := Reg.Map.empty; - { fun_name = f.fun_name; - fun_args = new_args; - fun_body = new_body; - fun_fast = f.fun_fast; - fun_dbg = f.fun_dbg } diff --git a/vendor/ocaml/asmcomp/split.mli b/vendor/ocaml/asmcomp/split.mli deleted file mode 100644 index 1924a5ad6..000000000 --- a/vendor/ocaml/asmcomp/split.mli +++ /dev/null @@ -1,17 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Renaming of registers at reload points to split live ranges. *) - -val fundecl: Mach.fundecl -> Mach.fundecl - -val reset : unit -> unit diff --git a/vendor/ocaml/asmcomp/strmatch.ml b/vendor/ocaml/asmcomp/strmatch.ml deleted file mode 100644 index d63e92bf0..000000000 --- a/vendor/ocaml/asmcomp/strmatch.ml +++ /dev/null @@ -1,389 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Translation of string matching from closed lambda to C-- *) - -open Lambda -open Cmm - -module type I = sig - val string_block_length : Cmm.expression -> Cmm.expression - val transl_switch : - Cmm.expression -> int -> int -> - (int * Cmm.expression) list -> Cmm.expression -> - Cmm.expression -end - -module Make(I:I) = struct - -(* Debug *) - - let dbg = false - - let mask = - let open Nativeint in - sub (shift_left one 8) one - - let pat_as_string p = - let rec digits k n p = - if n <= 0 then k - else - let d = Nativeint.to_int (Nativeint.logand mask p) in - let d = Char.escaped (Char.chr d) in - digits (d::k) (n-1) (Nativeint.shift_right_logical p 8) in - let ds = digits [] Arch.size_addr p in - let ds = - if Arch.big_endian then ds else List.rev ds in - String.concat "" ds - - let do_pp_cases chan cases = - List.iter - (fun (ps,_) -> - Printf.fprintf chan " [%s]\n" - (String.concat "; " (List.map pat_as_string ps))) - cases - - let pp_cases chan tag cases = - Printf.eprintf "%s:\n" tag ; - do_pp_cases chan cases - - let pp_match chan tag idxs cases = - Printf.eprintf - "%s: idx=[%s]\n" tag - (String.concat "; " (List.map string_of_int idxs)) ; - do_pp_cases chan cases - -(* Utilities *) - - let gen_cell_id () = Ident.create "cell" - let gen_size_id () = Ident.create "size" - - let mk_let_cell id str ind body = - let cell = - Cop(Cload Word,[Cop(Cadda,[str;Cconst_int(Arch.size_int*ind)])]) in - Clet(id, cell, body) - - let mk_let_size id str body = - let size = I.string_block_length str in - Clet(id, size, body) - - let mk_cmp_gen cmp_op id nat ifso ifnot = - let test = Cop (Ccmpi cmp_op, [ Cvar id; Cconst_natpointer nat ]) in - Cifthenelse (test, ifso, ifnot) - - let mk_lt = mk_cmp_gen Clt - let mk_eq = mk_cmp_gen Ceq - - module IntArg = - struct - type t = int - let compare (x:int) (y:int) = - if x < y then -1 - else if x > y then 1 - else 0 - end - - let interval m0 n = - let rec do_rec m = - if m >= n then [] - else m::do_rec (m+1) in - do_rec m0 - - -(*****************************************************) -(* Compile strings to a lists of words [native ints] *) -(*****************************************************) - - let pat_of_string str = - let len = String.length str in - let n = len / Arch.size_addr + 1 in - let get_byte i = - if i < len then int_of_char str.[i] - else if i < n * Arch.size_addr - 1 then 0 - else n * Arch.size_addr - 1 - len in - let mk_word ind = - let w = ref 0n in - let imin = ind * Arch.size_addr - and imax = (ind + 1) * Arch.size_addr - 1 in - if Arch.big_endian then - for i = imin to imax do - w := Nativeint.logor (Nativeint.shift_left !w 8) - (Nativeint.of_int (get_byte i)); - done - else - for i = imax downto imin do - w := Nativeint.logor (Nativeint.shift_left !w 8) - (Nativeint.of_int (get_byte i)); - done; - !w in - let rec mk_words ind = - if ind >= n then [] - else mk_word ind::mk_words (ind+1) in - mk_words 0 - -(*****************************) -(* Discriminating heuristics *) -(*****************************) - - module IntSet = Set.Make(IntArg) - module NativeSet = Set.Make(Nativeint) - - let rec add_one sets ps = match sets,ps with - | [],[] -> [] - | set::sets,p::ps -> - let sets = add_one sets ps in - NativeSet.add p set::sets - | _,_ -> assert false - - let count_arities cases = match cases with - | [] -> assert false - | (ps,_)::_ -> - let sets = - List.fold_left - (fun sets (ps,_) -> add_one sets ps) - (List.map (fun _ -> NativeSet.empty) ps) cases in - List.map NativeSet.cardinal sets - - let count_arities_first cases = - let set = - List.fold_left - (fun set case -> match case with - | (p::_,_) -> NativeSet.add p set - | _ -> assert false) - NativeSet.empty cases in - NativeSet.cardinal set - - let count_arities_length cases = - let set = - List.fold_left - (fun set (ps,_) -> IntSet.add (List.length ps) set) - IntSet.empty cases in - IntSet.cardinal set - - let best_col = - let rec do_rec kbest best k = function - | [] -> kbest - | x::xs -> - if x < best then - do_rec k x (k+1) xs - else - do_rec kbest best (k+1) xs in - let smallest = do_rec (-1) max_int 0 in - fun cases -> - let ars = count_arities cases in - smallest ars - - let swap_list = - let rec do_rec k xs = match xs with - | [] -> assert false - | x::xs -> - if k <= 0 then [],x,xs - else - let xs,mid,ys = do_rec (k-1) xs in - x::xs,mid,ys in - fun k xs -> - let xs,x,ys = do_rec k xs in - x::xs @ ys - - let swap k idxs cases = - if k = 0 then idxs,cases - else - let idxs = swap_list k idxs - and cases = - List.map - (fun (ps,act) -> swap_list k ps,act) - cases in - if dbg then begin - pp_match stderr "SWAP" idxs cases - end ; - idxs,cases - - let best_first idxs cases = match idxs with - | []|[_] -> idxs,cases (* optimisation: one column only *) - | _ -> - let k = best_col cases in - swap k idxs cases - -(************************************) -(* Divide according to first column *) -(************************************) - - module Divide(O:Set.OrderedType) = struct - - module OMap = Map.Make(O) - - let do_find key env = - try OMap.find key env - with Not_found -> assert false - - let divide cases = - let env = - List.fold_left - (fun env (p,psact) -> - let old = - try OMap.find p env - with Not_found -> [] in - OMap.add p ((psact)::old) env) - OMap.empty cases in - let r = OMap.fold (fun key v k -> (key,v)::k) env [] in - List.rev r (* Now sorted *) - end - -(***************) -(* Compilation *) -(***************) - -(* Group by cell *) - - module DivideNative = Divide(Nativeint) - - let by_cell cases = - DivideNative.divide - (List.map - (fun case -> match case with - | (p::ps),act -> p,(ps,act) - | [],_ -> assert false) - cases) - -(* Split into two halves *) - - let rec do_split idx env = match env with - | [] -> assert false - | (midkey,_ as x)::rem -> - if idx <= 0 then [],midkey,env - else - let lt,midkey,ge = do_split (idx-1) rem in - x::lt,midkey,ge - - let split_env len env = do_split (len/2) env - -(* Switch according to one cell *) - -(* - Emit the switch, here as a comparison tree. - Argument compile_rec is to be called to compile the rest of patterns, - as match_on_cell can be called in two different contexts : - from do_compile_pats and top_compile below. - *) - let match_oncell compile_rec str default idx env = - let id = gen_cell_id () in - let rec comp_rec env = - let len = List.length env in - if len <= 3 then - List.fold_right - (fun (key,cases) ifnot -> - mk_eq id key - (compile_rec str default cases) - ifnot) - env default - else - let lt,midkey,ge = split_env len env in - mk_lt id midkey (comp_rec lt) (comp_rec ge) in - mk_let_cell id str idx (comp_rec env) - -(* - Recursive 'list of cells' compile function: - - choose the matched cell and switch on it - - notice: patterns (and idx) all have the same length - *) - - let rec do_compile_pats idxs str default cases = - if dbg then begin - pp_match stderr "COMPILE" idxs cases - end ; - match idxs with - | [] -> - begin match cases with - | [] -> default - | (_,e)::_ -> e - end - | _::_ -> - let idxs,cases = best_first idxs cases in - begin match idxs with - | [] -> assert false - | idx::idxs -> - match_oncell - (do_compile_pats idxs) str default idx (by_cell cases) - end - - -(* Group by size *) - - module DivideInt = Divide(IntArg) - - - let by_size cases = - DivideInt.divide - (List.map - (fun (ps,_ as case) -> List.length ps,case) - cases) -(* - Switch according to pattern size - Argument from_ind is the starting index, it can be zero - or one (when the swicth on the cell 0 has already been performed. - In that latter case pattern len is string length-1 and is corrected. - *) - - let compile_by_size from_ind str default cases = - let size_cases = - List.map - (fun (len,cases) -> - let len = len+from_ind in - let act = - do_compile_pats - (interval from_ind len) - str default cases in - (len,act)) - (by_size cases) in - let id = gen_size_id () in - let switch = I.transl_switch (Cvar id) 1 max_int size_cases default in - mk_let_size id str switch - -(* - Compilation entry point: we choose to switch - either on size or on first cell, using the - 'least discriminant' heuristics. - *) - let top_compile str default cases = - let a_len = count_arities_length cases - and a_fst = count_arities_first cases in - if a_len <= a_fst then begin - if dbg then pp_cases stderr "SIZE" cases ; - compile_by_size 0 str default cases - end else begin - if dbg then pp_cases stderr "FIRST COL" cases ; - let compile_size_rest str default cases = - compile_by_size 1 str default cases in - match_oncell compile_size_rest str default 0 (by_cell cases) - end - -(* Module entry point *) - - let catch arg k = match arg with - | Cexit (e,[]) -> k arg - | _ -> - let e = next_raise_count () in - Ccatch (e,[],k (Cexit (e,[])),arg) - - let compile str default cases = -(* We do not attempt to really optimise default=None *) - let cases,default = match cases,default with - | (_,e)::cases,None - | cases,Some e -> cases,e - | [],None -> assert false in - let cases = - List.rev_map - (fun (s,act) -> pat_of_string s,act) - cases in - catch default (fun default -> top_compile str default cases) - - end diff --git a/vendor/ocaml/asmcomp/strmatch.mli b/vendor/ocaml/asmcomp/strmatch.mli deleted file mode 100644 index 143dae5cb..000000000 --- a/vendor/ocaml/asmcomp/strmatch.mli +++ /dev/null @@ -1,28 +0,0 @@ -(***********************************************************************) -(* *) -(* OCaml *) -(* *) -(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *) -(* *) -(* Copyright 1996 Institut National de Recherche en Informatique et *) -(* en Automatique. All rights reserved. This file is distributed *) -(* under the terms of the Q Public License version 1.0. *) -(* *) -(***********************************************************************) - -(* Translation of string matching from closed lambda to C-- *) - -module type I = sig - val string_block_length : Cmm.expression -> Cmm.expression - val transl_switch : - Cmm.expression -> int -> int -> - (int * Cmm.expression) list -> Cmm.expression -> - Cmm.expression -end - -module Make(I:I) : sig - (* Compile stringswitch (arg,cases,d) - Note: cases should not contain string duplicates *) - val compile : Cmm.expression (* arg *) -> Cmm.expression option (* d *) -> - (string * Cmm.expression) list (* cases *)-> Cmm.expression -end diff --git a/vendor/ocaml/asmrun/.depend b/vendor/ocaml/asmrun/.depend deleted file mode 100644 index e761606f8..000000000 --- a/vendor/ocaml/asmrun/.depend +++ /dev/null @@ -1,1044 +0,0 @@ -alloc.o: alloc.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/stacks.h ../byterun/caml/memory.h -array.o: array.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h -backtrace.o: backtrace.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/backtrace.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h stack.h -callback.o: callback.c ../byterun/caml/callback.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h -compact.o: compact.c ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/finalise.h ../byterun/caml/roots.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/freelist.h \ - ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \ - ../byterun/caml/major_gc.h ../byterun/caml/memory.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \ - ../byterun/caml/weak.h -compare.o: compare.c ../byterun/caml/custom.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h -custom.o: custom.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h -debugger.o: debugger.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/config.h ../byterun/caml/debugger.h \ - ../byterun/caml/misc.h -dynlink.o: dynlink.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \ - ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/osdeps.h ../byterun/caml/prims.h \ - ../byterun/caml/signals.h -extern.o: extern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \ - ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \ - ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/reverse.h -fail.o: fail.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/printexc.h ../byterun/caml/signals.h stack.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h \ - ../byterun/caml/callback.h -finalise.o: finalise.c ../byterun/caml/callback.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/signals.h -floats.o: floats.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \ - ../byterun/caml/reverse.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h -freelist.o: freelist.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/freelist.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/mlvalues.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/major_gc.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h -gc_ctrl.o: gc_ctrl.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/compact.h ../byterun/caml/custom.h \ - ../byterun/caml/finalise.h ../byterun/caml/roots.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/freelist.h \ - ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h -globroots.o: globroots.c ../byterun/caml/memory.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h \ - ../byterun/caml/globroots.h ../byterun/caml/roots.h -hash.o: hash.c ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/custom.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/hash.h -intern.o: intern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/callback.h ../byterun/caml/custom.h \ - ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \ - ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/misc.h ../byterun/caml/reverse.h -ints.o: ints.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/intext.h \ - ../byterun/caml/io.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h -io.o: io.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \ - ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \ - ../byterun/caml/sys.h -lexing.o: lexing.c ../byterun/caml/fail.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h -main.o: main.c ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h -major_gc.o: major_gc.c ../byterun/caml/compact.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/custom.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/fail.h ../byterun/caml/finalise.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/freelist.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/weak.h -md5.o: md5.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/io.h ../byterun/caml/reverse.h -memory.o: memory.c ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/freelist.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/signals.h -meta.o: meta.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/config.h ../byterun/caml/fail.h \ - ../byterun/caml/fix_code.h ../byterun/caml/interp.h \ - ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/prims.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h -minor_gc.o: minor_gc.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/fail.h ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/finalise.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \ - ../byterun/caml/major_gc.h ../byterun/caml/memory.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \ - ../byterun/caml/signals.h ../byterun/caml/weak.h -misc.o: misc.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h -natdynlink.o: natdynlink.c ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \ - ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \ - ../byterun/caml/osdeps.h ../byterun/caml/fail.h \ - ../byterun/caml/signals.h -obj.o: obj.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/prims.h -parsing.o: parsing.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/alloc.h -printexc.o: printexc.c ../byterun/caml/backtrace.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/callback.h \ - ../byterun/caml/debugger.h ../byterun/caml/fail.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h -roots.o: roots.c ../byterun/caml/finalise.h ../byterun/caml/roots.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/globroots.h ../byterun/caml/memory.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h \ - ../byterun/caml/roots.h -signals_asm.o: signals_asm.c ../byterun/caml/fail.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/osdeps.h ../byterun/caml/signals.h \ - ../byterun/caml/signals_machdep.h signals_osdep.h stack.h -signals.o: signals.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/callback.h ../byterun/caml/config.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h \ - ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \ - ../byterun/caml/sys.h -startup.o: startup.c ../byterun/caml/callback.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/backtrace.h \ - ../byterun/caml/custom.h ../byterun/caml/debugger.h \ - ../byterun/caml/fail.h ../byterun/caml/freelist.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \ - ../byterun/caml/printexc.h stack.h ../byterun/caml/sys.h -str.o: str.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/mlvalues.h ../byterun/caml/misc.h -sys.o: sys.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \ - ../byterun/caml/fail.h ../byterun/caml/instruct.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \ - ../byterun/caml/signals.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/sys.h -terminfo.o: terminfo.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \ - ../byterun/caml/mlvalues.h -unix.o: unix.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \ - ../byterun/caml/config.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/misc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/osdeps.h -weak.o: weak.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h -alloc.d.o: alloc.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/stacks.h ../byterun/caml/memory.h -array.d.o: array.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h -backtrace.d.o: backtrace.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/backtrace.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h stack.h -callback.d.o: callback.c ../byterun/caml/callback.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h -compact.d.o: compact.c ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/finalise.h ../byterun/caml/roots.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/freelist.h \ - ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \ - ../byterun/caml/major_gc.h ../byterun/caml/memory.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \ - ../byterun/caml/weak.h -compare.d.o: compare.c ../byterun/caml/custom.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h -custom.d.o: custom.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h -debugger.d.o: debugger.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/config.h ../byterun/caml/debugger.h \ - ../byterun/caml/misc.h -dynlink.d.o: dynlink.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \ - ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/osdeps.h ../byterun/caml/prims.h \ - ../byterun/caml/signals.h -extern.d.o: extern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \ - ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \ - ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/reverse.h -fail.d.o: fail.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/printexc.h ../byterun/caml/signals.h stack.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h \ - ../byterun/caml/callback.h -finalise.d.o: finalise.c ../byterun/caml/callback.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/signals.h -floats.d.o: floats.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \ - ../byterun/caml/reverse.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h -freelist.d.o: freelist.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/freelist.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/mlvalues.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/major_gc.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h -gc_ctrl.d.o: gc_ctrl.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/compact.h ../byterun/caml/custom.h \ - ../byterun/caml/finalise.h ../byterun/caml/roots.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/freelist.h \ - ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h -globroots.d.o: globroots.c ../byterun/caml/memory.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h \ - ../byterun/caml/globroots.h ../byterun/caml/roots.h -hash.d.o: hash.c ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/custom.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/hash.h -intern.d.o: intern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/callback.h ../byterun/caml/custom.h \ - ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \ - ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/misc.h ../byterun/caml/reverse.h -ints.d.o: ints.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/intext.h \ - ../byterun/caml/io.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h -io.d.o: io.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \ - ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \ - ../byterun/caml/sys.h -lexing.d.o: lexing.c ../byterun/caml/fail.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h -main.d.o: main.c ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h -major_gc.d.o: major_gc.c ../byterun/caml/compact.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/custom.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/fail.h ../byterun/caml/finalise.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/freelist.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/weak.h -md5.d.o: md5.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/io.h ../byterun/caml/reverse.h -memory.d.o: memory.c ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/freelist.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/signals.h -meta.d.o: meta.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/config.h ../byterun/caml/fail.h \ - ../byterun/caml/fix_code.h ../byterun/caml/interp.h \ - ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/prims.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h -minor_gc.d.o: minor_gc.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/fail.h ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/finalise.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \ - ../byterun/caml/major_gc.h ../byterun/caml/memory.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \ - ../byterun/caml/signals.h ../byterun/caml/weak.h -misc.d.o: misc.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h -natdynlink.d.o: natdynlink.c ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \ - ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \ - ../byterun/caml/osdeps.h ../byterun/caml/fail.h \ - ../byterun/caml/signals.h -obj.d.o: obj.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/prims.h -parsing.d.o: parsing.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/alloc.h -printexc.d.o: printexc.c ../byterun/caml/backtrace.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/callback.h \ - ../byterun/caml/debugger.h ../byterun/caml/fail.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h -roots.d.o: roots.c ../byterun/caml/finalise.h ../byterun/caml/roots.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/globroots.h ../byterun/caml/memory.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h \ - ../byterun/caml/roots.h -signals_asm.d.o: signals_asm.c ../byterun/caml/fail.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/osdeps.h ../byterun/caml/signals.h \ - ../byterun/caml/signals_machdep.h signals_osdep.h stack.h -signals.d.o: signals.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/callback.h ../byterun/caml/config.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h \ - ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \ - ../byterun/caml/sys.h -startup.d.o: startup.c ../byterun/caml/callback.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/backtrace.h \ - ../byterun/caml/custom.h ../byterun/caml/debugger.h \ - ../byterun/caml/fail.h ../byterun/caml/freelist.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \ - ../byterun/caml/printexc.h stack.h ../byterun/caml/sys.h -str.d.o: str.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/mlvalues.h ../byterun/caml/misc.h -sys.d.o: sys.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \ - ../byterun/caml/fail.h ../byterun/caml/instruct.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \ - ../byterun/caml/signals.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/sys.h -terminfo.d.o: terminfo.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \ - ../byterun/caml/mlvalues.h -unix.d.o: unix.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \ - ../byterun/caml/config.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/misc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/osdeps.h -weak.d.o: weak.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h -alloc.p.o: alloc.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/stacks.h ../byterun/caml/memory.h -array.p.o: array.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h -backtrace.p.o: backtrace.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/backtrace.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h stack.h -callback.p.o: callback.c ../byterun/caml/callback.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h -compact.p.o: compact.c ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/finalise.h ../byterun/caml/roots.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/freelist.h \ - ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \ - ../byterun/caml/major_gc.h ../byterun/caml/memory.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \ - ../byterun/caml/weak.h -compare.p.o: compare.c ../byterun/caml/custom.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h -custom.p.o: custom.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h -debugger.p.o: debugger.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/config.h ../byterun/caml/debugger.h \ - ../byterun/caml/misc.h -dynlink.p.o: dynlink.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/dynlink.h \ - ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/osdeps.h ../byterun/caml/prims.h \ - ../byterun/caml/signals.h -extern.p.o: extern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/gc.h \ - ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/io.h \ - ../byterun/caml/md5.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/reverse.h -fail.p.o: fail.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/gc.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/printexc.h ../byterun/caml/signals.h stack.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h \ - ../byterun/caml/callback.h -finalise.p.o: finalise.c ../byterun/caml/callback.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/fail.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/signals.h -floats.p.o: floats.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \ - ../byterun/caml/reverse.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h -freelist.p.o: freelist.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/freelist.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/mlvalues.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/major_gc.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h -gc_ctrl.p.o: gc_ctrl.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/compact.h ../byterun/caml/custom.h \ - ../byterun/caml/finalise.h ../byterun/caml/roots.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/freelist.h \ - ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h -globroots.p.o: globroots.c ../byterun/caml/memory.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h \ - ../byterun/caml/globroots.h ../byterun/caml/roots.h -hash.p.o: hash.c ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/custom.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/hash.h -intern.p.o: intern.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/callback.h ../byterun/caml/custom.h \ - ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/intext.h \ - ../byterun/caml/io.h ../byterun/caml/io.h ../byterun/caml/md5.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/misc.h ../byterun/caml/reverse.h -ints.p.o: ints.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/custom.h ../byterun/caml/fail.h ../byterun/caml/intext.h \ - ../byterun/caml/io.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h -io.p.o: io.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/custom.h \ - ../byterun/caml/fail.h ../byterun/caml/io.h ../byterun/caml/memory.h \ - ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/signals.h \ - ../byterun/caml/sys.h -lexing.p.o: lexing.c ../byterun/caml/fail.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h -main.p.o: main.c ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h ../byterun/caml/sys.h -major_gc.p.o: major_gc.c ../byterun/caml/compact.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/custom.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/fail.h ../byterun/caml/finalise.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/freelist.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/weak.h -md5.p.o: md5.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/md5.h ../byterun/caml/io.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/io.h ../byterun/caml/reverse.h -memory.p.o: memory.c ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/freelist.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/signals.h -meta.p.o: meta.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/config.h ../byterun/caml/fail.h \ - ../byterun/caml/fix_code.h ../byterun/caml/interp.h \ - ../byterun/caml/intext.h ../byterun/caml/io.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/prims.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h -minor_gc.p.o: minor_gc.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/fail.h ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/finalise.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/gc.h ../byterun/caml/gc_ctrl.h \ - ../byterun/caml/major_gc.h ../byterun/caml/memory.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/roots.h \ - ../byterun/caml/signals.h ../byterun/caml/weak.h -misc.p.o: misc.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/misc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h -natdynlink.p.o: natdynlink.c ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h stack.h ../byterun/caml/callback.h \ - ../byterun/caml/alloc.h ../byterun/caml/intext.h ../byterun/caml/io.h \ - ../byterun/caml/osdeps.h ../byterun/caml/fail.h \ - ../byterun/caml/signals.h -obj.p.o: obj.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/gc.h ../byterun/caml/interp.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/prims.h -parsing.p.o: parsing.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/misc.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/alloc.h -printexc.p.o: printexc.c ../byterun/caml/backtrace.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/callback.h \ - ../byterun/caml/debugger.h ../byterun/caml/fail.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/printexc.h -roots.p.o: roots.c ../byterun/caml/finalise.h ../byterun/caml/roots.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/globroots.h ../byterun/caml/memory.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h stack.h \ - ../byterun/caml/roots.h -signals_asm.p.o: signals_asm.c ../byterun/caml/fail.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/osdeps.h ../byterun/caml/signals.h \ - ../byterun/caml/signals_machdep.h signals_osdep.h stack.h -signals.p.o: signals.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/callback.h ../byterun/caml/config.h \ - ../byterun/caml/fail.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/freelist.h \ - ../byterun/caml/minor_gc.h ../byterun/caml/address_class.h \ - ../byterun/caml/misc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/roots.h ../byterun/caml/memory.h \ - ../byterun/caml/signals.h ../byterun/caml/signals_machdep.h \ - ../byterun/caml/sys.h -startup.p.o: startup.c ../byterun/caml/callback.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/misc.h ../byterun/caml/backtrace.h \ - ../byterun/caml/custom.h ../byterun/caml/debugger.h \ - ../byterun/caml/fail.h ../byterun/caml/freelist.h ../byterun/caml/gc.h \ - ../byterun/caml/gc_ctrl.h ../byterun/caml/intext.h ../byterun/caml/io.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \ - ../byterun/caml/printexc.h stack.h ../byterun/caml/sys.h -str.p.o: str.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/mlvalues.h ../byterun/caml/misc.h -sys.p.o: sys.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/alloc.h \ - ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/debugger.h \ - ../byterun/caml/fail.h ../byterun/caml/instruct.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/osdeps.h \ - ../byterun/caml/signals.h ../byterun/caml/stacks.h \ - ../byterun/caml/memory.h ../byterun/caml/gc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/sys.h -terminfo.p.o: terminfo.c ../byterun/caml/config.h \ - ../byterun/caml/../../config/m.h ../byterun/caml/../../config/s.h \ - ../byterun/caml/alloc.h ../byterun/caml/misc.h ../byterun/caml/config.h \ - ../byterun/caml/mlvalues.h ../byterun/caml/fail.h ../byterun/caml/io.h \ - ../byterun/caml/mlvalues.h -unix.p.o: unix.c ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/memory.h \ - ../byterun/caml/config.h ../byterun/caml/gc.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/misc.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/misc.h \ - ../byterun/caml/osdeps.h -weak.p.o: weak.c ../byterun/caml/alloc.h ../byterun/caml/misc.h \ - ../byterun/caml/config.h ../byterun/caml/../../config/m.h \ - ../byterun/caml/../../config/s.h ../byterun/caml/mlvalues.h \ - ../byterun/caml/fail.h ../byterun/caml/major_gc.h \ - ../byterun/caml/freelist.h ../byterun/caml/memory.h ../byterun/caml/gc.h \ - ../byterun/caml/major_gc.h ../byterun/caml/minor_gc.h \ - ../byterun/caml/address_class.h ../byterun/caml/mlvalues.h diff --git a/vendor/ocaml/asmrun/.ignore b/vendor/ocaml/asmrun/.ignore deleted file mode 100644 index a7a9d3356..000000000 --- a/vendor/ocaml/asmrun/.ignore +++ /dev/null @@ -1,40 +0,0 @@ -*.p.c -*.d.c -libasmrun.a -libasmrunp.a -main.c -misc.c -freelist.c -major_gc.c -minor_gc.c -memory.c -alloc.c -array.c -compare.c -ints.c -floats.c -str.c -io.c -extern.c -intern.c -hash.c -sys.c -parsing.c -gc_ctrl.c -terminfo.c -md5.c -obj.c -lexing.c -printexc.c -callback.c -weak.c -compact.c -finalise.c -custom.c -meta.c -globroots.c -unix.c -dynlink.c -signals.c -debugger.c -.depend.nt diff --git a/vendor/ocaml/asmrun/Makefile b/vendor/ocaml/asmrun/Makefile deleted file mode 100644 index 37b6182d0..000000000 --- a/vendor/ocaml/asmrun/Makefile +++ /dev/null @@ -1,244 +0,0 @@ -######################################################################### -# # -# OCaml # -# # -# Xavier Leroy, projet Cristal, INRIA Rocquencourt # -# # -# Copyright 1999 Institut National de Recherche en Informatique et # -# en Automatique. All rights reserved. This file is distributed # -# under the terms of the GNU Library General Public License, with # -# the special exception on linking described in file ../LICENSE. # -# # -######################################################################### - -include ../config/Makefile - -CC=$(NATIVECC) -FLAGS=-I../byterun -DCAML_NAME_SPACE -DNATIVE_CODE \ - -DTARGET_$(ARCH) -DSYS_$(SYSTEM) $(IFLEXDIR) -CFLAGS=$(FLAGS) $(NATIVECCCOMPOPTS) -DFLAGS=$(FLAGS) -g -DDEBUG $(NATIVECCCOMPOPTS) -PFLAGS=$(FLAGS) -pg -O -DPROFILING $(NATIVECCPROFOPTS) -PICFLAGS=$(FLAGS) -O $(SHAREDCCCOMPOPTS) $(NATIVECCCOMPOPTS) - -COBJS=startup.o main.o fail.o roots.o globroots.o signals.o signals_asm.o \ - misc.o freelist.o major_gc.o minor_gc.o memory.o alloc.o compare.o ints.o \ - floats.o str.o array.o io.o extern.o intern.o hash.o sys.o parsing.o \ - gc_ctrl.o terminfo.o md5.o obj.o lexing.o printexc.o callback.o weak.o \ - compact.o finalise.o custom.o $(UNIX_OR_WIN32).o backtrace.o natdynlink.o\ - debugger.o meta.o dynlink.o - -ASMOBJS=$(ARCH).o - -OBJS=$(COBJS) $(ASMOBJS) -DOBJS=$(COBJS:.o=.d.o) $(ASMOBJS) -POBJS=$(COBJS:.o=.p.o) $(ASMOBJS:.o=.p.o) -PICOBJS=$(COBJS:.o=.pic.o) $(ASMOBJS:.o=.pic.o) - -all: libasmrun.a all-$(RUNTIMED) all-$(PROFILING) all-$(SHARED) - -libasmrun.a: $(OBJS) - rm -f libasmrun.a - $(ARCMD) rc libasmrun.a $(OBJS) - $(RANLIB) libasmrun.a - -all-noruntimed: -.PHONY: all-noruntimed - -all-runtimed: libasmrund.a -.PHONY: all-runtimed - -libasmrund.a: $(DOBJS) - rm -f libasmrund.a - $(ARCMD) rc libasmrund.a $(DOBJS) - $(RANLIB) libasmrund.a - -all-noprof: - -all-prof: libasmrunp.a - -libasmrunp.a: $(POBJS) - rm -f libasmrunp.a - $(ARCMD) rc libasmrunp.a $(POBJS) - $(RANLIB) libasmrunp.a - -all-noshared: - -all-shared: libasmrun_pic.a libasmrun_shared.so - -libasmrun_pic.a: $(PICOBJS) - rm -f libasmrun_pic.a - ar rc libasmrun_pic.a $(PICOBJS) - $(RANLIB) libasmrun_pic.a - -libasmrun_shared.so: $(PICOBJS) - $(MKDLL) -o libasmrun_shared.so $(PICOBJS) $(NATIVECCLIBS) - -INSTALL_LIBDIR=$(DESTDIR)$(LIBDIR) - -install: install-default install-$(RUNTIMED) install-$(PROFILING) install-$(SHARED) - -install-default: - cp libasmrun.a $(INSTALL_LIBDIR)/libasmrun.a - cd $(INSTALL_LIBDIR); $(RANLIB) libasmrun.a -.PHONY: install-default - -install-noruntimed: -.PHONY: install-noruntimed - -install-runtimed: - cp libasmrund.a $(INSTALL_LIBDIR)/libasmrund.a - cd $(INSTALL_LIBDIR); $(RANLIB) libasmrund.a -.PHONY: install-runtimed - -install-noprof: - rm -f $(INSTALL_LIBDIR)/libasmrunp.a - ln -s libasmrun.a $(INSTALL_LIBDIR)/libasmrunp.a -.PHONY: install-noprof - -install-prof: - cp libasmrunp.a $(INSTALL_LIBDIR)/libasmrunp.a - cd $(INSTALL_LIBDIR); $(RANLIB) libasmrunp.a -.PHONY: install-prof - -install-noshared: -.PHONY: install-noshared - -install-shared: - cp libasmrun_pic.a $(INSTALL_LIBDIR)/libasmrun_pic.a - cd $(INSTALL_LIBDIR); $(RANLIB) libasmrunp.a - cp libasmrun_shared.so $(INSTALL_LIBDIR)/libasmrun_shared.so -.PHONY: install-prof - -power-bsd_elf.S: power-elf.S - cp power-elf.S power-bsd_elf.S - -power.o: power-$(SYSTEM).o - cp power-$(SYSTEM).o power.o - -power.p.o: power-$(SYSTEM).o - cp power-$(SYSTEM).o power.p.o - -power.pic.o: power-$(SYSTEM).pic.o - cp power-$(SYSTEM).pic.o power.pic.o - -main.c: ../byterun/main.c - ln -s ../byterun/main.c main.c -misc.c: ../byterun/misc.c - ln -s ../byterun/misc.c misc.c -freelist.c: ../byterun/freelist.c - ln -s ../byterun/freelist.c freelist.c -major_gc.c: ../byterun/major_gc.c - ln -s ../byterun/major_gc.c major_gc.c -minor_gc.c: ../byterun/minor_gc.c - ln -s ../byterun/minor_gc.c minor_gc.c -memory.c: ../byterun/memory.c - ln -s ../byterun/memory.c memory.c -alloc.c: ../byterun/alloc.c - ln -s ../byterun/alloc.c alloc.c -array.c: ../byterun/array.c - ln -s ../byterun/array.c array.c -compare.c: ../byterun/compare.c - ln -s ../byterun/compare.c compare.c -ints.c: ../byterun/ints.c - ln -s ../byterun/ints.c ints.c -floats.c: ../byterun/floats.c - ln -s ../byterun/floats.c floats.c -str.c: ../byterun/str.c - ln -s ../byterun/str.c str.c -io.c: ../byterun/io.c - ln -s ../byterun/io.c io.c -extern.c: ../byterun/extern.c - ln -s ../byterun/extern.c extern.c -intern.c: ../byterun/intern.c - ln -s ../byterun/intern.c intern.c -hash.c: ../byterun/hash.c - ln -s ../byterun/hash.c hash.c -sys.c: ../byterun/sys.c - ln -s ../byterun/sys.c sys.c -parsing.c: ../byterun/parsing.c - ln -s ../byterun/parsing.c parsing.c -gc_ctrl.c: ../byterun/gc_ctrl.c - ln -s ../byterun/gc_ctrl.c gc_ctrl.c -terminfo.c: ../byterun/terminfo.c - ln -s ../byterun/terminfo.c terminfo.c -md5.c: ../byterun/md5.c - ln -s ../byterun/md5.c md5.c -obj.c: ../byterun/obj.c - ln -s ../byterun/obj.c obj.c -lexing.c: ../byterun/lexing.c - ln -s ../byterun/lexing.c lexing.c -printexc.c: ../byterun/printexc.c - ln -s ../byterun/printexc.c printexc.c -callback.c: ../byterun/callback.c - ln -s ../byterun/callback.c callback.c -weak.c: ../byterun/weak.c - ln -s ../byterun/weak.c weak.c -compact.c: ../byterun/compact.c - ln -s ../byterun/compact.c compact.c -finalise.c: ../byterun/finalise.c - ln -s ../byterun/finalise.c finalise.c -custom.c: ../byterun/custom.c - ln -s ../byterun/custom.c custom.c -meta.c: ../byterun/meta.c - ln -s ../byterun/meta.c meta.c -globroots.c: ../byterun/globroots.c - ln -s ../byterun/globroots.c globroots.c -$(UNIX_OR_WIN32).c: ../byterun/$(UNIX_OR_WIN32).c - ln -s ../byterun/$(UNIX_OR_WIN32).c $(UNIX_OR_WIN32).c -dynlink.c: ../byterun/dynlink.c - ln -s ../byterun/dynlink.c dynlink.c -signals.c: ../byterun/signals.c - ln -s ../byterun/signals.c signals.c -debugger.c: ../byterun/debugger.c - ln -s ../byterun/debugger.c debugger.c - -LINKEDFILES=misc.c freelist.c major_gc.c minor_gc.c memory.c alloc.c array.c \ - compare.c ints.c floats.c str.c io.c extern.c intern.c hash.c sys.c \ - parsing.c gc_ctrl.c terminfo.c md5.c obj.c lexing.c printexc.c callback.c \ - weak.c compact.c finalise.c meta.c custom.c main.c globroots.c \ - $(UNIX_OR_WIN32).c dynlink.c signals.c debugger.c - -clean:: - rm -f $(LINKEDFILES) - -%.o: %.S - $(ASPP) -DSYS_$(SYSTEM) -DMODEL_$(MODEL) -o $@ $< || \ - { echo "If your assembler produced syntax errors, it is probably";\ - echo "unhappy with the preprocessor. Check your assembler, or";\ - echo "try producing $*.o by hand.";\ - exit 2; } - -%.p.o: %.S - $(ASPP) -DSYS_$(SYSTEM) -DMODEL_$(MODEL) $(ASPPPROFFLAGS) -o $@ $< - -%.pic.o: %.S - $(ASPP) -DSYS_$(SYSTEM) -DMODEL_$(MODEL) $(SHAREDCCCOMPOPTS) -o $@ $< - -%.d.o: %.c - $(CC) -c $(DFLAGS) -o $@ $< - -%.p.o: %.c - $(CC) -c $(PFLAGS) -o $@ $< - -%.pic.o: %.c - $(CC) -c $(PICFLAGS) -o $@ $< - -%.o: %.s - $(ASPP) -DSYS_$(SYSTEM) -o $@ $< - -%.p.o: %.s - $(ASPP) -DSYS_$(SYSTEM) $(ASPPPROFFLAGS) -o $@ $< - -%.pic.o: %.s - $(ASPP) -DSYS_$(SYSTEM) $(SHAREDCCCOMPOPTS) -o $@ $< - -clean:: - rm -f *.o *.a *~ - -depend: $(COBJS:.o=.c) ${LINKEDFILES} - $(CC) -MM $(FLAGS) *.c > .depend - $(CC) -MM $(FLAGS) -DDEBUG *.c | sed -e 's/\.o/.d.o/' >> .depend - $(CC) -MM $(FLAGS) -DPROFILING *.c | sed -e 's/\.o/.p.o/' >> .depend - -include .depend diff --git a/vendor/ocaml/asmrun/Makefile.nt b/vendor/ocaml/asmrun/Makefile.nt deleted file mode 100644 index dba8343c9..000000000 --- a/vendor/ocaml/asmrun/Makefile.nt +++ /dev/null @@ -1,83 +0,0 @@ -######################################################################### -# # -# OCaml # -# # -# Xavier Leroy, projet Cristal, INRIA Rocquencourt # -# # -# Copyright 1999 Institut National de Recherche en Informatique et # -# en Automatique. All rights reserved. This file is distributed # -# under the terms of the GNU Library General Public License, with # -# the special exception on linking described in file ../LICENSE. # -# # -######################################################################### - -include ../config/Makefile - -CC=$(NATIVECC) -CFLAGS=-I../byterun -DNATIVE_CODE -DTARGET_$(ARCH) -DSYS_$(SYSTEM) \ - $(NATIVECCCOMPOPTS) - -COBJS=startup.$(O) main.$(O) fail.$(O) roots.$(O) signals.$(O) signals_asm.$(O)\ - misc.$(O) freelist.$(O) major_gc.$(O) minor_gc.$(O) memory.$(O) alloc.$(O) \ - compare.$(O) ints.$(O) floats.$(O) str.$(O) array.$(O) io.$(O) extern.$(O) \ - intern.$(O) hash.$(O) sys.$(O) parsing.$(O) gc_ctrl.$(O) terminfo.$(O) \ - md5.$(O) obj.$(O) lexing.$(O) win32.$(O) printexc.$(O) callback.$(O) \ - weak.$(O) compact.$(O) finalise.$(O) custom.$(O) globroots.$(O) \ - backtrace.$(O) natdynlink.$(O) debugger.$(O) meta.$(O) dynlink.$(O) - -LINKEDFILES=misc.c freelist.c major_gc.c minor_gc.c memory.c alloc.c array.c \ - compare.c ints.c floats.c str.c io.c extern.c intern.c hash.c sys.c \ - parsing.c gc_ctrl.c terminfo.c md5.c obj.c lexing.c printexc.c callback.c \ - weak.c compact.c meta.c finalise.c custom.c main.c globroots.c \ - dynlink.c signals.c debugger.c - -ifeq ($(TOOLCHAIN),mingw) -ASMOBJS=$(ARCH).o -else -ASMOBJS=$(ARCH)nt.obj -endif - -OBJS=$(COBJS) $(ASMOBJS) - -all: libasmrun.$(A) - -libasmrun.$(A): $(OBJS) - $(call MKLIB,libasmrun.$(A), $(OBJS)) - -i386nt.obj: i386nt.asm - $(ASM)i386nt.obj i386nt.asm - -amd64nt.obj: amd64nt.asm - $(ASM)amd64nt.obj amd64nt.asm - -i386.o: i386.S - $(ASPP) -DSYS_$(SYSTEM) i386.S - -amd64.o: amd64.S - $(ASPP) -DSYS_$(SYSTEM) amd64.S - -INSTALL_LIBDIR=$(DESTDIR)$(LIBDIR) - -install: - cp libasmrun.$(A) $(INSTALL_LIBDIR) - -$(LINKEDFILES): %.c: ../byterun/%.c - cp ../byterun/$*.c $*.c - -# Need special compilation rule so as not to do -I../byterun -win32.$(O): ../byterun/win32.c - $(CC) -c $(NATIVECCCOMPOPTS) -DNATIVE_CODE $(IFLEXDIR) ../byterun/win32.c - -%.$(O): %.c - $(CC) $(CFLAGS) -c $< - -clean:: - rm -f $(LINKEDFILES) - -clean:: - rm -f *.$(O) *.$(A) *~ - -.depend.nt: .depend - sed -e 's/\.o/.$(O)/g' .depend > .depend.nt - -include .depend.nt diff --git a/vendor/ocaml/asmrun/amd64.S b/vendor/ocaml/asmrun/amd64.S deleted file mode 100644 index be38848ec..000000000 --- a/vendor/ocaml/asmrun/amd64.S +++ /dev/null @@ -1,694 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 2003 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Asm part of the runtime system, AMD64 processor */ -/* Must be preprocessed by cpp */ - -/* PIC mode support based on contribution by Paul Stravers (see PR#4795) */ - -#include "../config/m.h" - -#if defined(SYS_macosx) - -#define LBL(x) L##x -#define G(r) _##r -#define GREL(r) _##r@GOTPCREL -#define GCALL(r) _##r -#define FUNCTION_ALIGN 2 -#define EIGHT_ALIGN 3 -#define SIXTEEN_ALIGN 4 -#define FUNCTION(name) \ - .globl name; \ - .align FUNCTION_ALIGN; \ - name: - -#elif defined(SYS_mingw64) || defined(SYS_cygwin) - -#define LBL(x) .L##x -#define G(r) r -#undef GREL -#define GCALL(r) r -#define FUNCTION_ALIGN 4 -#define EIGHT_ALIGN 8 -#define SIXTEEN_ALIGN 16 -#define FUNCTION(name) \ - .globl name; \ - .align FUNCTION_ALIGN; \ - name: - -#else - -#define LBL(x) .L##x -#define G(r) r -#define GREL(r) r@GOTPCREL -#define GCALL(r) r@PLT -#define FUNCTION_ALIGN 4 -#define EIGHT_ALIGN 8 -#define SIXTEEN_ALIGN 16 -#define FUNCTION(name) \ - .globl name; \ - .type name,@function; \ - .align FUNCTION_ALIGN; \ - name: - -#endif - -#ifdef ASM_CFI_SUPPORTED -#define CFI_STARTPROC .cfi_startproc -#define CFI_ENDPROC .cfi_endproc -#define CFI_ADJUST(n) .cfi_adjust_cfa_offset n -#else -#define CFI_STARTPROC -#define CFI_ENDPROC -#define CFI_ADJUST(n) -#endif - -#ifdef WITH_FRAME_POINTERS - -#define ENTER_FUNCTION \ - pushq %rbp; CFI_ADJUST(8); \ - movq %rsp, %rbp -#define LEAVE_FUNCTION \ - popq %rbp; CFI_ADJUST(-8); - -#else - -#define ENTER_FUNCTION \ - subq $8, %rsp; CFI_ADJUST (8); -#define LEAVE_FUNCTION \ - addq $8, %rsp; CFI_ADJUST (-8); - -#endif - -#if defined(__PIC__) && !defined(SYS_mingw64) && !defined(SYS_cygwin) - -/* Position-independent operations on global variables. */ - -/* Store [srcreg] in global [dstlabel]. Clobbers %r11. */ -#define STORE_VAR(srcreg,dstlabel) \ - movq GREL(dstlabel)(%rip), %r11 ; \ - movq srcreg, (%r11) - -#define STORE_VAR32(srcreg,dstlabel) \ - movq GREL(dstlabel)(%rip), %r11 ; \ - movl srcreg, (%r11) - -/* Load global [srclabel] in register [dstreg]. Clobbers %r11. */ -#define LOAD_VAR(srclabel,dstreg) \ - movq GREL(srclabel)(%rip), %r11 ; \ - movq (%r11), dstreg - -/* Compare global [label] with register [reg]. Clobbers %rax. */ -#define CMP_VAR(label,reg) \ - movq GREL(label)(%rip), %rax ; \ - cmpq (%rax), reg - -/* Test 32-bit global [label] against mask [imm]. Clobbers %r11. */ -#define TESTL_VAR(imm,label) \ - movq GREL(label)(%rip), %r11 ; \ - testl imm, (%r11) - -/* Push global [label] on stack. Clobbers %r11. */ -#define PUSH_VAR(srclabel) \ - movq GREL(srclabel)(%rip), %r11 ; \ - pushq (%r11); CFI_ADJUST (8) - -/* Pop global [label] off stack. Clobbers %r11. */ -#define POP_VAR(dstlabel) \ - movq GREL(dstlabel)(%rip), %r11 ; \ - popq (%r11); CFI_ADJUST (-8) - -/* Record lowest stack address and return address. Clobbers %rax. */ -#define RECORD_STACK_FRAME(OFFSET) \ - pushq %r11 ; CFI_ADJUST(8); \ - movq 8+OFFSET(%rsp), %rax ; \ - STORE_VAR(%rax,caml_last_return_address) ; \ - leaq 16+OFFSET(%rsp), %rax ; \ - STORE_VAR(%rax,caml_bottom_of_stack) ; \ - popq %r11; CFI_ADJUST(-8) - -/* Load address of global [label] in register [dst]. */ -#define LEA_VAR(label,dst) \ - movq GREL(label)(%rip), dst - -#else - -/* Non-PIC operations on global variables. Slightly faster. */ - -#define STORE_VAR(srcreg,dstlabel) \ - movq srcreg, G(dstlabel)(%rip) - -#define STORE_VAR32(srcreg,dstlabel) \ - movl srcreg, G(dstlabel)(%rip) - -#define LOAD_VAR(srclabel,dstreg) \ - movq G(srclabel)(%rip), dstreg - -#define CMP_VAR(label,reg) \ - cmpq G(label)(%rip), %r15 - -#define TESTL_VAR(imm,label) \ - testl imm, G(label)(%rip) - -#define PUSH_VAR(srclabel) \ - pushq G(srclabel)(%rip) ; CFI_ADJUST(8) - -#define POP_VAR(dstlabel) \ - popq G(dstlabel)(%rip); CFI_ADJUST(-8) - -#define RECORD_STACK_FRAME(OFFSET) \ - movq OFFSET(%rsp), %rax ; \ - STORE_VAR(%rax,caml_last_return_address) ; \ - leaq 8+OFFSET(%rsp), %rax ; \ - STORE_VAR(%rax,caml_bottom_of_stack) - -#define LEA_VAR(label,dst) \ - leaq G(label)(%rip), dst -#endif - -/* Save and restore all callee-save registers on stack. - Keep the stack 16-aligned. */ - -#if defined(SYS_mingw64) || defined(SYS_cygwin) - -/* Win64 API: callee-save regs are rbx, rbp, rsi, rdi, r12-r15, xmm6-xmm15 */ - -#define PUSH_CALLEE_SAVE_REGS \ - pushq %rbx; CFI_ADJUST (8); \ - pushq %rbp; CFI_ADJUST (8); \ - pushq %rsi; CFI_ADJUST (8); \ - pushq %rdi; CFI_ADJUST (8); \ - pushq %r12; CFI_ADJUST (8); \ - pushq %r13; CFI_ADJUST (8); \ - pushq %r14; CFI_ADJUST (8); \ - pushq %r15; CFI_ADJUST (8); \ - subq $(8+10*16), %rsp; CFI_ADJUST (8+10*16); \ - movupd %xmm6, 0*16(%rsp); \ - movupd %xmm7, 1*16(%rsp); \ - movupd %xmm8, 2*16(%rsp); \ - movupd %xmm9, 3*16(%rsp); \ - movupd %xmm10, 4*16(%rsp); \ - movupd %xmm11, 5*16(%rsp); \ - movupd %xmm12, 6*16(%rsp); \ - movupd %xmm13, 7*16(%rsp); \ - movupd %xmm14, 8*16(%rsp); \ - movupd %xmm15, 9*16(%rsp) - -#define POP_CALLEE_SAVE_REGS \ - movupd 0*16(%rsp), %xmm6; \ - movupd 1*16(%rsp), %xmm7; \ - movupd 2*16(%rsp), %xmm8; \ - movupd 3*16(%rsp), %xmm9; \ - movupd 4*16(%rsp), %xmm10; \ - movupd 5*16(%rsp), %xmm11; \ - movupd 6*16(%rsp), %xmm12; \ - movupd 7*16(%rsp), %xmm13; \ - movupd 8*16(%rsp), %xmm14; \ - movupd 9*16(%rsp), %xmm15; \ - addq $(8+10*16), %rsp; CFI_ADJUST (-8-10*16); \ - popq %r15; CFI_ADJUST(-8); \ - popq %r14; CFI_ADJUST(-8); \ - popq %r13; CFI_ADJUST(-8); \ - popq %r12; CFI_ADJUST(-8); \ - popq %rdi; CFI_ADJUST(-8); \ - popq %rsi; CFI_ADJUST(-8); \ - popq %rbp; CFI_ADJUST(-8); \ - popq %rbx; CFI_ADJUST(-8) - -#else - -/* Unix API: callee-save regs are rbx, rbp, r12-r15 */ - -#define PUSH_CALLEE_SAVE_REGS \ - pushq %rbx; CFI_ADJUST(8); \ - pushq %rbp; CFI_ADJUST(8); \ - pushq %r12; CFI_ADJUST(8); \ - pushq %r13; CFI_ADJUST(8); \ - pushq %r14; CFI_ADJUST(8); \ - pushq %r15; CFI_ADJUST(8); \ - subq $8, %rsp; CFI_ADJUST(8) - -#define POP_CALLEE_SAVE_REGS \ - addq $8, %rsp; CFI_ADJUST(-8); \ - popq %r15; CFI_ADJUST(-8); \ - popq %r14; CFI_ADJUST(-8); \ - popq %r13; CFI_ADJUST(-8); \ - popq %r12; CFI_ADJUST(-8); \ - popq %rbp; CFI_ADJUST(-8); \ - popq %rbx; CFI_ADJUST(-8); - -#endif - -#if defined(SYS_mingw64) || defined (SYS_cygwin) - /* Calls from OCaml to C must reserve 32 bytes of extra stack space */ -# define PREPARE_FOR_C_CALL subq $32, %rsp; CFI_ADJUST(32) -# define CLEANUP_AFTER_C_CALL addq $32, %rsp; CFI_ADJUST(-32) -#else -# define PREPARE_FOR_C_CALL -# define CLEANUP_AFTER_C_CALL -#endif - - .text - - .globl G(caml_system__code_begin) -G(caml_system__code_begin): - ret /* just one instruction, so that debuggers don't display - caml_system__code_begin instead of caml_call_gc */ - -/* Allocation */ - -FUNCTION(G(caml_call_gc)) - CFI_STARTPROC - RECORD_STACK_FRAME(0) -LBL(caml_call_gc): -#if !defined(SYS_mingw64) && !defined(SYS_cygwin) - /* Touch the stack to trigger a recoverable segfault - if insufficient space remains */ - subq $32768, %rsp - movq %rax, 0(%rsp) - addq $32768, %rsp -#endif - /* Build array of registers, save it into caml_gc_regs */ -#ifdef WITH_FRAME_POINTERS - ENTER_FUNCTION ; -#else - pushq %rbp; CFI_ADJUST(8); -#endif - pushq %r11; CFI_ADJUST (8); - pushq %r10; CFI_ADJUST (8); - pushq %r13; CFI_ADJUST (8); - pushq %r12; CFI_ADJUST (8); - pushq %r9; CFI_ADJUST (8); - pushq %r8; CFI_ADJUST (8); - pushq %rcx; CFI_ADJUST (8); - pushq %rdx; CFI_ADJUST (8); - pushq %rsi; CFI_ADJUST (8); - pushq %rdi; CFI_ADJUST (8); - pushq %rbx; CFI_ADJUST (8); - pushq %rax; CFI_ADJUST (8); - STORE_VAR(%rsp, caml_gc_regs) - /* Save caml_young_ptr, caml_exception_pointer */ - STORE_VAR(%r15, caml_young_ptr) - STORE_VAR(%r14, caml_exception_pointer) - /* Save floating-point registers */ - subq $(16*8), %rsp; CFI_ADJUST (16*8); - movsd %xmm0, 0*8(%rsp) - movsd %xmm1, 1*8(%rsp) - movsd %xmm2, 2*8(%rsp) - movsd %xmm3, 3*8(%rsp) - movsd %xmm4, 4*8(%rsp) - movsd %xmm5, 5*8(%rsp) - movsd %xmm6, 6*8(%rsp) - movsd %xmm7, 7*8(%rsp) - movsd %xmm8, 8*8(%rsp) - movsd %xmm9, 9*8(%rsp) - movsd %xmm10, 10*8(%rsp) - movsd %xmm11, 11*8(%rsp) - movsd %xmm12, 12*8(%rsp) - movsd %xmm13, 13*8(%rsp) - movsd %xmm14, 14*8(%rsp) - movsd %xmm15, 15*8(%rsp) - /* Call the garbage collector */ - PREPARE_FOR_C_CALL - call GCALL(caml_garbage_collection) - CLEANUP_AFTER_C_CALL - /* Restore caml_young_ptr, caml_exception_pointer */ - LOAD_VAR(caml_young_ptr, %r15) - LOAD_VAR(caml_exception_pointer, %r14) - /* Restore all regs used by the code generator */ - movsd 0*8(%rsp), %xmm0 - movsd 1*8(%rsp), %xmm1 - movsd 2*8(%rsp), %xmm2 - movsd 3*8(%rsp), %xmm3 - movsd 4*8(%rsp), %xmm4 - movsd 5*8(%rsp), %xmm5 - movsd 6*8(%rsp), %xmm6 - movsd 7*8(%rsp), %xmm7 - movsd 8*8(%rsp), %xmm8 - movsd 9*8(%rsp), %xmm9 - movsd 10*8(%rsp), %xmm10 - movsd 11*8(%rsp), %xmm11 - movsd 12*8(%rsp), %xmm12 - movsd 13*8(%rsp), %xmm13 - movsd 14*8(%rsp), %xmm14 - movsd 15*8(%rsp), %xmm15 - addq $(16*8), %rsp; CFI_ADJUST(-16*8) - popq %rax; CFI_ADJUST(-8) - popq %rbx; CFI_ADJUST(-8) - popq %rdi; CFI_ADJUST(-8) - popq %rsi; CFI_ADJUST(-8) - popq %rdx; CFI_ADJUST(-8) - popq %rcx; CFI_ADJUST(-8) - popq %r8; CFI_ADJUST(-8) - popq %r9; CFI_ADJUST(-8) - popq %r12; CFI_ADJUST(-8) - popq %r13; CFI_ADJUST(-8) - popq %r10; CFI_ADJUST(-8) - popq %r11; CFI_ADJUST(-8) -#ifdef WITH_FRAME_POINTERS - LEAVE_FUNCTION -#else - popq %rbp; CFI_ADJUST(-8); -#endif - /* Return to caller */ - ret -CFI_ENDPROC - -FUNCTION(G(caml_alloc1)) -CFI_STARTPROC -LBL(caml_alloc1): - subq $16, %r15 - CMP_VAR(caml_young_limit, %r15) - jb LBL(100) - ret -LBL(100): - RECORD_STACK_FRAME(0) - ENTER_FUNCTION -/* subq $8, %rsp; CFI_ADJUST (8); */ - call LBL(caml_call_gc) -/* addq $8, %rsp; CFI_ADJUST (-8); */ - LEAVE_FUNCTION - jmp LBL(caml_alloc1) -CFI_ENDPROC - -FUNCTION(G(caml_alloc2)) -CFI_STARTPROC -LBL(caml_alloc2): - subq $24, %r15 - CMP_VAR(caml_young_limit, %r15) - jb LBL(101) - ret -LBL(101): - RECORD_STACK_FRAME(0) - ENTER_FUNCTION -/* subq $8, %rsp; CFI_ADJUST (8); */ - call LBL(caml_call_gc) -/* addq $8, %rsp; CFI_ADJUST (-8); */ - LEAVE_FUNCTION - jmp LBL(caml_alloc2) -CFI_ENDPROC - -FUNCTION(G(caml_alloc3)) -CFI_STARTPROC -LBL(caml_alloc3): - subq $32, %r15 - CMP_VAR(caml_young_limit, %r15) - jb LBL(102) - ret -LBL(102): - RECORD_STACK_FRAME(0) - ENTER_FUNCTION -/* subq $8, %rsp; CFI_ADJUST (8) */ - call LBL(caml_call_gc) -/* addq $8, %rsp; CFI_ADJUST (-8) */ - LEAVE_FUNCTION - jmp LBL(caml_alloc3) -CFI_ENDPROC - -FUNCTION(G(caml_allocN)) -CFI_STARTPROC -LBL(caml_allocN): - pushq %rax; CFI_ADJUST(8) /* save desired size */ - subq %rax, %r15 - CMP_VAR(caml_young_limit, %r15) - jb LBL(103) - addq $8, %rsp; CFI_ADJUST (-8) /* drop desired size */ - ret -LBL(103): - RECORD_STACK_FRAME(8) -#ifdef WITH_FRAME_POINTERS - /* Do we need 16-byte alignment here ? */ - ENTER_FUNCTION -#endif - call LBL(caml_call_gc) -#ifdef WITH_FRAME_POINTERS - LEAVE_FUNCTION -#endif - popq %rax; CFI_ADJUST(-8) /* recover desired size */ - jmp LBL(caml_allocN) -CFI_ENDPROC - -/* Call a C function from OCaml */ - -FUNCTION(G(caml_c_call)) -CFI_STARTPROC -LBL(caml_c_call): - /* Record lowest stack address and return address */ - popq %r12; CFI_ADJUST(-8) - STORE_VAR(%r12, caml_last_return_address) - STORE_VAR(%rsp, caml_bottom_of_stack) - subq $8, %rsp; CFI_ADJUST(8) /* equivalent to pushq %r12 */ -#if !defined(SYS_mingw64) && !defined(SYS_cygwin) - /* Touch the stack to trigger a recoverable segfault - if insufficient space remains */ - subq $32768, %rsp - movq %rax, 0(%rsp) - addq $32768, %rsp -#endif - /* Make the exception handler and alloc ptr available to the C code */ - STORE_VAR(%r15, caml_young_ptr) - STORE_VAR(%r14, caml_exception_pointer) - /* Call the function (address in %rax) */ - /* No need to PREPARE_FOR_C_CALL since the caller already - reserved the stack space if needed (cf. amd64/proc.ml) */ - jmp *%rax -CFI_ENDPROC - -/* Start the OCaml program */ - -FUNCTION(G(caml_start_program)) - CFI_STARTPROC - /* Save callee-save registers */ - PUSH_CALLEE_SAVE_REGS - /* Initial entry point is G(caml_program) */ - LEA_VAR(caml_program, %r12) - /* Common code for caml_start_program and caml_callback* */ -LBL(caml_start_program): - /* Build a callback link */ - subq $8, %rsp; CFI_ADJUST (8) /* stack 16-aligned */ - PUSH_VAR(caml_gc_regs) - PUSH_VAR(caml_last_return_address) - PUSH_VAR(caml_bottom_of_stack) - /* Setup alloc ptr and exception ptr */ - LOAD_VAR(caml_young_ptr, %r15) - LOAD_VAR(caml_exception_pointer, %r14) - /* Build an exception handler */ - lea LBL(108)(%rip), %r13 - pushq %r13; CFI_ADJUST(8) - pushq %r14; CFI_ADJUST(8) - CFI_ADJUST(16) - movq %rsp, %r14 - /* Call the OCaml code */ - call *%r12 -LBL(107): - /* Pop the exception handler */ - popq %r14; CFI_ADJUST(-8) - popq %r12; CFI_ADJUST(-8) /* dummy register */ - CFI_ADJUST(-16) -LBL(109): - /* Update alloc ptr and exception ptr */ - STORE_VAR(%r15,caml_young_ptr) - STORE_VAR(%r14,caml_exception_pointer) - /* Pop the callback link, restoring the global variables */ - POP_VAR(caml_bottom_of_stack) - POP_VAR(caml_last_return_address) - POP_VAR(caml_gc_regs) - addq $8, %rsp; CFI_ADJUST (-8); - /* Restore callee-save registers. */ - POP_CALLEE_SAVE_REGS - /* Return to caller. */ - ret -LBL(108): - /* Exception handler*/ - /* Mark the bucket as an exception result and return it */ - orq $2, %rax - jmp LBL(109) -CFI_ENDPROC - -/* Registers holding arguments of C functions. */ - -#if defined(SYS_mingw64) || defined(SYS_cygwin) -#define C_ARG_1 %rcx -#define C_ARG_2 %rdx -#define C_ARG_3 %r8 -#define C_ARG_4 %r9 -#else -#define C_ARG_1 %rdi -#define C_ARG_2 %rsi -#define C_ARG_3 %rdx -#define C_ARG_4 %rcx -#endif - -/* Raise an exception from OCaml */ - -FUNCTION(G(caml_raise_exn)) -CFI_STARTPROC - TESTL_VAR($1, caml_backtrace_active) - jne LBL(110) - movq %r14, %rsp - popq %r14 - ret -LBL(110): - STORE_VAR32($0, caml_backtrace_pos) -LBL(111): - movq %rax, %r12 /* Save exception bucket */ - movq %rax, C_ARG_1 /* arg 1: exception bucket */ -#ifdef WITH_FRAME_POINTERS - ENTER_FUNCTION - movq 8(%rsp), C_ARG_2 /* arg 2: pc of raise */ - leaq 16(%rsp), C_ARG_3 /* arg 3: sp at raise */ -#else - popq C_ARG_2 /* arg 2: pc of raise */ - movq %rsp, C_ARG_3 /* arg 3: sp at raise */ -#endif - movq %r14, C_ARG_4 /* arg 4: sp of handler */ - /* PR#5700: thanks to popq above, stack is now 16-aligned */ - /* Thanks to ENTER_FUNCTION, stack is now 16-aligned */ - PREPARE_FOR_C_CALL /* no need to cleanup after */ - call GCALL(caml_stash_backtrace) - movq %r12, %rax /* Recover exception bucket */ - movq %r14, %rsp - popq %r14 - ret -CFI_ENDPROC - -FUNCTION(G(caml_reraise_exn)) -CFI_STARTPROC - TESTL_VAR($1, caml_backtrace_active) - jne LBL(111) - movq %r14, %rsp - popq %r14 - ret -CFI_ENDPROC - -/* Raise an exception from C */ - -FUNCTION(G(caml_raise_exception)) -CFI_STARTPROC - TESTL_VAR($1, caml_backtrace_active) - jne LBL(112) - movq C_ARG_1, %rax - LOAD_VAR(caml_exception_pointer, %rsp) /* Cut stack */ - popq %r14 /* Recover previous exception handler */ - LOAD_VAR(caml_young_ptr, %r15) /* Reload alloc ptr */ - ret -LBL(112): -#ifdef WITH_FRAME_POINTERS - ENTER_FUNCTION ; -#endif - movq C_ARG_1, %r12 /* Save exception bucket */ - /* arg 1: exception bucket */ - LOAD_VAR(caml_last_return_address,C_ARG_2) /* arg 2: pc of raise */ - LOAD_VAR(caml_bottom_of_stack,C_ARG_3) /* arg 3: sp of raise */ - LOAD_VAR(caml_exception_pointer,C_ARG_4) /* arg 4: sp of handler */ -#ifndef WITH_FRAME_POINTERS - subq $8, %rsp /* PR#5700: maintain stack alignment */ -#endif - PREPARE_FOR_C_CALL /* no need to cleanup after */ - call GCALL(caml_stash_backtrace) - movq %r12, %rax /* Recover exception bucket */ - LOAD_VAR(caml_exception_pointer,%rsp) - popq %r14 /* Recover previous exception handler */ - LOAD_VAR(caml_young_ptr,%r15) /* Reload alloc ptr */ - ret -CFI_ENDPROC - -/* Raise a Stack_overflow exception on return from segv_handler() - (in asmrun/signals_asm.c). On entry, the stack is full, so we - cannot record a backtrace. - No CFI information here since this function disrupts the stack - backtrace anyway. */ - -FUNCTION(G(caml_stack_overflow)) - LEA_VAR(caml_exn_Stack_overflow, %rax) - movq %r14, %rsp /* cut the stack */ - popq %r14 /* recover previous exn handler */ - ret /* jump to handler's code */ - -/* Callback from C to OCaml */ - -FUNCTION(G(caml_callback_exn)) -CFI_STARTPROC - /* Save callee-save registers */ - PUSH_CALLEE_SAVE_REGS - /* Initial loading of arguments */ - movq C_ARG_1, %rbx /* closure */ - movq C_ARG_2, %rax /* argument */ - movq 0(%rbx), %r12 /* code pointer */ - jmp LBL(caml_start_program) -CFI_ENDPROC - -FUNCTION(G(caml_callback2_exn)) -CFI_STARTPROC - /* Save callee-save registers */ - PUSH_CALLEE_SAVE_REGS - /* Initial loading of arguments */ - movq C_ARG_1, %rdi /* closure -- no op with Unix conventions */ - movq C_ARG_2, %rax /* first argument */ - movq C_ARG_3, %rbx /* second argument */ - LEA_VAR(caml_apply2, %r12) /* code pointer */ - jmp LBL(caml_start_program) -CFI_ENDPROC - -FUNCTION(G(caml_callback3_exn)) -CFI_STARTPROC - /* Save callee-save registers */ - PUSH_CALLEE_SAVE_REGS - /* Initial loading of arguments */ - movq C_ARG_2, %rax /* first argument */ - movq C_ARG_3, %rbx /* second argument */ - movq C_ARG_1, %rsi /* closure */ - movq C_ARG_4, %rdi /* third argument */ - LEA_VAR(caml_apply3, %r12) /* code pointer */ - jmp LBL(caml_start_program) -CFI_ENDPROC - -FUNCTION(G(caml_ml_array_bound_error)) -CFI_STARTPROC - LEA_VAR(caml_array_bound_error, %rax) - jmp LBL(caml_c_call) -CFI_ENDPROC - - .globl G(caml_system__code_end) -G(caml_system__code_end): - - .data - .globl G(caml_system__frametable) - .align EIGHT_ALIGN -G(caml_system__frametable): - .quad 1 /* one descriptor */ - .quad LBL(107) /* return address into callback */ - .value -1 /* negative frame size => use callback link */ - .value 0 /* no roots here */ - .align EIGHT_ALIGN - -#if defined(SYS_macosx) - .literal16 -#elif defined(SYS_mingw64) || defined(SYS_cygwin) - .section .rdata,"dr" -#else - .section .rodata.cst8,"a",@progbits -#endif - .globl G(caml_negf_mask) - .align SIXTEEN_ALIGN -G(caml_negf_mask): - .quad 0x8000000000000000, 0 - .globl G(caml_absf_mask) - .align SIXTEEN_ALIGN -G(caml_absf_mask): - .quad 0x7FFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF - -#if defined(SYS_linux) - /* Mark stack as non-executable, PR#4564 */ - .section .note.GNU-stack,"",%progbits -#endif diff --git a/vendor/ocaml/asmrun/amd64nt.asm b/vendor/ocaml/asmrun/amd64nt.asm deleted file mode 100644 index 4883ba977..000000000 --- a/vendor/ocaml/asmrun/amd64nt.asm +++ /dev/null @@ -1,476 +0,0 @@ -;*********************************************************************** -;* * -;* OCaml * -;* * -;* Xavier Leroy, projet Gallium, INRIA Rocquencourt * -;* * -;* Copyright 2006 Institut National de Recherche en Informatique et * -;* en Automatique. All rights reserved. This file is distributed * -;* under the terms of the GNU Library General Public License, with * -;* the special exception on linking described in file ../LICENSE. * -;* * -;*********************************************************************** - -; Asm part of the runtime system, AMD64 processor, Intel syntax - -; Notes on Win64 calling conventions: -; function arguments in RCX, RDX, R8, R9 / XMM0 - XMM3 -; caller must reserve 32 bytes of stack space -; callee must preserve RBX, RBP, RSI, RDI, R12-R15, XMM6-XMM15 - - EXTRN caml_garbage_collection: NEAR - EXTRN caml_apply2: NEAR - EXTRN caml_apply3: NEAR - EXTRN caml_program: NEAR - EXTRN caml_array_bound_error: NEAR - EXTRN caml_young_limit: QWORD - EXTRN caml_young_ptr: QWORD - EXTRN caml_bottom_of_stack: QWORD - EXTRN caml_last_return_address: QWORD - EXTRN caml_gc_regs: QWORD - EXTRN caml_exception_pointer: QWORD - EXTRN caml_backtrace_pos: DWORD - EXTRN caml_backtrace_active: DWORD - EXTRN caml_stash_backtrace: NEAR - - .CODE - -; Allocation - - PUBLIC caml_call_gc - ALIGN 16 -caml_call_gc: - ; Record lowest stack address and return address - mov rax, [rsp] - mov caml_last_return_address, rax - lea rax, [rsp+8] - mov caml_bottom_of_stack, rax -L105: - ; Save caml_young_ptr, caml_exception_pointer - mov caml_young_ptr, r15 - mov caml_exception_pointer, r14 - ; Build array of registers, save it into caml_gc_regs - push rbp - push r11 - push r10 - push r13 - push r12 - push r9 - push r8 - push rcx - push rdx - push rsi - push rdi - push rbx - push rax - mov caml_gc_regs, rsp - ; Save floating-point registers - sub rsp, 16*8 - movsd QWORD PTR [rsp + 0*8], xmm0 - movsd QWORD PTR [rsp + 1*8], xmm1 - movsd QWORD PTR [rsp + 2*8], xmm2 - movsd QWORD PTR [rsp + 3*8], xmm3 - movsd QWORD PTR [rsp + 4*8], xmm4 - movsd QWORD PTR [rsp + 5*8], xmm5 - movsd QWORD PTR [rsp + 6*8], xmm6 - movsd QWORD PTR [rsp + 7*8], xmm7 - movsd QWORD PTR [rsp + 8*8], xmm8 - movsd QWORD PTR [rsp + 9*8], xmm9 - movsd QWORD PTR [rsp + 10*8], xmm10 - movsd QWORD PTR [rsp + 11*8], xmm11 - movsd QWORD PTR [rsp + 12*8], xmm12 - movsd QWORD PTR [rsp + 13*8], xmm13 - movsd QWORD PTR [rsp + 14*8], xmm14 - movsd QWORD PTR [rsp + 15*8], xmm15 - ; Call the garbage collector - sub rsp, 32 ; PR#5008: bottom 32 bytes are reserved for callee - call caml_garbage_collection - add rsp, 32 ; PR#5008 - ; Restore all regs used by the code generator - movsd xmm0, QWORD PTR [rsp + 0*8] - movsd xmm1, QWORD PTR [rsp + 1*8] - movsd xmm2, QWORD PTR [rsp + 2*8] - movsd xmm3, QWORD PTR [rsp + 3*8] - movsd xmm4, QWORD PTR [rsp + 4*8] - movsd xmm5, QWORD PTR [rsp + 5*8] - movsd xmm6, QWORD PTR [rsp + 6*8] - movsd xmm7, QWORD PTR [rsp + 7*8] - movsd xmm8, QWORD PTR [rsp + 8*8] - movsd xmm9, QWORD PTR [rsp + 9*8] - movsd xmm10, QWORD PTR [rsp + 10*8] - movsd xmm11, QWORD PTR [rsp + 11*8] - movsd xmm12, QWORD PTR [rsp + 12*8] - movsd xmm13, QWORD PTR [rsp + 13*8] - movsd xmm14, QWORD PTR [rsp + 14*8] - movsd xmm15, QWORD PTR [rsp + 15*8] - add rsp, 16*8 - pop rax - pop rbx - pop rdi - pop rsi - pop rdx - pop rcx - pop r8 - pop r9 - pop r12 - pop r13 - pop r10 - pop r11 - pop rbp - ; Restore caml_young_ptr, caml_exception_pointer - mov r15, caml_young_ptr - mov r14, caml_exception_pointer - ; Return to caller - ret - - PUBLIC caml_alloc1 - ALIGN 16 -caml_alloc1: - sub r15, 16 - cmp r15, caml_young_limit - jb L100 - ret -L100: - mov rax, [rsp + 0] - mov caml_last_return_address, rax - lea rax, [rsp + 8] - mov caml_bottom_of_stack, rax - sub rsp, 8 - call L105 - add rsp, 8 - jmp caml_alloc1 - - PUBLIC caml_alloc2 - ALIGN 16 -caml_alloc2: - sub r15, 24 - cmp r15, caml_young_limit - jb L101 - ret -L101: - mov rax, [rsp + 0] - mov caml_last_return_address, rax - lea rax, [rsp + 8] - mov caml_bottom_of_stack, rax - sub rsp, 8 - call L105 - add rsp, 8 - jmp caml_alloc2 - - PUBLIC caml_alloc3 - ALIGN 16 -caml_alloc3: - sub r15, 32 - cmp r15, caml_young_limit - jb L102 - ret -L102: - mov rax, [rsp + 0] - mov caml_last_return_address, rax - lea rax, [rsp + 8] - mov caml_bottom_of_stack, rax - sub rsp, 8 - call L105 - add rsp, 8 - jmp caml_alloc3 - - PUBLIC caml_allocN - ALIGN 16 -caml_allocN: - sub r15, rax - cmp r15, caml_young_limit - jb L103 - ret -L103: - push rax ; save desired size - mov rax, [rsp + 8] - mov caml_last_return_address, rax - lea rax, [rsp + 16] - mov caml_bottom_of_stack, rax - call L105 - pop rax ; recover desired size - jmp caml_allocN - -; Call a C function from OCaml - - PUBLIC caml_c_call - ALIGN 16 -caml_c_call: - ; Record lowest stack address and return address - pop r12 - mov caml_last_return_address, r12 - mov caml_bottom_of_stack, rsp - ; Make the exception handler and alloc ptr available to the C code - mov caml_young_ptr, r15 - mov caml_exception_pointer, r14 - ; Call the function (address in rax) - call rax - ; Reload alloc ptr - mov r15, caml_young_ptr - ; Return to caller - push r12 - ret - -; Start the OCaml program - - PUBLIC caml_start_program - ALIGN 16 -caml_start_program: - ; Save callee-save registers - push rbx - push rbp - push rsi - push rdi - push r12 - push r13 - push r14 - push r15 - sub rsp, 8+10*16 ; stack 16-aligned + 10 saved xmm regs - movapd OWORD PTR [rsp + 0*16], xmm6 - movapd OWORD PTR [rsp + 1*16], xmm7 - movapd OWORD PTR [rsp + 2*16], xmm8 - movapd OWORD PTR [rsp + 3*16], xmm9 - movapd OWORD PTR [rsp + 4*16], xmm10 - movapd OWORD PTR [rsp + 5*16], xmm11 - movapd OWORD PTR [rsp + 6*16], xmm12 - movapd OWORD PTR [rsp + 7*16], xmm13 - movapd OWORD PTR [rsp + 8*16], xmm14 - movapd OWORD PTR [rsp + 9*16], xmm15 - ; Initial entry point is caml_program - lea r12, caml_program - ; Common code for caml_start_program and caml_callback* -L106: - ; Build a callback link - sub rsp, 8 ; stack 16-aligned - push caml_gc_regs - push caml_last_return_address - push caml_bottom_of_stack - ; Setup alloc ptr and exception ptr - mov r15, caml_young_ptr - mov r14, caml_exception_pointer - ; Build an exception handler - lea r13, L108 - push r13 - push r14 - mov r14, rsp - ; Call the OCaml code - call r12 -L107: - ; Pop the exception handler - pop r14 - pop r12 ; dummy register -L109: - ; Update alloc ptr and exception ptr - mov caml_young_ptr, r15 - mov caml_exception_pointer, r14 - ; Pop the callback restoring, link the global variables - pop caml_bottom_of_stack - pop caml_last_return_address - pop caml_gc_regs - add rsp, 8 - ; Restore callee-save registers. - movapd xmm6, OWORD PTR [rsp + 0*16] - movapd xmm7, OWORD PTR [rsp + 1*16] - movapd xmm8, OWORD PTR [rsp + 2*16] - movapd xmm9, OWORD PTR [rsp + 3*16] - movapd xmm10, OWORD PTR [rsp + 4*16] - movapd xmm11, OWORD PTR [rsp + 5*16] - movapd xmm12, OWORD PTR [rsp + 6*16] - movapd xmm13, OWORD PTR [rsp + 7*16] - movapd xmm14, OWORD PTR [rsp + 8*16] - movapd xmm15, OWORD PTR [rsp + 9*16] - add rsp, 8+10*16 - pop r15 - pop r14 - pop r13 - pop r12 - pop rdi - pop rsi - pop rbp - pop rbx - ; Return to caller - ret -L108: - ; Exception handler - ; Mark the bucket as an exception result and return it - or rax, 2 - jmp L109 - -; Raise an exception from OCaml - - PUBLIC caml_raise_exn - ALIGN 16 -caml_raise_exn: - test caml_backtrace_active, 1 - jne L110 - mov rsp, r14 ; Cut stack - pop r14 ; Recover previous exception handler - ret ; Branch to handler -L110: - mov caml_backtrace_pos, 0 -L111: - mov r12, rax ; Save exception bucket in r12 - mov rcx, rax ; Arg 1: exception bucket - mov rdx, [rsp] ; Arg 2: PC of raise - lea r8, [rsp+8] ; Arg 3: SP of raise - mov r9, r14 ; Arg 4: SP of handler - sub rsp, 32 ; Reserve 32 bytes on stack - call caml_stash_backtrace - mov rax, r12 ; Recover exception bucket - mov rsp, r14 ; Cut stack - pop r14 ; Recover previous exception handler - ret ; Branch to handler - - PUBLIC caml_reraise_exn - ALIGN 16 -caml_reraise_exn: - test caml_backtrace_active, 1 - jne L111 - mov rsp, r14 ; Cut stack - pop r14 ; Recover previous exception handler - ret ; Branch to handler - -; Raise an exception from C - - PUBLIC caml_raise_exception - ALIGN 16 -caml_raise_exception: - test caml_backtrace_active, 1 - jne L112 - mov rax, rcx ; First argument is exn bucket - mov rsp, caml_exception_pointer - pop r14 ; Recover previous exception handler - mov r15, caml_young_ptr ; Reload alloc ptr - ret -L112: - mov r12, rcx ; Save exception bucket in r12 - ; Arg 1: exception bucket - mov rdx, caml_last_return_address ; Arg 2: PC of raise - mov r8, caml_bottom_of_stack ; Arg 3: SP of raise - mov r9, caml_exception_pointer ; Arg 4: SP of handler - sub rsp, 32 ; Reserve 32 bytes on stack - call caml_stash_backtrace - mov rax, r12 ; Recover exception bucket - mov rsp, caml_exception_pointer - pop r14 ; Recover previous exception handler - mov r15, caml_young_ptr ; Reload alloc ptr - ret - -; Callback from C to OCaml - - PUBLIC caml_callback_exn - ALIGN 16 -caml_callback_exn: - ; Save callee-save registers - push rbx - push rbp - push rsi - push rdi - push r12 - push r13 - push r14 - push r15 - sub rsp, 8+10*16 ; stack 16-aligned + 10 saved xmm regs - movapd OWORD PTR [rsp + 0*16], xmm6 - movapd OWORD PTR [rsp + 1*16], xmm7 - movapd OWORD PTR [rsp + 2*16], xmm8 - movapd OWORD PTR [rsp + 3*16], xmm9 - movapd OWORD PTR [rsp + 4*16], xmm10 - movapd OWORD PTR [rsp + 5*16], xmm11 - movapd OWORD PTR [rsp + 6*16], xmm12 - movapd OWORD PTR [rsp + 7*16], xmm13 - movapd OWORD PTR [rsp + 8*16], xmm14 - movapd OWORD PTR [rsp + 9*16], xmm15 - ; Initial loading of arguments - mov rbx, rcx ; closure - mov rax, rdx ; argument - mov r12, [rbx] ; code pointer - jmp L106 - - PUBLIC caml_callback2_exn - ALIGN 16 -caml_callback2_exn: - ; Save callee-save registers - push rbx - push rbp - push rsi - push rdi - push r12 - push r13 - push r14 - push r15 - sub rsp, 8+10*16 ; stack 16-aligned + 10 saved xmm regs - movapd OWORD PTR [rsp + 0*16], xmm6 - movapd OWORD PTR [rsp + 1*16], xmm7 - movapd OWORD PTR [rsp + 2*16], xmm8 - movapd OWORD PTR [rsp + 3*16], xmm9 - movapd OWORD PTR [rsp + 4*16], xmm10 - movapd OWORD PTR [rsp + 5*16], xmm11 - movapd OWORD PTR [rsp + 6*16], xmm12 - movapd OWORD PTR [rsp + 7*16], xmm13 - movapd OWORD PTR [rsp + 8*16], xmm14 - movapd OWORD PTR [rsp + 9*16], xmm15 - ; Initial loading of arguments - mov rdi, rcx ; closure - mov rax, rdx ; first argument - mov rbx, r8 ; second argument - lea r12, caml_apply2 ; code pointer - jmp L106 - - PUBLIC caml_callback3_exn - ALIGN 16 -caml_callback3_exn: - ; Save callee-save registers - push rbx - push rbp - push rsi - push rdi - push r12 - push r13 - push r14 - push r15 - sub rsp, 8+10*16 ; stack 16-aligned + 10 saved xmm regs - movapd OWORD PTR [rsp + 0*16], xmm6 - movapd OWORD PTR [rsp + 1*16], xmm7 - movapd OWORD PTR [rsp + 2*16], xmm8 - movapd OWORD PTR [rsp + 3*16], xmm9 - movapd OWORD PTR [rsp + 4*16], xmm10 - movapd OWORD PTR [rsp + 5*16], xmm11 - movapd OWORD PTR [rsp + 6*16], xmm12 - movapd OWORD PTR [rsp + 7*16], xmm13 - movapd OWORD PTR [rsp + 8*16], xmm14 - movapd OWORD PTR [rsp + 9*16], xmm15 - ; Initial loading of arguments - mov rsi, rcx ; closure - mov rax, rdx ; first argument - mov rbx, r8 ; second argument - mov rdi, r9 ; third argument - lea r12, caml_apply3 ; code pointer - jmp L106 - - PUBLIC caml_ml_array_bound_error - ALIGN 16 -caml_ml_array_bound_error: - lea rax, caml_array_bound_error - jmp caml_c_call - - .DATA - PUBLIC caml_system__frametable -caml_system__frametable LABEL QWORD - QWORD 1 ; one descriptor - QWORD L107 ; return address into callback - WORD -1 ; negative frame size => use callback link - WORD 0 ; no roots here - ALIGN 8 - - PUBLIC caml_negf_mask - ALIGN 16 -caml_negf_mask LABEL QWORD - QWORD 8000000000000000H, 0 - - PUBLIC caml_absf_mask - ALIGN 16 -caml_absf_mask LABEL QWORD - QWORD 7FFFFFFFFFFFFFFFH, 0FFFFFFFFFFFFFFFFH - - END diff --git a/vendor/ocaml/asmrun/arm.S b/vendor/ocaml/asmrun/arm.S deleted file mode 100644 index 9720665aa..000000000 --- a/vendor/ocaml/asmrun/arm.S +++ /dev/null @@ -1,500 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Benedikt Meurer, University of Siegen */ -/* */ -/* Copyright 1998 Institut National de Recherche en Informatique */ -/* et en Automatique. Copyright 2012 Benedikt Meurer. All rights */ -/* reserved. This file is distributed under the terms of the GNU */ -/* Library General Public License, with the special exception on */ -/* linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Asm part of the runtime system, ARM processor */ -/* Must be preprocessed by cpp */ - - .syntax unified - .text -#if defined(SYS_linux_eabihf) && defined(MODEL_armv6) - .arch armv6 - .fpu vfpv2 - .arm - - /* Compatibility macros */ - .macro cbz reg, lbl - cmp \reg, #0 - beq \lbl - .endm -#elif defined(SYS_linux_eabihf) - .arch armv7-a - .fpu vfpv3-d16 - .thumb -#elif defined(SYS_linux_eabi) - .arch armv4t - .arm - - /* Compatibility macros */ - .macro blx reg - mov lr, pc - bx \reg - .endm - .macro cbz reg, lbl - cmp \reg, #0 - beq \lbl - .endm -#elif defined(SYS_freebsd) - .arch armv6 - .arm - - /* Compatibility macros */ - .macro cbz reg, lbl - cmp \reg, #0 - beq \lbl - .endm -#endif - -trap_ptr .req r8 -alloc_ptr .req r10 -alloc_limit .req r11 - -/* Support for CFI directives */ - -#if defined(ASM_CFI_SUPPORTED) -#define CFI_STARTPROC .cfi_startproc -#define CFI_ENDPROC .cfi_endproc -#define CFI_ADJUST(n) .cfi_adjust_cfa_offset n -#else -#define CFI_STARTPROC -#define CFI_ENDPROC -#define CFI_ADJUST(n) -#endif - -/* Support for profiling with gprof */ - -#if defined(PROFILING) && (defined(SYS_linux_eabihf) || defined(SYS_linux_eabi)) -#define PROFILE \ - push {lr}; CFI_ADJUST(4); \ - bl __gnu_mcount_nc; CFI_ADJUST(-4) -#else -#define PROFILE -#endif - -/* Allocation functions and GC interface */ - - .globl caml_system__code_begin -caml_system__code_begin: - - .align 2 - .globl caml_call_gc -caml_call_gc: - CFI_STARTPROC - PROFILE - /* Record return address */ - ldr r12, =caml_last_return_address - str lr, [r12] -.Lcaml_call_gc: - /* Record lowest stack address */ - ldr r12, =caml_bottom_of_stack - str sp, [r12] -#if defined(SYS_linux_eabihf) - /* Save caller floating-point registers on the stack */ - vpush {d0-d7}; CFI_ADJUST(64) -#endif - /* Save integer registers and return address on the stack */ - push {r0-r7,r12,lr}; CFI_ADJUST(40) - /* Store pointer to saved integer registers in caml_gc_regs */ - ldr r12, =caml_gc_regs - str sp, [r12] - /* Save current allocation pointer for debugging purposes */ - ldr alloc_limit, =caml_young_ptr - str alloc_ptr, [alloc_limit] - /* Save trap pointer in case an exception is raised during GC */ - ldr r12, =caml_exception_pointer - str trap_ptr, [r12] - /* Call the garbage collector */ - bl caml_garbage_collection - /* Restore integer registers and return address from the stack */ - pop {r0-r7,r12,lr}; CFI_ADJUST(-40) -#if defined(SYS_linux_eabihf) - /* Restore floating-point registers from the stack */ - vpop {d0-d7}; CFI_ADJUST(-64) -#endif - /* Reload new allocation pointer and limit */ - /* alloc_limit still points to caml_young_ptr */ - ldr r12, =caml_young_limit - ldr alloc_ptr, [alloc_limit] - ldr alloc_limit, [r12] - /* Return to caller */ - bx lr - CFI_ENDPROC - .type caml_call_gc, %function - .size caml_call_gc, .-caml_call_gc - - .align 2 - .globl caml_alloc1 -caml_alloc1: - CFI_STARTPROC - PROFILE -.Lcaml_alloc1: - sub alloc_ptr, alloc_ptr, 8 - cmp alloc_ptr, alloc_limit - bcc 1f - bx lr -1: /* Record return address */ - ldr r7, =caml_last_return_address - str lr, [r7] - /* Call GC (preserves r7) */ - bl .Lcaml_call_gc - /* Restore return address */ - ldr lr, [r7] - /* Try again */ - b .Lcaml_alloc1 - CFI_ENDPROC - .type caml_alloc1, %function - .size caml_alloc1, .-caml_alloc1 - - .align 2 - .globl caml_alloc2 -caml_alloc2: - CFI_STARTPROC - PROFILE -.Lcaml_alloc2: - sub alloc_ptr, alloc_ptr, 12 - cmp alloc_ptr, alloc_limit - bcc 1f - bx lr -1: /* Record return address */ - ldr r7, =caml_last_return_address - str lr, [r7] - /* Call GC (preserves r7) */ - bl .Lcaml_call_gc - /* Restore return address */ - ldr lr, [r7] - /* Try again */ - b .Lcaml_alloc2 - CFI_ENDPROC - .type caml_alloc2, %function - .size caml_alloc2, .-caml_alloc2 - - .align 2 - .globl caml_alloc3 - .type caml_alloc3, %function -caml_alloc3: - CFI_STARTPROC - PROFILE -.Lcaml_alloc3: - sub alloc_ptr, alloc_ptr, 16 - cmp alloc_ptr, alloc_limit - bcc 1f - bx lr -1: /* Record return address */ - ldr r7, =caml_last_return_address - str lr, [r7] - /* Call GC (preserves r7) */ - bl .Lcaml_call_gc - /* Restore return address */ - ldr lr, [r7] - /* Try again */ - b .Lcaml_alloc3 - CFI_ENDPROC - .type caml_alloc3, %function - .size caml_alloc3, .-caml_alloc3 - - .align 2 - .globl caml_allocN -caml_allocN: - CFI_STARTPROC - PROFILE -.Lcaml_allocN: - sub alloc_ptr, alloc_ptr, r7 - cmp alloc_ptr, alloc_limit - bcc 1f - bx lr -1: /* Record return address */ - ldr r12, =caml_last_return_address - str lr, [r12] - /* Call GC (preserves r7) */ - bl .Lcaml_call_gc - /* Restore return address */ - ldr r12, =caml_last_return_address - ldr lr, [r12] - /* Try again */ - b .Lcaml_allocN - CFI_ENDPROC - .type caml_allocN, %function - .size caml_allocN, .-caml_allocN - -/* Call a C function from OCaml */ -/* Function to call is in r7 */ - - .align 2 - .globl caml_c_call -caml_c_call: - CFI_STARTPROC - PROFILE - /* Record lowest stack address and return address */ - ldr r5, =caml_last_return_address - ldr r6, =caml_bottom_of_stack - str lr, [r5] - str sp, [r6] - /* Preserve return address in callee-save register r4 */ - mov r4, lr - /* Make the exception handler alloc ptr available to the C code */ - ldr r5, =caml_young_ptr - ldr r6, =caml_exception_pointer - str alloc_ptr, [r5] - str trap_ptr, [r6] - /* Call the function */ - blx r7 - /* Reload alloc ptr and alloc limit */ - ldr r6, =caml_young_limit - ldr alloc_ptr, [r5] /* r5 still points to caml_young_ptr */ - ldr alloc_limit, [r6] - /* Return */ - bx r4 - CFI_ENDPROC - .type caml_c_call, %function - .size caml_c_call, .-caml_c_call - -/* Start the OCaml program */ - - .align 2 - .globl caml_start_program -caml_start_program: - CFI_STARTPROC - PROFILE - ldr r12, =caml_program - -/* Code shared with caml_callback* */ -/* Address of OCaml code to call is in r12 */ -/* Arguments to the OCaml code are in r0...r3 */ - -.Ljump_to_caml: -#if defined(SYS_linux_eabihf) - /* Save callee-save floating-point registers */ - vpush {d8-d15}; CFI_ADJUST(64) -#endif - /* Save return address and callee-save registers */ - push {r4-r8,r10,r11,lr}; CFI_ADJUST(32) /* 8-byte alignment */ - /* Setup a callback link on the stack */ - sub sp, sp, 16; CFI_ADJUST(16) /* 8-byte alignment */ - ldr r4, =caml_bottom_of_stack - ldr r5, =caml_last_return_address - ldr r6, =caml_gc_regs - ldr r4, [r4] - ldr r5, [r5] - ldr r6, [r6] - str r4, [sp, 0] - str r5, [sp, 4] - str r6, [sp, 8] - /* Setup a trap frame to catch exceptions escaping the OCaml code */ - sub sp, sp, 8; CFI_ADJUST(8) - ldr r6, =caml_exception_pointer - ldr r5, =.Ltrap_handler - ldr r4, [r6] - str r4, [sp, 0] - str r5, [sp, 4] - mov trap_ptr, sp - /* Reload allocation pointers */ - ldr r4, =caml_young_ptr - ldr alloc_ptr, [r4] - ldr r4, =caml_young_limit - ldr alloc_limit, [r4] - /* Call the OCaml code */ - blx r12 -.Lcaml_retaddr: - /* Pop the trap frame, restoring caml_exception_pointer */ - ldr r4, =caml_exception_pointer - ldr r5, [sp, 0] - str r5, [r4] - add sp, sp, 8; CFI_ADJUST(-8) - /* Pop the callback link, restoring the global variables */ -.Lreturn_result: - ldr r4, =caml_bottom_of_stack - ldr r5, [sp, 0] - str r5, [r4] - ldr r4, =caml_last_return_address - ldr r5, [sp, 4] - str r5, [r4] - ldr r4, =caml_gc_regs - ldr r5, [sp, 8] - str r5, [r4] - add sp, sp, 16; CFI_ADJUST(-16) - /* Update allocation pointer */ - ldr r4, =caml_young_ptr - str alloc_ptr, [r4] - /* Reload callee-save registers and return address */ - pop {r4-r8,r10,r11,lr}; CFI_ADJUST(-32) -#if defined(SYS_linux_eabihf) - /* Reload callee-save floating-point registers */ - vpop {d8-d15}; CFI_ADJUST(-64) -#endif - bx lr - CFI_ENDPROC - .type .Lcaml_retaddr, %function - .size .Lcaml_retaddr, .-.Lcaml_retaddr - .type caml_start_program, %function - .size caml_start_program, .-caml_start_program - -/* The trap handler */ - - .align 2 -.Ltrap_handler: - CFI_STARTPROC - /* Save exception pointer */ - ldr r12, =caml_exception_pointer - str trap_ptr, [r12] - /* Encode exception bucket as an exception result */ - orr r0, r0, 2 - /* Return it */ - b .Lreturn_result - CFI_ENDPROC - .type .Ltrap_handler, %function - .size .Ltrap_handler, .-.Ltrap_handler - -/* Raise an exception from OCaml */ - - .align 2 - .globl caml_raise_exn -caml_raise_exn: - CFI_STARTPROC - PROFILE - /* Test if backtrace is active */ - ldr r1, =caml_backtrace_active - ldr r1, [r1] - cbz r1, 1f - /* Preserve exception bucket in callee-save register r4 */ - mov r4, r0 - /* Stash the backtrace */ - mov r1, lr /* arg2: pc of raise */ - mov r2, sp /* arg3: sp of raise */ - mov r3, trap_ptr /* arg4: sp of handler */ - bl caml_stash_backtrace - /* Restore exception bucket */ - mov r0, r4 -1: /* Cut stack at current trap handler */ - mov sp, trap_ptr - /* Pop previous handler and addr of trap, and jump to it */ - pop {trap_ptr, pc} - CFI_ENDPROC - .type caml_raise_exn, %function - .size caml_raise_exn, .-caml_raise_exn - -/* Raise an exception from C */ - - .align 2 - .globl caml_raise_exception -caml_raise_exception: - CFI_STARTPROC - PROFILE - /* Reload trap ptr, alloc ptr and alloc limit */ - ldr trap_ptr, =caml_exception_pointer - ldr alloc_ptr, =caml_young_ptr - ldr alloc_limit, =caml_young_limit - ldr trap_ptr, [trap_ptr] - ldr alloc_ptr, [alloc_ptr] - ldr alloc_limit, [alloc_limit] - /* Test if backtrace is active */ - ldr r1, =caml_backtrace_active - ldr r1, [r1] - cbz r1, 1f - /* Preserve exception bucket in callee-save register r4 */ - mov r4, r0 - ldr r1, =caml_last_return_address /* arg2: pc of raise */ - ldr r1, [r1] - ldr r2, =caml_bottom_of_stack /* arg3: sp of raise */ - ldr r2, [r2] - mov r3, trap_ptr /* arg4: sp of handler */ - bl caml_stash_backtrace - /* Restore exception bucket */ - mov r0, r4 -1: /* Cut stack at current trap handler */ - mov sp, trap_ptr - /* Pop previous handler and addr of trap, and jump to it */ - pop {trap_ptr, pc} - CFI_ENDPROC - .type caml_raise_exception, %function - .size caml_raise_exception, .-caml_raise_exception - -/* Callback from C to OCaml */ - - .align 2 - .globl caml_callback_exn -caml_callback_exn: - CFI_STARTPROC - PROFILE - /* Initial shuffling of arguments (r0 = closure, r1 = first arg) */ - mov r12, r0 - mov r0, r1 /* r0 = first arg */ - mov r1, r12 /* r1 = closure environment */ - ldr r12, [r12] /* code pointer */ - b .Ljump_to_caml - CFI_ENDPROC - .type caml_callback_exn, %function - .size caml_callback_exn, .-caml_callback_exn - - .align 2 - .globl caml_callback2_exn -caml_callback2_exn: - CFI_STARTPROC - PROFILE - /* Initial shuffling of arguments (r0 = closure, r1 = arg1, r2 = arg2) */ - mov r12, r0 - mov r0, r1 /* r0 = first arg */ - mov r1, r2 /* r1 = second arg */ - mov r2, r12 /* r2 = closure environment */ - ldr r12, =caml_apply2 - b .Ljump_to_caml - CFI_ENDPROC - .type caml_callback2_exn, %function - .size caml_callback2_exn, .-caml_callback2_exn - - .align 2 - .globl caml_callback3_exn -caml_callback3_exn: - CFI_STARTPROC - PROFILE - /* Initial shuffling of arguments */ - /* (r0 = closure, r1 = arg1, r2 = arg2, r3 = arg3) */ - mov r12, r0 - mov r0, r1 /* r0 = first arg */ - mov r1, r2 /* r1 = second arg */ - mov r2, r3 /* r2 = third arg */ - mov r3, r12 /* r3 = closure environment */ - ldr r12, =caml_apply3 - b .Ljump_to_caml - CFI_ENDPROC - .type caml_callback3_exn, %function - .size caml_callback3_exn, .-caml_callback3_exn - - .align 2 - .globl caml_ml_array_bound_error -caml_ml_array_bound_error: - CFI_STARTPROC - PROFILE - /* Load address of [caml_array_bound_error] in r7 */ - ldr r7, =caml_array_bound_error - /* Call that function */ - b caml_c_call - CFI_ENDPROC - .type caml_ml_array_bound_error, %function - .size caml_ml_array_bound_error, .-caml_ml_array_bound_error - - .globl caml_system__code_end -caml_system__code_end: - -/* GC roots for callback */ - - .data - .align 2 - .globl caml_system__frametable -caml_system__frametable: - .word 1 /* one descriptor */ - .word .Lcaml_retaddr /* return address into callback */ - .short -1 /* negative frame size => use callback link */ - .short 0 /* no roots */ - .align 2 - .type caml_system__frametable, %object - .size caml_system__frametable, .-caml_system__frametable diff --git a/vendor/ocaml/asmrun/arm64.S b/vendor/ocaml/asmrun/arm64.S deleted file mode 100644 index 9b4b9ab7c..000000000 --- a/vendor/ocaml/asmrun/arm64.S +++ /dev/null @@ -1,551 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Gallium, INRIA Rocquencourt */ -/* */ -/* Copyright 2013 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Asm part of the runtime system, ARM processor, 64-bit mode */ -/* Must be preprocessed by cpp */ - -/* Special registers */ - -#define TRAP_PTR x26 -#define ALLOC_PTR x27 -#define ALLOC_LIMIT x28 -#define ARG x15 -#define TMP x16 -#define TMP2 x17 - -/* Support for CFI directives */ - -#if defined(ASM_CFI_SUPPORTED) -#define CFI_STARTPROC .cfi_startproc -#define CFI_ENDPROC .cfi_endproc -#define CFI_ADJUST(n) .cfi_adjust_cfa_offset n -#else -#define CFI_STARTPROC -#define CFI_ENDPROC -#define CFI_ADJUST(n) -#endif - -/* Support for profiling with gprof */ - -#define PROFILE - -/* Macros to load and store global variables. Destroy TMP2 */ - -#if defined(__PIC__) - -#define ADDRGLOBAL(reg,symb) \ - adrp TMP2, :got:symb; \ - ldr reg, [TMP2, #:got_lo12:symb] - -#define LOADGLOBAL(reg,symb) \ - ADDRGLOBAL(TMP2,symb); \ - ldr reg, [TMP2] - -#define STOREGLOBAL(reg,symb) \ - ADDRGLOBAL(TMP2,symb); \ - str reg, [TMP2] - -#else - -#define ADDRGLOBAL(reg,symb) \ - adrp reg, symb; \ - add reg, reg, #:lo12:symb - -#define LOADGLOBAL(reg,symb) \ - adrp TMP2, symb; \ - ldr reg, [TMP2, #:lo12:symb] - -#define STOREGLOBAL(reg,symb) \ - adrp TMP2, symb; \ - str reg, [TMP2, #:lo12:symb] - -#endif - -/* Allocation functions and GC interface */ - - .globl caml_system__code_begin -caml_system__code_begin: - - .align 2 - .globl caml_call_gc -caml_call_gc: - CFI_STARTPROC - PROFILE - /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) - /* Record lowest stack address */ - mov TMP, sp - STOREGLOBAL(TMP, caml_bottom_of_stack) -.Lcaml_call_gc: - /* Set up stack space, saving return address and frame pointer */ - /* (2 regs RA/GP, 24 allocatable int regs, 24 caller-save float regs) * 8 */ - stp x29, x30, [sp, -400]! - CFI_ADJUST(400) - add x29, sp, #0 - /* Save allocatable integer registers on the stack, in the order - given in proc.ml */ - stp x0, x1, [sp, 16] - stp x2, x3, [sp, 32] - stp x4, x5, [sp, 48] - stp x6, x7, [sp, 64] - stp x8, x9, [sp, 80] - stp x10, x11, [sp, 96] - stp x12, x13, [sp, 112] - stp x14, x15, [sp, 128] - stp x19, x20, [sp, 144] - stp x21, x22, [sp, 160] - stp x23, x24, [sp, 176] - str x25, [sp, 192] - /* Save caller-save floating-point registers on the stack - (callee-saves are preserved by caml_garbage_collection) */ - stp d0, d1, [sp, 208] - stp d2, d3, [sp, 224] - stp d4, d5, [sp, 240] - stp d6, d7, [sp, 256] - stp d16, d17, [sp, 272] - stp d18, d19, [sp, 288] - stp d20, d21, [sp, 304] - stp d22, d23, [sp, 320] - stp d24, d25, [sp, 336] - stp d26, d27, [sp, 352] - stp d28, d29, [sp, 368] - stp d30, d31, [sp, 384] - /* Store pointer to saved integer registers in caml_gc_regs */ - add TMP, sp, #16 - STOREGLOBAL(TMP, caml_gc_regs) - /* Save current allocation pointer for debugging purposes */ - STOREGLOBAL(ALLOC_PTR, caml_young_ptr) - /* Save trap pointer in case an exception is raised during GC */ - STOREGLOBAL(TRAP_PTR, caml_exception_pointer) - /* Call the garbage collector */ - bl caml_garbage_collection - /* Restore registers */ - ldp x0, x1, [sp, 16] - ldp x2, x3, [sp, 32] - ldp x4, x5, [sp, 48] - ldp x6, x7, [sp, 64] - ldp x8, x9, [sp, 80] - ldp x10, x11, [sp, 96] - ldp x12, x13, [sp, 112] - ldp x14, x15, [sp, 128] - ldp x19, x20, [sp, 144] - ldp x21, x22, [sp, 160] - ldp x23, x24, [sp, 176] - ldr x25, [sp, 192] - ldp d0, d1, [sp, 208] - ldp d2, d3, [sp, 224] - ldp d4, d5, [sp, 240] - ldp d6, d7, [sp, 256] - ldp d16, d17, [sp, 272] - ldp d18, d19, [sp, 288] - ldp d20, d21, [sp, 304] - ldp d22, d23, [sp, 320] - ldp d24, d25, [sp, 336] - ldp d26, d27, [sp, 352] - ldp d28, d29, [sp, 368] - ldp d30, d31, [sp, 384] - /* Reload new allocation pointer and allocation limit */ - LOADGLOBAL(ALLOC_PTR, caml_young_ptr) - LOADGLOBAL(ALLOC_LIMIT, caml_young_limit) - /* Free stack space and return to caller */ - ldp x29, x30, [sp], 400 - ret - CFI_ENDPROC - .type caml_call_gc, %function - .size caml_call_gc, .-caml_call_gc - - .align 2 - .globl caml_alloc1 -caml_alloc1: - CFI_STARTPROC - PROFILE -1: sub ALLOC_PTR, ALLOC_PTR, #16 - cmp ALLOC_PTR, ALLOC_LIMIT - b.lo 2f - ret -2: stp x29, x30, [sp, -16]! - CFI_ADJUST(16) - /* Record the lowest address of the caller's stack frame. This is the address - immediately above the pair of words (x29 and x30) we just pushed. Those must - not be included since otherwise the distance from [caml_bottom_of_stack] to the - highest address in the caller's stack frame won't match the frame size contained - in the relevant frame descriptor. */ - add x29, sp, #16 - STOREGLOBAL(x29, caml_bottom_of_stack) - add x29, sp, #0 - /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) - /* Call GC */ - bl .Lcaml_call_gc - /* Restore return address */ - ldp x29, x30, [sp], 16 - CFI_ADJUST(-16) - /* Try again */ - b 1b - CFI_ENDPROC - .type caml_alloc1, %function - .size caml_alloc1, .-caml_alloc1 - - .align 2 - .globl caml_alloc2 -caml_alloc2: - CFI_STARTPROC - PROFILE -1: sub ALLOC_PTR, ALLOC_PTR, #24 - cmp ALLOC_PTR, ALLOC_LIMIT - b.lo 2f - ret -2: stp x29, x30, [sp, -16]! - CFI_ADJUST(16) - /* Record the lowest address of the caller's stack frame. See comment above. */ - add x29, sp, #16 - STOREGLOBAL(x29, caml_bottom_of_stack) - add x29, sp, #0 - /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) - /* Call GC */ - bl .Lcaml_call_gc - /* Restore return address */ - ldp x29, x30, [sp], 16 - CFI_ADJUST(-16) - /* Try again */ - b 1b - CFI_ENDPROC - .type caml_alloc2, %function - .size caml_alloc2, .-caml_alloc2 - - .align 2 - .globl caml_alloc3 -caml_alloc3: - CFI_STARTPROC - PROFILE -1: sub ALLOC_PTR, ALLOC_PTR, #32 - cmp ALLOC_PTR, ALLOC_LIMIT - b.lo 2f - ret -2: stp x29, x30, [sp, -16]! - CFI_ADJUST(16) - /* Record the lowest address of the caller's stack frame. See comment above. */ - add x29, sp, #16 - STOREGLOBAL(x29, caml_bottom_of_stack) - add x29, sp, #0 - /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) - /* Call GC */ - bl .Lcaml_call_gc - /* Restore return address */ - ldp x29, x30, [sp], 16 - CFI_ADJUST(-16) - /* Try again */ - b 1b - CFI_ENDPROC - .type caml_alloc2, %function - .size caml_alloc2, .-caml_alloc2 - - .align 2 - .globl caml_allocN -caml_allocN: - CFI_STARTPROC - PROFILE -1: sub ALLOC_PTR, ALLOC_PTR, ARG - cmp ALLOC_PTR, ALLOC_LIMIT - b.lo 2f - ret -2: stp x29, x30, [sp, -16]! - CFI_ADJUST(16) - /* Record the lowest address of the caller's stack frame. See comment above. */ - add x29, sp, #16 - STOREGLOBAL(x29, caml_bottom_of_stack) - add x29, sp, #0 - /* Record return address */ - STOREGLOBAL(x30, caml_last_return_address) - /* Call GC. This preserves ARG */ - bl .Lcaml_call_gc - /* Restore return address */ - ldp x29, x30, [sp], 16 - CFI_ADJUST(-16) - /* Try again */ - b 1b - CFI_ENDPROC - .type caml_allocN, %function - .size caml_allocN, .-caml_allocN - -/* Call a C function from OCaml */ -/* Function to call is in ARG */ - - .align 2 - .globl caml_c_call -caml_c_call: - CFI_STARTPROC - PROFILE - /* Preserve return address in callee-save register x19 */ - mov x19, x30 - /* Record lowest stack address and return address */ - STOREGLOBAL(x30, caml_last_return_address) - add TMP, sp, #0 - STOREGLOBAL(TMP, caml_bottom_of_stack) - /* Make the exception handler alloc ptr available to the C code */ - STOREGLOBAL(ALLOC_PTR, caml_young_ptr) - STOREGLOBAL(TRAP_PTR, caml_exception_pointer) - /* Call the function */ - blr ARG - /* Reload alloc ptr and alloc limit */ - LOADGLOBAL(ALLOC_PTR, caml_young_ptr) - LOADGLOBAL(ALLOC_LIMIT, caml_young_limit) - /* Return */ - ret x19 - CFI_ENDPROC - .type caml_c_call, %function - .size caml_c_call, .-caml_c_call - -/* Start the OCaml program */ - - .align 2 - .globl caml_start_program -caml_start_program: - CFI_STARTPROC - PROFILE - ADDRGLOBAL(ARG, caml_program) - -/* Code shared with caml_callback* */ -/* Address of OCaml code to call is in ARG */ -/* Arguments to the OCaml code are in x0...x7 */ - -.Ljump_to_caml: - /* Set up stack frame and save callee-save registers */ - stp x29, x30, [sp, -160]! - CFI_ADJUST(160) - add x29, sp, #0 - stp x19, x20, [sp, 16] - stp x21, x22, [sp, 32] - stp x23, x24, [sp, 48] - stp x25, x26, [sp, 64] - stp x27, x28, [sp, 80] - stp d8, d9, [sp, 96] - stp d10, d11, [sp, 112] - stp d12, d13, [sp, 128] - stp d14, d15, [sp, 144] - /* Setup a callback link on the stack */ - LOADGLOBAL(x8, caml_bottom_of_stack) - LOADGLOBAL(x9, caml_last_return_address) - LOADGLOBAL(x10, caml_gc_regs) - stp x8, x9, [sp, -32]! /* 16-byte alignment */ - CFI_ADJUST(32) - str x10, [sp, 16] - /* Setup a trap frame to catch exceptions escaping the OCaml code */ - LOADGLOBAL(x8, caml_exception_pointer) - adr x9, .Ltrap_handler - stp x8, x9, [sp, -16]! - CFI_ADJUST(16) - add TRAP_PTR, sp, #0 - /* Reload allocation pointers */ - LOADGLOBAL(ALLOC_PTR, caml_young_ptr) - LOADGLOBAL(ALLOC_LIMIT, caml_young_limit) - /* Call the OCaml code */ - blr ARG -.Lcaml_retaddr: - /* Pop the trap frame, restoring caml_exception_pointer */ - ldr x8, [sp], 16 - CFI_ADJUST(-16) - STOREGLOBAL(x8, caml_exception_pointer) - /* Pop the callback link, restoring the global variables */ -.Lreturn_result: - ldr x10, [sp, 16] - ldp x8, x9, [sp], 32 - CFI_ADJUST(-32) - STOREGLOBAL(x8, caml_bottom_of_stack) - STOREGLOBAL(x9, caml_last_return_address) - STOREGLOBAL(x10, caml_gc_regs) - /* Update allocation pointer */ - STOREGLOBAL(ALLOC_PTR, caml_young_ptr) - /* Reload callee-save registers and return address */ - ldp x19, x20, [sp, 16] - ldp x21, x22, [sp, 32] - ldp x23, x24, [sp, 48] - ldp x25, x26, [sp, 64] - ldp x27, x28, [sp, 80] - ldp d8, d9, [sp, 96] - ldp d10, d11, [sp, 112] - ldp d12, d13, [sp, 128] - ldp d14, d15, [sp, 144] - ldp x29, x30, [sp], 160 - CFI_ADJUST(-160) - /* Return to C caller */ - ret - CFI_ENDPROC - .type .Lcaml_retaddr, %function - .size .Lcaml_retaddr, .-.Lcaml_retaddr - .type caml_start_program, %function - .size caml_start_program, .-caml_start_program - -/* The trap handler */ - - .align 2 -.Ltrap_handler: - CFI_STARTPROC - /* Save exception pointer */ - STOREGLOBAL(TRAP_PTR, caml_exception_pointer) - /* Encode exception bucket as an exception result */ - orr x0, x0, #2 - /* Return it */ - b .Lreturn_result - CFI_ENDPROC - .type .Ltrap_handler, %function - .size .Ltrap_handler, .-.Ltrap_handler - -/* Raise an exception from OCaml */ - - .align 2 - .globl caml_raise_exn -caml_raise_exn: - CFI_STARTPROC - PROFILE - /* Test if backtrace is active */ - LOADGLOBAL(TMP, caml_backtrace_active) - cbnz TMP, 2f -1: /* Cut stack at current trap handler */ - mov sp, TRAP_PTR - /* Pop previous handler and jump to it */ - ldr TMP, [sp, 8] - ldr TRAP_PTR, [sp], 16 - br TMP -2: /* Preserve exception bucket in callee-save register x19 */ - mov x19, x0 - /* Stash the backtrace */ - /* arg1: exn bucket, already in x0 */ - mov x1, x30 /* arg2: pc of raise */ - add x2, sp, #0 /* arg3: sp of raise */ - mov x3, TRAP_PTR /* arg4: sp of handler */ - bl caml_stash_backtrace - /* Restore exception bucket and raise */ - mov x0, x19 - b 1b - CFI_ENDPROC - .type caml_raise_exn, %function - .size caml_raise_exn, .-caml_raise_exn - -/* Raise an exception from C */ - - .align 2 - .globl caml_raise_exception -caml_raise_exception: - CFI_STARTPROC - PROFILE - /* Reload trap ptr, alloc ptr and alloc limit */ - LOADGLOBAL(TRAP_PTR, caml_exception_pointer) - LOADGLOBAL(ALLOC_PTR, caml_young_ptr) - LOADGLOBAL(ALLOC_LIMIT, caml_young_limit) - /* Test if backtrace is active */ - LOADGLOBAL(TMP, caml_backtrace_active) - cbnz TMP, 2f -1: /* Cut stack at current trap handler */ - mov sp, TRAP_PTR - /* Pop previous handler and jump to it */ - ldr TMP, [sp, 8] - ldr TRAP_PTR, [sp], 16 - br TMP -2: /* Preserve exception bucket in callee-save register x19 */ - mov x19, x0 - /* Stash the backtrace */ - /* arg1: exn bucket, already in x0 */ - LOADGLOBAL(x1, caml_last_return_address) /* arg2: pc of raise */ - LOADGLOBAL(x2, caml_bottom_of_stack) /* arg3: sp of raise */ - mov x3, TRAP_PTR /* arg4: sp of handler */ - bl caml_stash_backtrace - /* Restore exception bucket and raise */ - mov x0, x19 - b 1b - CFI_ENDPROC - .type caml_raise_exception, %function - .size caml_raise_exception, .-caml_raise_exception - -/* Callback from C to OCaml */ - - .align 2 - .globl caml_callback_exn -caml_callback_exn: - CFI_STARTPROC - PROFILE - /* Initial shuffling of arguments (x0 = closure, x1 = first arg) */ - mov TMP, x0 - mov x0, x1 /* x0 = first arg */ - mov x1, TMP /* x1 = closure environment */ - ldr ARG, [TMP] /* code pointer */ - b .Ljump_to_caml - CFI_ENDPROC - .type caml_callback_exn, %function - .size caml_callback_exn, .-caml_callback_exn - - .align 2 - .globl caml_callback2_exn -caml_callback2_exn: - CFI_STARTPROC - PROFILE - /* Initial shuffling of arguments (x0 = closure, x1 = arg1, x2 = arg2) */ - mov TMP, x0 - mov x0, x1 /* x0 = first arg */ - mov x1, x2 /* x1 = second arg */ - mov x2, TMP /* x2 = closure environment */ - ADDRGLOBAL(ARG, caml_apply2) - b .Ljump_to_caml - CFI_ENDPROC - .type caml_callback2_exn, %function - .size caml_callback2_exn, .-caml_callback2_exn - - .align 2 - .globl caml_callback3_exn -caml_callback3_exn: - CFI_STARTPROC - PROFILE - /* Initial shuffling of arguments */ - /* (x0 = closure, x1 = arg1, x2 = arg2, x3 = arg3) */ - mov TMP, x0 - mov x0, x1 /* x0 = first arg */ - mov x1, x2 /* x1 = second arg */ - mov x2, x3 /* x2 = third arg */ - mov x3, TMP /* x3 = closure environment */ - ADDRGLOBAL(ARG, caml_apply3) - b .Ljump_to_caml - CFI_ENDPROC - .type caml_callback3_exn, %function - .size caml_callback3_exn, .-caml_callback3_exn - - .align 2 - .globl caml_ml_array_bound_error -caml_ml_array_bound_error: - CFI_STARTPROC - PROFILE - /* Load address of [caml_array_bound_error] in ARG */ - ADDRGLOBAL(ARG, caml_array_bound_error) - /* Call that function */ - b caml_c_call - CFI_ENDPROC - .type caml_ml_array_bound_error, %function - .size caml_ml_array_bound_error, .-caml_ml_array_bound_error - - .globl caml_system__code_end -caml_system__code_end: - -/* GC roots for callback */ - - .data - .align 3 - .globl caml_system__frametable -caml_system__frametable: - .quad 1 /* one descriptor */ - .quad .Lcaml_retaddr /* return address into callback */ - .short -1 /* negative frame size => use callback link */ - .short 0 /* no roots */ - .align 3 - .type caml_system__frametable, %object - .size caml_system__frametable, .-caml_system__frametable diff --git a/vendor/ocaml/asmrun/backtrace.c b/vendor/ocaml/asmrun/backtrace.c deleted file mode 100644 index fafe13a01..000000000 --- a/vendor/ocaml/asmrun/backtrace.c +++ /dev/null @@ -1,385 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Gallium, INRIA Rocquencourt */ -/* */ -/* Copyright 2006 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Stack backtrace for uncaught exceptions */ - -#include -#include -#include - -#include "caml/alloc.h" -#include "caml/backtrace.h" -#include "caml/memory.h" -#include "caml/misc.h" -#include "caml/mlvalues.h" -#include "stack.h" - -int caml_backtrace_active = 0; -int caml_backtrace_pos = 0; -code_t * caml_backtrace_buffer = NULL; -value caml_backtrace_last_exn = Val_unit; -#define BACKTRACE_BUFFER_SIZE 1024 - -/* In order to prevent the GC from walking through the debug information - (which have no headers), we transform frame_descr pointers into - 31/63 bits ocaml integers by shifting them by 1 to the right. We do - not lose information as descr pointers are aligned. - - In particular, we do not need to use [caml_initialize] when setting - an array element with such a value. -*/ -#define Val_Descrptr(descr) Val_long((uintnat)descr>>1) -#define Descrptr_Val(v) ((frame_descr *) (Long_val(v)<<1)) - -/* Start or stop the backtrace machinery */ - -CAMLprim value caml_record_backtrace(value vflag) -{ - int flag = Int_val(vflag); - - if (flag != caml_backtrace_active) { - caml_backtrace_active = flag; - caml_backtrace_pos = 0; - if (flag) { - caml_register_global_root(&caml_backtrace_last_exn); - } else { - caml_remove_global_root(&caml_backtrace_last_exn); - } - } - return Val_unit; -} - -/* Return the status of the backtrace machinery */ - -CAMLprim value caml_backtrace_status(value vunit) -{ - return Val_bool(caml_backtrace_active); -} - -/* returns the next frame descriptor (or NULL if none is available), - and updates *pc and *sp to point to the following one. */ - -frame_descr * caml_next_frame_descriptor(uintnat * pc, char ** sp) -{ - frame_descr * d; - uintnat h; - - if (caml_frame_descriptors == NULL) caml_init_frame_descriptors(); - - while (1) { - h = Hash_retaddr(*pc); - while (1) { - d = caml_frame_descriptors[h]; - if (d == 0) return NULL; /* can happen if some code compiled without -g */ - if (d->retaddr == *pc) break; - h = (h+1) & caml_frame_descriptors_mask; - } - /* Skip to next frame */ - if (d->frame_size != 0xFFFF) { - /* Regular frame, update sp/pc and return the frame descriptor */ -#ifndef Stack_grows_upwards - *sp += (d->frame_size & 0xFFFC); -#else - *sp -= (d->frame_size & 0xFFFC); -#endif - *pc = Saved_return_address(*sp); -#ifdef Mask_already_scanned - *pc = Mask_already_scanned(*pc); -#endif - return d; - } else { - /* Special frame marking the top of a stack chunk for an ML callback. - Skip C portion of stack and continue with next ML stack chunk. */ - struct caml_context * next_context = Callback_link(*sp); - *sp = next_context->bottom_of_stack; - *pc = next_context->last_retaddr; - /* A null sp means no more ML stack chunks; stop here. */ - if (*sp == NULL) return NULL; - } - } -} - -/* Stores the return addresses contained in the given stack fragment - into the backtrace array ; this version is performance-sensitive as - it is called at each [raise] in a program compiled with [-g], so we - preserved the global, statically bounded buffer of the old - implementation -- before the more flexible - [caml_get_current_callstack] was implemented. */ - -void caml_stash_backtrace(value exn, uintnat pc, char * sp, char * trapsp) -{ - if (exn != caml_backtrace_last_exn) { - caml_backtrace_pos = 0; - caml_backtrace_last_exn = exn; - } - if (caml_backtrace_buffer == NULL) { - Assert(caml_backtrace_pos == 0); - caml_backtrace_buffer = malloc(BACKTRACE_BUFFER_SIZE * sizeof(code_t)); - if (caml_backtrace_buffer == NULL) return; - } - - /* iterate on each frame */ - while (1) { - frame_descr * descr = caml_next_frame_descriptor(&pc, &sp); - if (descr == NULL) return; - /* store its descriptor in the backtrace buffer */ - if (caml_backtrace_pos >= BACKTRACE_BUFFER_SIZE) return; - caml_backtrace_buffer[caml_backtrace_pos++] = (code_t) descr; - - /* Stop when we reach the current exception handler */ -#ifndef Stack_grows_upwards - if (sp > trapsp) return; -#else - if (sp < trapsp) return; -#endif - } -} - -/* Stores upto [max_frames_value] frames of the current call stack to - return to the user. This is used not in an exception-raising - context, but only when the user requests to save the trace - (hopefully less often). Instead of using a bounded buffer as - [caml_stash_backtrace], we first traverse the stack to compute the - right size, then allocate space for the trace. */ - -CAMLprim value caml_get_current_callstack(value max_frames_value) { - CAMLparam1(max_frames_value); - CAMLlocal1(trace); - - /* we use `intnat` here because, were it only `int`, passing `max_int` - from the OCaml side would overflow on 64bits machines. */ - intnat max_frames = Long_val(max_frames_value); - intnat trace_size; - - /* first compute the size of the trace */ - { - uintnat pc = caml_last_return_address; - /* note that [caml_bottom_of_stack] always points to the most recent - * frame, independently of the [Stack_grows_upwards] setting */ - char * sp = caml_bottom_of_stack; - char * limitsp = caml_top_of_stack; - - trace_size = 0; - while (1) { - frame_descr * descr = caml_next_frame_descriptor(&pc, &sp); - if (descr == NULL) break; - if (trace_size >= max_frames) break; - ++trace_size; - -#ifndef Stack_grows_upwards - if (sp > limitsp) break; -#else - if (sp < limitsp) break; -#endif - } - } - - trace = caml_alloc((mlsize_t) trace_size, 0); - - /* then collect the trace */ - { - uintnat pc = caml_last_return_address; - char * sp = caml_bottom_of_stack; - intnat trace_pos; - - for (trace_pos = 0; trace_pos < trace_size; trace_pos++) { - frame_descr * descr = caml_next_frame_descriptor(&pc, &sp); - Assert(descr != NULL); - Field(trace, trace_pos) = Val_Descrptr(descr); - } - } - - CAMLreturn(trace); -} - -/* Extract location information for the given frame descriptor */ - -CAMLexport void extract_location_info(frame_descr * d, - /*out*/ struct caml_loc_info * li) -{ - uintnat infoptr; - uint32 info1, info2; - - /* If no debugging information available, print nothing. - When everything is compiled with -g, this corresponds to - compiler-inserted re-raise operations. */ - if ((d->frame_size & 1) == 0) { - li->loc_valid = 0; - li->loc_is_raise = 1; - return; - } - /* Recover debugging info */ - infoptr = ((uintnat) d + - sizeof(char *) + sizeof(short) + sizeof(short) + - sizeof(short) * d->num_live + sizeof(frame_descr *) - 1) - & -sizeof(frame_descr *); - info1 = ((uint32 *)infoptr)[0]; - info2 = ((uint32 *)infoptr)[1]; - /* Format of the two info words: - llllllllllllllllllll aaaaaaaa bbbbbbbbbb nnnnnnnnnnnnnnnnnnnnnnnn kk - 44 36 26 2 0 - (32+12) (32+4) - k ( 2 bits): 0 if it's a call, 1 if it's a raise - n (24 bits): offset (in 4-byte words) of file name relative to infoptr - l (20 bits): line number - a ( 8 bits): beginning of character range - b (10 bits): end of character range */ - li->loc_valid = 1; - li->loc_is_raise = (info1 & 3) != 0; - li->loc_filename = (char *) infoptr + (info1 & 0x3FFFFFC); - li->loc_lnum = info2 >> 12; - li->loc_startchr = (info2 >> 4) & 0xFF; - li->loc_endchr = ((info2 & 0xF) << 6) | (info1 >> 26); -} - -/* Print location information -- same behavior as in Printexc - - note that the test for compiler-inserted raises is slightly redundant: - (!li->loc_valid && li->loc_is_raise) - extract_location_info above guarantees that when li->loc_valid is - 0, then li->loc_is_raise is always 1, so the latter test is - useless. We kept it to keep code identical to the byterun/ - implementation. */ - -static void print_location(struct caml_loc_info * li, int index) -{ - char * info; - - /* Ignore compiler-inserted raise */ - if (!li->loc_valid && li->loc_is_raise) return; - - if (li->loc_is_raise) { - /* Initial raise if index == 0, re-raise otherwise */ - if (index == 0) - info = "Raised at"; - else - info = "Re-raised at"; - } else { - if (index == 0) - info = "Raised by primitive operation at"; - else - info = "Called from"; - } - if (! li->loc_valid) { - fprintf(stderr, "%s unknown location\n", info); - } else { - fprintf (stderr, "%s file \"%s\", line %d, characters %d-%d\n", - info, li->loc_filename, li->loc_lnum, - li->loc_startchr, li->loc_endchr); - } -} - -/* Print a backtrace */ - -void caml_print_exception_backtrace(void) -{ - int i; - struct caml_loc_info li; - - for (i = 0; i < caml_backtrace_pos; i++) { - extract_location_info((frame_descr *) (caml_backtrace_buffer[i]), &li); - print_location(&li, i); - } -} - -/* Convert the raw backtrace to a data structure usable from OCaml */ - -CAMLprim value caml_convert_raw_backtrace_slot(value backtrace_slot) { - CAMLparam1(backtrace_slot); - CAMLlocal2(p, fname); - struct caml_loc_info li; - - extract_location_info(Descrptr_Val(backtrace_slot), &li); - - if (li.loc_valid) { - fname = caml_copy_string(li.loc_filename); - p = caml_alloc_small(5, 0); - Field(p, 0) = Val_bool(li.loc_is_raise); - Field(p, 1) = fname; - Field(p, 2) = Val_int(li.loc_lnum); - Field(p, 3) = Val_int(li.loc_startchr); - Field(p, 4) = Val_int(li.loc_endchr); - } else { - p = caml_alloc_small(1, 1); - Field(p, 0) = Val_bool(li.loc_is_raise); - } - - CAMLreturn(p); -} - -/* Get a copy of the latest backtrace */ - -CAMLprim value caml_get_exception_raw_backtrace(value unit) -{ - CAMLparam0(); - CAMLlocal1(res); - const int tag = 0; - - /* Beware: the allocations below may cause finalizers to be run, and another - backtrace---possibly of a different length---to be stashed (for example - if the finalizer raises then catches an exception). We choose to ignore - any such finalizer backtraces and return the original one. */ - - if (caml_backtrace_buffer == NULL || caml_backtrace_pos == 0) { - res = caml_alloc(0, tag); - } - else { - code_t saved_caml_backtrace_buffer[BACKTRACE_BUFFER_SIZE]; - int saved_caml_backtrace_pos; - intnat i; - - saved_caml_backtrace_pos = caml_backtrace_pos; - - if (saved_caml_backtrace_pos > BACKTRACE_BUFFER_SIZE) { - saved_caml_backtrace_pos = BACKTRACE_BUFFER_SIZE; - } - - memcpy(saved_caml_backtrace_buffer, caml_backtrace_buffer, - saved_caml_backtrace_pos * sizeof(code_t)); - - res = caml_alloc(saved_caml_backtrace_pos, tag); - for (i = 0; i < saved_caml_backtrace_pos; i++) { - /* [Val_Descrptr] always returns an immediate. */ - Field(res, i) = Val_Descrptr(saved_caml_backtrace_buffer[i]); - } - } - - CAMLreturn(res); -} - -/* the function below is deprecated: we previously returned directly - the OCaml-usable representation, instead of the raw backtrace as an - abstract type, but this has a large performance overhead if you - store a lot of backtraces and print only some of them. - - It is not used by the Printexc library anymore, or anywhere else in - the compiler, but we have kept it in case some user still depends - on it as an external. -*/ - -CAMLprim value caml_get_exception_backtrace(value unit) -{ - CAMLparam0(); - CAMLlocal3(arr, res, backtrace); - intnat i; - - backtrace = caml_get_exception_raw_backtrace(Val_unit); - - arr = caml_alloc(Wosize_val(backtrace), 0); - for (i = 0; i < Wosize_val(backtrace); i++) { - Store_field(arr, i, caml_convert_raw_backtrace_slot(Field(backtrace, i))); - } - - res = caml_alloc_small(1, 0); Field(res, 0) = arr; /* Some */ - CAMLreturn(res); -} diff --git a/vendor/ocaml/asmrun/fail.c b/vendor/ocaml/asmrun/fail.c deleted file mode 100644 index c674d1a87..000000000 --- a/vendor/ocaml/asmrun/fail.c +++ /dev/null @@ -1,182 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Raising exceptions from C. */ - -#include -#include -#include "caml/alloc.h" -#include "caml/fail.h" -#include "caml/io.h" -#include "caml/gc.h" -#include "caml/memory.h" -#include "caml/mlvalues.h" -#include "caml/printexc.h" -#include "caml/signals.h" -#include "stack.h" -#include "caml/roots.h" -#include "caml/callback.h" - -/* The globals holding predefined exceptions */ - -typedef value caml_generated_constant[1]; - -extern caml_generated_constant - caml_exn_Out_of_memory, - caml_exn_Sys_error, - caml_exn_Failure, - caml_exn_Invalid_argument, - caml_exn_End_of_file, - caml_exn_Division_by_zero, - caml_exn_Not_found, - caml_exn_Match_failure, - caml_exn_Sys_blocked_io, - caml_exn_Stack_overflow, - caml_exn_Assert_failure, - caml_exn_Undefined_recursive_module; - -/* Exception raising */ - -extern void caml_raise_exception (value bucket) Noreturn; - -char * caml_exception_pointer = NULL; - -void caml_raise(value v) -{ - Unlock_exn(); - if (caml_exception_pointer == NULL) caml_fatal_uncaught_exception(v); - -#ifndef Stack_grows_upwards -#define PUSHED_AFTER < -#else -#define PUSHED_AFTER > -#endif - while (caml_local_roots != NULL && - (char *) caml_local_roots PUSHED_AFTER caml_exception_pointer) { - caml_local_roots = caml_local_roots->next; - } -#undef PUSHED_AFTER - - caml_raise_exception(v); -} - -void caml_raise_constant(value tag) -{ - caml_raise(tag); -} - -void caml_raise_with_arg(value tag, value arg) -{ - CAMLparam2 (tag, arg); - CAMLlocal1 (bucket); - - bucket = caml_alloc_small (2, 0); - Field(bucket, 0) = tag; - Field(bucket, 1) = arg; - caml_raise(bucket); - CAMLnoreturn; -} - -void caml_raise_with_args(value tag, int nargs, value args[]) -{ - CAMLparam1 (tag); - CAMLxparamN (args, nargs); - value bucket; - int i; - - Assert(1 + nargs <= Max_young_wosize); - bucket = caml_alloc_small (1 + nargs, 0); - Field(bucket, 0) = tag; - for (i = 0; i < nargs; i++) Field(bucket, 1 + i) = args[i]; - caml_raise(bucket); - CAMLnoreturn; -} - -void caml_raise_with_string(value tag, char const *msg) -{ - CAMLparam1(tag); - value v_msg = caml_copy_string(msg); - caml_raise_with_arg(tag, v_msg); - CAMLnoreturn; -} - -void caml_failwith (char const *msg) -{ - caml_raise_with_string((value) caml_exn_Failure, msg); -} - -void caml_invalid_argument (char const *msg) -{ - caml_raise_with_string((value) caml_exn_Invalid_argument, msg); -} - -void caml_raise_out_of_memory(void) -{ - caml_raise_constant((value) caml_exn_Out_of_memory); -} - -void caml_raise_stack_overflow(void) -{ - caml_raise_constant((value) caml_exn_Stack_overflow); -} - -void caml_raise_sys_error(value msg) -{ - caml_raise_with_arg((value) caml_exn_Sys_error, msg); -} - -void caml_raise_end_of_file(void) -{ - caml_raise_constant((value) caml_exn_End_of_file); -} - -void caml_raise_zero_divide(void) -{ - caml_raise_constant((value) caml_exn_Division_by_zero); -} - -void caml_raise_not_found(void) -{ - caml_raise_constant((value) caml_exn_Not_found); -} - -void caml_raise_sys_blocked_io(void) -{ - caml_raise_constant((value) caml_exn_Sys_blocked_io); -} - -/* We use a pre-allocated exception because we can't - do a GC before the exception is raised (lack of stack descriptors - for the ccall to [caml_array_bound_error]). */ - -static value * caml_array_bound_error_exn = NULL; - -void caml_array_bound_error(void) -{ - if (caml_array_bound_error_exn == NULL) { - caml_array_bound_error_exn = - caml_named_value("Pervasives.array_bound_error"); - if (caml_array_bound_error_exn == NULL) { - fprintf(stderr, "Fatal error: exception " - "Invalid_argument(\"index out of bounds\")\n"); - exit(2); - } - } - caml_raise(*caml_array_bound_error_exn); -} - -int caml_is_special_exception(value exn) { - return exn == (value) caml_exn_Match_failure - || exn == (value) caml_exn_Assert_failure - || exn == (value) caml_exn_Undefined_recursive_module; -} diff --git a/vendor/ocaml/asmrun/i386.S b/vendor/ocaml/asmrun/i386.S deleted file mode 100644 index e55969ee9..000000000 --- a/vendor/ocaml/asmrun/i386.S +++ /dev/null @@ -1,498 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Asm part of the runtime system, Intel 386 processor */ -/* Must be preprocessed by cpp */ - -#include "../config/m.h" - -/* Linux/BSD with ELF binaries and Solaris do not prefix identifiers with _. - Linux/BSD with a.out binaries and NextStep do. */ - -#if (defined(SYS_solaris) && !defined(__GNUC__)) -#define CONCAT(a,b) a/**/b -#else -#define CONCAT(a,b) a##b -#endif - -#if defined(SYS_linux_elf) || defined(SYS_bsd_elf) \ - || defined(SYS_solaris) || defined(SYS_beos) || defined(SYS_gnu) -#define G(x) x -#define LBL(x) CONCAT(.L,x) -#else -#define G(x) CONCAT(_,x) -#define LBL(x) CONCAT(L,x) -#endif - -#if defined(SYS_linux_elf) || defined(SYS_bsd_elf) \ - || defined(SYS_solaris) || defined(SYS_beos) || defined(SYS_cygwin) \ - || defined(SYS_mingw) || defined(SYS_gnu) -#define FUNCTION_ALIGN 4 -#else -#define FUNCTION_ALIGN 2 -#endif - -#define FUNCTION(name) \ - .globl G(name); \ - .align FUNCTION_ALIGN; \ - G(name): - -#ifdef ASM_CFI_SUPPORTED -#define CFI_STARTPROC .cfi_startproc -#define CFI_ENDPROC .cfi_endproc -#define CFI_ADJUST(n) .cfi_adjust_cfa_offset n -#else -#define CFI_STARTPROC -#define CFI_ENDPROC -#define CFI_ADJUST(n) -#endif - -#if defined(PROFILING) -#if defined(SYS_linux_elf) || defined(SYS_gnu) -#define PROFILE_CAML \ - pushl %ebp; CFI_ADJUST(4); \ - movl %esp, %ebp; \ - pushl %eax; CFI_ADJUST(4); \ - pushl %ecx; CFI_ADJUST(4); \ - pushl %edx; CFI_ADJUST(4); \ - call mcount; \ - popl %edx; CFI_ADJUST(-4); \ - popl %ecx; CFI_ADJUST(-4); \ - popl %eax; CFI_ADJUST(-4); \ - popl %ebp; CFI_ADJUST(-4) -#define PROFILE_C \ - pushl %ebp; CFI_ADJUST(4); \ - movl %esp, %ebp; \ - call mcount; \ - popl %ebp; CFI_ADJUST(-4) -#elif defined(SYS_bsd_elf) -#define PROFILE_CAML \ - pushl %ebp; CFI_ADJUST(4); \ - movl %esp, %ebp; \ - pushl %eax; CFI_ADJUST(4); \ - pushl %ecx; CFI_ADJUST(4); \ - pushl %edx; CFI_ADJUST(4); \ - call .mcount; \ - popl %edx; CFI_ADJUST(-4); \ - popl %ecx; CFI_ADJUST(-4); \ - popl %eax; CFI_ADJUST(-4); \ - popl %ebp; CFI_ADJUST(-4) -#define PROFILE_C \ - pushl %ebp; CFI_ADJUST(4); \ - movl %esp, %ebp; \ - call .mcount; \ - popl %ebp; CFI_ADJUST(-4) -#elif defined(SYS_macosx) -#define PROFILE_CAML \ - pushl %ebp; CFI_ADJUST(4); \ - movl %esp, %ebp; \ - pushl %eax; CFI_ADJUST(4); \ - pushl %ecx; CFI_ADJUST(4); \ - pushl %edx; CFI_ADJUST(4); \ - call Lmcount$stub; \ - popl %edx; CFI_ADJUST(-4); \ - popl %ecx; CFI_ADJUST(-4); \ - popl %eax; CFI_ADJUST(-4); \ - popl %ebp; CFI_ADJUST(-4) -#define PROFILE_C \ - pushl %ebp; CFI_ADJUST(4); \ - movl %esp, %ebp; \ - call Lmcount$stub; \ - popl %ebp; CFI_ADJUST(-4) -#endif -#else -#define PROFILE_CAML -#define PROFILE_C -#endif - -/* PR#6038: GCC and Clang seem to require 16-byte alignment nowadays, - even if only MacOS X's ABI formally requires it. */ -#define ALIGN_STACK(amount) subl $ amount, %esp ; CFI_ADJUST(amount) -#define UNDO_ALIGN_STACK(amount) addl $ amount, %esp ; CFI_ADJUST(-amount) - -/* Allocation */ - - .text - .globl G(caml_system__code_begin) -G(caml_system__code_begin): - -FUNCTION(caml_call_gc) - CFI_STARTPROC - PROFILE_CAML - /* Record lowest stack address and return address */ - movl 0(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 4(%esp), %eax - movl %eax, G(caml_bottom_of_stack) -LBL(105): -#if !defined(SYS_mingw) && !defined(SYS_cygwin) - /* Touch the stack to trigger a recoverable segfault - if insufficient space remains */ - subl $16384, %esp - movl %eax, 0(%esp) - addl $16384, %esp -#endif - /* Build array of registers, save it into caml_gc_regs */ - pushl %ebp; CFI_ADJUST(4) - pushl %edi; CFI_ADJUST(4) - pushl %esi; CFI_ADJUST(4) - pushl %edx; CFI_ADJUST(4) - pushl %ecx; CFI_ADJUST(4) - pushl %ebx; CFI_ADJUST(4) - pushl %eax; CFI_ADJUST(4) - movl %esp, G(caml_gc_regs) - /* MacOSX note: 16-alignment of stack preserved at this point */ - /* Call the garbage collector */ - call G(caml_garbage_collection) - /* Restore all regs used by the code generator */ - popl %eax; CFI_ADJUST(-4) - popl %ebx; CFI_ADJUST(-4) - popl %ecx; CFI_ADJUST(-4) - popl %edx; CFI_ADJUST(-4) - popl %esi; CFI_ADJUST(-4) - popl %edi; CFI_ADJUST(-4) - popl %ebp; CFI_ADJUST(-4) - /* Return to caller */ - ret - CFI_ENDPROC - -FUNCTION(caml_alloc1) - CFI_STARTPROC - PROFILE_CAML - movl G(caml_young_ptr), %eax - subl $8, %eax - movl %eax, G(caml_young_ptr) - cmpl G(caml_young_limit), %eax - jb LBL(100) - ret -LBL(100): - movl 0(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 4(%esp), %eax - movl %eax, G(caml_bottom_of_stack) - ALIGN_STACK(12) - call LBL(105) - UNDO_ALIGN_STACK(12) - jmp G(caml_alloc1) - CFI_ENDPROC - -FUNCTION(caml_alloc2) - CFI_STARTPROC - PROFILE_CAML - movl G(caml_young_ptr), %eax - subl $12, %eax - movl %eax, G(caml_young_ptr) - cmpl G(caml_young_limit), %eax - jb LBL(101) - ret -LBL(101): - movl 0(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 4(%esp), %eax - movl %eax, G(caml_bottom_of_stack) - ALIGN_STACK(12) - call LBL(105) - UNDO_ALIGN_STACK(12) - jmp G(caml_alloc2) - CFI_ENDPROC - -FUNCTION(caml_alloc3) - CFI_STARTPROC - PROFILE_CAML - movl G(caml_young_ptr), %eax - subl $16, %eax - movl %eax, G(caml_young_ptr) - cmpl G(caml_young_limit), %eax - jb LBL(102) - ret -LBL(102): - movl 0(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 4(%esp), %eax - movl %eax, G(caml_bottom_of_stack) - ALIGN_STACK(12) - call LBL(105) - UNDO_ALIGN_STACK(12) - jmp G(caml_alloc3) - CFI_ENDPROC - -FUNCTION(caml_allocN) - CFI_STARTPROC - PROFILE_CAML - subl G(caml_young_ptr), %eax /* eax = size - caml_young_ptr */ - negl %eax /* eax = caml_young_ptr - size */ - cmpl G(caml_young_limit), %eax - jb LBL(103) - movl %eax, G(caml_young_ptr) - ret -LBL(103): - subl G(caml_young_ptr), %eax /* eax = - size */ - negl %eax /* eax = size */ - pushl %eax; CFI_ADJUST(4) /* save desired size */ - subl %eax, G(caml_young_ptr) /* must update young_ptr */ - movl 4(%esp), %eax - movl %eax, G(caml_last_return_address) - leal 8(%esp), %eax - movl %eax, G(caml_bottom_of_stack) - ALIGN_STACK(8) - call LBL(105) - UNDO_ALIGN_STACK(8) - popl %eax; CFI_ADJUST(-4) /* recover desired size */ - jmp G(caml_allocN) - CFI_ENDPROC - -/* Call a C function from OCaml */ - -FUNCTION(caml_c_call) - CFI_STARTPROC - PROFILE_CAML - /* Record lowest stack address and return address */ - movl (%esp), %edx - movl %edx, G(caml_last_return_address) - leal 4(%esp), %edx - movl %edx, G(caml_bottom_of_stack) -#if !defined(SYS_mingw) && !defined(SYS_cygwin) - /* Touch the stack to trigger a recoverable segfault - if insufficient space remains */ - subl $16384, %esp - movl %eax, 0(%esp) - addl $16384, %esp -#endif - /* Call the function (address in %eax) */ - jmp *%eax - CFI_ENDPROC - -/* Start the OCaml program */ - -FUNCTION(caml_start_program) - CFI_STARTPROC - PROFILE_C - /* Save callee-save registers */ - pushl %ebx; CFI_ADJUST(4) - pushl %esi; CFI_ADJUST(4) - pushl %edi; CFI_ADJUST(4) - pushl %ebp; CFI_ADJUST(4) - /* Initial entry point is caml_program */ - movl $ G(caml_program), %esi - /* Common code for caml_start_program and caml_callback* */ -LBL(106): - /* Build a callback link */ - pushl G(caml_gc_regs); CFI_ADJUST(4) - pushl G(caml_last_return_address); CFI_ADJUST(4) - pushl G(caml_bottom_of_stack); CFI_ADJUST(4) - /* Note: 16-alignment preserved on MacOSX at this point */ - /* Build an exception handler */ - pushl $ LBL(108); CFI_ADJUST(4) - ALIGN_STACK(8) - pushl G(caml_exception_pointer); CFI_ADJUST(4) - movl %esp, G(caml_exception_pointer) - /* Call the OCaml code */ - call *%esi -LBL(107): - /* Pop the exception handler */ - popl G(caml_exception_pointer); CFI_ADJUST(-4) - addl $12, %esp ; CFI_ADJUST(-12) -LBL(109): - /* Pop the callback link, restoring the global variables */ - popl G(caml_bottom_of_stack); CFI_ADJUST(-4) - popl G(caml_last_return_address); CFI_ADJUST(-4) - popl G(caml_gc_regs); CFI_ADJUST(-4) - /* Restore callee-save registers. */ - popl %ebp; CFI_ADJUST(-4) - popl %edi; CFI_ADJUST(-4) - popl %esi; CFI_ADJUST(-4) - popl %ebx; CFI_ADJUST(-4) - /* Return to caller. */ - ret -LBL(108): - /* Exception handler*/ - /* Mark the bucket as an exception result and return it */ - orl $2, %eax - jmp LBL(109) - CFI_ENDPROC - -/* Raise an exception from OCaml */ - -FUNCTION(caml_raise_exn) - CFI_STARTPROC - testl $1, G(caml_backtrace_active) - jne LBL(110) - movl G(caml_exception_pointer), %esp - popl G(caml_exception_pointer); CFI_ADJUST(-4) - UNDO_ALIGN_STACK(8) - ret -LBL(110): - movl $0, G(caml_backtrace_pos) -LBL(111): - movl %eax, %esi /* Save exception bucket in esi */ - movl G(caml_exception_pointer), %edi /* SP of handler */ - movl 0(%esp), %eax /* PC of raise */ - leal 4(%esp), %edx /* SP of raise */ - ALIGN_STACK(12) - pushl %edi; CFI_ADJUST(4) /* arg 4: sp of handler */ - pushl %edx; CFI_ADJUST(4) /* arg 3: sp of raise */ - pushl %eax; CFI_ADJUST(4) /* arg 2: pc of raise */ - pushl %esi; CFI_ADJUST(4) /* arg 1: exception bucket */ - call G(caml_stash_backtrace) - movl %esi, %eax /* Recover exception bucket */ - movl %edi, %esp - popl G(caml_exception_pointer); CFI_ADJUST(-4) - UNDO_ALIGN_STACK(8) - ret - CFI_ENDPROC - -FUNCTION(caml_reraise_exn) - CFI_STARTPROC - testl $1, G(caml_backtrace_active) - jne LBL(111) - movl G(caml_exception_pointer), %esp - popl G(caml_exception_pointer); CFI_ADJUST(-4) - UNDO_ALIGN_STACK(8) - ret - CFI_ENDPROC - -/* Raise an exception from C */ - -FUNCTION(caml_raise_exception) - CFI_STARTPROC - PROFILE_C - testl $1, G(caml_backtrace_active) - jne LBL(112) - movl 4(%esp), %eax - movl G(caml_exception_pointer), %esp - popl G(caml_exception_pointer); CFI_ADJUST(-4) - UNDO_ALIGN_STACK(8) - ret -LBL(112): - movl 4(%esp), %esi /* Save exception bucket in esi */ - ALIGN_STACK(12) - pushl G(caml_exception_pointer); CFI_ADJUST(4) /* 4: sp of handler */ - pushl G(caml_bottom_of_stack); CFI_ADJUST(4) /* 3: sp of raise */ - pushl G(caml_last_return_address); CFI_ADJUST(4)/* 2: pc of raise */ - pushl %esi; CFI_ADJUST(4) /* 1: exception bucket */ - call G(caml_stash_backtrace) - movl %esi, %eax /* Recover exception bucket */ - movl G(caml_exception_pointer), %esp - popl G(caml_exception_pointer); CFI_ADJUST(-4) - UNDO_ALIGN_STACK(8) - ret - CFI_ENDPROC - -/* Callback from C to OCaml */ - -FUNCTION(caml_callback_exn) - CFI_STARTPROC - PROFILE_C - /* Save callee-save registers */ - pushl %ebx; CFI_ADJUST(4) - pushl %esi; CFI_ADJUST(4) - pushl %edi; CFI_ADJUST(4) - pushl %ebp; CFI_ADJUST(4) - /* Initial loading of arguments */ - movl 20(%esp), %ebx /* closure */ - movl 24(%esp), %eax /* argument */ - movl 0(%ebx), %esi /* code pointer */ - jmp LBL(106) - CFI_ENDPROC - -FUNCTION(caml_callback2_exn) - CFI_STARTPROC - PROFILE_C - /* Save callee-save registers */ - pushl %ebx; CFI_ADJUST(4) - pushl %esi; CFI_ADJUST(4) - pushl %edi; CFI_ADJUST(4) - pushl %ebp; CFI_ADJUST(4) - /* Initial loading of arguments */ - movl 20(%esp), %ecx /* closure */ - movl 24(%esp), %eax /* first argument */ - movl 28(%esp), %ebx /* second argument */ - movl $ G(caml_apply2), %esi /* code pointer */ - jmp LBL(106) - CFI_ENDPROC - -FUNCTION(caml_callback3_exn) - CFI_STARTPROC - PROFILE_C - /* Save callee-save registers */ - pushl %ebx; CFI_ADJUST(4) - pushl %esi; CFI_ADJUST(4) - pushl %edi; CFI_ADJUST(4) - pushl %ebp; CFI_ADJUST(4) - /* Initial loading of arguments */ - movl 20(%esp), %edx /* closure */ - movl 24(%esp), %eax /* first argument */ - movl 28(%esp), %ebx /* second argument */ - movl 32(%esp), %ecx /* third argument */ - movl $ G(caml_apply3), %esi /* code pointer */ - jmp LBL(106) - CFI_ENDPROC - -FUNCTION(caml_ml_array_bound_error) - CFI_STARTPROC - /* Empty the floating-point stack */ - ffree %st(0) - ffree %st(1) - ffree %st(2) - ffree %st(3) - ffree %st(4) - ffree %st(5) - ffree %st(6) - ffree %st(7) - /* Record lowest stack address and return address */ - movl (%esp), %edx - movl %edx, G(caml_last_return_address) - leal 4(%esp), %edx - movl %edx, G(caml_bottom_of_stack) - /* Re-align the stack */ - andl $-16, %esp - /* Branch to [caml_array_bound_error] (never returns) */ - call G(caml_array_bound_error) - CFI_ENDPROC - - .globl G(caml_system__code_end) -G(caml_system__code_end): - - .data - .globl G(caml_system__frametable) -G(caml_system__frametable): - .long 1 /* one descriptor */ - .long LBL(107) /* return address into callback */ -#ifndef SYS_solaris - .word -1 /* negative frame size => use callback link */ - .word 0 /* no roots here */ -#else - .value -1 /* negative frame size => use callback link */ - .value 0 /* no roots here */ -#endif - - .globl G(caml_extra_params) -G(caml_extra_params): -#ifndef SYS_solaris - .space 64 -#else - .zero 64 -#endif - -#if defined(PROFILING) && defined(SYS_macosx) - .section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5 -Lmcount$stub: - .indirect_symbol mcount - hlt ; hlt ; hlt ; hlt ; hlt - .subsections_via_symbols -#endif - -#if defined(SYS_linux_elf) - /* Mark stack as non-executable, PR#4564 */ - .section .note.GNU-stack,"",%progbits -#endif diff --git a/vendor/ocaml/asmrun/i386nt.asm b/vendor/ocaml/asmrun/i386nt.asm deleted file mode 100644 index 61ec34162..000000000 --- a/vendor/ocaml/asmrun/i386nt.asm +++ /dev/null @@ -1,332 +0,0 @@ -;*********************************************************************** -;* * -;* OCaml * -;* * -;* Xavier Leroy, projet Cristal, INRIA Rocquencourt * -;* * -;* Copyright 1996 Institut National de Recherche en Informatique et * -;* en Automatique. All rights reserved. This file is distributed * -;* under the terms of the GNU Library General Public License, with * -;* the special exception on linking described in file ../LICENSE. * -;* * -;*********************************************************************** - -; Asm part of the runtime system, Intel 386 processor, Intel syntax - - .386 - .MODEL FLAT - - EXTERN _caml_garbage_collection: PROC - EXTERN _caml_apply2: PROC - EXTERN _caml_apply3: PROC - EXTERN _caml_program: PROC - EXTERN _caml_array_bound_error: PROC - EXTERN _caml_young_limit: DWORD - EXTERN _caml_young_ptr: DWORD - EXTERN _caml_bottom_of_stack: DWORD - EXTERN _caml_last_return_address: DWORD - EXTERN _caml_gc_regs: DWORD - EXTERN _caml_exception_pointer: DWORD - EXTERN _caml_backtrace_pos: DWORD - EXTERN _caml_backtrace_active: DWORD - EXTERN _caml_stash_backtrace: PROC - -; Allocation - - .CODE - PUBLIC _caml_alloc1 - PUBLIC _caml_alloc2 - PUBLIC _caml_alloc3 - PUBLIC _caml_allocN - PUBLIC _caml_call_gc - -_caml_call_gc: - ; Record lowest stack address and return address - mov eax, [esp] - mov _caml_last_return_address, eax - lea eax, [esp+4] - mov _caml_bottom_of_stack, eax - ; Save all regs used by the code generator -L105: push ebp - push edi - push esi - push edx - push ecx - push ebx - push eax - mov _caml_gc_regs, esp - ; Call the garbage collector - call _caml_garbage_collection - ; Restore all regs used by the code generator - pop eax - pop ebx - pop ecx - pop edx - pop esi - pop edi - pop ebp - ; Return to caller - ret - - ALIGN 4 -_caml_alloc1: - mov eax, _caml_young_ptr - sub eax, 8 - mov _caml_young_ptr, eax - cmp eax, _caml_young_limit - jb L100 - ret -L100: mov eax, [esp] - mov _caml_last_return_address, eax - lea eax, [esp+4] - mov _caml_bottom_of_stack, eax - call L105 - jmp _caml_alloc1 - - ALIGN 4 -_caml_alloc2: - mov eax, _caml_young_ptr - sub eax, 12 - mov _caml_young_ptr, eax - cmp eax, _caml_young_limit - jb L101 - ret -L101: mov eax, [esp] - mov _caml_last_return_address, eax - lea eax, [esp+4] - mov _caml_bottom_of_stack, eax - call L105 - jmp _caml_alloc2 - - ALIGN 4 -_caml_alloc3: - mov eax, _caml_young_ptr - sub eax, 16 - mov _caml_young_ptr, eax - cmp eax, _caml_young_limit - jb L102 - ret -L102: mov eax, [esp] - mov _caml_last_return_address, eax - lea eax, [esp+4] - mov _caml_bottom_of_stack, eax - call L105 - jmp _caml_alloc3 - - ALIGN 4 -_caml_allocN: - sub eax, _caml_young_ptr ; eax = size - young_ptr - neg eax ; eax = young_ptr - size - cmp eax, _caml_young_limit - jb L103 - mov _caml_young_ptr, eax - ret -L103: sub eax, _caml_young_ptr ; eax = - size - neg eax ; eax = size - push eax ; save desired size - sub _caml_young_ptr, eax ; must update young_ptr - mov eax, [esp+4] - mov _caml_last_return_address, eax - lea eax, [esp+8] - mov _caml_bottom_of_stack, eax - call L105 - pop eax ; recover desired size - jmp _caml_allocN - -; Call a C function from OCaml - - PUBLIC _caml_c_call - ALIGN 4 -_caml_c_call: - ; Record lowest stack address and return address - mov edx, [esp] - mov _caml_last_return_address, edx - lea edx, [esp+4] - mov _caml_bottom_of_stack, edx - ; Call the function (address in %eax) - jmp eax - -; Start the OCaml program - - PUBLIC _caml_start_program - ALIGN 4 -_caml_start_program: - ; Save callee-save registers - push ebx - push esi - push edi - push ebp - ; Initial code pointer is caml_program - mov esi, offset _caml_program - -; Code shared between caml_start_program and callback* - -L106: - ; Build a callback link - push _caml_gc_regs - push _caml_last_return_address - push _caml_bottom_of_stack - ; Build an exception handler - push L108 - push _caml_exception_pointer - mov _caml_exception_pointer, esp - ; Call the OCaml code - call esi -L107: - ; Pop the exception handler - pop _caml_exception_pointer - pop esi ; dummy register -L109: - ; Pop the callback link, restoring the global variables - ; used by caml_c_call - pop _caml_bottom_of_stack - pop _caml_last_return_address - pop _caml_gc_regs - ; Restore callee-save registers. - pop ebp - pop edi - pop esi - pop ebx - ; Return to caller. - ret -L108: - ; Exception handler - ; Mark the bucket as an exception result and return it - or eax, 2 - jmp L109 - -; Raise an exception for OCaml - - PUBLIC _caml_raise_exn - ALIGN 4 -_caml_raise_exn: - test _caml_backtrace_active, 1 - jne L110 - mov esp, _caml_exception_pointer - pop _caml_exception_pointer - ret -L110: - mov _caml_backtrace_pos, 0 -L111: - mov esi, eax ; Save exception bucket in esi - mov edi, _caml_exception_pointer ; SP of handler - mov eax, [esp] ; PC of raise - lea edx, [esp+4] - push edi ; arg 4: SP of handler - push edx ; arg 3: SP of raise - push eax ; arg 2: PC of raise - push esi ; arg 1: exception bucket - call _caml_stash_backtrace - mov eax, esi ; recover exception bucket - mov esp, edi ; cut the stack - pop _caml_exception_pointer - ret - - PUBLIC _caml_reraise_exn - ALIGN 4 -_caml_reraise_exn: - test _caml_backtrace_active, 1 - jne L111 - mov esp, _caml_exception_pointer - pop _caml_exception_pointer - ret - - ; Raise an exception from C - - PUBLIC _caml_raise_exception - ALIGN 4 -_caml_raise_exception: - test _caml_backtrace_active, 1 - jne L112 - mov eax, [esp+4] - mov esp, _caml_exception_pointer - pop _caml_exception_pointer - ret -L112: - mov esi, [esp+4] ; Save exception bucket in esi - push _caml_exception_pointer ; arg 4: SP of handler - push _caml_bottom_of_stack ; arg 3: SP of raise - push _caml_last_return_address ; arg 2: PC of raise - push esi ; arg 1: exception bucket - call _caml_stash_backtrace - mov eax, esi ; recover exception bucket - mov esp, _caml_exception_pointer ; cut the stack - pop _caml_exception_pointer - ret - -; Callback from C to OCaml - - PUBLIC _caml_callback_exn - ALIGN 4 -_caml_callback_exn: - ; Save callee-save registers - push ebx - push esi - push edi - push ebp - ; Initial loading of arguments - mov ebx, [esp+20] ; closure - mov eax, [esp+24] ; argument - mov esi, [ebx] ; code pointer - jmp L106 - - PUBLIC _caml_callback2_exn - ALIGN 4 -_caml_callback2_exn: - ; Save callee-save registers - push ebx - push esi - push edi - push ebp - ; Initial loading of arguments - mov ecx, [esp+20] ; closure - mov eax, [esp+24] ; first argument - mov ebx, [esp+28] ; second argument - mov esi, offset _caml_apply2 ; code pointer - jmp L106 - - PUBLIC _caml_callback3_exn - ALIGN 4 -_caml_callback3_exn: - ; Save callee-save registers - push ebx - push esi - push edi - push ebp - ; Initial loading of arguments - mov edx, [esp+20] ; closure - mov eax, [esp+24] ; first argument - mov ebx, [esp+28] ; second argument - mov ecx, [esp+32] ; third argument - mov esi, offset _caml_apply3 ; code pointer - jmp L106 - - PUBLIC _caml_ml_array_bound_error - ALIGN 4 -_caml_ml_array_bound_error: - ; Empty the floating-point stack - ffree st(0) - ffree st(1) - ffree st(2) - ffree st(3) - ffree st(4) - ffree st(5) - ffree st(6) - ffree st(7) - ; Branch to caml_array_bound_error - mov eax, offset _caml_array_bound_error - jmp _caml_c_call - - .DATA - PUBLIC _caml_system__frametable -_caml_system__frametable LABEL DWORD - DWORD 1 ; one descriptor - DWORD L107 ; return address into callback - WORD -1 ; negative frame size => use callback link - WORD 0 ; no roots here - - PUBLIC _caml_extra_params -_caml_extra_params LABEL DWORD - BYTE 64 DUP (?) - - END diff --git a/vendor/ocaml/asmrun/natdynlink.c b/vendor/ocaml/asmrun/natdynlink.c deleted file mode 100644 index 82e8795fc..000000000 --- a/vendor/ocaml/asmrun/natdynlink.c +++ /dev/null @@ -1,156 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Alain Frisch, projet Gallium, INRIA Rocquencourt */ -/* */ -/* Copyright 2007 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -#include "caml/misc.h" -#include "caml/mlvalues.h" -#include "caml/memory.h" -#include "stack.h" -#include "caml/callback.h" -#include "caml/alloc.h" -#include "caml/intext.h" -#include "caml/osdeps.h" -#include "caml/fail.h" -#include "caml/signals.h" - -#include -#include - -static void *getsym(void *handle, char *module, char *name){ - char *fullname = caml_strconcat(3, "caml", module, name); - void *sym; - sym = caml_dlsym (handle, fullname); - /* printf("%s => %lx\n", fullname, (uintnat) sym); */ - caml_stat_free(fullname); - return sym; -} - -extern char caml_globals_map[]; - -CAMLprim value caml_natdynlink_getmap(value unit) -{ - return (value)caml_globals_map; -} - -CAMLprim value caml_natdynlink_globals_inited(value unit) -{ - return Val_int(caml_globals_inited); -} - -CAMLprim value caml_natdynlink_open(value filename, value global) -{ - CAMLparam1 (filename); - CAMLlocal1 (res); - void *sym; - void *handle; - char *p; - - /* TODO: dlclose in case of error... */ - - p = caml_strdup(String_val(filename)); - caml_enter_blocking_section(); - handle = caml_dlopen(p, 1, Int_val(global)); - caml_leave_blocking_section(); - caml_stat_free(p); - - if (NULL == handle) - CAMLreturn(caml_copy_string(caml_dlerror())); - - sym = caml_dlsym(handle, "caml_plugin_header"); - if (NULL == sym) - CAMLreturn(caml_copy_string("not an OCaml plugin")); - - res = caml_alloc_tuple(2); - Field(res, 0) = (value) handle; - Field(res, 1) = (value) (sym); - CAMLreturn(res); -} - -CAMLprim value caml_natdynlink_run(void *handle, value symbol) { - CAMLparam1 (symbol); - CAMLlocal1 (result); - void *sym,*sym2; - struct code_fragment * cf; - -#define optsym(n) getsym(handle,unit,n) - char *unit; - void (*entrypoint)(void); - - unit = String_val(symbol); - - sym = optsym("__frametable"); - if (NULL != sym) caml_register_frametable(sym); - - sym = optsym(""); - if (NULL != sym) caml_register_dyn_global(sym); - - sym = optsym("__data_begin"); - sym2 = optsym("__data_end"); - if (NULL != sym && NULL != sym2) - caml_page_table_add(In_static_data, sym, sym2); - - sym = optsym("__code_begin"); - sym2 = optsym("__code_end"); - if (NULL != sym && NULL != sym2) { - caml_page_table_add(In_code_area, sym, sym2); - cf = caml_stat_alloc(sizeof(struct code_fragment)); - cf->code_start = (char *) sym; - cf->code_end = (char *) sym2; - cf->digest_computed = 0; - caml_ext_table_add(&caml_code_fragments_table, cf); - } - - entrypoint = optsym("__entry"); - if (NULL != entrypoint) result = caml_callback((value)(&entrypoint), 0); - else result = Val_unit; - -#undef optsym - - CAMLreturn (result); -} - -CAMLprim value caml_natdynlink_run_toplevel(value filename, value symbol) -{ - CAMLparam2 (filename, symbol); - CAMLlocal2 (res, v); - void *handle; - char *p; - - /* TODO: dlclose in case of error... */ - - p = caml_strdup(String_val(filename)); - caml_enter_blocking_section(); - handle = caml_dlopen(p, 1, 1); - caml_leave_blocking_section(); - caml_stat_free(p); - - if (NULL == handle) { - res = caml_alloc(1,1); - v = caml_copy_string(caml_dlerror()); - Store_field(res, 0, v); - } else { - res = caml_alloc(1,0); - v = caml_natdynlink_run(handle, symbol); - Store_field(res, 0, v); - } - CAMLreturn(res); -} - -CAMLprim value caml_natdynlink_loadsym(value symbol) -{ - CAMLparam1 (symbol); - CAMLlocal1 (sym); - - sym = (value) caml_globalsym(String_val(symbol)); - if (!sym) caml_failwith(String_val(symbol)); - CAMLreturn(sym); -} diff --git a/vendor/ocaml/asmrun/power-elf.S b/vendor/ocaml/asmrun/power-elf.S deleted file mode 100644 index facbfbf0e..000000000 --- a/vendor/ocaml/asmrun/power-elf.S +++ /dev/null @@ -1,480 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -#define Addrglobal(reg,glob) \ - addis reg, 0, glob@ha; \ - addi reg, reg, glob@l -#define Loadglobal(reg,glob,tmp) \ - addis tmp, 0, glob@ha; \ - lwz reg, glob@l(tmp) -#define Storeglobal(reg,glob,tmp) \ - addis tmp, 0, glob@ha; \ - stw reg, glob@l(tmp) - - .section ".text" - -/* Invoke the garbage collector. */ - - .globl caml_system__code_begin -caml_system__code_begin: - - .globl caml_call_gc - .type caml_call_gc, @function -caml_call_gc: - /* Set up stack frame */ - stwu 1, -0x1A0(1) - /* 0x1A0 = 4*32 (int regs) + 8*32 (float regs) + 32 (space for C call) */ - /* Record return address into OCaml code */ - mflr 0 - Storeglobal(0, caml_last_return_address, 11) - /* Record lowest stack address */ - addi 0, 1, 0x1A0 - Storeglobal(0, caml_bottom_of_stack, 11) - /* Record pointer to register array */ - addi 0, 1, 8*32 + 32 - Storeglobal(0, caml_gc_regs, 11) - /* Save current allocation pointer for debugging purposes */ - Storeglobal(31, caml_young_ptr, 11) - /* Save exception pointer (if e.g. a sighandler raises) */ - Storeglobal(29, caml_exception_pointer, 11) - /* Save all registers used by the code generator */ - addi 11, 1, 8*32 + 32 - 4 - stwu 3, 4(11) - stwu 4, 4(11) - stwu 5, 4(11) - stwu 6, 4(11) - stwu 7, 4(11) - stwu 8, 4(11) - stwu 9, 4(11) - stwu 10, 4(11) - stwu 14, 4(11) - stwu 15, 4(11) - stwu 16, 4(11) - stwu 17, 4(11) - stwu 18, 4(11) - stwu 19, 4(11) - stwu 20, 4(11) - stwu 21, 4(11) - stwu 22, 4(11) - stwu 23, 4(11) - stwu 24, 4(11) - stwu 25, 4(11) - stwu 26, 4(11) - stwu 27, 4(11) - stwu 28, 4(11) - addi 11, 1, 32 - 8 - stfdu 1, 8(11) - stfdu 2, 8(11) - stfdu 3, 8(11) - stfdu 4, 8(11) - stfdu 5, 8(11) - stfdu 6, 8(11) - stfdu 7, 8(11) - stfdu 8, 8(11) - stfdu 9, 8(11) - stfdu 10, 8(11) - stfdu 11, 8(11) - stfdu 12, 8(11) - stfdu 13, 8(11) - stfdu 14, 8(11) - stfdu 15, 8(11) - stfdu 16, 8(11) - stfdu 17, 8(11) - stfdu 18, 8(11) - stfdu 19, 8(11) - stfdu 20, 8(11) - stfdu 21, 8(11) - stfdu 22, 8(11) - stfdu 23, 8(11) - stfdu 24, 8(11) - stfdu 25, 8(11) - stfdu 26, 8(11) - stfdu 27, 8(11) - stfdu 28, 8(11) - stfdu 29, 8(11) - stfdu 30, 8(11) - stfdu 31, 8(11) - /* Call the GC */ - bl caml_garbage_collection - /* Reload new allocation pointer and allocation limit */ - Loadglobal(31, caml_young_ptr, 11) - Loadglobal(30, caml_young_limit, 11) - /* Restore all regs used by the code generator */ - addi 11, 1, 8*32 + 32 - 4 - lwzu 3, 4(11) - lwzu 4, 4(11) - lwzu 5, 4(11) - lwzu 6, 4(11) - lwzu 7, 4(11) - lwzu 8, 4(11) - lwzu 9, 4(11) - lwzu 10, 4(11) - lwzu 14, 4(11) - lwzu 15, 4(11) - lwzu 16, 4(11) - lwzu 17, 4(11) - lwzu 18, 4(11) - lwzu 19, 4(11) - lwzu 20, 4(11) - lwzu 21, 4(11) - lwzu 22, 4(11) - lwzu 23, 4(11) - lwzu 24, 4(11) - lwzu 25, 4(11) - lwzu 26, 4(11) - lwzu 27, 4(11) - lwzu 28, 4(11) - addi 11, 1, 32 - 8 - lfdu 1, 8(11) - lfdu 2, 8(11) - lfdu 3, 8(11) - lfdu 4, 8(11) - lfdu 5, 8(11) - lfdu 6, 8(11) - lfdu 7, 8(11) - lfdu 8, 8(11) - lfdu 9, 8(11) - lfdu 10, 8(11) - lfdu 11, 8(11) - lfdu 12, 8(11) - lfdu 13, 8(11) - lfdu 14, 8(11) - lfdu 15, 8(11) - lfdu 16, 8(11) - lfdu 17, 8(11) - lfdu 18, 8(11) - lfdu 19, 8(11) - lfdu 20, 8(11) - lfdu 21, 8(11) - lfdu 22, 8(11) - lfdu 23, 8(11) - lfdu 24, 8(11) - lfdu 25, 8(11) - lfdu 26, 8(11) - lfdu 27, 8(11) - lfdu 28, 8(11) - lfdu 29, 8(11) - lfdu 30, 8(11) - lfdu 31, 8(11) - /* Return to caller, restarting the allocation */ - Loadglobal(0, caml_last_return_address, 11) - addic 0, 0, -16 /* Restart the allocation (4 instructions) */ - mtlr 0 - /* Say we are back into OCaml code */ - li 12, 0 - Storeglobal(12, caml_last_return_address, 11) - /* Deallocate stack frame */ - addi 1, 1, 0x1A0 - /* Return */ - blr - -/* Call a C function from OCaml */ - - .globl caml_c_call - .type caml_c_call, @function -caml_c_call: - /* Save return address */ - mflr 25 - /* Get ready to call C function (address in 11) */ - mtctr 11 - /* Record lowest stack address and return address */ - Storeglobal(1, caml_bottom_of_stack, 12) - Storeglobal(25, caml_last_return_address, 12) - /* Make the exception handler and alloc ptr available to the C code */ - Storeglobal(31, caml_young_ptr, 11) - Storeglobal(29, caml_exception_pointer, 11) - /* Call the function (address in CTR register) */ - bctrl - /* Restore return address (in 25, preserved by the C function) */ - mtlr 25 - /* Reload allocation pointer and allocation limit*/ - Loadglobal(31, caml_young_ptr, 11) - Loadglobal(30, caml_young_limit, 11) - /* Return to caller */ - blr - -/* Raise an exception from OCaml */ - .globl caml_raise_exn - .type caml_raise_exn, @function -caml_raise_exn: - Loadglobal(0, caml_backtrace_active, 11) - cmpwi 0, 0 - bne .L111 -.L110: - /* Pop trap frame */ - lwz 0, 0(29) - mr 1, 29 - mtctr 0 - lwz 29, 4(29) - addi 1, 1, 16 - /* Branch to handler */ - bctr -.L111: - li 0, 0 - Storeglobal(0, caml_backtrace_pos, 11) -.L112: - mr 28, 3 /* preserve exn bucket in callee-save reg */ - /* arg1: exception bucket, already in r3 */ - mflr 4 /* arg2: PC of raise */ - mr 5, 1 /* arg3: SP of raise */ - mr 6, 29 /* arg4: SP of handler */ - addi 1, 1, -16 /* reserve stack space for C call */ - bl caml_stash_backtrace - mr 3, 28 /* restore exn bucket */ - b .L110 /* raise the exn */ - - .globl caml_reraise_exn - .type caml_reraise_exn, @function -caml_reraise_exn: - Loadglobal(0, caml_backtrace_active, 11) - cmpwi 0, 0 - bne- .L112 - /* Pop trap frame */ - lwz 0, 0(29) - mr 1, 29 - mtctr 0 - lwz 29, 4(29) - addi 1, 1, 16 - /* Branch to handler */ - bctr - -/* Raise an exception from C */ - - .globl caml_raise_exception - .type caml_raise_exception, @function -caml_raise_exception: - Loadglobal(0, caml_backtrace_active, 11) - cmpwi 0, 0 - bne .L121 -.L120: - /* Reload OCaml global registers */ - Loadglobal(1, caml_exception_pointer, 11) - Loadglobal(31, caml_young_ptr, 11) - Loadglobal(30, caml_young_limit, 11) - /* Pop trap frame */ - lwz 0, 0(1) - lwz 29, 4(1) - mtctr 0 - addi 1, 1, 16 - /* Branch to handler */ - bctr -.L121: - li 0, 0 - Storeglobal(0, caml_backtrace_pos, 11) - mr 28, 3 /* preserve exn bucket in callee-save reg */ - /* arg1: exception bucket, already in r3 */ - Loadglobal(4, caml_last_return_address, 11) /* arg2: PC of raise */ - Loadglobal(5, caml_bottom_of_stack, 11) /* arg3: SP of raise */ - Loadglobal(6, caml_exception_pointer, 11) /* arg4: SP of handler */ - addi 1, 1, -16 /* reserve stack space for C call */ - bl caml_stash_backtrace - mr 3, 28 /* restore exn bucket */ - b .L120 /* raise the exn */ - - -/* Start the OCaml program */ - - .globl caml_start_program - .type caml_start_program, @function -caml_start_program: - Addrglobal(12, caml_program) - -/* Code shared between caml_start_program and caml_callback */ -.L102: - /* Allocate and link stack frame */ - stwu 1, -256(1) - /* Save return address */ - mflr 0 - stw 0, 256+4(1) - /* Save all callee-save registers */ - /* GPR 14 at sp+16 ... GPR 31 at sp+84 - FPR 14 at sp+92 ... FPR 31 at sp+228 */ - addi 11, 1, 16-4 - stwu 14, 4(11) - stwu 15, 4(11) - stwu 16, 4(11) - stwu 17, 4(11) - stwu 18, 4(11) - stwu 19, 4(11) - stwu 20, 4(11) - stwu 21, 4(11) - stwu 22, 4(11) - stwu 23, 4(11) - stwu 24, 4(11) - stwu 25, 4(11) - stwu 26, 4(11) - stwu 27, 4(11) - stwu 28, 4(11) - stwu 29, 4(11) - stwu 30, 4(11) - stwu 31, 4(11) - stfdu 14, 8(11) - stfdu 15, 8(11) - stfdu 16, 8(11) - stfdu 17, 8(11) - stfdu 18, 8(11) - stfdu 19, 8(11) - stfdu 20, 8(11) - stfdu 21, 8(11) - stfdu 22, 8(11) - stfdu 23, 8(11) - stfdu 24, 8(11) - stfdu 25, 8(11) - stfdu 26, 8(11) - stfdu 27, 8(11) - stfdu 28, 8(11) - stfdu 29, 8(11) - stfdu 30, 8(11) - stfdu 31, 8(11) - /* Set up a callback link */ - addi 1, 1, -16 - Loadglobal(9, caml_bottom_of_stack, 11) - Loadglobal(10, caml_last_return_address, 11) - Loadglobal(11, caml_gc_regs, 11) - stw 9, 0(1) - stw 10, 4(1) - stw 11, 8(1) - /* Build an exception handler to catch exceptions escaping out of OCaml */ - bl .L103 - b .L104 -.L103: - addi 1, 1, -16 - mflr 0 - stw 0, 0(1) - Loadglobal(11, caml_exception_pointer, 11) - stw 11, 4(1) - mr 29, 1 - /* Reload allocation pointers */ - Loadglobal(31, caml_young_ptr, 11) - Loadglobal(30, caml_young_limit, 11) - /* Say we are back into OCaml code */ - li 0, 0 - Storeglobal(0, caml_last_return_address, 11) - /* Call the OCaml code */ - mtlr 12 -.L105: - blrl - /* Pop the trap frame, restoring caml_exception_pointer */ - lwz 9, 4(1) - Storeglobal(9, caml_exception_pointer, 11) - addi 1, 1, 16 - /* Pop the callback link, restoring the global variables */ -.L106: - lwz 9, 0(1) - lwz 10, 4(1) - lwz 11, 8(1) - Storeglobal(9, caml_bottom_of_stack, 12) - Storeglobal(10, caml_last_return_address, 12) - Storeglobal(11, caml_gc_regs, 12) - addi 1, 1, 16 - /* Update allocation pointer */ - Storeglobal(31, caml_young_ptr, 11) - /* Restore callee-save registers */ - addi 11, 1, 16-4 - lwzu 14, 4(11) - lwzu 15, 4(11) - lwzu 16, 4(11) - lwzu 17, 4(11) - lwzu 18, 4(11) - lwzu 19, 4(11) - lwzu 20, 4(11) - lwzu 21, 4(11) - lwzu 22, 4(11) - lwzu 23, 4(11) - lwzu 24, 4(11) - lwzu 25, 4(11) - lwzu 26, 4(11) - lwzu 27, 4(11) - lwzu 28, 4(11) - lwzu 29, 4(11) - lwzu 30, 4(11) - lwzu 31, 4(11) - lfdu 14, 8(11) - lfdu 15, 8(11) - lfdu 16, 8(11) - lfdu 17, 8(11) - lfdu 18, 8(11) - lfdu 19, 8(11) - lfdu 20, 8(11) - lfdu 21, 8(11) - lfdu 22, 8(11) - lfdu 23, 8(11) - lfdu 24, 8(11) - lfdu 25, 8(11) - lfdu 26, 8(11) - lfdu 27, 8(11) - lfdu 28, 8(11) - lfdu 29, 8(11) - lfdu 30, 8(11) - lfdu 31, 8(11) - /* Reload return address */ - lwz 0, 256+4(1) - mtlr 0 - /* Return */ - addi 1, 1, 256 - blr - - /* The trap handler: */ -.L104: - /* Update caml_exception_pointer */ - Storeglobal(29, caml_exception_pointer, 11) - /* Encode exception bucket as an exception result and return it */ - ori 3, 3, 2 - b .L106 - -/* Callback from C to OCaml */ - - .globl caml_callback_exn - .type caml_callback_exn, @function -caml_callback_exn: - /* Initial shuffling of arguments */ - mr 0, 3 /* Closure */ - mr 3, 4 /* Argument */ - mr 4, 0 - lwz 12, 0(4) /* Code pointer */ - b .L102 - - .globl caml_callback2_exn - .type caml_callback2_exn, @function -caml_callback2_exn: - mr 0, 3 /* Closure */ - mr 3, 4 /* First argument */ - mr 4, 5 /* Second argument */ - mr 5, 0 - Addrglobal(12, caml_apply2) - b .L102 - - .globl caml_callback3_exn - .type caml_callback3_exn, @function -caml_callback3_exn: - mr 0, 3 /* Closure */ - mr 3, 4 /* First argument */ - mr 4, 5 /* Second argument */ - mr 5, 6 /* Third argument */ - mr 6, 0 - Addrglobal(12, caml_apply3) - b .L102 - - .globl caml_system__code_end -caml_system__code_end: - -/* Frame table */ - - .section ".data" - .globl caml_system__frametable - .type caml_system__frametable, @object -caml_system__frametable: - .long 1 /* one descriptor */ - .long .L105 + 4 /* return address into callback */ - .short -1 /* negative size count => use callback link */ - .short 0 /* no roots here */ diff --git a/vendor/ocaml/asmrun/power-rhapsody.S b/vendor/ocaml/asmrun/power-rhapsody.S deleted file mode 100644 index 6fcb43cc2..000000000 --- a/vendor/ocaml/asmrun/power-rhapsody.S +++ /dev/null @@ -1,510 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -#ifdef __ppc64__ -#define X(a,b) b -#else -#define X(a,b) a -#endif - -#define WORD X(4,8) -#define lg X(lwz,ld) -#define lgu X(lwzu,ldu) -#define stg X(stw,std) -#define stgu X(stwu,stdu) -#define gdata X(.long,.quad) - -.macro Addrglobal /* reg, glob */ - addis $0, 0, ha16($1) - addi $0, $0, lo16($1) -.endmacro -.macro Loadglobal /* reg,glob,tmp */ - addis $2, 0, ha16($1) - lg $0, lo16($1)($2) -.endmacro -.macro Storeglobal /* reg,glob,tmp */ - addis $2, 0, ha16($1) - stg $0, lo16($1)($2) -.endmacro -.macro Loadglobal32 /* reg,glob,tmp */ - addis $2, 0, ha16($1) - lwz $0, lo16($1)($2) -.endmacro -.macro Storeglobal32 /* reg,glob,tmp */ - addis $2, 0, ha16($1) - stw $0, lo16($1)($2) -.endmacro - - .text - - .globl _caml_system__code_begin -_caml_system__code_begin: - -/* Invoke the garbage collector. */ - - .globl _caml_call_gc -_caml_call_gc: - /* Set up stack frame */ -#define FRAMESIZE (32*WORD + 32*8 + 32) - stwu r1, -FRAMESIZE(r1) - /* Record return address into OCaml code */ - mflr r0 - Storeglobal r0, _caml_last_return_address, r11 - /* Record lowest stack address */ - addi r0, r1, FRAMESIZE - Storeglobal r0, _caml_bottom_of_stack, r11 - /* Touch the stack to trigger a recoverable segfault - if insufficient space remains */ - addi r1, r1, -4096*WORD - stg r0, 0(r1) - addi r1, r1, 4096*WORD - /* Record pointer to register array */ - addi r0, r1, 8*32 + 32 - Storeglobal r0, _caml_gc_regs, r11 - /* Save current allocation pointer for debugging purposes */ - Storeglobal r31, _caml_young_ptr, r11 - /* Save exception pointer (if e.g. a sighandler raises) */ - Storeglobal r29, _caml_exception_pointer, r11 - /* Save all registers used by the code generator */ - addi r11, r1, 8*32 + 32 - WORD - stgu r3, WORD(r11) - stgu r4, WORD(r11) - stgu r5, WORD(r11) - stgu r6, WORD(r11) - stgu r7, WORD(r11) - stgu r8, WORD(r11) - stgu r9, WORD(r11) - stgu r10, WORD(r11) - stgu r14, WORD(r11) - stgu r15, WORD(r11) - stgu r16, WORD(r11) - stgu r17, WORD(r11) - stgu r18, WORD(r11) - stgu r19, WORD(r11) - stgu r20, WORD(r11) - stgu r21, WORD(r11) - stgu r22, WORD(r11) - stgu r23, WORD(r11) - stgu r24, WORD(r11) - stgu r25, WORD(r11) - stgu r26, WORD(r11) - stgu r27, WORD(r11) - stgu r28, WORD(r11) - addi r11, r1, 32 - 8 - stfdu f1, 8(r11) - stfdu f2, 8(r11) - stfdu f3, 8(r11) - stfdu f4, 8(r11) - stfdu f5, 8(r11) - stfdu f6, 8(r11) - stfdu f7, 8(r11) - stfdu f8, 8(r11) - stfdu f9, 8(r11) - stfdu f10, 8(r11) - stfdu f11, 8(r11) - stfdu f12, 8(r11) - stfdu f13, 8(r11) - stfdu f14, 8(r11) - stfdu f15, 8(r11) - stfdu f16, 8(r11) - stfdu f17, 8(r11) - stfdu f18, 8(r11) - stfdu f19, 8(r11) - stfdu f20, 8(r11) - stfdu f21, 8(r11) - stfdu f22, 8(r11) - stfdu f23, 8(r11) - stfdu f24, 8(r11) - stfdu f25, 8(r11) - stfdu f26, 8(r11) - stfdu f27, 8(r11) - stfdu f28, 8(r11) - stfdu f29, 8(r11) - stfdu f30, 8(r11) - stfdu f31, 8(r11) - /* Call the GC */ - bl _caml_garbage_collection - /* Reload new allocation pointer and allocation limit */ - Loadglobal r31, _caml_young_ptr, r11 - Loadglobal r30, _caml_young_limit, r11 - /* Restore all regs used by the code generator */ - addi r11, r1, 8*32 + 32 - WORD - lgu r3, WORD(r11) - lgu r4, WORD(r11) - lgu r5, WORD(r11) - lgu r6, WORD(r11) - lgu r7, WORD(r11) - lgu r8, WORD(r11) - lgu r9, WORD(r11) - lgu r10, WORD(r11) - lgu r14, WORD(r11) - lgu r15, WORD(r11) - lgu r16, WORD(r11) - lgu r17, WORD(r11) - lgu r18, WORD(r11) - lgu r19, WORD(r11) - lgu r20, WORD(r11) - lgu r21, WORD(r11) - lgu r22, WORD(r11) - lgu r23, WORD(r11) - lgu r24, WORD(r11) - lgu r25, WORD(r11) - lgu r26, WORD(r11) - lgu r27, WORD(r11) - lgu r28, WORD(r11) - addi r11, r1, 32 - 8 - lfdu f1, 8(r11) - lfdu f2, 8(r11) - lfdu f3, 8(r11) - lfdu f4, 8(r11) - lfdu f5, 8(r11) - lfdu f6, 8(r11) - lfdu f7, 8(r11) - lfdu f8, 8(r11) - lfdu f9, 8(r11) - lfdu f10, 8(r11) - lfdu f11, 8(r11) - lfdu f12, 8(r11) - lfdu f13, 8(r11) - lfdu f14, 8(r11) - lfdu f15, 8(r11) - lfdu f16, 8(r11) - lfdu f17, 8(r11) - lfdu f18, 8(r11) - lfdu f19, 8(r11) - lfdu f20, 8(r11) - lfdu f21, 8(r11) - lfdu f22, 8(r11) - lfdu f23, 8(r11) - lfdu f24, 8(r11) - lfdu f25, 8(r11) - lfdu f26, 8(r11) - lfdu f27, 8(r11) - lfdu f28, 8(r11) - lfdu f29, 8(r11) - lfdu f30, 8(r11) - lfdu f31, 8(r11) - /* Return to caller, restarting the allocation */ - Loadglobal r0, _caml_last_return_address, r11 - addic r0, r0, -16 /* Restart the allocation (4 instructions) */ - mtlr r0 - /* Say we are back into OCaml code */ - li r12, 0 - Storeglobal r12, _caml_last_return_address, r11 - /* Deallocate stack frame */ - addi r1, r1, FRAMESIZE - /* Return */ - blr -#undef FRAMESIZE - -/* Call a C function from OCaml */ - - .globl _caml_c_call -_caml_c_call: - /* Save return address */ - mflr r25 - /* Get ready to call C function (address in 11) */ - mtctr r11 - /* Record lowest stack address and return address */ - Storeglobal r1, _caml_bottom_of_stack, r12 - Storeglobal r25, _caml_last_return_address, r12 - /* Touch the stack to trigger a recoverable segfault - if insufficient space remains */ - addi r1, r1, -4096*WORD - stg r0, 0(r1) - addi r1, r1, 4096*WORD - /* Make the exception handler and alloc ptr available to the C code */ - Storeglobal r31, _caml_young_ptr, r11 - Storeglobal r29, _caml_exception_pointer, r11 - /* Call the function (address in link register) */ - bctrl - /* Restore return address (in 25, preserved by the C function) */ - mtlr r25 - /* Reload allocation pointer and allocation limit*/ - Loadglobal r31, _caml_young_ptr, r11 - Loadglobal r30, _caml_young_limit, r11 - /* Say we are back into OCaml code */ - li r12, 0 - Storeglobal r12, _caml_last_return_address, r11 - /* Return to caller */ - blr - -/* Raise an exception from OCaml */ - .globl _caml_raise_exn -_caml_raise_exn: - Loadglobal32 r11, _caml_backtrace_active, r11 - cmpwi r11, 0 - bne L110 -L111: - /* Pop trap frame */ - lg r0, 0(r29) - mr r1, r29 - mtctr r0 - lg r29, WORD(r1) - addi r1, r1, 16 - /* Branch to handler */ - bctr -L110: - li r0, 0 - Storeglobal32 r0, _caml_backtrace_pos, r11 -L114: - mr r28, r3 /* preserve exn bucket in callee-save */ - /* arg 1: exception bucket (already in r3) */ - mflr r4 /* arg 2: PC of raise */ - mr r5, r1 /* arg 3: SP of raise */ - mr r6, r29 /* arg 4: SP of handler */ - addi r1, r1, -(16*WORD) /* reserve stack space for C call */ - bl _caml_stash_backtrace - mr r3, r28 - b L111 - - .globl _caml_reraise_exn -_caml_reraise_exn: - Loadglobal32 r11, _caml_backtrace_active, r11 - cmpwi r11, 0 - bne- L114 - /* Pop trap frame */ - lg r0, 0(r29) - mr r1, r29 - mtctr r0 - lg r29, WORD(r1) - addi r1, r1, 16 - /* Branch to handler */ - bctr - - /* Raise an exception from C */ - - .globl _caml_raise_exception -_caml_raise_exception: - Loadglobal32 r11, _caml_backtrace_active, r11 - cmpwi r11, 0 - bne L112 -L113: - /* Reload OCaml global registers */ - Loadglobal r1, _caml_exception_pointer, r11 - Loadglobal r31, _caml_young_ptr, r11 - Loadglobal r30, _caml_young_limit, r11 - /* Say we are back into OCaml code */ - li r0, 0 - Storeglobal r0, _caml_last_return_address, r11 - /* Pop trap frame */ - lg r0, 0(r1) - lg r29, WORD(r1) - mtctr r0 - addi r1, r1, 16 - /* Branch to handler */ - bctr -L112: - mr r28, r3 /* preserve exn bucket in callee-save */ - /* arg 1: exception bucket (already in r3) */ - Loadglobal r4, _caml_last_return_address, r11 /* arg 2: PC of raise */ - Loadglobal r5, _caml_bottom_of_stack, r11 /* arg 3: SP of raise */ - Loadglobal r6, _caml_exception_pointer, r11 /* arg 4: SP of handler */ - addi r1, r1, -(16*WORD) /* reserve stack space for C call */ - bl _caml_stash_backtrace - mr r3, r28 - b L113 - -/* Start the OCaml program */ - - .globl _caml_start_program -_caml_start_program: - Addrglobal r12, _caml_program - -/* Code shared between caml_start_program and caml_callback */ -L102: - /* Allocate and link stack frame */ -#define FRAMESIZE (16 + 20*WORD + 18*8) - stgu r1, -FRAMESIZE(r1) - /* Save return address */ - mflr r0 - stg r0, WORD(r1) - /* Save all callee-save registers */ - /* GPR14 ... GPR31, then FPR14 ... FPR31 starting at sp+16 */ - addi r11, r1, 16-WORD - stgu r14, WORD(r11) - stgu r15, WORD(r11) - stgu r16, WORD(r11) - stgu r17, WORD(r11) - stgu r18, WORD(r11) - stgu r19, WORD(r11) - stgu r20, WORD(r11) - stgu r21, WORD(r11) - stgu r22, WORD(r11) - stgu r23, WORD(r11) - stgu r24, WORD(r11) - stgu r25, WORD(r11) - stgu r26, WORD(r11) - stgu r27, WORD(r11) - stgu r28, WORD(r11) - stgu r29, WORD(r11) - stgu r30, WORD(r11) - stgu r31, WORD(r11) - stfdu f14, 8(r11) - stfdu f15, 8(r11) - stfdu f16, 8(r11) - stfdu f17, 8(r11) - stfdu f18, 8(r11) - stfdu f19, 8(r11) - stfdu f20, 8(r11) - stfdu f21, 8(r11) - stfdu f22, 8(r11) - stfdu f23, 8(r11) - stfdu f24, 8(r11) - stfdu f25, 8(r11) - stfdu f26, 8(r11) - stfdu f27, 8(r11) - stfdu f28, 8(r11) - stfdu f29, 8(r11) - stfdu f30, 8(r11) - stfdu f31, 8(r11) - /* Set up a callback link */ - addi r1, r1, -32 - Loadglobal r9, _caml_bottom_of_stack, r11 - Loadglobal r10, _caml_last_return_address, r11 - Loadglobal r11, _caml_gc_regs, r11 - stg r9, 0(r1) - stg r10, WORD(r1) - stg r11, 2*WORD(r1) - /* Build an exception handler to catch exceptions escaping out of OCaml */ - bl L103 - b L104 -L103: - addi r1, r1, -16 - mflr r0 - stg r0, 0(r1) - Loadglobal r11, _caml_exception_pointer, r11 - stg r11, WORD(r1) - mr r29, r1 - /* Reload allocation pointers */ - Loadglobal r31, _caml_young_ptr, r11 - Loadglobal r30, _caml_young_limit, r11 - /* Say we are back into OCaml code */ - li r0, 0 - Storeglobal r0, _caml_last_return_address, r11 - /* Call the OCaml code */ - mtctr r12 -L105: - bctrl - /* Pop the trap frame, restoring caml_exception_pointer */ - lg r9, WORD(r1) - Storeglobal r9, _caml_exception_pointer, r11 - addi r1, r1, 16 - /* Pop the callback link, restoring the global variables */ -L106: - lg r9, 0(r1) - lg r10, WORD(r1) - lg r11, 2*WORD(r1) - Storeglobal r9, _caml_bottom_of_stack, r12 - Storeglobal r10, _caml_last_return_address, r12 - Storeglobal r11, _caml_gc_regs, r12 - addi r1, r1, 32 - /* Update allocation pointer */ - Storeglobal r31, _caml_young_ptr, r11 - /* Restore callee-save registers */ - addi r11, r1, 16-WORD - lgu r14, WORD(r11) - lgu r15, WORD(r11) - lgu r16, WORD(r11) - lgu r17, WORD(r11) - lgu r18, WORD(r11) - lgu r19, WORD(r11) - lgu r20, WORD(r11) - lgu r21, WORD(r11) - lgu r22, WORD(r11) - lgu r23, WORD(r11) - lgu r24, WORD(r11) - lgu r25, WORD(r11) - lgu r26, WORD(r11) - lgu r27, WORD(r11) - lgu r28, WORD(r11) - lgu r29, WORD(r11) - lgu r30, WORD(r11) - lgu r31, WORD(r11) - lfdu f14, 8(r11) - lfdu f15, 8(r11) - lfdu f16, 8(r11) - lfdu f17, 8(r11) - lfdu f18, 8(r11) - lfdu f19, 8(r11) - lfdu f20, 8(r11) - lfdu f21, 8(r11) - lfdu f22, 8(r11) - lfdu f23, 8(r11) - lfdu f24, 8(r11) - lfdu f25, 8(r11) - lfdu f26, 8(r11) - lfdu f27, 8(r11) - lfdu f28, 8(r11) - lfdu f29, 8(r11) - lfdu f30, 8(r11) - lfdu f31, 8(r11) - /* Reload return address */ - lg r0, WORD(r1) - mtlr r0 - /* Return */ - addi r1, r1, FRAMESIZE - blr - - /* The trap handler: */ -L104: - /* Update caml_exception_pointer */ - Storeglobal r29, _caml_exception_pointer, r11 - /* Encode exception bucket as an exception result and return it */ - ori r3, r3, 2 - b L106 -#undef FRAMESIZE - -/* Callback from C to OCaml */ - - .globl _caml_callback_exn -_caml_callback_exn: - /* Initial shuffling of arguments */ - mr r0, r3 /* Closure */ - mr r3, r4 /* Argument */ - mr r4, r0 - lg r12, 0(r4) /* Code pointer */ - b L102 - - .globl _caml_callback2_exn -_caml_callback2_exn: - mr r0, r3 /* Closure */ - mr r3, r4 /* First argument */ - mr r4, r5 /* Second argument */ - mr r5, r0 - Addrglobal r12, _caml_apply2 - b L102 - - .globl _caml_callback3_exn -_caml_callback3_exn: - mr r0, r3 /* Closure */ - mr r3, r4 /* First argument */ - mr r4, r5 /* Second argument */ - mr r5, r6 /* Third argument */ - mr r6, r0 - Addrglobal r12, _caml_apply3 - b L102 - - .globl _caml_system__code_end -_caml_system__code_end: - -/* Frame table */ - - .const - .globl _caml_system__frametable -_caml_system__frametable: - gdata 1 /* one descriptor */ - gdata L105 + 4 /* return address into callback */ - .short -1 /* negative size count => use callback link */ - .short 0 /* no roots here */ - .align X(2,3) diff --git a/vendor/ocaml/asmrun/roots.c b/vendor/ocaml/asmrun/roots.c deleted file mode 100644 index 32325e2ef..000000000 --- a/vendor/ocaml/asmrun/roots.c +++ /dev/null @@ -1,369 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* To walk the memory roots for garbage collection */ - -#include "caml/finalise.h" -#include "caml/globroots.h" -#include "caml/memory.h" -#include "caml/major_gc.h" -#include "caml/minor_gc.h" -#include "caml/misc.h" -#include "caml/mlvalues.h" -#include "stack.h" -#include "caml/roots.h" -#include -#include - -/* Roots registered from C functions */ - -struct caml__roots_block *caml_local_roots = NULL; - -void (*caml_scan_roots_hook) (scanning_action) = NULL; - -/* The hashtable of frame descriptors */ - -frame_descr ** caml_frame_descriptors = NULL; -int caml_frame_descriptors_mask; - -/* Linked-list */ - -typedef struct link { - void *data; - struct link *next; -} link; - -static link *cons(void *data, link *tl) { - link *lnk = caml_stat_alloc(sizeof(link)); - lnk->data = data; - lnk->next = tl; - return lnk; -} - -#define iter_list(list,lnk) \ - for (lnk = list; lnk != NULL; lnk = lnk->next) - -/* Linked-list of frametables */ - -static link *frametables = NULL; - -void caml_register_frametable(intnat *table) { - frametables = cons(table,frametables); - - if (NULL != caml_frame_descriptors) { - caml_stat_free(caml_frame_descriptors); - caml_frame_descriptors = NULL; - /* force caml_init_frame_descriptors to be called */ - } -} - -void caml_init_frame_descriptors(void) -{ - intnat num_descr, tblsize, i, j, len; - intnat * tbl; - frame_descr * d; - uintnat nextd; - uintnat h; - link *lnk; - - static int inited = 0; - - if (!inited) { - for (i = 0; caml_frametable[i] != 0; i++) - caml_register_frametable(caml_frametable[i]); - inited = 1; - } - - /* Count the frame descriptors */ - num_descr = 0; - iter_list(frametables,lnk) { - num_descr += *((intnat*) lnk->data); - } - - /* The size of the hashtable is a power of 2 greater or equal to - 2 times the number of descriptors */ - tblsize = 4; - while (tblsize < 2 * num_descr) tblsize *= 2; - - /* Allocate the hash table */ - caml_frame_descriptors = - (frame_descr **) caml_stat_alloc(tblsize * sizeof(frame_descr *)); - for (i = 0; i < tblsize; i++) caml_frame_descriptors[i] = NULL; - caml_frame_descriptors_mask = tblsize - 1; - - /* Fill the hash table */ - iter_list(frametables,lnk) { - tbl = (intnat*) lnk->data; - len = *tbl; - d = (frame_descr *)(tbl + 1); - for (j = 0; j < len; j++) { - h = Hash_retaddr(d->retaddr); - while (caml_frame_descriptors[h] != NULL) { - h = (h+1) & caml_frame_descriptors_mask; - } - caml_frame_descriptors[h] = d; - nextd = - ((uintnat)d + - sizeof(char *) + sizeof(short) + sizeof(short) + - sizeof(short) * d->num_live + sizeof(frame_descr *) - 1) - & -sizeof(frame_descr *); - if (d->frame_size & 1) nextd += 8; - d = (frame_descr *) nextd; - } - } -} - -/* Communication with [caml_start_program] and [caml_call_gc]. */ - -char * caml_top_of_stack; -char * caml_bottom_of_stack = NULL; /* no stack initially */ -uintnat caml_last_return_address = 1; /* not in OCaml code initially */ -value * caml_gc_regs; -intnat caml_globals_inited = 0; -static intnat caml_globals_scanned = 0; -static link * caml_dyn_globals = NULL; - -void caml_register_dyn_global(void *v) { - caml_dyn_globals = cons((void*) v,caml_dyn_globals); -} - -/* Call [caml_oldify_one] on (at least) all the roots that point to the minor - heap. */ -void caml_oldify_local_roots (void) -{ - char * sp; - uintnat retaddr; - value * regs; - frame_descr * d; - uintnat h; - int i, j, n, ofs; -#ifdef Stack_grows_upwards - short * p; /* PR#4339: stack offsets are negative in this case */ -#else - unsigned short * p; -#endif - value glob; - value * root; - struct caml__roots_block *lr; - link *lnk; - - /* The global roots */ - for (i = caml_globals_scanned; - i <= caml_globals_inited && caml_globals[i] != 0; - i++) { - glob = caml_globals[i]; - for (j = 0; j < Wosize_val(glob); j++){ - Oldify (&Field (glob, j)); - } - } - caml_globals_scanned = caml_globals_inited; - - /* Dynamic global roots */ - iter_list(caml_dyn_globals, lnk) { - glob = (value) lnk->data; - for (j = 0; j < Wosize_val(glob); j++){ - Oldify (&Field (glob, j)); - } - } - - /* The stack and local roots */ - if (caml_frame_descriptors == NULL) caml_init_frame_descriptors(); - sp = caml_bottom_of_stack; - retaddr = caml_last_return_address; - regs = caml_gc_regs; - if (sp != NULL) { - while (1) { - /* Find the descriptor corresponding to the return address */ - h = Hash_retaddr(retaddr); - while(1) { - d = caml_frame_descriptors[h]; - if (d->retaddr == retaddr) break; - h = (h+1) & caml_frame_descriptors_mask; - } - if (d->frame_size != 0xFFFF) { - /* Scan the roots in this frame */ - for (p = d->live_ofs, n = d->num_live; n > 0; n--, p++) { - ofs = *p; - if (ofs & 1) { - root = regs + (ofs >> 1); - } else { - root = (value *)(sp + ofs); - } - Oldify (root); - } - /* Move to next frame */ -#ifndef Stack_grows_upwards - sp += (d->frame_size & 0xFFFC); -#else - sp -= (d->frame_size & 0xFFFC); -#endif - retaddr = Saved_return_address(sp); -#ifdef Already_scanned - /* Stop here if the frame has been scanned during earlier GCs */ - if (Already_scanned(sp, retaddr)) break; - /* Mark frame as already scanned */ - Mark_scanned(sp, retaddr); -#endif - } else { - /* This marks the top of a stack chunk for an ML callback. - Skip C portion of stack and continue with next ML stack chunk. */ - struct caml_context * next_context = Callback_link(sp); - sp = next_context->bottom_of_stack; - retaddr = next_context->last_retaddr; - regs = next_context->gc_regs; - /* A null sp means no more ML stack chunks; stop here. */ - if (sp == NULL) break; - } - } - } - /* Local C roots */ - for (lr = caml_local_roots; lr != NULL; lr = lr->next) { - for (i = 0; i < lr->ntables; i++){ - for (j = 0; j < lr->nitems; j++){ - root = &(lr->tables[i][j]); - Oldify (root); - } - } - } - /* Global C roots */ - caml_scan_global_young_roots(&caml_oldify_one); - /* Finalised values */ - caml_final_do_young_roots (&caml_oldify_one); - /* Hook */ - if (caml_scan_roots_hook != NULL) (*caml_scan_roots_hook)(&caml_oldify_one); -} - -/* Call [darken] on all roots */ - -void caml_darken_all_roots (void) -{ - caml_do_roots (caml_darken); -} - -void caml_do_roots (scanning_action f) -{ - int i, j; - value glob; - link *lnk; - - /* The global roots */ - for (i = 0; caml_globals[i] != 0; i++) { - glob = caml_globals[i]; - for (j = 0; j < Wosize_val(glob); j++) - f (Field (glob, j), &Field (glob, j)); - } - - /* Dynamic global roots */ - iter_list(caml_dyn_globals, lnk) { - glob = (value) lnk->data; - for (j = 0; j < Wosize_val(glob); j++){ - f (Field (glob, j), &Field (glob, j)); - } - } - - /* The stack and local roots */ - if (caml_frame_descriptors == NULL) caml_init_frame_descriptors(); - caml_do_local_roots(f, caml_bottom_of_stack, caml_last_return_address, - caml_gc_regs, caml_local_roots); - /* Global C roots */ - caml_scan_global_roots(f); - /* Finalised values */ - caml_final_do_strong_roots (f); - /* Hook */ - if (caml_scan_roots_hook != NULL) (*caml_scan_roots_hook)(f); -} - -void caml_do_local_roots(scanning_action f, char * bottom_of_stack, - uintnat last_retaddr, value * gc_regs, - struct caml__roots_block * local_roots) -{ - char * sp; - uintnat retaddr; - value * regs; - frame_descr * d; - uintnat h; - int i, j, n, ofs; -#ifdef Stack_grows_upwards - short * p; /* PR#4339: stack offsets are negative in this case */ -#else - unsigned short * p; -#endif - value * root; - struct caml__roots_block *lr; - - sp = bottom_of_stack; - retaddr = last_retaddr; - regs = gc_regs; - if (sp != NULL) { - while (1) { - /* Find the descriptor corresponding to the return address */ - h = Hash_retaddr(retaddr); - while(1) { - d = caml_frame_descriptors[h]; - if (d->retaddr == retaddr) break; - h = (h+1) & caml_frame_descriptors_mask; - } - if (d->frame_size != 0xFFFF) { - /* Scan the roots in this frame */ - for (p = d->live_ofs, n = d->num_live; n > 0; n--, p++) { - ofs = *p; - if (ofs & 1) { - root = regs + (ofs >> 1); - } else { - root = (value *)(sp + ofs); - } - f (*root, root); - } - /* Move to next frame */ -#ifndef Stack_grows_upwards - sp += (d->frame_size & 0xFFFC); -#else - sp -= (d->frame_size & 0xFFFC); -#endif - retaddr = Saved_return_address(sp); -#ifdef Mask_already_scanned - retaddr = Mask_already_scanned(retaddr); -#endif - } else { - /* This marks the top of a stack chunk for an ML callback. - Skip C portion of stack and continue with next ML stack chunk. */ - struct caml_context * next_context = Callback_link(sp); - sp = next_context->bottom_of_stack; - retaddr = next_context->last_retaddr; - regs = next_context->gc_regs; - /* A null sp means no more ML stack chunks; stop here. */ - if (sp == NULL) break; - } - } - } - /* Local C roots */ - for (lr = local_roots; lr != NULL; lr = lr->next) { - for (i = 0; i < lr->ntables; i++){ - for (j = 0; j < lr->nitems; j++){ - root = &(lr->tables[i][j]); - f (*root, root); - } - } - } -} - -uintnat (*caml_stack_usage_hook)(void) = NULL; - -uintnat caml_stack_usage (void) -{ - uintnat sz; - sz = (value *) caml_top_of_stack - (value *) caml_bottom_of_stack; - if (caml_stack_usage_hook != NULL) - sz += (*caml_stack_usage_hook)(); - return sz; -} diff --git a/vendor/ocaml/asmrun/signals_asm.c b/vendor/ocaml/asmrun/signals_asm.c deleted file mode 100644 index 4ac2a64f0..000000000 --- a/vendor/ocaml/asmrun/signals_asm.c +++ /dev/null @@ -1,288 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Gallium, INRIA Rocquencourt */ -/* */ -/* Copyright 2007 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Signal handling, code specific to the native-code compiler */ - -#if defined(TARGET_amd64) && defined (SYS_linux) -#define _GNU_SOURCE -#endif -#include -#include -#include -#include "caml/fail.h" -#include "caml/memory.h" -#include "caml/osdeps.h" -#include "caml/signals.h" -#include "caml/signals_machdep.h" -#include "signals_osdep.h" -#include "stack.h" - -#ifdef HAS_STACK_OVERFLOW_DETECTION -#include -#include -#endif - -#ifndef NSIG -#define NSIG 64 -#endif - -typedef void (*signal_handler)(int signo); - -#ifdef _WIN32 -extern signal_handler caml_win32_signal(int sig, signal_handler action); -#define signal(sig,act) caml_win32_signal(sig,act) -extern void caml_win32_overflow_detection(); -#endif - -extern char * caml_code_area_start, * caml_code_area_end; -extern char caml_system__code_begin, caml_system__code_end; - -/* Do not use the macro from address_class.h here. */ -#undef Is_in_code_area -#define Is_in_code_area(pc) \ - ( ((char *)(pc) >= caml_code_area_start && \ - (char *)(pc) <= caml_code_area_end) \ -|| ((char *)(pc) >= &caml_system__code_begin && \ - (char *)(pc) <= &caml_system__code_end) \ -|| (Classify_addr(pc) & In_code_area) ) - -/* This routine is the common entry point for garbage collection - and signal handling. It can trigger a callback to OCaml code. - With system threads, this callback can cause a context switch. - Hence [caml_garbage_collection] must not be called from regular C code - (e.g. the [caml_alloc] function) because the context of the call - (e.g. [intern_val]) may not allow context switching. - Only generated assembly code can call [caml_garbage_collection], - via the caml_call_gc assembly stubs. */ - -void caml_garbage_collection(void) -{ - caml_young_limit = caml_young_start; - if (caml_young_ptr < caml_young_start || caml_force_major_slice) { - caml_minor_collection(); - } - caml_process_pending_signals(); -} - -DECLARE_SIGNAL_HANDLER(handle_signal) -{ - int saved_errno; - /* Save the value of errno (PR#5982). */ - saved_errno = errno; -#if !defined(POSIX_SIGNALS) && !defined(BSD_SIGNALS) - signal(sig, handle_signal); -#endif - if (sig < 0 || sig >= NSIG) return; - if (caml_try_leave_blocking_section_hook ()) { - caml_execute_signal(sig, 1); - caml_enter_blocking_section_hook(); - } else { - caml_record_signal(sig); - /* Some ports cache [caml_young_limit] in a register. - Use the signal context to modify that register too, but only if - we are inside OCaml code (not inside C code). */ -#if defined(CONTEXT_PC) && defined(CONTEXT_YOUNG_LIMIT) - if (Is_in_code_area(CONTEXT_PC)) - CONTEXT_YOUNG_LIMIT = (context_reg) caml_young_limit; -#endif - } - errno = saved_errno; -} - -int caml_set_signal_action(int signo, int action) -{ - signal_handler oldact; -#ifdef POSIX_SIGNALS - struct sigaction sigact, oldsigact; -#else - signal_handler act; -#endif - -#ifdef POSIX_SIGNALS - switch(action) { - case 0: - sigact.sa_handler = SIG_DFL; - sigact.sa_flags = 0; - break; - case 1: - sigact.sa_handler = SIG_IGN; - sigact.sa_flags = 0; - break; - default: - SET_SIGACT(sigact, handle_signal); - break; - } - sigemptyset(&sigact.sa_mask); - if (sigaction(signo, &sigact, &oldsigact) == -1) return -1; - oldact = oldsigact.sa_handler; -#else - switch(action) { - case 0: act = SIG_DFL; break; - case 1: act = SIG_IGN; break; - default: act = handle_signal; break; - } - oldact = signal(signo, act); - if (oldact == SIG_ERR) return -1; -#endif - if (oldact == (signal_handler) handle_signal) - return 2; - else if (oldact == SIG_IGN) - return 1; - else - return 0; -} - -/* Machine- and OS-dependent handling of bound check trap */ - -#if defined(TARGET_power) || (defined(TARGET_sparc) && defined(SYS_solaris)) -DECLARE_SIGNAL_HANDLER(trap_handler) -{ -#if defined(SYS_solaris) - if (info->si_code != ILL_ILLTRP) { - /* Deactivate our exception handler and return. */ - struct sigaction act; - act.sa_handler = SIG_DFL; - act.sa_flags = 0; - sigemptyset(&act.sa_mask); - sigaction(sig, &act, NULL); - return; - } -#endif -#if defined(SYS_rhapsody) - /* Unblock SIGTRAP */ - { sigset_t mask; - sigemptyset(&mask); - sigaddset(&mask, SIGTRAP); - sigprocmask(SIG_UNBLOCK, &mask, NULL); - } -#endif - caml_exception_pointer = (char *) CONTEXT_EXCEPTION_POINTER; - caml_young_ptr = (char *) CONTEXT_YOUNG_PTR; - caml_bottom_of_stack = (char *) CONTEXT_SP; - caml_last_return_address = (uintnat) CONTEXT_PC; - caml_array_bound_error(); -} -#endif - -/* Machine- and OS-dependent handling of stack overflow */ - -#ifdef HAS_STACK_OVERFLOW_DETECTION - -static char * system_stack_top; -static char sig_alt_stack[SIGSTKSZ]; - -#if defined(SYS_linux) -/* PR#4746: recent Linux kernels with support for stack randomization - silently add 2 Mb of stack space on top of RLIMIT_STACK. - 2 Mb = 0x200000, to which we add 8 kB (=0x2000) for overshoot. */ -#define EXTRA_STACK 0x202000 -#else -#define EXTRA_STACK 0x2000 -#endif - -#ifdef RETURN_AFTER_STACK_OVERFLOW -extern void caml_stack_overflow(void); -#endif - -DECLARE_SIGNAL_HANDLER(segv_handler) -{ - struct rlimit limit; - struct sigaction act; - char * fault_addr; - - /* Sanity checks: - - faulting address is word-aligned - - faulting address is within the stack - - we are in OCaml code */ - fault_addr = CONTEXT_FAULTING_ADDRESS; - if (((uintnat) fault_addr & (sizeof(intnat) - 1)) == 0 - && getrlimit(RLIMIT_STACK, &limit) == 0 - && fault_addr < system_stack_top - && fault_addr >= system_stack_top - limit.rlim_cur - EXTRA_STACK -#ifdef CONTEXT_PC - && Is_in_code_area(CONTEXT_PC) -#endif - ) { -#ifdef RETURN_AFTER_STACK_OVERFLOW - /* Tweak the PC part of the context so that on return from this - handler, we jump to the asm function [caml_stack_overflow] - (from $ARCH.S). */ -#ifdef CONTEXT_PC - CONTEXT_PC = (context_reg) &caml_stack_overflow; -#else -#error "CONTEXT_PC must be defined if RETURN_AFTER_STACK_OVERFLOW is" -#endif -#else - /* Raise a Stack_overflow exception straight from this signal handler */ -#if defined(CONTEXT_YOUNG_PTR) && defined(CONTEXT_EXCEPTION_POINTER) - caml_exception_pointer = (char *) CONTEXT_EXCEPTION_POINTER; - caml_young_ptr = (char *) CONTEXT_YOUNG_PTR; -#endif - caml_raise_stack_overflow(); -#endif - } else { - /* Otherwise, deactivate our exception handler and return, - causing fatal signal to be generated at point of error. */ - act.sa_handler = SIG_DFL; - act.sa_flags = 0; - sigemptyset(&act.sa_mask); - sigaction(SIGSEGV, &act, NULL); - } -} - -#endif - -/* Initialization of signal stuff */ - -void caml_init_signals(void) -{ - /* Bound-check trap handling */ -#if defined(TARGET_sparc) && defined(SYS_solaris) - { struct sigaction act; - sigemptyset(&act.sa_mask); - SET_SIGACT(act, trap_handler); - act.sa_flags |= SA_NODEFER; - sigaction(SIGILL, &act, NULL); - } -#endif - -#if defined(TARGET_power) - { struct sigaction act; - sigemptyset(&act.sa_mask); - SET_SIGACT(act, trap_handler); -#if !defined(SYS_rhapsody) - act.sa_flags |= SA_NODEFER; -#endif - sigaction(SIGTRAP, &act, NULL); - } -#endif - - /* Stack overflow handling */ -#ifdef HAS_STACK_OVERFLOW_DETECTION - { - stack_t stk; - struct sigaction act; - stk.ss_sp = sig_alt_stack; - stk.ss_size = SIGSTKSZ; - stk.ss_flags = 0; - SET_SIGACT(act, segv_handler); - act.sa_flags |= SA_ONSTACK | SA_NODEFER; - sigemptyset(&act.sa_mask); - system_stack_top = (char *) &act; - if (sigaltstack(&stk, NULL) == 0) { sigaction(SIGSEGV, &act, NULL); } - } -#endif -#if defined(_WIN32) && !defined(_WIN64) - caml_win32_overflow_detection(); -#endif -} diff --git a/vendor/ocaml/asmrun/signals_osdep.h b/vendor/ocaml/asmrun/signals_osdep.h deleted file mode 100644 index 627e3b727..000000000 --- a/vendor/ocaml/asmrun/signals_osdep.h +++ /dev/null @@ -1,339 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 2004 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Processor- and OS-dependent signal interface */ - -/****************** AMD64, Linux */ - -#if defined(TARGET_amd64) && defined (SYS_linux) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, ucontext_t * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (void (*)(int,siginfo_t *,void *)) (name); \ - sigact.sa_flags = SA_SIGINFO - - typedef greg_t context_reg; - #define CONTEXT_PC (context->uc_mcontext.gregs[REG_RIP]) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.gregs[REG_R14]) - #define CONTEXT_YOUNG_PTR (context->uc_mcontext.gregs[REG_R15]) - #define CONTEXT_FAULTING_ADDRESS ((char *)context->uc_mcontext.gregs[REG_CR2]) - -/****************** AMD64, MacOSX */ - -#elif defined(TARGET_amd64) && defined (SYS_macosx) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, void * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (name); \ - sigact.sa_flags = SA_SIGINFO | SA_64REGSET - - #include - #include - - #if !defined(MAC_OS_X_VERSION_10_5) \ - || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 - #define CONTEXT_REG(r) r - #else - #define CONTEXT_REG(r) __##r - #endif - - typedef unsigned long long context_reg; - #define CONTEXT_STATE (((ucontext_t *)context)->uc_mcontext->CONTEXT_REG(ss)) - #define CONTEXT_PC (CONTEXT_STATE.CONTEXT_REG(rip)) - #define CONTEXT_EXCEPTION_POINTER (CONTEXT_STATE.CONTEXT_REG(r14)) - #define CONTEXT_YOUNG_PTR (CONTEXT_STATE.CONTEXT_REG(r15)) - #define CONTEXT_SP (CONTEXT_STATE.CONTEXT_REG(rsp)) - #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) - - #define RETURN_AFTER_STACK_OVERFLOW - -/****************** ARM, Linux */ - -#elif defined(TARGET_arm) && (defined(SYS_linux_eabi) \ - || defined(SYS_linux_eabihf)) - - #include - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, ucontext_t * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (void (*)(int,siginfo_t *,void *)) (name); \ - sigact.sa_flags = SA_SIGINFO - - typedef unsigned long context_reg; - #define CONTEXT_PC (context->uc_mcontext.arm_pc) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.arm_fp) - #define CONTEXT_YOUNG_PTR (context->uc_mcontext.arm_r8) - #define CONTEXT_FAULTING_ADDRESS ((char *) context->uc_mcontext.fault_address) - -/****************** ARM64, Linux */ - -#elif defined(TARGET_arm64) && defined(SYS_linux) - - #include - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, ucontext_t * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (void (*)(int,siginfo_t *,void *)) (name); \ - sigact.sa_flags = SA_SIGINFO - - typedef unsigned long context_reg; - #define CONTEXT_PC (context->uc_mcontext.pc) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.regs[26]) - #define CONTEXT_YOUNG_PTR (context->uc_mcontext.regs[27]) - #define CONTEXT_FAULTING_ADDRESS ((char *) context->uc_mcontext.fault_address) - -/****************** AMD64, Solaris x86 */ - -#elif defined(TARGET_amd64) && defined (SYS_solaris) - - #include - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, ucontext_t * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (void (*)(int,siginfo_t *,void *)) (name); \ - sigact.sa_flags = SA_SIGINFO - - typedef greg_t context_reg; - #define CONTEXT_PC (context->uc_mcontext.gregs[REG_RIP]) - #define CONTEXT_EXCEPTION_POINTER (context->uc_mcontext.gregs[REG_R14]) - #define CONTEXT_YOUNG_PTR (context->uc_mcontext.gregs[REG_R15]) - #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) - -/****************** AMD64, OpenBSD */ - -#elif defined(TARGET_amd64) && defined (SYS_openbsd) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, struct sigcontext * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (void (*)(int,siginfo_t *,void *)) (name); \ - sigact.sa_flags = SA_SIGINFO - - #define CONTEXT_PC (context->sc_rip) - #define CONTEXT_EXCEPTION_POINTER (context->sc_r14) - #define CONTEXT_YOUNG_PTR (context->sc_r15) - #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) - -/****************** I386, Linux */ - -#elif defined(TARGET_i386) && defined(SYS_linux_elf) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, struct sigcontext context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_handler = (void (*)(int)) (name); \ - sigact.sa_flags = 0 - - #define CONTEXT_FAULTING_ADDRESS ((char *) context.cr2) - -/****************** I386, BSD_ELF */ - -#elif defined(TARGET_i386) && defined(SYS_bsd_elf) - - #if defined (__NetBSD__) - #include - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, ucontext_t * context) - #else - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, struct sigcontext * context) - #endif - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (void (*)(int,siginfo_t *,void *)) (name); \ - sigact.sa_flags = SA_SIGINFO - - #if defined (__NetBSD__) - #define CONTEXT_PC (_UC_MACHINE_PC(context)) - #else - #define CONTEXT_PC (context->sc_eip) - #endif - #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) - -/****************** I386, BSD */ - -#elif defined(TARGET_i386) && defined(SYS_bsd) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, void * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (name); \ - sigact.sa_flags = SA_SIGINFO - - #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) - -/****************** I386, MacOS X */ - -#elif defined(TARGET_i386) && defined(SYS_macosx) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, void * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (name); \ - sigact.sa_flags = SA_SIGINFO - - #include - #include - - #if !defined(MAC_OS_X_VERSION_10_5) \ - || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 - #define CONTEXT_REG(r) r - #else - #define CONTEXT_REG(r) __##r - #endif - - #define CONTEXT_STATE (((ucontext_t *)context)->uc_mcontext->CONTEXT_REG(ss)) - #define CONTEXT_PC (CONTEXT_STATE.CONTEXT_REG(eip)) - #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) - -/****************** I386, Solaris x86 */ - -#elif defined(TARGET_i386) && defined(SYS_solaris) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, void * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (name); \ - sigact.sa_flags = SA_SIGINFO - - #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) - -/****************** PowerPC, MacOS X */ - -#elif defined(TARGET_power) && defined(SYS_rhapsody) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, void * context) - - #include - #include - - #ifdef __LP64__ - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (name); \ - sigact.sa_flags = SA_SIGINFO | SA_64REGSET - - typedef unsigned long long context_reg; - - #define CONTEXT_MCONTEXT (((ucontext64_t *)context)->uc_mcontext64) - #else - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (name); \ - sigact.sa_flags = SA_SIGINFO - - typedef unsigned long context_reg; - - #define CONTEXT_MCONTEXT (((ucontext_t *)context)->uc_mcontext) - #endif - - #if !defined(MAC_OS_X_VERSION_10_5) \ - || MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_5 - #define CONTEXT_REG(r) r - #else - #define CONTEXT_REG(r) __##r - #endif - - #define CONTEXT_STATE (CONTEXT_MCONTEXT->CONTEXT_REG(ss)) - #define CONTEXT_PC (CONTEXT_STATE.CONTEXT_REG(srr0)) - #define CONTEXT_EXCEPTION_POINTER (CONTEXT_STATE.CONTEXT_REG(r29)) - #define CONTEXT_YOUNG_LIMIT (CONTEXT_STATE.CONTEXT_REG(r30)) - #define CONTEXT_YOUNG_PTR (CONTEXT_STATE.CONTEXT_REG(r31)) - #define CONTEXT_SP (CONTEXT_STATE.CONTEXT_REG(r1)) - #define CONTEXT_FAULTING_ADDRESS ((char *) info->si_addr) - -/****************** PowerPC, ELF (Linux) */ - -#elif defined(TARGET_power) && defined(SYS_elf) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, struct sigcontext * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_handler = (void (*)(int)) (name); \ - sigact.sa_flags = 0 - - typedef unsigned long context_reg; - #define CONTEXT_PC (context->regs->nip) - #define CONTEXT_EXCEPTION_POINTER (context->regs->gpr[29]) - #define CONTEXT_YOUNG_LIMIT (context->regs->gpr[30]) - #define CONTEXT_YOUNG_PTR (context->regs->gpr[31]) - #define CONTEXT_SP (context->regs->gpr[1]) - -/****************** PowerPC, BSD */ - -#elif defined(TARGET_power) && (defined(SYS_bsd) || defined(SYS_bsd_elf)) - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, int code, struct sigcontext * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_handler = (void (*)(int)) (name); \ - sigact.sa_flags = 0 - - typedef unsigned long context_reg; - #define CONTEXT_PC (context->sc_frame.srr0) - #define CONTEXT_EXCEPTION_POINTER (context->sc_frame.fixreg[29]) - #define CONTEXT_YOUNG_LIMIT (context->sc_frame.fixreg[30]) - #define CONTEXT_YOUNG_PTR (context->sc_frame.fixreg[31]) - #define CONTEXT_SP (context->sc_frame.fixreg[1]) - -/****************** SPARC, Solaris */ - -#elif defined(TARGET_sparc) && defined(SYS_solaris) - - #include - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig, siginfo_t * info, ucontext_t * context) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_sigaction = (void (*)(int,siginfo_t *,void *)) (name); \ - sigact.sa_flags = SA_SIGINFO - - typedef long context_reg; - #define CONTEXT_PC (context->uc_mcontext.gregs[REG_PC]) - /* Local register number N is saved on the stack N words - after the stack pointer */ - #define CONTEXT_SP (context->uc_mcontext.gregs[REG_SP]) - #define SPARC_L_REG(n) ((long *)(context->uc_mcontext.gregs[REG_SP]))[n] - #define CONTEXT_EXCEPTION_POINTER (SPARC_L_REG(5)) - #define CONTEXT_YOUNG_LIMIT (SPARC_L_REG(7)) - #define CONTEXT_YOUNG_PTR (SPARC_L_REG(6)) - -/******************** Default */ - -#else - - #define DECLARE_SIGNAL_HANDLER(name) \ - static void name(int sig) - - #define SET_SIGACT(sigact,name) \ - sigact.sa_handler = (name); \ - sigact.sa_flags = 0 - -#endif diff --git a/vendor/ocaml/asmrun/sparc.S b/vendor/ocaml/asmrun/sparc.S deleted file mode 100644 index 7f24b4b42..000000000 --- a/vendor/ocaml/asmrun/sparc.S +++ /dev/null @@ -1,358 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Asm part of the runtime system for the Sparc processor. */ -/* Must be preprocessed by cpp */ - -#ifndef SYS_solaris -#define INDIRECT_LIMIT -#endif - -#define Exn_ptr %l5 -#define Alloc_ptr %l6 -#define Alloc_limit %l7 - -#define Load(symb,reg) sethi %hi(symb), %g1; ld [%g1 + %lo(symb)], reg -#define Store(reg,symb) sethi %hi(symb), %g1; st reg, [%g1 + %lo(symb)] -#define Address(symb,reg) sethi %hi(symb), reg; or reg, %lo(symb), reg - -/* Allocation functions */ - - .text - - .global caml_system__code_begin -caml_system__code_begin: - - .global caml_allocN - .global caml_call_gc - -/* Required size in %g2 */ -caml_allocN: -#ifdef INDIRECT_LIMIT - ld [Alloc_limit], %g1 - sub Alloc_ptr, %g2, Alloc_ptr - cmp Alloc_ptr, %g1 -#else - sub Alloc_ptr, %g2, Alloc_ptr - cmp Alloc_ptr, Alloc_limit -#endif - /*blu,pt %icc, caml_call_gc*/ - blu caml_call_gc - nop - retl - nop - -/* Required size in %g2 */ -caml_call_gc: - /* Save exception pointer if GC raises */ - Store(Exn_ptr, caml_exception_pointer) - /* Save current allocation pointer for debugging purposes */ - Store(Alloc_ptr, caml_young_ptr) - /* Record lowest stack address */ - Store(%sp, caml_bottom_of_stack) - /* Record last return address */ - Store(%o7, caml_last_return_address) - /* Allocate space on stack for caml_context structure and float regs */ - sub %sp, 20*4 + 15*8, %sp - /* Save int regs on stack and save it into caml_gc_regs */ -L100: add %sp, 96 + 15*8, %g1 - st %o0, [%g1] - st %o1, [%g1 + 0x4] - st %o2, [%g1 + 0x8] - st %o3, [%g1 + 0xc] - st %o4, [%g1 + 0x10] - st %o5, [%g1 + 0x14] - st %i0, [%g1 + 0x18] - st %i1, [%g1 + 0x1c] - st %i2, [%g1 + 0x20] - st %i3, [%g1 + 0x24] - st %i4, [%g1 + 0x28] - st %i5, [%g1 + 0x2c] - st %l0, [%g1 + 0x30] - st %l1, [%g1 + 0x34] - st %l2, [%g1 + 0x38] - st %l3, [%g1 + 0x3c] - st %l4, [%g1 + 0x40] - st %g3, [%g1 + 0x44] - st %g4, [%g1 + 0x48] - st %g2, [%g1 + 0x4C] /* Save required size */ - mov %g1, %g2 - Store(%g2, caml_gc_regs) - /* Save the floating-point registers */ - add %sp, 96, %g1 - std %f0, [%g1] - std %f2, [%g1 + 0x8] - std %f4, [%g1 + 0x10] - std %f6, [%g1 + 0x18] - std %f8, [%g1 + 0x20] - std %f10, [%g1 + 0x28] - std %f12, [%g1 + 0x30] - std %f14, [%g1 + 0x38] - std %f16, [%g1 + 0x40] - std %f18, [%g1 + 0x48] - std %f20, [%g1 + 0x50] - std %f22, [%g1 + 0x58] - std %f24, [%g1 + 0x60] - std %f26, [%g1 + 0x68] - std %f28, [%g1 + 0x70] - /* Call the garbage collector */ - call caml_garbage_collection - nop - /* Restore all regs used by the code generator */ - add %sp, 96 + 15*8, %g1 - ld [%g1], %o0 - ld [%g1 + 0x4], %o1 - ld [%g1 + 0x8], %o2 - ld [%g1 + 0xc], %o3 - ld [%g1 + 0x10], %o4 - ld [%g1 + 0x14], %o5 - ld [%g1 + 0x18], %i0 - ld [%g1 + 0x1c], %i1 - ld [%g1 + 0x20], %i2 - ld [%g1 + 0x24], %i3 - ld [%g1 + 0x28], %i4 - ld [%g1 + 0x2c], %i5 - ld [%g1 + 0x30], %l0 - ld [%g1 + 0x34], %l1 - ld [%g1 + 0x38], %l2 - ld [%g1 + 0x3c], %l3 - ld [%g1 + 0x40], %l4 - ld [%g1 + 0x44], %g3 - ld [%g1 + 0x48], %g4 - ld [%g1 + 0x4C], %g2 /* Recover desired size */ - add %sp, 96, %g1 - ldd [%g1], %f0 - ldd [%g1 + 0x8], %f2 - ldd [%g1 + 0x10], %f4 - ldd [%g1 + 0x18], %f6 - ldd [%g1 + 0x20], %f8 - ldd [%g1 + 0x28], %f10 - ldd [%g1 + 0x30], %f12 - ldd [%g1 + 0x38], %f14 - ldd [%g1 + 0x40], %f16 - ldd [%g1 + 0x48], %f18 - ldd [%g1 + 0x50], %f20 - ldd [%g1 + 0x58], %f22 - ldd [%g1 + 0x60], %f24 - ldd [%g1 + 0x68], %f26 - ldd [%g1 + 0x70], %f28 - /* Reload alloc ptr */ - Load(caml_young_ptr, Alloc_ptr) - /* Allocate space for block */ -#ifdef INDIRECT_LIMIT - ld [Alloc_limit], %g1 - sub Alloc_ptr, %g2, Alloc_ptr - cmp Alloc_ptr, %g1 /* Check that we have enough free space */ -#else - Load(caml_young_limit,Alloc_limit) - sub Alloc_ptr, %g2, Alloc_ptr - cmp Alloc_ptr, Alloc_limit -#endif - blu L100 /* If not, call GC again */ - nop - /* Return to caller */ - Load(caml_last_return_address, %o7) - retl - add %sp, 20*4 + 15*8, %sp /* in delay slot */ - -/* Call a C function from Ocaml */ - - .global caml_c_call -/* Function to call is in %g2 */ -caml_c_call: - /* Record lowest stack address and return address */ - Store(%sp, caml_bottom_of_stack) - Store(%o7, caml_last_return_address) - /* Save the exception handler and alloc pointer */ - Store(Exn_ptr, caml_exception_pointer) - sethi %hi(caml_young_ptr), %g1 - /* Call the C function */ - call %g2 - st Alloc_ptr, [%g1 + %lo(caml_young_ptr)] /* in delay slot */ - /* Reload return address */ - Load(caml_last_return_address, %o7) - /* Reload alloc pointer */ - sethi %hi(caml_young_ptr), %g1 - /* Return to caller */ - retl - ld [%g1 + %lo(caml_young_ptr)], Alloc_ptr /* in delay slot */ - -/* Start the Ocaml program */ - - .global caml_start_program -caml_start_program: - /* Save all callee-save registers */ - save %sp, -96, %sp - /* Address of code to call */ - Address(caml_program, %l2) - - /* Code shared with caml_callback* */ -L108: - /* Set up a callback link on the stack. */ - sub %sp, 16, %sp - Load(caml_bottom_of_stack, %l0) - Load(caml_last_return_address, %l1) - Load(caml_gc_regs, %l3) - st %l0, [%sp + 96] - st %l1, [%sp + 100] - /* Set up a trap frame to catch exceptions escaping the Ocaml code */ - call L111 - st %l3, [%sp + 104] - b L110 - nop -L111: sub %sp, 8, %sp - Load(caml_exception_pointer, Exn_ptr) - st %o7, [%sp + 96] - st Exn_ptr, [%sp + 100] - mov %sp, Exn_ptr - /* Reload allocation pointers */ - Load(caml_young_ptr, Alloc_ptr) -#ifdef INDIRECT_LIMIT - Address(caml_young_limit, Alloc_limit) -#else - Load(caml_young_limit, Alloc_limit) -#endif - /* Call the Ocaml code */ -L109: call %l2 - nop - /* Pop trap frame and restore caml_exception_pointer */ - ld [%sp + 100], Exn_ptr - add %sp, 8, %sp - Store(Exn_ptr, caml_exception_pointer) - /* Pop callback link, restoring the global variables */ -L112: ld [%sp + 96], %l0 - ld [%sp + 100], %l1 - ld [%sp + 104], %l2 - Store(%l0, caml_bottom_of_stack) - Store(%l1, caml_last_return_address) - Store(%l2, caml_gc_regs) - add %sp, 16, %sp - /* Save allocation pointer */ - Store(Alloc_ptr, caml_young_ptr) - /* Reload callee-save registers and return */ - ret - restore %o0, 0, %o0 /* copy %o0 in this window to caller's %o0 */ -L110: - /* The trap handler */ - Store(Exn_ptr, caml_exception_pointer) - /* Encode exception bucket as an exception result */ - b L112 - or %o0, 2, %o0 - -/* Raise an exception from C */ - - .global caml_raise_exception -caml_raise_exception: - /* Save exception bucket in a register outside the reg windows */ - mov %o0, %g2 - /* Load exception pointer in a register outside the reg windows */ - Load(caml_exception_pointer, %g3) - /* Pop some frames until the trap pointer is in the current frame. */ - cmp %g3, %fp - blt L107 /* if Exn_ptr < %fp, over */ - nop -L106: restore - cmp %fp, %g3 /* if %fp <= Exn_ptr, loop */ - ble L106 - nop -L107: - /* Reload allocation registers */ - Load(caml_young_ptr, Alloc_ptr) -#ifdef INDIRECT_LIMIT - Address(caml_young_limit, Alloc_limit) -#else - Load(caml_young_limit, Alloc_limit) -#endif - /* Branch to exception handler */ - mov %g3, %sp - ld [%sp + 96], %g1 - ld [%sp + 100], Exn_ptr - add %sp, 8, %sp - jmp %g1 + 8 - /* Restore bucket, in delay slot */ - mov %g2, %o0 - -/* Callbacks C -> ML */ - - .global caml_callback_exn -caml_callback_exn: - /* Save callee-save registers and return address */ - save %sp, -96, %sp - /* Initial shuffling of arguments */ - mov %i0, %g1 - mov %i1, %i0 /* first arg */ - mov %g1, %i1 /* environment */ - b L108 - ld [%g1], %l2 /* code pointer */ - - .global caml_callback2_exn -caml_callback2_exn: - /* Save callee-save registers and return address */ - save %sp, -104, %sp - /* Initial shuffling of arguments */ - mov %i0, %g1 - mov %i1, %i0 /* first arg */ - mov %i2, %i1 /* second arg */ - mov %g1, %i2 /* environment */ - sethi %hi(caml_apply2), %l2 - b L108 - or %l2, %lo(caml_apply2), %l2 - - .global caml_callback3_exn -caml_callback3_exn: - /* Save callee-save registers and return address */ - save %sp, -104, %sp - /* Initial shuffling of arguments */ - mov %i0, %g1 - mov %i1, %i0 /* first arg */ - mov %i2, %i1 /* second arg */ - mov %i3, %i2 /* third arg */ - mov %g1, %i3 /* environment */ - sethi %hi(caml_apply3), %l2 - b L108 - or %l2, %lo(caml_apply3), %l2 - -#ifndef SYS_solaris -/* Glue code to call [caml_array_bound_error] */ - - .global caml_ml_array_bound_error -caml_ml_array_bound_error: - Address(caml_array_bound_error, %g2) - b caml_c_call - nop -#endif - - .global caml_system__code_end -caml_system__code_end: - -#ifdef SYS_solaris - .section ".rodata" -#else - .data -#endif - .global caml_system__frametable - .align 4 /* required for gas? */ -caml_system__frametable: - .word 1 /* one descriptor */ - .word L109 /* return address into callback */ - .half -1 /* negative frame size => use callback link */ - .half 0 /* no roots */ - -#ifdef SYS_solaris - .type caml_allocN, #function - .type caml_call_gc, #function - .type caml_c_call, #function - .type caml_start_program, #function - .type caml_raise_exception, #function - .type caml_system__frametable, #object -#endif diff --git a/vendor/ocaml/asmrun/stack.h b/vendor/ocaml/asmrun/stack.h deleted file mode 100644 index 6e5594292..000000000 --- a/vendor/ocaml/asmrun/stack.h +++ /dev/null @@ -1,119 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Machine-dependent interface with the asm code */ - -#ifndef CAML_STACK_H -#define CAML_STACK_H - -/* Macros to access the stack frame */ - -#ifdef TARGET_sparc -#define Saved_return_address(sp) *((intnat *)((sp) + 92)) -#define Callback_link(sp) ((struct caml_context *)((sp) + 104)) -#endif - -#ifdef TARGET_i386 -#define Saved_return_address(sp) *((intnat *)((sp) - 4)) -#ifndef SYS_win32 -#define Callback_link(sp) ((struct caml_context *)((sp) + 16)) -#else -#define Callback_link(sp) ((struct caml_context *)((sp) + 8)) -#endif -#endif - -#ifdef TARGET_power -#define Saved_return_address(sp) *((intnat *)((sp) - SIZEOF_PTR)) -#define Already_scanned(sp, retaddr) ((retaddr) & 1) -#define Mark_scanned(sp, retaddr) \ - (*((intnat *)((sp) - SIZEOF_PTR)) = (retaddr) | 1) -#define Mask_already_scanned(retaddr) ((retaddr) & ~1) -#ifdef SYS_aix -#define Trap_frame_size 32 -#else -#define Trap_frame_size 16 -#endif -#define Callback_link(sp) ((struct caml_context *)((sp) + Trap_frame_size)) -#endif - -#ifdef TARGET_arm -#define Saved_return_address(sp) *((intnat *)((sp) - 4)) -#define Callback_link(sp) ((struct caml_context *)((sp) + 8)) -#endif - -#ifdef TARGET_amd64 -#define Saved_return_address(sp) *((intnat *)((sp) - 8)) -#define Callback_link(sp) ((struct caml_context *)((sp) + 16)) -#endif - -#ifdef TARGET_arm64 -#define Saved_return_address(sp) *((intnat *)((sp) - 8)) -#define Callback_link(sp) ((struct caml_context *)((sp) + 16)) -#endif - -/* Structure of OCaml callback contexts */ - -struct caml_context { - char * bottom_of_stack; /* beginning of OCaml stack chunk */ - uintnat last_retaddr; /* last return address in OCaml code */ - value * gc_regs; /* pointer to register block */ -}; - -/* Structure of frame descriptors */ - -typedef struct { - uintnat retaddr; - unsigned short frame_size; - unsigned short num_live; - unsigned short live_ofs[1]; -} frame_descr; - -struct caml_loc_info { - int loc_valid; - int loc_is_raise; - char * loc_filename; - int loc_lnum; - int loc_startchr; - int loc_endchr; -}; - -/* Hash table of frame descriptors */ - -extern frame_descr ** caml_frame_descriptors; -extern int caml_frame_descriptors_mask; - -#define Hash_retaddr(addr) \ - (((uintnat)(addr) >> 3) & caml_frame_descriptors_mask) - -extern void caml_init_frame_descriptors(void); -extern void caml_register_frametable(intnat *); -extern void caml_register_dyn_global(void *); - -CAMLextern void extract_location_info(frame_descr * d, - /*out*/ struct caml_loc_info * li); - - -extern uintnat caml_stack_usage (void); -extern uintnat (*caml_stack_usage_hook)(void); - -/* Declaration of variables used in the asm code */ -extern char * caml_top_of_stack; -extern char * caml_bottom_of_stack; -extern uintnat caml_last_return_address; -extern value * caml_gc_regs; -extern char * caml_exception_pointer; -extern value caml_globals[]; -extern intnat caml_globals_inited; -extern intnat * caml_frametable[]; - -#endif /* CAML_STACK_H */ diff --git a/vendor/ocaml/asmrun/startup.c b/vendor/ocaml/asmrun/startup.c deleted file mode 100644 index 1fefe7fd0..000000000 --- a/vendor/ocaml/asmrun/startup.c +++ /dev/null @@ -1,199 +0,0 @@ -/***********************************************************************/ -/* */ -/* OCaml */ -/* */ -/* Xavier Leroy and Damien Doligez, INRIA Rocquencourt */ -/* */ -/* Copyright 1996 Institut National de Recherche en Informatique et */ -/* en Automatique. All rights reserved. This file is distributed */ -/* under the terms of the GNU Library General Public License, with */ -/* the special exception on linking described in file ../LICENSE. */ -/* */ -/***********************************************************************/ - -/* Start-up code */ - -#include -#include -#include "caml/callback.h" -#include "caml/backtrace.h" -#include "caml/custom.h" -#include "caml/debugger.h" -#include "caml/fail.h" -#include "caml/freelist.h" -#include "caml/gc.h" -#include "caml/gc_ctrl.h" -#include "caml/intext.h" -#include "caml/memory.h" -#include "caml/misc.h" -#include "caml/mlvalues.h" -#include "caml/osdeps.h" -#include "caml/printexc.h" -#include "stack.h" -#include "caml/sys.h" -#ifdef HAS_UI -#include "caml/ui.h" -#endif - -extern int caml_parser_trace; -CAMLexport header_t caml_atom_table[256]; -char * caml_code_area_start, * caml_code_area_end; - -/* Initialize the atom table and the static data and code area limits. */ - -struct segment { char * begin; char * end; }; - -static void init_atoms(void) -{ - extern struct segment caml_data_segments[], caml_code_segments[]; - int i; - struct code_fragment * cf; - - for (i = 0; i < 256; i++) { - caml_atom_table[i] = Make_header(0, i, Caml_white); - } - if (caml_page_table_add(In_static_data, - caml_atom_table, caml_atom_table + 256) != 0) - caml_fatal_error("Fatal error: not enough memory for initial page table"); - - for (i = 0; caml_data_segments[i].begin != 0; i++) { - /* PR#5509: we must include the zero word at end of data segment, - because pointers equal to caml_data_segments[i].end are static data. */ - if (caml_page_table_add(In_static_data, - caml_data_segments[i].begin, - caml_data_segments[i].end + sizeof(value)) != 0) - caml_fatal_error("Fatal error: not enough memory for initial page table"); - } - - caml_code_area_start = caml_code_segments[0].begin; - caml_code_area_end = caml_code_segments[0].end; - for (i = 1; caml_code_segments[i].begin != 0; i++) { - if (caml_code_segments[i].begin < caml_code_area_start) - caml_code_area_start = caml_code_segments[i].begin; - if (caml_code_segments[i].end > caml_code_area_end) - caml_code_area_end = caml_code_segments[i].end; - } - /* Register the code in the table of code fragments */ - cf = caml_stat_alloc(sizeof(struct code_fragment)); - cf->code_start = caml_code_area_start; - cf->code_end = caml_code_area_end; - cf->digest_computed = 0; - caml_ext_table_init(&caml_code_fragments_table, 8); - caml_ext_table_add(&caml_code_fragments_table, cf); -} - -/* Configuration parameters and flags */ - -static uintnat percent_free_init = Percent_free_def; -static uintnat max_percent_free_init = Max_percent_free_def; -static uintnat minor_heap_init = Minor_heap_def; -static uintnat heap_chunk_init = Heap_chunk_def; -static uintnat heap_size_init = Init_heap_def; -static uintnat max_stack_init = Max_stack_def; - -/* Parse the CAMLRUNPARAM variable */ -/* The option letter for each runtime option is the first letter of the - last word of the ML name of the option (see [stdlib/gc.mli]). - Except for l (maximum stack size) and h (initial heap size). -*/ -/* Note: option l is irrelevant to the native-code runtime. */ - -/* If you change these functions, see also their copy in byterun/startup.c */ - -static void scanmult (char *opt, uintnat *var) -{ - char mult = ' '; - int val; - sscanf (opt, "=%u%c", &val, &mult); - sscanf (opt, "=0x%x%c", &val, &mult); - switch (mult) { - case 'k': *var = (uintnat) val * 1024; break; - case 'M': *var = (uintnat) val * 1024 * 1024; break; - case 'G': *var = (uintnat) val * 1024 * 1024 * 1024; break; - default: *var = (uintnat) val; break; - } -} - -static void parse_camlrunparam(void) -{ - char *opt = getenv ("OCAMLRUNPARAM"); - uintnat p; - - if (opt == NULL) opt = getenv ("CAMLRUNPARAM"); - - if (opt != NULL){ - while (*opt != '\0'){ - switch (*opt++){ - case 's': scanmult (opt, &minor_heap_init); break; - case 'i': scanmult (opt, &heap_chunk_init); break; - case 'h': scanmult (opt, &heap_size_init); break; - case 'l': scanmult (opt, &max_stack_init); break; - case 'o': scanmult (opt, &percent_free_init); break; - case 'O': scanmult (opt, &max_percent_free_init); break; - case 'v': scanmult (opt, &caml_verb_gc); break; - case 'b': caml_record_backtrace(Val_true); break; - case 'p': caml_parser_trace = 1; break; - case 'a': scanmult (opt, &p); caml_set_allocation_policy (p); break; - } - } - } -} - -/* These are termination hooks used by the systhreads library */ -struct longjmp_buffer caml_termination_jmpbuf; -void (*caml_termination_hook)(void *) = NULL; - -extern value caml_start_program (void); -extern void caml_init_ieee_floats (void); -extern void caml_init_signals (void); - -#ifdef _MSC_VER - -/* PR 4887: avoid crash box of windows runtime on some system calls */ -extern void caml_install_invalid_parameter_handler(); - -#endif - - -void caml_main(char **argv) -{ - char * exe_name; - static char proc_self_exe[256]; - value res; - char tos; - - caml_init_ieee_floats(); -#ifdef _MSC_VER - caml_install_invalid_parameter_handler(); -#endif - caml_init_custom_operations(); -#ifdef DEBUG - caml_verb_gc = 63; -#endif - caml_top_of_stack = &tos; - parse_camlrunparam(); - caml_init_gc (minor_heap_init, heap_size_init, heap_chunk_init, - percent_free_init, max_percent_free_init); - init_atoms(); - caml_init_signals(); - caml_debugger_init (); /* force debugger.o stub to be linked */ - exe_name = argv[0]; - if (exe_name == NULL) exe_name = ""; - if (caml_executable_name(proc_self_exe, sizeof(proc_self_exe)) == 0) - exe_name = proc_self_exe; - else - exe_name = caml_search_exe_in_path(exe_name); - caml_sys_init(exe_name, argv); - if (sigsetjmp(caml_termination_jmpbuf.buf, 0)) { - if (caml_termination_hook != NULL) caml_termination_hook(NULL); - return; - } - res = caml_start_program(); - if (Is_exception_result(res)) - caml_fatal_uncaught_exception(Extract_exception(res)); -} - -void caml_startup(char **argv) -{ - caml_main(argv); -} diff --git a/vendor/ocaml/bin/ocaml b/vendor/ocaml/bin/ocaml deleted file mode 100755 index 3284d4de4ec74738fb0f904cba6a6286f0606b67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1947323 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%0Aad{&nmL4AHh##()r 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±5M?k+d@>&9Zyf!BGB+lc85vYm^(RF2Yk4Ewx{0hiDSI)>zTJM+Ap%E^?h^K_~<M$lpzH7H-ycXb(?`*ikxT^l%y~9}(*DBv1pLIUriH*il z9eh3(i2a{UKX2k*8~y2dId_&lu{+Pd8w0$u_jCF4AoTI~;Iwv4div;@*Bk%kOkS_p zCa>Ary0^V62eMX9-jXrBPnuxeduk1jy94#1;jlXR_o05yjXcvg=YYMR43{rU?_S~x zZ}MPV+w@pl5AF`|;4FQk|5r}y^K)mi?##|WdpH<Wxj&XMKgWNcF1{NA zaX8bv#qUL+(XVbFYhV33S8g&~zHf)pv-?>4qyOxk2iv;HulwV?`{a$iKJea)oldz}1pJkgy#XI; zPj8R!^06ln^PPb;ZM6L@mtfoZ>Rn_!+Q!3U*%k|~*8_Q21lm0TUat&rp?%@tPr1~O zGOt=8gM-%UB4cf_{O4v)#N2uN`h7Zk-Vl863L29$WMJRai{0FwbDDGFxI0ki_I$pQ z<9FpA&RBlM(|b79+^MX$&W~h#G@utY0EZOChN_>5;`)w$cV?p$@37qWQm_pDcDJOZENyyIK5{)y9G zy5(C*55I6Hr~L6*B_HgF!}kMne9_~Q&tz^2js=$o-#FBnz5T&F*Wy1OsBb*oAFwYs zbkN79w?U5N*Jrn;9@Ycg(Q|E}hPUH-Eql8I_r@7>?PP#cI^>W4^7&bV|IV$-S#_Mq zK3~-YJ)`gE5)2;sj;A95ew}59&)zxuN8jlbw}xkO?p8lbZp@e+I{mq1`N9$I$h*^f zgZ1FS`T}n? zgGQde<&JKCvN?|D_8-c=Cf;WRa-i|SdH(Qg^yMceUq)GXXN>vwX)Z7L-5>A~PnESN zPd5bYkG^HPl;_7PPU#n`oQ&thx)Jc@Px^*EE;_W@6 zhhkC_#{)THv+tqzv%aXa)|y&F38AG9JO!IPdrqvVQNh zm+pc)|CG$-MooMupC35p%T0ki;pw@<8?oKzh&ON*Z*<{DUg_K$$kF(DBBvUD*_cpS`P&!ZZV_mUgKwvk>M*J)`Ia)_uX`!-uY({AJyxP0U0s;L4Kx| zcX?ua^qCIpVj1_?l$X1Ma^d~#+3sg)nWOrMFSg`Z40Hp(_6O@hb*^R1*K%}!#`4GK zGePZU_(3+V%^KgY4A|rUO9DDSJzxjMdwzZ9Y=!2fe@~qHjr7L$eCF>7_)r_Zi~efr z-CFhO)g!x&$37jaWOh$`jS)Be6aOO6)Sad;pK=HzFKnC+@PqHUES++9A{gHg_kV=? z8|SOW5!uoshxFp(x&ZI)qFDOIkKaRaNq*$#_#`iea)CEohzFt8XwHYv)j1!%-@Uu_oxgM6>+}B%e{hJSevfYb;1h59 ze!e|3<2lsld~KX(d-*O`mmD3mm}X6U%^lmC_4-jhynA~C=h<8j`mUNgvk36|;X!#j zl<}?rXYwY`bdB@1X^snMO^4uFc1M;MwGO^e)nDS#yR6Y^`76Kv30VV`zLp`>1|-szM5By;uw7- z-})2FiD1n8)tQfw_i?^zOeeYVp4B%0=RBzmHu)y6&Xtq>8J83Fq!!AF`{9grF|Z+* z8ZO2-|5w}K19+2xpL`b=E?Vo>_f6~k7Ym=8)A4f)4|KdFpnE-N?Pj?0?viQ#=QXGP zTXW4#xn0X%xjm7w+Tx!xt7>X@*5y%~bN#ygABO`u z-mV_m+8ea?)kl4i_vU5H$t_ubd>oWxHMR(}F(>A&J8$mUfG+Rw=#Sj93 z<6E#Zi5;P?$N8#pM3&!qaCtItH|X^)o6}K@cb;8x_PpcjuyyTw;r@V(8WoR5zA|eW z`wVzvKnBO&0QSXRoqF7`?X!|z+`DtmmwUR)zw_$>8Fn;xV175*VpHt=A7f#c{^pu4 z`||0Iw)XhW#_nLuZEeX{KQqbUly2+&j5No0KO@cSi`dQis=qqG1%LNUJ)W)cOKmha z`hH(hkBU)*2ViUKsdH(8`hh@_#yGT$Abk zs=50h$7GCsCpi)DtNO~Bp8vk)|{Jbf!XUw*KBfvd> zofo^DEdp(^{O6|Kj@60t`0ko>>Y;O7b*;X;Bm0AqmmQhY)wK+l?^$!XD~gV1O$>`b zWB;1qM8Hn(pqiwMy>m&(Q`5_}hBvu699$k~4{mnL*wxLIQPzF)4;$t-I&n&Ih%QXqlcV3>N8?bK+oL)ALNtI^qmO$HaNFCz=8H~P~W^S z?hqTbDSr8!uaz_M>j7JfK%<)tcGa1@;ZEES1mwl0Zd!MZS$#b-5DO0I82jF5`5mDa z$N8#p?~41hKhWrBo1buU>iga1%FN}-9)8&Ao8+8%bMkQ+?+JQ$)h1i&Wwb3PIIt&9 zwQ^M!SJkO~KJ<>^(VF<`_r|m@7vjQ~IIK61l zy2P@o#>ihPw;KAYb>jSr?@o5npe=4Cy5{8$7U z-xdaGl{aRSFTLlux)k8Qay|>aBfA2P&fWvLsjqz62;}WhfD?D|3ESMo#VjJzhe)xA8*2N{}%AcO*^P0@^($2yl?QkHz-2oqQ!k=wu zj>`YTNxpxNAr9rtIr%S#YKP78ryn`IHFI2Q?jv7tu_MsNm`AAy(;hj0wu9U%Ufl=AhgX0$W(OWY$VYP_j{mxX)6rKps#|}lzAhrG@sl6w#OIFK+b=TK@TXZP ztCsjFuDyZ!lfTxX|CWMmKMRd71rgiQv+6qm+pQnb$ug8oM6He3t9hC12l=y7Ug5 z3Thu8Vpkvd7l#|4h%E{l;D{N5h0PgYEHvqQHtjdy>>cqFxjr-Uj(oi{iLH znCE(O>w@1g;+!pK+^5kVj`jy+P6wKp*!hSYAp2Qyg5DbfxzrkCb9x|axUxU;mFdxk+&~b)aeBglJ z2Lg8Ixp7u};2!tqJa^_&(f2t=miLi8zVi{6`vP2c&Azp5jmj^ZX?<{>~@Ubj!oweEDxI?+nyV zIb6%Q`>hqVa9x1w2ZESe{w&lQA-@PT_QpLcfFj$zXHr%!j@WTh|YPI)tjCtgP&T((f zhn%WS{Ni9e=zD2xM<6dp19u15ua9dPvxm3l0AHh@mBoK+sQDaqXM5{=$9);&Wg~Fj zUD4#B`tZ~HMy_Kqi&I_sS=sy3w?#bepFgAe+T2;OJ1a+Ymn*uR6<2FpTsW${oYfci z!+H9fAA4i{?97}W#{%K>_mE=aGj8-6xq|_HnmN5FGqz>xq$lvj-lNERQQ*X|U=lRMfZT{ITHe8HxtYk8r zf^z0u^IRQ^tZ7{z^|0Cd=k*z@D|yAeJdn9NI2_0| zpUX$ji61BU!4utVn#E-{TV&TC}UhxTJbee^7DZw|x&qfgbRj_AXe zw@gjxub6u4Y^();afOYG>BbG+@>_d&n#Wijm3i`XZasZ#q5kl%d1^i2)c&gY>Vr6{ zf0Yl;cfaw2n&NUZgZV&oCnv2i7D1P=&1!`q}w(p}e zwIL_C9XYx@^Hul7{jfJbo23tmPfcs$)A-bPk1ZU~rHPrn(O(V*LUhn*7#Q5R{4epF_2jc zG&NJc+|k-yb>DC_?&CyLU)8sfF`xDY<(yvaL}2Y?V9lJLw*}fg!FoU+TN)X2yo?-~ z)8RZ@?(DHZ`>mlq$k=zEF6R5Fn-BD!4m9x?vw1d9&vf=XznClUY~?fD;zrJV*2#hW zz0-K^Q}fuE=@rBMfjfO=z>oR4IdAfMBp7ST`DX{t8`Gi5$DP3w1AFY@9mseS`735} zy8`xb3bzFspLYawj5;%2%Kb@o;({Oi>lpV1UJnFU1n&98d>pyqFW(xs?-IWeG@cB% zaz>8rzK{0A+I--HkLvtfFn@>fb0(;*o_kK#-1VJ-*7(??%X{kQ?>*_~P*?M{agGP} z_<1_e=xrU+Z?3kE1=4#Xe*~X>9*k@AF~6IG zF@}%N`ng?~UG}W><&0k+8NclLcgUI?tp&}sF>J@J@3wRBbG|mt=_9iUH2Ht-a`fn0 z=gq;~f3?d0Ctd=t&DB^F*W@f8^ds;)&d2fP*~2aWwcCT60-UMATY`_;#vgia4CsJ= zpIXsx$E$Z`4*t&9#(B1vHHpvBr>nQ|iTu2tM~?g)&!&Eanj7cics+aUyEkInH_e+r zeeXqvD>=Mo8-I64p3d^9Wc}TXcx)UeG9F_X`RVwN%j52C{EEqK^QfNK(_boZ*gJe? z7-zVxo!ZdP$6cGRZ)azI_i^fbrJQ=3|8k%ie_o*W?crS?nwE8FerlRqR~K~Q!QAie z%(s*C^DkXKTb>-S=N-v2wtRQ(F9J<&%~$nwSa0vV`Pko@`4xe-SpIYKZXd{aXK;03 zzy3U&F@K&E&?AP6`D3rREn{u5{O6-S-<0`iuW|AfcZ)zXZ>&CN%*TE^{XKV6u=3o9-Vz3GQ8}Q@;>ZH zKk~PcdBJ|U@R>5|p^J}d*m)d@Rn4jw9Er`_<6Y|KYKF`CvGi>J+VH(V-VRRdb6fo^ zP)ofR{SGs}vE!IO<9r-vYx%yC;lDVH#UXAs%HtwqO>Kzdae?^BF9J<2#XR?$9z5yi z-vj5Ld;ffTukp_(H6>m?RmYVX<4*gcwYVOO9%wAn2=ThF-q&J1HB&AYS4{ki8E8T;L{Jg6J@ zZv0&|J$DE6lHs4c;jusa?96zyo$1!^1)b5<7$$M)Jk&=rJ#XCH<3(;y1nOV!XFR?9 ziQ!`ddc<@(aKFeJ;|QEFXT$r1$Gw4k^c;VB&VB2d47Yv`FArqpw`cj;v-}^=KAd@D zsLwu|_|o&n*7zg`UC;1?Y_o;?QHBleWS~y&3tk?4Za@}a)?XVmk4G{-8t@m$RJM5) zr#*V@>Fv?Mk5Pvh`hD7+gWH0&fUgIq@hC^efd_6=kO-^?Qe7-Z_llwOQyCds(*67|FxT9jD57%rzX&8_8 zvb=RpO#&Ub#gnl{kGj^Xe?4P1PY11w*6Ll8oI9fRUAQ*m`sf~=395rWa_4qE`rq8y zukH*lcnA2X-ZdOK>;IcU>}>db7|yhlfqAx@DKMBGB#$HUfHmM*P>{zF>ba z)@`O+KG(PAY0NKPG%|8gZr+;le@tkc!?+HkHsX1I)Z)bC97 zTd%x+5on9$KOcR6>hGwBPk$Ue59FM)^H@I=U#ep}zoPyE4(5LMTzxQ?YaH~=@_BH5 zpib8U@1E}=>PNj?mjfH=K|cIhOrIHabS_T$kt?n1dol+1wR`ntJ!>7mD&x0Bi8uII zV2|xT6WfdQj|BGKAMnH8N3YmZ+s^anUrgUo`0Fj@U(f#86=%EmF&EkU*o*94f04aC z+w7GSwmUvMjK_8F)UiNpU!K^^y#?0P`kS-n?pyN)Sx@MfedZ+VZS`5cE9lZUEO5g zo4x8Ye`n_Q#a$a;y5jttlUGJYjh+h`-cCCB<$hGpr%bl2`#H1gr?SqTb?-vgZ^`NnlL^9P%2W3GRC zS}XVDzA|e)m+56^CmBB77?6SYzWx09bj#eBf9?Ocux{?poDaPdK1cYArx#3ny+h9b z?(c8PJJYz{Gp*sbYpiYz|Z<};ChhqD?|NVn~xb7>@pI^_On%j5P2fw$y8$KuMJ6*TsT)GSH-u=<9mgw5Q zLf3Y6)|$n`fuMHO*V_j>?h_8I-w|75z1*02OfGXuhL0aU$uyVNe&&%)Ikt8MmHoo3 zLwIu*ljYK|hc9(08)u_hqfI=${&}<8$yGzjt8`KYuoVPUg-$InaM% zP(Jwc`x77bo)y&pgE=?yab4zdce$^I|KN8w^*$|QXFp-;KRJE%+O@wT~kjt9X=mEdWv0K^t?2v{y#PC ziNoIA!`@}nUh5ARzxO+vdB83CPaovJZQ8?C{dDFx20w2bu~7~)yzD2xX7hf0YQ}W1{kHr^gWi}i zUN&0)K4a)^ZGOfySEJRf{{Jw#({1H>cgEYDV;dJA7Tb+$v}0fHHa@T!`xj+gfA7iK z=qnpn1$v)j`d3c!*+dp z-lVf{@(tPJ&nu?B{@gdsUqAI2*{1{^+k+-KfXL8y_|UiDktuJLF0RM#`OH9pz(iy z>~-II_3p^{*QXerxi8Saed@nDJso`hvgokaT7LbsN5@mL*YA9<&79m9PWya+U;a-{ ztl6UvxBus~_PSy1)zeyeJ)1q}YKyKzkrBJ^LI*?iBK;%5_`Tr?nLF27tw5b)Py4w0oB2N$ua5(34eU|fdm;Lwuvgzjo(;7eDKdl|g*!c&h z{>!KS+tQZ@_u`+02j|E>Vd~|`+|O8g`O<&>)W3D=zj*2&n)>FUwi?6NO#9!Ro^3I( z@r$wjMPGmZ{ND|p^bP0FU;VE0=RYs_=65Hq_nbffIl->T0s9XJ&C$E2IN2z_Z_V1s z&!NoAck}#-ldk)wb2#|*`~gk#tERnoq(2ded(`)%k)y9Xy)$FB)#i6)kB^@@t>N^Y zSsTxPMdo8YI;*{DwvHp`wVT6%x}y7~Q{Oy%Pv&%p;Z$_gH*3yZHLc-#{NDAi|MRA= z<+U7rW8~QR>p}JYmB?1Fy~?&mdI#)5Yv%fCzHjOeO#R`hKRWedb?&KC|Fo&UdFnrY z>U~Ei*L$*<<}aH1mrQ+Y^Q)%$yQluIP5rk|{okAV@0j|3IQ9Q%>i@~q|I?}ezN!C# zssEv=|Iw-c@u~mGssE{||Mye>t5g4hssGLNV#lZc=hS@u0+zRa)A{q?^{u&+fAjqL z4+IbWt@G#qZSdN^eg6Ele`oVPs3}~OyC0e6^@R`e=Z*iBpL_HU^m|{qFW3LabiSPY z^mN{v^RAq~YTAFw)IW3T`~Ls^Y5u)a|NT?{GwJ!E&UO!esN>T?>zW_r%rBed%-w+x z{HM)YeSXGb9`ixQ-TSG?;L(2b*!{MCnlKCS=Y)VI!mJ##$q?IVLH{N3~C zf9vm`KY#CcoIn5ff@l9`PxQXvJ1_jM`=Uwy?(CKKXHK@u+11&j^H(MrHS)fn-L&JLSHB$oSoEvoPY9g3 zH)u@XGoASt(;E4AXKl>S;jB6LiBtc=sekd*_wIeiH2?moFaPEJUr+1*Vd@`A-#mDe z`T631bpHGg2e1Ce=g+_MyU(9@N7(+PssC3~|J&)sAnwcK??+7QFPhfz`m6up(eJB= zuG-8cn=cREAN1a-0X9B)>g)HvoaXXnzwhJkXIy^q`uYFl!k`k z19}_Nk4^jke(Fb_$X%Y~h#6Pk@H3k~cNyFJ)TwW+*XJLZ*88UaLFS|HKlnY5`i{eL z;dfp1e&5vp@YMI6Zccw@TKD#hK0YDym;dyI-#f=Q;KP3E!Z+cOe|O>hm#2Asjk?R; z_fI$PB@Wc-KU*R5JCPyF7yOY`3!fEPYj2v?oPSByTIXZz{3LtT)c5@)WBrz?f92Hw z`KkYssejwlf92GdvvTyS)B0~ry;`RCcc=adanAgj^o?IFeb@Is8XLbG+v5|*eVI3R z-t!Z|-hdwWUElh_$FJo7XjPompW$V{`UB_BkMnEthp5Q5#%|7-o>NnQdg@;=^=GI4 zHB*28)Z^T_-h;20=5L?+ubcYbub-dhzcBT`IQ73Y_2uh#rn#D?Us32kX5!7;aBc9e z#PP`geg6E-Ka?8ykw@PYcbELfPyNQ!*Z*Ih=6`C^`;qB!?%dh%=WKoZwMq6j)0abU z*N?_tx}}}^|67^UWB>d9?WP`kJr^^V{bA0r^FYAPuS|VwqrQmo-II=won$tq{y$HB z`BZPUaYe@8_^&p7;|rTdqvyW#PYrP5-zCa_YssD(Tea7FM3*yHM%Pv8dv_krSRCIy z_08cQPV?Op#~+=(K8pVxKf3AT6Ed#ufAeo1{T%N1F}hzj>6+`lB08PL)t60Y)%2eZ ztjojS``4Sl7qUi|yV$+={lta;KJ(i%7cVaAtC+9<@kevbcY1nH*|<69uA0`}J^SXh z^IJJ@t@mpDoT2}#CjI2)>t`nU&&b%hT@#16Ebrb8d%raGt)pL?<{v%veaGK7&HvNX z|NPYVE_}>1f9KTio%)ZO`fH~Cx~Z@J>!&&2`O`P_wrT#nsqfqJ;%R>8)XTGTcTfG9 zssFmEfA7?9O#Q2;{&S}O^;7?b+58_&^M2>|rL(rl{`iG|eOVi&PF7TkKTbw;J{S8-b z{`s<(9=h<)6lVK_{>+;Cw(f1rvE`fi{wzE<;~d}oUYh=7;O!!JQ*b;uoCDq;@2E3s z_CVlGetbZ$bL8FQ@$8YD^*v;M_HkL;6=?2?SIwKlw_~Ph^!%A%Z@^D)%He=L&A#_) zJg>%JcR&{zw*48sE7R`_J}nsi9(A+Pc$^m#`-{Lj`((7nY`?Zfc{26)NXAD4I$-pf zU)~q%{H06WV_sIpdUa&rv0|m4&&_Rf(cH_UChz>;7pS+V1lB6g2YZjDOC059UJpkT z+=o&Re>S@KfuCbJi<|1+oADyh)ai}cT$rShOF?qAqA)eQQ^`QC}8EY5Q z^OSA$ILG#Oxj&aZHHaHrJs4>6AkL>oZ|ltbzW_#!y?c|Suq3Ig8_SUUN*AkdpJG&rm?r)xm7W$BkS6!;5cMKynQF=yde;S z&z(`!(f9*n4`QCgoI2bk@c*V#9ac(Z+$y*(m2v%a~qkhk~_W9xuJ_1l?@% z|Kp>ZFLT}M$mfLnbw^;{JNLwlH9D-(>$@Z0t+7G(Go!mdgN&b@_1m3zR%DzT?el+U zz;zS=4yy7Hl7WEqUng_sv2r{=bLtY$tm5ax!w+ zN7gH|H{+hw_p^|{Bh>#mUp0=%(uY-c=Dx7iHRt%zyNr9y8aw#8Hqgl6_rJkSwmB72uRlcLuGC>dn%&{(aGOMs76k3%}{1Qx4g7Hx_}$ zrr+IZ;_=dl(nV#mzT^6sH7J){-_vYc{%7wola2K92t@F8c;ddH1!^`Ic?BHko?-BWM zXEyBJ8$1#;_x$Mkf6e%z;4=cgyeeR)_v}o@V#LQH(D=P$Ioho0n=+DVWWO}9@3W|D_htOb0RL+2jzHTR$gi~*2O6K$&GmsgqDvff ze_lZLNT8mar+bun{j~O>*sD(WihcGT2rdu2d2Fjka&mWFK<>@}*YZ#qTs!xj1J`&U zFK6z@dQi^SGS)_p#Umd(Y^33w?Q^>}YgybI!T2s@y8PbVoFB@ZZhHBHv!m14y!ymN zpPK5Lc&w@SF>Zb}4tw;dOZ7rte8!q}v5G@47P=OJ<~+_?=YFq(%gdwG{S$|?-mW(V zUlY75`0D|gUrhgd0WQT@ySSnozkJnB1zkIoacEpN_Pfsi=GWbr%khVd7}#iEPWaB| zDn0aF8?Z;Nc6zqF;b`Q|d$Bgj`+Yrm`pM6AF0!UMzcV;(lEznd`)1%)vu3Zpuub=4 z#c_FLoOO;*;&P6D>poNPa4ewnlZSgyUdd{=2j!8zvA!Q7kY=AvIjnEZYv*!Bw>Dq9 zC2KE@68gu#j}5mPpIZaXxtOfe<(xZzDY=T+7B^zSMY(BweYft)-aL=w7lAg!t_423+!gyILCkAf#y6u5+U+_K6z^JtUwJ}e_i@NAG{^_ip;+z@ZWq_ zSMT56>>Jas_onOn{bi9c&iTTB=PScsvi6S!Vt+;6XzQl}oXZa%`L4eqQ0tnt(WZU8 zdn55&n;CA&s!2YxNq23qiA(2=`xz_0eaGaU?$EH*G1_*e%mLH+wshgtvJJ<@|oe1k5y~;XOAy;1mdQffA0;n+LKG?&0C9nz%%);4K#U~ z*FeuTFL;*o#gZtLu4rs7g0(EQimsg)NJK~8uJIB>4*5)#uk8hb+#3*NM z%Imnlds-X06Q?%jd678|#XQ$BpNkLwBae8(fqH4~7a7xuAN=B4j-5BYHNdrfIdYco z;<4U(z#%<%1!9zsi{(V%`YEG^UjApf_LLu-wbO!;V>_>hB<4{~EI{7U{MuQ+>l z{OqAyt>KBS=7HYb!H#L&m=5c5U3s>xcW%#I4e`Tx5ol@$w`xb62LpW0>qJhSRnvS{ zGjd6n9QoYv^U2yYw@xRU_`EI9*pnxXPG|W~7kNHdH-B27HWqQm3gO>#K zYt{YW=5)zD8UCxo`8m1kJ|Fm`*Z6XCz?ZYreDtCBeU#&?`CLwn_EvE+=bU|Y?au@3 zP2XCvekj1>{EWEm>+cPIBf!ayV3f`Df?T#Pnj-g*f25J2M}I0113QaATP**% zX>ToKvTPe`{2zaBgNOQhWyZ$>E&n;o*3b4h+#m33l*xZWu_bdu_V!IOe3E0|CFIne zx4W_P3B>p3rm-04cdqsLl#Dfdt#`i40~@UeYtE_5)@yljcXtKORDZeLnYHym&62q# zczKi^PfvCcX!it{2kh{LPPI#C?}B*nTs`+jn9t+S39V7}#P+ekxvvk8@=5>bXYDPr z&K~{x^2jF*kNhw%Pxz+Gp0V$k=i=O2dbaTO#(+*fRHrdGCr)EAmpfUDJ;;^7$DtIOYK- z^3AvPY0M|GugJh2zQiro)>FT$^_>&XMz9DpJj&_r0C#k1?toax_Ooe`Fv;BU)$hzhnU&nLTWPWGBf2}n^m-stxjgY-EV9%bv!)Go19f3Fx2Ie?=Wt7xr zrpq^of2}1tv{Qkz^5_45NxVK2uMN}{Ir^qi9gRaZTo?z7(dp_e=ooTK{ zU2LcmO`OCL5Fzv2Y67I;ufzuATMuU zvO->t1loC~%YAoB+e=uue*6`N)@b7+}nz_8_FBK8p(&NtISfl%Ru$~z5zpdY$l94yL z3uOwkFo6H9C(3M*}=smvdb04Xp9anpmx=o!$d{ zu*n~d>_)&ZpV@b(=a)0$Iu_9RZ9@$;FZE4~{NhX3GFo%^CiUezBo_cjWoTPkQ-aZl8a5XW!i!*O$Cx-J56+A3fW-JmYE}JDt}CdxDz- zweS9_G4kT{*@GAHZ3MNwFXKg^;X&ueeGZ=9-kDHS8xC6fDc_G!&mXk3ELZi_0}NY#6cfw+zZ&X3<6#fX=+K;A0HuQyEJ5Bhg=`rIog{3O#ed@xs6 zI4Q4e9|>A}87^z~_VnT|A9C1wSJ%CFXEQeU28jFCfKG8N0_|{MUOUF17U}H0qmvGO z^<;Q~9z0Z!c(m3uJak z_k&z(TihTwHw1EsOF6`|S|PhHDBtoUw~Ii-^%a3Q_}V(F4}2nTy|rhq-s#jT+k4Xb z-^kt~aJKKMJHgg^Furvct9^RB!R(8XeSTdT91FC!4c~onvOnlKe2lWMS#b~e=#0L( z!DVAtD^HyE`Qfg!Etco3uwB0S*>mc|Slo2*XDdXl=?3#S71$4Y>(y>bZle5p4?y*G|Kg8qi`1y{W z5&RzKtHu#o#z>Et+$&Ao=Hl)54gT7HMsO*Ae#BXgpU%q3sB1o-+mf^O;CQf+pvCWJ z08RX@d+Tca>h$}9(FWc?eCnq4Mb3A|Q&Vp&NBaZ(vVB`{d7vJe&&_vg=khJU?==BA zO`P<57wTWn>oqbr2i@lz{oUse`}pr2HkS)NlILe@Qjedr5yFH2p5j<~aqz|6HpaiY z>v{HZ;yiuM`n>{M`vU9b+d1;L1sZ?H+|FZOn`9c(7~e+rDqk+xQw#joemi%bj2w7- z**_8-4fqfE__=9J53U{zH2K#ybM^S;_cl2>xB}#G{$&BZY@G>O>ltq8p_d;099dfG z`O@_C>NF=O$v zWxqAl{o`4CO>B{)W3+c5bNADk^0A(=n0E$qj`?pN-)uGJPtRDhCQtmcH_q$Vs`Wb~ z%RhSgcP;_Bn{sAPeEga3@yB|7rrSG5m$+^UT4OzXZPu#S_X_uZ)!sE(mkYJgpMlt; z+ZlY1>*V;!E;%yVgPYybPea_|NW%#%0&TJU=VqSds`K_eJI@tASLJG7)|)H-t;!2K z{Pj7%7U0Ypj5T!MR72v!S8Mh_#yF>+t=?s4ZwSaYKim2FagnK?ttomnKA#Nu(=l7t z+=b@2=XPdI!xg{SB#&o4?GMDuukI}}*81J9XX`gT?(FA;gX8JhS_IlXLFMN0+28!^ z-26Q=9}Wg$9oNMG*2UO6#NR`Kn8q`7tOeDD3upBA1|JB-=;yY%PIgx5dd}r zeY7>|8aasQ(!S3f&6(zB_i|-3&emk(Z7=Rs_PUN|I@!m;6~X*Yh(W{W_|?(6WKNIv&}O&f4Uezi=8QWl?;2ZT=QqA$(88(;P6$&9(7<2}g@znU9)81+6QbN_#` za;;^}+0Y91Pwb$@sI!;}2k z^wp8!^8d@hTcI}9{HpwsKM=4-uK6-&1E(F!8DFgPx1T3^{JAT=t91Q8sR!$9sO>8Q z?POq0p7B8MBGAO*U9TTIGhPoWZ%-U_Io~r9 z(8I6R)R~Oc;L8KL?TK?E@D{X|e5c|+UEO0t{A@U5pY2uq-i-O3z~Sj&N6?(j-!k#5 zyC(;`g4UHBIAe`{wQkNozKTOV+UJ+M^99)?BX(!(`?*~2T+gu4Gk<=?nQOC8-(Sd{ zvwdg#J#tUh=sPp*iBXO34DJpN2mCr4l!FYHb=3)NvM2NU_tq8uxuf>W^?JsK1My!I+!(kg;O`dE z%ayutRvw!JXTY9Z@*ju%(!2}x?Kv6Sr?2mYIs2pBt(mjqZqe=hxj4+Xy#ZVEHFuR= zarKPf>E4^UGkwqO;qHO#&3UVD<9dCTPj=-~p6EC?@qcB;jd3I6JpqoyHR=)<8|vnZ z|CsjqU;7XK3G6?#jeWj-$%;Ms@Sgtv^>Zd6U+_7j_KpQ=^|3x@LtP=l`yoO8$f z7O4fFGoK!)4SVC~jCWaW(bIQk;-*Wz zyT|>k5eqprt^U6>2l>Z0G1YgmIY-Bdz-OpCXzgO3H>2FOk!9n{V#B%rRi80$i+*;* zwg|NGGe#aYTzP{czKlg&<2y928~dGrf2Vdd{Rr>eIA1l6$kusxeMH~Qacw?!o`2Ty zUSH>HIPE*Tp7G&89{aY79mFGkzf+Y{c~3UwkfiKKA~O^3I(X$DP3|vhMS3kzTV-4-VZoP5%5h zaroUExYM|NQ&6rmT=IE5{a*}0?wx!(+wV!`8h`!%!1i-voB8_m{*1NWgRjr#b%B1w z6|?!cm#w9~F<0J3-vh)q;-=Yr+#CJ;!YCc*ugrWcXD`N8zprh_)t7&WT)ijuMj!rZ z=32S(ch7XvE4lJcxf^=}+{wvy>+aI+LGKj3=6akwIlzxvQER6I zHS}PhoeJ0{`w7#yvY(QZ?*)HqPpxXThtsv7y54>X zy4E9qIN+Ps8u`JD@u?s2wAp;z%huL;zPvclUn;~^`(j%Kx>l`QbN)o&y?9-qRo}xI zuL6Cm)~#vP=QCR_zcQT4!90(-5=-uT56t%lYHjDV$1k;G?z2(8|H_mj@}th?TMfx+ z_4-~_y~cE@p+%sv;d`Dl-rz-`(Q`70xn)dxpx3`+)r|d2T$T#tt1{6CL=%mH9g|my@quq1#(PH!fOJ8ySD`fX;C;u8(8q`6B+?r?K3e3-Ha4 z9YJk8Eo1tM&c)ufc`trC#O7xL<5jkHXIn~Ch>)AgX zsQV+q(Ll`2H5>Hs>7~o{&A;c)=kixf@Ht}qqZ_ksufE}8%&R#Lu9JJ?XFS&zsHZ)5?weL63erEM|L|Zk>1bMOuC3dw>7I-|8jfymR}4y8`xcq0QwM z%hgT$eAVVW@O{pO`C|bWqfDk-dTPTR$Mqe78hS9$-6A*f927;?2I?Q z@v0U6%ZHx-@0mDvZv4FfzsT4B%QM#M6JO}Z#eB^<>wLR2cuU~Cd^*>@clYzNHiCcS zeAPH2TX%mw;}On}^Ht;e(|gKiwZ!ie!K(F5e|IcvYb`P#6=+>otJd`zJ$%tOPq$=z zCQy@XYCZ4lQv!Yc>*p+v=XJU-YwD8U&8anar?JShHMZz*ceF8g<68YxyBa>!YtKF@ zW8X#D5QF{oY0QQ(UeuiZoxxZ`;^Gtg^s2$XmZIQ48)FSRs}ASq$=w$R#eO27;~Otg z2fsiamK!ltC!2I03h1BPuJ6wG%v#1hGsat6JyR}6?#DmddRz23k2g9scYEJ*v}ps! z>czJ$-?#XopF<9C?f(0DLOT_FS&AeL=D*t)kC^%HoScwf z1e#o#+xG?>3!KmY&F|KC7`4AYp#NZ?PF8U=)=osW^7g!p=a9dr25jNUoiyevo~-$f zsEun^Z!Rs@a6gZy@6TeAV{L)t@+UBj&wnzwQk_5UABF12L&uZE1B-3a8yti^yQcwUgx^_W=-7U>wf)` zo37P55NN-gPf78 zytVQ3gs-;-@*<|gfm|L5jt264Cis)o{)wFD6TN)gnC5?+IurZw8Mcq z(R|17cjEed`B1>`Q9jcpFV%fZ=HC>DI=9bvJjy*T@YXx^ABTG=jza++j|6JC{)+9~ zu1C4;ymjdvaSz!4>rv$MO#M4g@7#y~+3~Zt7O?-#G1&KDk-3Hs{)}<0XWsha=SJYo z!&B$hd{0ql;t;p*#&n$s=6vx1?3JU4FVEha{*eGzPYdv@rYq;o+Z)IcyKfBCyZ3|4 zs?RI$lg}?Q>ixDr8-Kpyi@IrS;$XM2@5&ggvq#oN5AkUHWFIe!Kof^J*8_Wt zK(j8+BZ2#140LP+a@M<5?oMQ_pPk1u{+1~0do%w0Au-1zzAEcxacAN($-{uVnv17AAUYtGX7+FhIZk+XdGevCpAdjbwKpcLDAW!=O zapIeNmbdPIa*3L!AHN(C-VFxesGizBp6|lWZr~TV!`~AD_=sXr^ z{!A-7K$qOw!^PLlK0BOK1AH0lQ0=p&PTcoBfjG*W{GJX*E^CX+Jl?ja@`&I z8*#=yU(LUDnAeUyX#MhkZ=i?PZST1H5RWtV>fmZ)2zgVt5x^B7=;QW|L z+J6}8R=w^Ia9v;I;b0){F^)`^GJe*%H)DSE+__zwHEj)#^;ex+dt)FrwZzx6L1S+I z#x*(?fwoxwb2BEs$y?)I&lpd1iI47|9O6@-Hw4aU zbG^&-@}YX^5f9F*|3Jp%LeT|$^0nuT#j)y~J98vB8jzdI(oq{1lcjq*S$;#g{Quay z_jpauvOe@o)+93#l){cl&`Q>vl9^dafJq4D6y9NG5&|Tgl0X6t!U`~xlh-9o$vd3-gnKK*_%E;ntXFuW>{ytOK$)8nxYMYEF1@3A0oc%WiBfq|9 zRr!tQeBFaj|6srm#Gd(|$9YNS#1=Ilwbk75z&__m?eb4-w%!5HTl&oJwE*E~(+z<* z_Iw?i#$t}>@|lu--P?F&YN_X*v?I^m8RHi#bYma~WW6PzPmU3NYG)(h|IZ9(P<_-# z@){p|PW$$V<@YCixnzR+YkzFC@dDImfkWJ$<_F3@T6jol|?9Kk<2Wz)p6LXT%v4TkY8}@`Ux29I~%A z5vuIIGoH-cg@NasJMm=!V!QmClV7qs$2b1Suh^lt1#DLzsBys4_8EcPqd3Nv_y}?%!%o z#qY%#`+UBUR&2Cq!^jiXQ*zjKsfm!>w7%Ha`gu(HVuiOpvrT{WXOS@?gAe6tT*S)U zd4YcU^n0i2uX?VjeS78N;^0{D*nkb>s7to6(|&g%J??|~&(JQM=KGwi&pijbvd#`M zSOloL^~--UeKt5p`vPZ%U0UWba!-t)$Oac7%-djfp+p&uD) zn0@v4ru4<-%L6g0tozbOa(G9uJJ<~RoY%iIV266VE|}j7?7cg{vlbxr*u37B{s&_h zS#&gh)$vf|%hh)B)$Z|No)7U6JM(fOZayc7nYi2)Top8T;)7TI@Zj&CKe#;o`lc4e z;XA{OcVBQUsGLLTd&Y?~klCDxFWqXu-81T_PIn($@QGdT!rRk-YJlo5z4F42jX<3I zyDD@7nc}10GmdBcce=%>y6{_H6)$?o*$DXc-l5higN^v)7;pV1A8PODx7dnD>qQ*x zS5x|Hfpa>Z$DZFY)?qo7JNDGh{}ekLYu~5vkItRJxSvn#>sgfJ?}`)di+uqb#a(QA z7u=FQvhTt`eLpUcKXYnaZf*=3BXX>1UmUQAP2z^E^?QniiBM~x&opPjcN?35INP%b z&_mhFSMjFz&On^SgU|Exjj#UjollDZ)vmT`jK4Po`-0xvH$m@9j-kvf2 zW4`&yPDJ)i!MJXY|8jC$pmvZv%88mLmw%f9-TX(*HJR30uVmO~o!!|-~c{>(y6 zs=>82L_41o`&IihJ=OTy^4|(v%lNW@+^yPQTmC(P=C7IN z*-3}?NWd3%-WMRYBKquO^YOsh(6a4C!KDG;NycEWd3ydh`q((?A?vPypJ$6n z{~a~?a%S05{>}7jlQYF9XN=9_u?SH4_4(0zuDp9P*S+L5*Yh09MeW(0zB7-=8SNV5 zRk^hZFRD%3@y>1H&s+~VwMl&F(B2)8Pxj`}AN?`kdjcQ7)jvJsTJ0S7;_tc9KNegU ze0PL2w*4%6MdsDk6NA5(b$Z04>y34$miCbIJz-+Y$hSY^odH=F2jsASBRDVk-QhWV zVaDXH1+^Owu=}E^?;JQYY_1%iFFj-Uq^8*Oy-~L6=U{B1i*Mf-p1JRAz=Pz8Js?N+ zZ3fNLn6p<6^XV@A+>=&J4g~zDU*Zp9fhT61iko_Ad_8m7=lRMv&nNNqJ({__0ekKY zY7^htN~XI@?0ipE8TFS8eDwDmniJ=JLFb*&nqS1$1UeB^%GFFo+U%Y%D=`GE)IMy~7I zFXi8TAwvxB&4#0CZwf~Lej+^M_}#Pd8#A`Q@4vNs^kM9;;x*Uj{;~8cLypxC{bM}; zOmt>y>9_X;XF$&MoqMs;7YF{{5QyE0K#YzDjU#>62T`*m&lY(X7czDQwTGSG7@*eL zXzv)OU&z1FI=B0ClY`NZFV2{(=5MT9x%z7}{+sfLZ`cX!XJd2uH>1y39O_$nw4E0Z zV{y>(SL-eyi_OoRWEnd*Kl|Ud?&gkPpD|sPWq~xD{g3|Z zne~4%bB+Jlr=MIgvzOj?XYa$OF}pW2E|2_=Hoj}J(Y*a~{*gc0^2^x%pUzmEI{u!F z#~gp<#9tf8czxzZJGbjMcl10jd)Qe$&lu#2Pwyi>u4m0$^LNFxkM2MGFK62KD;bY* zvd>ssTsrl|rty)7@1NpRo4!7>s#6T?e|TV>U4LcLWxh4#oOS&T(|Ubj@2fIL#u&fb zGj~tsn)5MEkDvJI7;P{nL)$x2AL^fHp|Q^`+I>^&nPvRsseRhiJ}<3!xLe4+HNQ0X zk>IKS?tusH4}LB9FM<1pkMj6OA3w8xemi6Sb^Vt!mS_6LIQ)~$_k8Z1_{HbFnaA6l zId5cH``@RvQT|tDZmiFnXXDS#7=Lv&X3eW}NMB=h*)%>hwNFSZCh|?s1;6&d1Gjzj zfd{@SV3WNs2x{Z+{o$GM_?3+3`El>q=N(Jyv#7TDxoR4Fmmqg{aA+p?Kj$A~wP&oA z4`gl}f8WH@y1`#N|3=ovxZN@B#nV_^J@NDX(ODNq>++>_4z=vpe;P>Yy^&`Iuin^SL2bd|}(q|G`!){BD9dy5Bv`sr}BqBXgtAFUr{S z&AHb7tgt`;)1_%ZOyGu^Ut5!mrv~*ruK`|sta`{hCi0Ncx3)U zwabDF@|P~tOYZ9ecJTK{fA7p^`FCV&uXVNZo{YzMydz_FKWgG3;|-Z3_vS$RlBs=V z+WPwo`C_y2U}N?Ft<2l=MbjLeZ_C`n)8aFRkHrV}k8@YVC;G>^cV>=k^k*lXY^CF9 zP<#GcKB(57&Xe_%nIHZA*4g-{Ken}R)cNko4mx^9?;UhKlRh@z zJ?9hSou2)fjf4`+@w=5A5>}@YUI8u6rBD+B)Ckz2Fhk zp8e^weY{JJTc?$=o;f-mKeb1uw)d&eL)M=Y2CAO zfz;pM2)wiXKmvJd+V69yLhep+dSB)}XWird&PyJ426A&K5I@@>?907$sHYs+Q_n;9 z!{vd!^L=Vl-KYn9$x10M@6_YzldIm31-0!5GpSbRwy86^HiLr!JILkF-_IWPI_~k# z!KNn$Ka_R4#&tHkLo4HlA4JAKIExHAe&j*cfAlQto^5QCug9k4(~qU!9F6n;F!N$H z`m#S`pG$TJZ29rC=(7I)v#if^_~P*I$WvKPE)CWLXYNFBNAUXKD}t{H-V=Ol@Lj>* z4?YllF!*pl??2i`Z}aqz&$7Oe{pf?!cS;@mT~~L9dJ?yvh>S<3Ra4r=RldbZ9f^}# z-I3k;tQ`Bv($n+H70?JXM{e z+XL};2LELi-Jixg1OATZ#aJD&we{rBUU*N~AK2$PKk8?Lee~Pc^VqYa6~DP0_RZyp zJ)8`>=egb4|5UykWxM@icH1;&uNXWk@GPYVd6x3m zv-IZ@1JBa;$AH>Q2Dl^bVw=5%HL(^SccnO3Ykc|VyJ64&y#X7JO#M64cCXq}Ycb)} z&pgN>7tdON?hk64HTv!GOyLI|{I9+0fgE<}lY_rGye9p9fp^*Zf*;{wzdr-O24i(b z7g_%*g2=+-=Nb0x3GNC$9^e&UL_XsGB4E23I1#W-OxR)W_|zUvi;r%;k;O)2j=p&; z==_ZUAA3*7V(agxkOw(@bMSYjzVTYnn%34H{w)Gjo%(ES9JMzF>|uY;Dc_9Q#BVm; z7a+W#-uQ{`4Q>m@wWnmf8I1Acmzew60K0pJ#~kpJZnEjs;=VyD!6=u#Zx0Ze zc>a9wq2Qi?pU(}*)4w@jD{5}|V{P1Pyd8h{Y3mE!#{+HiphnooCw=~~V-X;^kw;`N zee*b(o7bxQpt8u8r)z?J0sXZlM|k;X2GmBvw|st!v3}c=>67ogUzv725TCR8z~@DP zw)3IBsAaW8rgI_I-YfORru944hFHygW-nRwyEV|(JZf&nIOvNJ)Yq%h7q9xsUbZX( zwrWxR+noA*pP%36SPt0^$ENn$wE5A?19a6!GUsx{qxT>E>Ou?Fx<{XEc?Wsl8}Lgk z_+hNSBj~=-W-_*PZQU>8N*^1w1-|arr&o;l%SZl>d9yapo7gvJ_V|oI58FFWNBty| z9J=r~wqva{zN7Buc7C5Y1J&c)JRzXp9I72_>9gbfU>++m^*yY(iq&>`+RR#gNq6bP z$+YYRx!ND_b$3ubbc1v9%~Sta+S9tW@?`J-8h97@!m0mP(jsw#?(uuSd<{qMaall?TEQ!}1>W@l@0cU8=GVMN=xB}>>7(XCpM191 zODEm(A%@1*-4FWprQ`CeDg11(Mqb;K>9c9o9k`x(e$;k8uBvmg$gdyjzO_d7q2M!v z%L6u%$?n!hTXW*kII-!fjQ0gcg8hNL+sQZ^Ph(SEbKcF!Jvhl{@8LjQz;P>e!Z>_SN z4Se8iw6A3oUb-p=Pi@|rKB_!6;+1PQvEMnW9C=c&;zy3$sv-MM2HVvg`|&p))lcr- z(>$N&@f+`^tFkT!J|}q3cV^hHHtDZ!_Osob81Z3ufXv|+3q0-(`Fv79Hyd6W^zL}D z&j+jaX8ZCpLUS%wtsVB7KM|O3PRwrx;==}H&z^u^YDDZ01lCu_Y1c9~>PL*k%Vz|A zp!awnCe?pq`gDuYqXTqrFpl58oZULxWZV#Rj!lh~SkA}dW1Y>`)ykZ|cFB#HTpM`D zP%~_s=Vl(Kts2?-cU$=m?k4iYlYC^%cQM}+(B=8fpXy3?dLEvZ=NxS(kF4gz-s8cj z!(Mu;lRh!OAlMtQ!S|2sS+zE|Z_K+hK)x8M>F#GM*=h#e8MLmhOP_9f-yFy@-{q%q zbiUUDt@*~yx#9=ee56}#`V553lgA#QQ~veUo4ew8VBgU|UfkVevO(VHvyXmse^8&T zL1RWAJ8HK*8xztj?N*QCBtGP`fz95l8mC8R%!Rh>*%yeLnzd(D-1yeIz&G058gHD& zJkr&Dd=;O$k6S+NT-srsJz~ZGV}TgLHGws`7Ekin(Kz)^d`0HOOAf`)_XF;S=F6Vi zlJ1hP`Mx6Kd2Z(RlJmx(_MOhl*1MklAjV?VF}-SnuIl3t8y5i@?ZRvA*wCKVwR4#( z`2um1BXJUcH7EvbHD6oV<4hoR0)5wM9?j9MRa4Fexx1&a`PR?L^c#2exE`>jbtR8% zY0Fl!jgJPXeeqeC2#JHZA^eR)_t$TGp*F~~m{xylXOTH}X%YG2usQYVZl2W^h~u7s z4Ep8F{dGmq82WCC++%@fv=-04!2TNpyaxg~KwI^GX06C;>qNU5u#p|8atzuW3 zd(PPz(aX5G8`K>;)F#{P?;c~eZv<<>cgJV8@lS1D9*FNH!Kjbk#^s{)_XXlozuB-E zGzQ(zcRKe3WB&L*?q_4~wZ_^$HgsJ5{OcUMS~H_x|0aIX-5RUEeqJ=@qTi3$eC zyZEx8abLy5u2s+3F<;`(ud~VXEaWeH+0RD4lXGWK8|Y(4A|Hr}6x&Id$@iKn&T-?$%dpK%T`& zEYzqm-Hjn1t*bjY5|Fzq;4_=pRvl!(HNn0>49LWXAK&qSEH-J`Z4LOI)Gg~mKIqvD z^yzuk)F)HTotRpC)IEE5PiVh+;s2h2N34H7&eqqBjMoEt__;4&AAg)vb7Fzt@3xAQ zF`lCV-}uP~{bRv{#oS)Lj4`K=T>Gs9-K*k0uK{`dS3&jL+jv(Fzv$blm($;$Ju`E+ z1+NdjCHVe;ZT91b8v^!;du6*5+3L;`bGZ;BKRbLuTKcXJ#1)l)u^c_@VQm{bI?1Dt z4!W9Oc~BEF2F{AJUmMt18(x_HdT@R~-qC=LMS!YTf9@N3bXL}j(&tZoAnUwf z5g@YYA-{2}4|Ca-(U`S;LiW-@Hd5!}VZ0VB0#v){vMxsMLiVyjJQ^o!&g9;}`XZ1I zE$SVlc30g&o>yev7a)6|7~p?ta9$ur^FL!+AH-l0j5^sbm+1bj=0W4{9@rN&cI2~b z5unCje;)67F4g*67Jn82s;teazn1n;a5xZiI1$hz&U`!;yf$FpwSn&*_NEn^@y=*m z=r}K^Tzzt{4CvGUiu}xbcjV-cr!W6}{>jX#32-OKEu!Pi)1ZAkmj`5#NgjH7{_On5 zR`+4~W2UG6ylQp6EbHGK{I&d!0-MP5Onph(n*wUO|6gYRIDXXhGkW^!&pRXMZwI@l zz2n;NWd4Hu9*8w(eq8&u%>To{9NW;t^LsGQ4Q>m_X9vGNoZs^q?RbC2?uR~y`@A*B zpLYdlPe8A^Zw!#RQP#I@BWo__5!uI9_P}3=jcJzk(0Mk$IrC#q@P6Yqy#H#NS6|Mq zdqS+VeBr+{aBXaqZ+aT{|B=0iQ-tK(kJs8aWzJqQ%xgb$Y9BLeJMRv_=N&@3XKMFP ztvWM*FmT_C1rm3Ao*aBAfp&(!J_a31dpKa5dy5_X;KL$7-ucD&m%?OiZ_vAnAFJ-F zqv0jf^KD16$j_b?wP5}Wg8PE63%))0t>8(48b@s08zJ5))+gO$91D(E3yhtA_beNo zJ-V#PlRM#LV2xaHSr6QSEfA=}aPx!W#FP`f`<^Nv#?El@MaeXlR7N&{X|&r|+}*K_yBv_KhK^73Vt!Tn`vUR)&fuZS zBWIPot21AD?>+~4Y+WVqaf7^foJAg=Mt?o0$cu~1v!m{sgVtMf>Adh?>{p!^cS%a{ z)IIrG=`RB0*^cfHdVkU>?`oV*cFB(%c*e5Jn%XaFlXsByfc@mH1#G)9U;{aP>DguP z2y5fG{Y;;F28)$*LZ|O$*~_Ne1HQ4Ho!&jRJJVuiU+b%Ni=WP4h=TewuUj!`toSw` zi??^DUyKa0__PR+c#nI<#JU*6B0%H4=)9;&bTBYRa&{;<9FWuavfH0e7JK^tb^7Yv z{Hi}MndxQR>hH5NcGufKmmg85;_{00#hv}~$uhR#(SkU9I1^-hKSBqB`k)^8M3?6f zKFDx<;dA|KpWG~WwJn(t`qrvNfrv@j3%1if@tsCi+?|n-R7^4ql z%onjz2l9@OZMWo|C(WsMk?)=D{pM+}Gh)Bi8S$J{A4uNSr03)>$8NRr%os4n_>#;W z3!LpmfYic#?w-u4b^iGrc5~YOfw($*l}Wd`+k^K`eX`hQ?%e@?b9_G$MBMVMvBA8$ zG%qH{1AEQ4rp7;aVlSJ!mB1NX*7f&IN7j-|f{kb08WaZVoU1Dl$Q_4L_(TTq{C zQ>ISItWE5|dv#!6W3#H=$og9F7gKX|I#>4Z3;5z3?GEHezSuYKzb$iWyKD3INY?fT zYNIhZoBf;NdnoH-CytANpIRgi&PMamn6=jI6YE7V-^WJ!$=I&;zj)e5PHX=)6TdmN zuccSZ7qK1dc-7ph+9soUBX?D8n@`%7`BCTcMApv*ayYMJxmpB>pZ2TQOM~43{`z(z z{Y8M}wQKr#$8|9^Pu{Bf9qWl4c2?%tAL|KUdDwcn<}K19kDl;Qx-W)*YQ20eL?)-4Ua0;(JBFhswbVbKe)4 zLv!EhnETF_(f38h=ug`Bj|{%^n;rjb@Vj=c^4l6j#Im**X_2v5+-DGyFP|U3A%W1B zr(MBjpg!gQ-sIof-e3_R`4ZR0nJ&-xlr$g+m z)n@it>-^i(rymcy`C#9xg1EK3Pt>QnpmV(Y`aYxft$81NLE818@}7}C>V4LC@1vPx zM`J|(o3QVz&{<*^5@ZW3+DA&IdKbFFE0V>rD*WXZPC!#1?elR&%O; z4rWaE-9h_w=-0PZ{XuXYg21pVM9bE^XuN-dxKZKg3BL zXzj&guR52Lhr%l_Vr37K`{rYB`qmyBun*6;ChqPI`E0&p-qLoTciCpYXBHycJH=Ij zdAya|`Q}p0@wnr}dhQQj$!CvPZMWW-v~6A0H~zDs@zc(E)D0f>NzPcOl~Z4O#uJ+-RMFdxO?hx~I-JUUsnQZv|rb;=td``<}Gc#eET=%6V7%-S@T2mDBs) znK9U_MaKiR=q}~6HL>X3c~AOkfPdPawNFpKxm!BIc}Wzfer?2qWi|ceC_MlKK{NYphut0 za8Y2t7>c*Od^r|~gLa&&>~Y?`u^u$8W3FD2d4Bx6_`y%#acu_A2oQPft33U#9Zi2N zkPCMmANK^!JNwvPd&%nausJZcfBwCO7JYMJl9 zI{D5Q<6oO{x+8rtxinx${izRhg>@O5`eXc1bXV6$Ctc3WcJ(8k;s|PhpYDR&0(VH) zPNd&8@#A0DT5DZrJGu6-z3-UaV{N|2+(v+I%=eY`AD`SC^PyvLP%D=Qdjso@otEvr zbHwBC<>!yx<2__wz>ntaVEXpS(XS_N9cQ?_hwzQO@`rjCJKN5JXA#-g1^+&Bth1l) z`S;i64+VztU{8_9!{DS5IWN!S%sSf%E&uK#YDPzUBYR@3iIB+;6U!`>hpozdf7V%wD?OA>{ndY@MIS z0zQuKFk<{4!pnX>?+(t!`ybDN_hTz~PelIQ1~qnk#k_d3nT@|2S?Y0rAQ$R*EwC5Q z?Ll+oPHaL8SWx>T^gwAMS#@Bcpu)AaqDh= zzuuO$1Hoeg`8XN$4j})IfPHKlWjr}!XL+1^$~1Q*t^5DZK&_}_xuBarX-?@NcQe2z zj_CfN`-~gcdv|a7MK&4D@qFG{>EDa4-o7kA76HK^YE(ns}amp zdTGXTeLQfV%E8`14&NG}`deN#>3)>o-2uH~K*l0K@-HTB7wMyWg3eX$&6!&dA~2o@@uUz}WBHyxk06pEY-<-?PC6dK2O^@>g3PlX)>>i<&tZ^jxSL z#6EG_FbKVBcrQ{H_LJwl9SG#0zKM@`T33JKjKB3{oiFqC?P9w>ykg70`q-Ae^3<_- z{6K&j+wV#L!N8u8$NuJsot{&krTm=N+1F?8ya0cB`Hz>+^Eq)H>ksd$`eRdLwMZW| zMvb2{aC7F@12K~OHwHU`pObHpy?CbZ;= z<3Arh(~NR2${MP_WX#V3Io7w!8~=6&WVMFd9?YCPcgzR=s)_AdJp5(%`N6AWyJrYH z*d{-Rg2MqGV4wK6K8~b6f(_$%RX;3CIb^u~*7Dyy6XcoR=Cse9v(;v6wD;iI#&<`y zSn+prMV~FB&lxW3j!o)MY~CKAOShU+-vP;s{U?HxL2J-n^L_qyO>MJ-&)xHu^w}rR zwN<}1k#kuNj@J%6L7nUu}yeUB`poA^edCe~-hyv_NkA+U9-aeRSpl zZ~NMjcYH@;!)CxY?`F=1XCLZk7`AoYeC^tuKG4;^wlXT$`Z#x8#{W4+FVcQI@LBnz zfm+%K*!t~xR$Vxa(>&}i&&EeH9{GPTXJq96^y$w@ zd}`wlBE&QC!wGI<%7;JgZ{_k&jwh&5wd2#wI>8~nLbB!&fQ9nJ)Il(AIW@WA4>mlup>bDjt2BRKCs^!o!i-5 z{%gWR?plEA@5SkpgK8Ul=~@K!pYQCpR{PTZ1l^Zst~%_Q^V2(@qwA>wzb*-C4_^7$ zdJp)FYDqPeb$~Apsu;EyY{T*%IP)tY}by?*4(dM;|n5_Z=Dx=)cJY7+2ejkwMU$~fB$mj z^xAsHeIC3!{;rZI7pU^c=pKLH@v1%Yh3x4*HC#KKna#j+Wk-O<{68+^vA)z0-w)2_ z?RiolcVwgT_H39dpW1p%uuAsTnVP9!u|Tb~w#avngV-RypID#V ze`8KZzWh@cXYjF!ZSDlI+6=^kUv~$sX*}#!%k=X}F4?qQ9!Gw4&Cj&}S-UDwSFH(s zdgO2`i(C4QniGE2PkuF~$J1w%b?pU#HNK2~v9~^@d&&+zsh8%WYvOw%sEzvM=XLW` z97j9&aJG1mN7wwEkUO8_bK~JV|Gc6uc~KKc?plMpmNQ#&?PD`uKJl-) zGj~OR*nqdb{M{A4;Fn)i{>Fp;QP-m~rpuo3?ihK-9GIW`S39$GMjreu>p;LCxj7t& zKRAQxR-cXHigztw&zRd)^|ESij4j!S?6cL4_12x6_55jU&qdSTG)p->Gi*fmn!~HU z5F5_McX`%#2Ajd?qx$8)`ej4&#m{R4>&}|Ii|4;sk@rk5Z947GpI!buQ67A!(DyBN zzbM#|;NO+@HNl$#zkm8Q)BJnV{+W#7d((e^Kn{E;_~qa?0(;>1)BmG@UusDoiHF?M z$q#3*vEtiUXa6B%WDnl_6F?8_NlV_Z2Z)^RF~)1$^YCRW;$lCW(W?EUEZ*;=k8qYov)nq%>BM0^UVXFzii?Y zyU`x`OL?5ilQBA1J6^rD?bIDxIinp|dVWURww|$D`Iy^g&$-$n7HHHh27M09Yw~A@ z@1pzs#P2+#*4sttuks7;AIcY-FU`#!7*-ZMf2R( zKlyUl7!Hyw?Wqnx5o z_6Nuwv92sRLgq(#UB7s_dU{P=%=1LP&+4c$#C{c@`r8cVb=sV*XKl!nWk!l~%6$y@h%9SKbxr&vp3>O;^9q zNcYt9HvhchIqRxC^*q;gN#^K!R515zyLWK>yMnO>GhF&rdEO;QT_-YLbuN9^L|$t- z-DS>}XblzBwosFKQ zpIH%qwLad%;<7V%uzIWSY#L*wKAZ({8S7>%9%ueO{=>tATIc!afKS~St#j+6Oy_>C zPyXp6uXRA?moyUXaMXnK<^SpFS_j-WH z=L3GN_lCx({5z)g+R;4887iL~h#~p&`y~H7<*7K6H@~|Y&wW`NW6i$#IZ$Kb%vLc* z>@VM1`kR4xvj?q`BPZ@Bd309zg~*!cQ4XC|-+5dg(2d9y7yi!gG;z2qKxE=0xAEJm z&ol3;+EBUvUBZp*5wm}u{#-|gFbj_hfD*vp2!7DB6R z{Mv_TUJ*Zt+s)Y7lozLD|hm$>)t80%tJ=J|S2P(w*SU^)o*MTnvv!U1p z`lx5?UiMRn)6YV6MP8r7p55xn8CeTZq6{JG%f;N`*VgFg)Zd+-_gyC5GM90|TQ_`%@c29JuPZw-Dt@OK(soI-kB z@P7n97JNAPgWxms=XqWlyeat2;I;WK<{N_V4}LeeEp~lDa9`joIj7ExmaXGhzKz`l zS~aQ_o9lzt3*W_}zW-QctFw-OI)6TB9RI{@{G+q+`)1?so{ir-8-L4e{GQqPU9<5! zXXAIw#&4UAzhpLk!)*N8*?4m{e%Wk%+iZNxY<%NvyqJxjJR2XGjW=fF{j>4s%*Geb z#*dthchANdHh#`*e0(;3dd9t* zybt>P;#@n=T5HzSiHGPRxw#@9`)cL!tdRNALat-H#2F}2T}TF*K2o|D>VP3^O%_PJAg%hW!9 zYF{|Do+b8qHfUcmwRcYK%cl0Osr}rkedW~NJ+-f%+LKfJ+Npir)PDZdzJ6-on3hlc zMDA&QdGjve`%TX${U-(Ts4q_aj38F>YW|5qKLcHpzC4>h67;ioW35K4`Ob*X&b@JS zQyU&Pt=A6kQTS`imD9NPcve`iO^2s(?K(7#Yg=oj_FXZplfjuTA!HR>J2cu!zmjT^5A#{E9f_p8RA6@;S#F+Ys?Wz275ejE4ME-uE_K-`SQ)%c2OEbhkQZe3oC<;7Uu zjOEQ(UXA6|Sl*50-B?{1s|#awV|?{AR#(RA$hx{SR%gb$rm;FSzF-<3na1Z&WA$u( z=QLKwH%xtXe`4x88^@=fJ>vF2N;ibzZ91{b$Zu=>FEfJIOt?V}d(k zwDIzcyN8{0R380o?wozTSFdk;sSOvU&xWG`s($@dI@c_O=dbwI=j{P1&jsnr*I0}CYXSZ*2~hdP zyfVqh^92Daj~JEb{Pgj>IzV_lU%F1e^}7Pp^|?)Qz^+}v==1Y4M%68kmAyNCvgH)v zA;WXh{Luh)?|S+h!H&S^{q1aE%V>k=EvlUT=~vDR<%%M>*bW5IJ<*5a3bE;(k0B z&-3Ao`8u9w{^1?viW#c^WbmJ#<(umvqwyKfhMGSR$UPEUef!yKAA7G2oDufX$98qW z2KK58G@gHYyhq@*PYf!{JB&Gc{(SJEsc-z80M(buVVg5Q+B@!LZ|?+ho*N)GIWLHQ zYiuenANkR7<23iB?@FUD*JR(kuE=j3#qH`~BiIrA%8L4-AHNuik$cBCmGZD_nsY~O z2J+1RyQjYU1F@ejd*=3#sg6)%N{&A2-qFtYuCTLm_%X^E$7+Kw?5^+Z8J{2O29I;w z_q^Tdi^HP=Ywi(i#@>19mf!ZZ_~lW*=SVH$Me0V*$n)7k+}MTelc)NAW%}~E2+){& z`{icLE8Xnj% zHrJQtNxhh7kN0dgiTT{7+F`$U5wR2#WbLZJ8hN#o9qiqD)^2_G?u?I6(Fv3COdDUF;A8En9X3^+_CF z6QJ&$=RmEl1$bW;Aad!M^RDt;jO=AEVhbN{51OOuW_Rx=d*l+aolf%ACw{)1AB;J_ zHe*Bw-pbubpWlCd#W`7I{(^wM{Q>H}xqoci72tIbquNDhW8d6&%+}q3ee6QjQJ?$n zvX(WrT5q20q34=lZWCRtqwy?@lXGXT=UIDwz+d#(Ky2*SKM;s1qW^R)p0~VP+4ksw zee9u|-}P7g_XhPT-81T6KJ9fDnp<+toeZ{oj-R+y?7x;MZd6)4vvo;lB&eSVxUP{W_X;w&C{~0LgvVt=Vs%7}npe zH`mt5_=y13?s+cwKnC6)3K03{8vEK)JLY!r%UwL4t8dB}@uU03yom84@J`6S`vde~ z{O))B@4y`Db79nBZfC&mF~02Pe|gzV-~7GQJ0TsP7ohGD-|^jyKlanp9Pmp#9vzU; z_lePt?eg6G`Wc12HwUOO*+_p!@E7uP{duk%+eOwd4(xw=fL7_gHuLz{+x#}Kwd0bk zkwY&UeNuAulypi@YF{7$icHK5C=TQYs0uT zNRPZ-6U<}9-_{METQ3jwed3B~&t+*31m_2cK6=NRaMrdy6KwriICb&7;K@^aURw6F zhWPy0KwS8Yj&3!}=km^}&-b2V^&$p*0s2Qd&FeT<*^BUs<*0){XOriBd=aeLm+56* zYMXpk*4cby55Bn_&8Ic*RP~>aeZOfmkzCez51$zRvHAdc7HUj*f`SV&K z+xcO;{A$(7v7qN9-81y8XM7;2t<5JJJPT_B8LR4(&gx<(oks&S$|7gfLq45zn;WOr z#%TZf;YahBscrH+XGeQa*Ynoz{HQ(ahXcMmH+X5V8N4R=OTkwKe?35aR)_tapVr~6 znR|PH%CjmT_;&>Oza&8A@9zrXajx)uL4eBBKR1VGEx_~Y0O8@^c5%FRTIcWCVoA0< zw07yZIY708p4Q#htf)IOavL-+4`qcLH0;9P62U zwL1FXtf2Zp|NOkzr)JnOzst#6#ZNzeF+=+NsqVS$^Yd_7c;#$wFrEiz#rGK2>ZA5- z`K^uPbN+0(CU4ZUFXOolo?CQ^hdA4FJh(O(fB%V}e9+?G72x5oeOlj#d}!+9dv+jJ z`fAJ`)Y!4D`VXbgHg$!pc}COaoo8;_`1?|SQnpq9;pm^+=KX_ho|$vo#^0~n&NgxW z-!?x;Oq`wxh ziyl0le%_3_{(8&7MNOtHd42EW+KpT4te*?oS1*xVTJPyaw*Ke9$PndGoRZEVGT z>vzJuXIj&u+We9DT$|0anSE##Ph+S>^o;s1&vKl#w%CEgW z;4l8x09n@t>=Y}$A-RLF@VLi}cSA@XCd~+E2EI zTMKFg*pI~MT<#qF&4qod?f|ir4>aCa=c-G6yR+1=b15%smHc@PJ71RtKAS#2==&L+ z;<`JSza!L-)<$g>^REn0>w-S|$C`f|hEVSm^2WQ8-0Jr{-pF`I@FOekJ9VQL*xKK5 znZHl>4tPa)Q29sMU$;UwyZF%>UZlSk@bi`cS%0YZzj1|*+OOq9e}~U_JTt9hx*r#y z@eHuR`IJxoHn!x5t(b^uV{=XV%}ct=`T9xk`4i|7(kH^RiJsMm^$A&+`Ig9bffrq|cV`T5+#0GA~c|vjd%r?(@TM z@8fL@&2@|UB5;r3yF5U2%ze2wb8MOWESB>$G#br#v{ywkhtzHgmfo%I8O{YVXp5t(ckkKXs}`fze$uCXv@?>q)` zTa0VRDqWAuIy>k_Tc26B{(OnEfcQpV-`&NA9ebztL|S_Iyy`x3cZwfsoX305+Q{SV zii6L`V;oN3t6QH}oI&q+Zw{2&B5pWLHfb>23O>F@Qws82;LI>yPg`voMqnB znLIx_*gdt*r?Gfx@o3AZ4;M|Xd(QaMsTEse-veviiQ4t4-8;4Wr}pxx6+?V-pcOmq z)l(~1#z&_1+Nr&6YTcpMpE9*in_B0{{9fkc(Omx3#7iA?{G<6t z49D^NX5;Ukjo&*Pf6HwAp4s?av++A;<9E!)Z<~$3WHx@oZ2a2Ucyl&>*=&5W_n z3$yVDXXAf58^3=x{^8m9`)1?sn2o<}HvZ<>`0HomubGX%dN#gqHvZDt_={%a&!3H7 zld(I)eetLF$<}k(eeOhw>*D7lD~Xnkrv@OFL-kB@jR&L-kFE)p|tK_{E(%kzRS|O7wsv} z`RP9?_{mJV`#mGsenHUrUDG^Yti37N4BXZJy?5^}djfjQknB|2;N_e6><;+v9f_}Wt_7WUrs(?N7}EE}lNtLN--WS7O_YaBWZj-S zVkkM}J~m*t_}L@Ap3&Ai7N@>*i4(c@i5qxBBm-$72Ub@ws$~RfwMINe5wk`rxS%WJ1O^?A`W zCkEwv&NP?il->GWR|n+8^yR;qdrw+5K(~2(>d}~7x%^nrT#8HUxv@BzxkZ4~IG>$s za@5~k&NZ1Mhb}SPk#@96t?drP?V;GErts5K+w84d(9;dcPbB@0cHPVzU}s1gP@abugd{PxCkKzd!S29uCB?F>mg==kZzF zJMoONuFKrz0pC&iZ%qF{K)16i_wHl#;^lw0zBd(fca4~ngV@X##4l@F`4uN?t9a;C z6Xm0O&gV{JBY)(EPh^VsL*?b`$UFA8eA~UOC4PzHzTnD0tQNtu1H>omqi^O%dF45g z`TDiWe{yaZcvkt2N4-?eTKcPWi6bA&H}|(T&EqZh+sRYom8ZWQ->!jAf8?uO>W{DT zCocRV+p~#(o=a?WPq7L8Nywp_Ep*lfHqm`FK%?H#*6uqS|EJ2|bJcsU{Bt|USdjI} z=H-)>BmVBy@t!$9Gv#XeLG92zUX`R`%pl~T%Ng`19qeC8}EJl z-xr7>n|i0yeR*K7yWD4kjkL(0o6KW)`97ev{zq9S%fEfGnfA`Wb5b1Lg=}Zfn*+}W za_G-xHnvYozSei~aXCjoELVKlrbh#@<7W`E6Ys zjK#&ceu$f~H4s#YYolF|{V%n`*B;^lbfvi9ZE-D8h4$JYN5TlwP-aUSZc zGiJs{mE)R!yr?0s`^dvI~E88|!gz^*r6xYbvy<`)5b zdiIW{j~2`SZqD#+wc{^NgE6V#6Xp;>~{Ncs&rm%Dp=M+J7Q_ynGq^<|;ScB@bKK zQak9|H?7%k4x&h91QRw zHZ6i3LFeU$ZF2QrgNK^eUk>k>*Wa1;$}4-scU=FqjGYP3QMQUf<2&y+){hF$Ja%0h z;~>VX{BBH6W_=OVZ}WUU7Krs&$KnRB4BV^Mja!#LVq=J1s5w%b`vUiDMd?exQptayMkXI3d4D6`N2-PZ9UtMPpM6ifi-qCj_lhT zs4w~046KWRmQM2zB?e(z$|w7kl!hu>zR6~fXSrDM?PO3}8V`C~8=i;G4>@dE#V;QG zdN93W>e(o#a>k~yPR$qA*hl90OlE_5xF*;i;GN4pl)1x!9LVXY=hBP|>*Jbzg|%Y= zUD^lpj~#P)YP+aBu>v*7-+jU8Ylh2M^YsY z>Z=Urv9&YGaeuIL5g_-h8mipw#&?H@jf(*Bi?4F$+3~r7Gt3tLHQ(o@zc(nq`w>s$ zDVE0COM?Sb-*|Vx2R0oZ#`yVxdf(FLKH!^p+2iwEWt?pf8@tE-wrbCI`qqZMbc@Gj z!6gAXK)?_S_H_w zC64&*lV3T|-xD|^wM|R+XtSDL547glqvd}iU)=aSt}QY~2Lmz>1!{7~ zgx;U^C)20yOndl>+8_6uKOV5*STNpK>?qV!`&#jz>t)Z|0<9d;t55bKKy2XW$ZP#% zAg*H0j-vruEdP7D?f&{e7Lp_H@GnfeC+Iz9P7Umx=G5x0Bt*Q`@ztNPiKa z#qz&fXH2YD#YG(G8ROCZ7?+E(*&XQKrl0S8)w-+eKRs+|%QklQ}*SNSm7|AW(hac%AK zXJ;Vh=IL*2TaV3yxVt;X&x>PT_-Rk~FVaWlxiZx;jW z4;F)Y9L5;DDf{_M$GPV4n(SE*R^{)Z)EB#oo{!PC=VzU5ofDUbavpjvT4!Rq9?%a_{hzEkU;3P057da%lm#(OjC2Ln0rnPYc~)bm#i76J0EbtpI-s5=lVwd|c* z&F&4>9`@#yRmr@MlW1-A$CD2M+`)()oSD{9}npgm&NyC7ZqM7ZhQzggv71fg`E%^M)3W!Tps{eT@PpkO!CLTv+?(c&?f?53 z^F>_osRy>3-Y;;1jK;wT=M z#9{eb6$|euhl0Za8$d0I5x?ah_%h~&?q5kB%pVWPcDIX**fl=Ax9DM4!AHK(clXer z+w%6TA^W2QJ^6A012+&Id{vHor7sSowpOGPtFXP=M7e@p7+@JCwPpEaH z&o1#mbGvqDZnUd)=Z+`;%7A?I6S1YX#q_1Do@3+c=i6szVwG?6n2FDhRG*y4>(Qm%Gqrouvgr?^T&ovM z9S5_ybvM@`c68WJ2VM3Y%7D$}jeB-x%(l@kb%pQeV$)h$_OP}4*}6Alwz7k+`aG`D zdpLT>dKq<#2mjAi_j>khr@L!(Z=8ef#+kqNUilE?HQ#sDC%NzH2iZ5jcg0-n*!sBa zb*JqM8q2OdepG3Jx!f_D~qzCBPUo58`UPfyRbcVy2%wj7C^ zRkcaC+N}O;S=N@CYF+t`1f85f4!`yX?k)Cpf9;RDrM=@`c6A@U>gnS3O_&J;b1z!@dq&w!8^9bNWLKRd`< zOmi=t+WXVicQNOKcgsH8_`vr1FmLJnP>dAseZfQVaWj1NQ`}bhY2NdnU#o0YUmzyx zQ2$sUUh|lV6B09VX)J|`-R9NF+X8Zq1eXVLAQ$3t_teMVc;US=(4r6L{Yjq=^7aPv zvq2Ua))xV)j>@$T{1BTxfwOZ>HuX%6_oP^Jx@$R>EAL#;z83Kr@cS8!Sb%u9 zuaztI@vAYYzoV{8vwk>uT5xmVv-ax)BrmQ1@%`2vg2aL?C#L?*UiRHnvMV5Z2aWe_$kBqP~@vk`E|dsix2%w;LZ&D^1Q0E-c9o8 z-0|O@-Wz<{44g$ZthPO)%r_>B^pW$s&sF-Cn> zi&5>ld$5W9t760#G3wox?it^+iz)Oz^IT*zf5k#>y5>ETo_*7rJJp>=zP#ASHv8IM zpFSIQ2jr0VV7aNi;&&)G9IUdFyzT51zfZa#Y`a24!dKLn|I_?HhG8HYYQ0O>Ee;9;gYmX6-EjA1)3y1A1GJ`s8R^k7UTR zd9`^oK#S#nKk>den0dMyx8}LN`rR?>e3dJ*=f3dMoOs=wR=no5QW@gq{IgHZ@I`Em z>sMQTH8%3M9`LcNvG?p`Hoi)f|Y$7!&gNBL5E-qp&RR7V@qOo*JQxv>y+A z7yHqGe;Wb0-k=ezM^rq;9G*!L1zwZs-RA(pR>4L=#YIX^^wZvGC% z?+u=jKa}yUf%9dLXD2(InP1Ew*yT^_*qOU2P;YqYEAKai*PNO%$M>(woLcJmO%qS| z;dy1|#ynh~@mMzpr*Tq#O4m>1?|8I_Z)`!|79Y;b-vhZG+!fG?{(5-H6U*BApz?!rZY4hCX5m;dn0v0qKnw+K-AH>bXRsJ?31 z@{HI*hR;PG55&e<@$S2rt=*QnwLmP@EF$CR;E$N`f0a-BGtZ~p0blTC>#}Xlh})F` zd+B;t?mWC(x!L;r?te97Fn=ttm)#!@kh#t`r|RKc^I3j->Eic43eYF&*t>kzU7oeQ z|38DhYXN(|EbG*fvzn291jdjnF^Ck!GJZEN4&^2@J+m3sWJT`Ot1GyAa zU{8z@F}R$6g?Ol*N=bw$60Xx`Fr#yKc$ccA>RWVQxY__j`y2)U>wd1ofxt9j) zW#cNj_R&km+4!=&%>BhWA-edl9_&ZvpY9Wd2ZaIM4^O#0mOMA56*v5g0Ex%WU`HU&_AI8pvnW1fugbqY_OoF#;5U5; zKflc_0)*Edb=4T*=QG}y1meU#RNEiSj>>J0&dXky`^iqkANu*qPCDhwyQ;a-HfM`% z-mM-NuzxFW=PmCkGWSpO_O`Cw!<#|laWZ|78+?lZnd_ZJwlhk`s=fEjcw7JW$gy|A zV{!Vrv}7y-~Gb&*qsRI;V1u` z3p#EJ@b{eb?Cs5*_=}bO#(3Pla&;SnYFc`a?)MebWhs125N(Ud}Hs<06#r%3Czj6*wVW@;5#2ZbH#Sm`O5Ti zue>3?Kc37ngkjJDhdT3-a8-^*!BXp2Zr`NuK@uYR#uT_;B)*g1|@^}}*X4|xj{q0xV_-wfnUpRacW-o4a_n2&XFVycT@ zN-)^DH{c&XTdQ}bFScax?NC5Af8QL)D_(lXea%Ovm+u~}C40q53>&K_r%(5)SXmPv z?RM}z$+$)byAB8X;ss)5On39XUCrTV4;$}I;MgypzBa07gQ?p_&r&{&85s>#4`5ugY$uHfT=n28bU+9G|vyMOttCRXL5HQRmsWCxx0+h>jbagF}VfmhJ zTimsafFI=XiGQnNlIb(fl$u}*od>7>b!pWDJ4apk##qoHZevdIToH&px<6>0uvIL? z?4GIB2e!(KzVii(04~pz%@9;=2~0&&&!(qofF$p&%uoGAif#nA7iVw z*vA$;z>o31Jeu*op!p`VF--RpYRrB_mfG4A@Jk-ZZ9J@>t=_VH>hGNpA2EKs$q+wl z!^P>-VGiF`t{$~3NZDn=6^!Jy0v8wA=@R0M$#LFk*u8bEEUtu3|f zvF$mwR_!@rD?Ms$?Xk8hzMutawbg2+FIK2+bAI1v?%(dUcb=Ku06oY5C%?Jg{@4Hg zy6*d#nap0cjIVn7Q9QvPx;Sx*peF?%%Er%%!hamxlH~pQKuq5j(6t_H1*ZdX_59ih zoMpb2H{GQkHE=SCVMpHu?Bf&P@FO)c%2ik7vYRgZuMJX`OXAbf;I_zCH}?e}4b)+6 z?EFVE_p0EfLGNgGBQkD}3};GQ-F@^rw_<7R8A0ZWU??QY zpL&jON`Es@o8rg^b~!tIsLjtypB}c;qrSyKOP0TPkpGr?%+uBQ?WF4&;aR0i4SC;e z-pSbt#DqUcEZD*?b~o;Gp5_vNZLV!%n($w=2vB1-{(YeCyJMT>%)L+N+BEl2T6$8- zOIudW^MS6~PnVi9kHk#8*~Ct`CD;t?I~nwO+j)8H9)8V0m3wwu~0QT+&NNb084^+XFJ`WbakM(}M@Y#2)+Y zBX9gn&hOq`?lOC<^P@5Cocb|GPv`J8=5(;H_XB=)#%?j@n>Dt34mBP}(kJu3pqwmjioypO5d9nLZP*#)dsey!a(n^{29} z)hF`lMa}U;={Hv9<;~vKiF}UrBbMTa2a(Sod1MbfH8>K;@jF+-btGh%d$NQ6h za_KPtjI``(U3|RvrF)~Yxh?JX`MgcJO28#bC5sI9iELdT*|3mS7j_8 zY*G)e40`^>?CNQrZeunt0>pNE?g;h-J$q{SWdX8}F3(~2P;+m7%$0xB7oR$AuKIkC zpGAOL=cm)ZKhPHJVZ%niu3H0l8WOkKfv0xdoxVJ)oi7dEACQMv-pRqsrsoD|^mAXv z>w);aH4q1NMV>hDVJ@3|wq72vb(L)P@|EnlE%dvO$+zx)`NKIZtL~TDN*-U>sjs#7 zSU{Gs+HwB$kzBK_xpHn^9%%8ZjXql{w>i8fYkcc@@r+=fe31G2;O>BZ2C(&uoj?)g8E#4d(UWZ3GC@Tzz_N2D;xMx8{}Vn@Yj$1=~sWcXW~jLYL-1{)$_qT|I}G+`tkHv#rE%K-g~OQ=fH>Kftbs| zR!~3G0UOPUFT3fGKmF#0-TYv$SS|u2&du4y>C@GHy&LQm^R~B4e7ogAjB4ZmtURbG zHqrHH@~|qdWQ}pA28Ss?!)v$IqIFDUVcUcQ} zr5){~Ycb8K)84gh<@}Dod25}sha5FfKX;QOCZn8`<}zkIv&Q`_$FJK0xj8wtt;Jh2 zc3zOZ&dg5tKx>w~)~z!@*0q7WAv*Ncft=Luo`)lup!S8D)s&hktkb_u}P&4mHDWeYUVq{P5C?zAk(4 zu^HcHz*f554|1yym218CBb!D$#QqB>nRL@dw|vOwRv_MFv4<=?`tD6_(OBD0PyM0e zKyYh778=ip8nAAT4{Vi^Pvn_S|62n-&`%zp#B(m2{cIOIwu|d?1Jv4PoA|5;{2Jdc ztci;n9b3G|f<8A|v+e}cm{uPC1Iv|dd+3&T_I@D$Z$RV8K6bL1Kje&kHHr87fUc4E zj*Qm==Y*|vw!J0&&454F$*ElXwu0KK25M{P4o!39pALF{8kfrJIg*$A2EX`H{q+?O zJ@zgFwpnvekz>sqeZXFE<1@ePt9{4PCm+#OzZdC8+;U8odqw@A-dw zGyEd2{8~QHOEwwSH>W;-$U`6ALEgyo(<^xRAogT87wq7JSg=9-&9OrZw+7;cdN<)E zPmaV5v6t=68JYU-nMHuSi(Mbw5QrJD;~%eW_dT=3z+SS!^Y*%cobFX`;EsCc)Tg`o zWOIFFuXp2(0Ka);Uj5Jqe<&FJWUCtMJx+FOqOsDFu?UcujB6d=lKK4sAFQjvlL2{Z zkN)cB*O;3_8QUZNZw-)mi`_e>R=l@@)^YDQxg6)kMZP*e*Fz3smo;bGp4P|q`_i7} zxpubK0(4t&e;{A>^6z+1pDs?{nz==Q4hMX&)_%HYeBYNoy|v?D`f^A9n*+JLGeG50 zC-xw^#I5gmi}cS2c8@$6F6C5yYm?m0_0H&6Y}vp*-`_yD2lCn&iC1fYOg@P-n=cKH z1n4_f{GOqhsw1R^=_Bio0I9XwqNe2=zc`O;&V)5~HU6GaV$6tB>s9IcOk=R(}&>S@89;jwSz5!-}hx&FoHS^tvrtlzcE`t{Lq zL$GIpdfyX^#l)GpG2n-@@@2sv3*H#~$>1*pe*?&A>>x;strpI_X+m{686MOfw z^CQm9U%E>fFOH1Ir!P;Voc$T^4Nz_M^MiXbb_UggxZ$z4`YN9;Hr|uXbdR#TPi@=h ztnlMRfR}%jlkQT^y^-U-p3C7YAFH3vmxT9xahc2i((~APByy2|2bsQ(?-_ol}Coh^0F@7mk_&zZ?P`fN}o`+99#8E!t!V+@NcKQ8x`Pp#e%tyZQ zvw5}8ozhqf%YguOj$F2US!^NO{CI!t%~*Xo7hgWvJJyN4FWX_S^EB2b-mMGpxi&wT z&3s|=-9gXismSPOvrI2-#!J_n_bVn|@#4eFGj5Hu=M@?6=6CbjcxB5nUZ*EHtK!9G zy6z88^GDY!&$FkxhG&R4*j1s=zmFceIoi_bAkHR0)KrU;uDGYA9 z>ie?u=$oI-KNk7td*-b!fc zfpenu?>&!l+_!Vyt{=#n=e|20A2KG34zgD1v<7kS3~&DQ#W{MNNz}M_*QJ9__p$qT zGe9Q-HsRI2EkM1WzbcB{&tl{r{OXM97VlB6JMn9>VE&5(&##TZ{OdB$7i;75hz|Gs zR&Y4rSL0Pb+1GoQ47JdD@OuRI@uhyr5#o=1eEPb8&+c-%+#ibo@eSWvfVZDP`rMuK z)-EYA=Y-`_fTMa^>#%fq-uh1WEJqZ(jWA^zpMB zS<8>iA2x5VT)#Zv8@*pK^)F3}-Vv|~->Cqf@mAn7wmzLl0`k5+vf0L7cApLw0b)b> zw!$ahUmK=)QPyX?#&wg<+&#(P~Jz_5J*2&_- zD69PBJUc*@ePZfgh-~qZyY)aUZV1H3yxL@&zF7GlF+Ov6_`_yrd~+I?uevk6Jdd5{ zll_R^wP2OrJ2Lo0KcLrVGkV3A&rb}*h4#)Ah`WDLtp5cwA3!|mVhiF!^TKY#9x}b(+oOLna4+I#L;Vs*vhE4&yEy1ty34vfp0>|2@(?-p ziZ^-Y@$p$~=tTE!H_PA2Xio8uHT3==r*eI5uog6)YyvvPg&r{hG1{2=&Ee6E#e%HH zfSq#JSk=e+e=2KYAP4sK9IFZWBX2A4JYb8wy(}RA>IrnPjelCth1QnyA?IvWTU|Sr zK3XilZrexB9YJ$q%qK0onu|sHbgKvU(6tuSw|(ieyK!+2jq%cNAGxnjQ1OVj8eyZj zpvFt=R^?Vq#ysF}9N0=8T?ymzXE$k9`pQ-@v#0!Q5;yVQ48&Dj4hQ6+hXP|d+3)<} zXIFhtBbDtA=)I&y$66%g)QbCTJionP!@8`+*6~`#pP#*K(MQ(A8#M=PJQT#ON7&1E z_K3f|wRw>~GRJ>3>LJ@ZLi25(T6kgLxhZ!S3g;NF7}CMct-!fk1g+=(+?p@^9b<3r zcvjEaa@q3y9Lzd-7XqIX-VjE0O3orc_Xg}T|8-e!or>Lf&#ON^oepjd)I8!_`{H$J z;4D8Wp!1E9Y43f(M}xbA^?=UKeyK9?YC#VN7&-M10Q|!`@vp3G2_fx7~?cQ7nLu6o55J?z4zRYYXNfhI?uk7 zf!M1bKAP(poX38CUd3Mh?+cCxWYnHL>5JVxL2GiAzih#4?ae#HK1=7so}JFsJns1T zH`cXSvJt;?%|7RVt=9(fb|L)oUH){JwRM$Fi0|xwAokOBU+~f3?m!-EgL(B=TddPR zKevsSefrkXtAf_;UFp+>%zt_C#(>P85%X^d-W-f_*xNYBy||zg0o(2f%CA=OpANc5 z{Owr;sJ!eg55Mt@_wZcy825|AOONwJ7v9E)Ts6!u@nUCd^#1hm7oOABdp^lz)BD!8 z<%y4ciHjJBEu?JE*!__yex6D0 zCbh6Xz%NexIUUHw%htF3kUufzJ#t?_@8S}|wLM(3Js`vY=YFZ7SKZqM8%ddYBB z_%^>=#r9>H-w4iE!~S++k#3|r;H`D`1{*P+OG zw6-~4VtGFM#``JkOPg2CjrUIZR?W%HC+e@lrb9t!OF6WN1r5!gc(UE?19UlAM$)Z&ll&SV30 z?oUkjs2WyJbn(wVw$^{Tkh%J6O^ncqK+Nt4+ZxfXsFNlXVZUTb+GgfF7yi_t!nJ78}{Cp4qPM#Hcmgbv29lqb?5x<&meY zV65Nmc%HpS#NIP;#C#9gt&hsWqXxe@MX*Tw(ZKIm{AzGIu=da{YwujK<~*t;K8C$wYZ$3+(1=4-S0U&$|| zbe!QuKQsMJ2Ri$1v@z_#^J4?gH5t3x=RALJ;Mt$`-btgb?;d#g!*_Du2Zr`N91CgZi$8%J}|it^4GyYyNHm-jvjGPK;kO%{9K}?#kTg z+lh>u^Kt&^!#ug}Xu8O_Bx`c)=Mbp-$NCxjt9VD7-kyJ-r!ge|bs0By#;?eDwC#&B z9_#bw+4w-lmt|k=_3!`ip>ex@T4Vl)^Z(w8S!1WQPkYnUclSRxe4`DU8S|n0>>=+{ zC%)EtrY^cA*cTj_`g|}~JFlF^?mD)J)pusEST{cF z=~s^S>Hx1h`up<#3tyJDaS&rXm5bNddw}){fxYhPXJ#*ZdJdc4#>}4T`A7MtY;EU{ zdHH%z=EuC=obgy&Kal?ik$w2p;$_V`Sq?ff&Qu^gIjY;KswH%{%7ruOEked?^OytdUh+DiUn+V`BPb+4M2TP+{7 zjqhF4_=Qtjz4fCt`IKqB{v4df-sQ+UJhl81x6J^lF?Wl7?@GYE3;go+`4aku?PghT zTj`S_Kj?uVkHLp;Nh{XQ<kNBZj{2Ii9|pYUP_x7w5*fE(~DK`LU0UbpA;2p}_j% zgSGT4gKqx$tbr=;4~DNG^X`o2xP6+lZ?wzV-v~|zuMha*yrIhfz4VJ)BZm&{h$l~D z`$qZlx60;U%Y1Qt_5!)>YyDkTEjkh09ys6PF^<*HA6egC`sVCaTfZHQeHjlTNmhQ-9cMZIt_M8KcJe z%hE62ll};@jNdi2Y0kv#c=}Ha*s&3aE!*s|_SE3oK&<54oVDt0Znfs;V6$^-UY`v4 zecf#AzN~yUsLj61h^soA&pCHuC^iUB?OjiQj9c|S7h|aQyYmWn=qlWndG;gzx8_?< z)nA#O0YLve9`iA~y3gHuKG=_EEg0>PJGRSH*W_`ukv;N^_~BfP>!&i_iD#4_wq=dX z_jj*n&bwpW(X?{82++O3sAGQb%jFe;nCM?M_1VgAt>+h8tgi=n`DtBSfA*%&o;?8` zu`zcl=sY{WWd}R6w7mQ1d@!KT{;j}%GAm1e^u^e{$#?rs1V~#y$lcESo@KuFWlY9e z@TI}~1HAAB0qXhT_&9BJH0O-2;}73v(I?kcU{KLC9((KcZBb=(~{M_e<5?b(Bjtxy2A2{MZ|?-Pj#` zH2BWw6?eMFc+f45;#8UR+w+%ZamjEw|Cc9Omu5Vd#Ws9mPJ(-zj_|sbh6_}fPQxRe<(dK`(7$15wncl zUrXnFbydIrdU)*}>+*lQfc@fOpZL;CUdMd;?o3|Dd9p|D?D-q#(R+P(ZV1G@ac6h$ zlvU4Cxmq=!>2vPv!zM!f>Y2D^IrGRfp?1F{@OilB$h|<L}`L?zdINxhQ?Q@oZ4L44G_K_nF?f~b2owXaU+9ZdqwK4zf`pI9(-ERIzBXw%|9tX_Opk7 zJum4lW6>BIi%IWEwz7#1`xgPizc*-(za)L<2UU;fmz=vN@K)ze^47wG?5{m|+ZR`B zY-=XzWIT4Z?`au-ZvtE>b#6Y$L}VIoGdt5{7f`iwu`F z?L9`k)OXJ+pZTO!17hb)b)M~wU(GE7w93BPv@h%Wbob6- z8&ZF@uQ^&+2$9K-tpML5K;wM%n&@7ruz1vxg~*t!RA z4E6+kVq07C7Xexr&K(H!S)mt92)tH*w2o?cq zJh!I4ee-9OIPVWClRh?*Y0VwRrhZ@KbozW0<1yFn@9IC6{(3;h9RXqs|B(H7Jztzp z_vyXC+%{)zxBr)K{?1J9d~QAt%hEr7vX2fwJ6B&~r*#*qDgSygnT4FM1@?9y8TN_U z=wt76F|^-aIXVzHtMyH5zd7*~6L*jE`h8Jkz5lMqq4dSe+V`(mqhlUJ`aOT<`Q-y! zdan3^hpo-4Iesky#J|>k`I^J6X?+jIkQm}86Olt#&*}@(2RgLR3)GZzdDAq0W?FGX z_B*TOBJDUnkuh23`G((F7h5r4cWqotADI_xgnzsfj?BgfF@^A@T+V#{|IroCou_8~ zP*6Sg^sL^Mz8oSpn=h|;HGbXGwJe>9!Fu|qg7S-N3BooU%X*Eddm zzVNqg>+9*612ysL0rYpgf9kKLWeZ+%76JOyKwMkn=1vCX>wU+bFABB-_Vc4M+17eo zq>p;m#X&vbL5;~`IXcTnzd9vbY%806;w*;d$s?P6=GFsq+Wz= zzndF5q~}OL&jUlv@5`8d>l}?WpP_|mc82|dR`Me5Tq=YpP$(zwsO#1Zl>S( zup6EvI@d116=QrJp05!h%q%W@Z(|$I+KHvkrPYZq^0-Uq)9Yp-lL%~*1Ib^gB>U-@s zR=1=5Y((r9hed#DBf0X2+ONK~%LiUS$Ye*mXya*5;G7-7<%T47S zPoK@zDNcOe3cB}y)|ru4#D?+A9Lbo?Kb@M9Cvo7@#?()j{Q@?SrR~-2A?Ngr) z<9AQvM{|~5nLT21p=as4r?bRn^=cp6>!Wxd2-t&%y*(TC)48G(@lQ>wo7Q5VN$Z&- z%XnUk&&Zs!)cvc@5WQkUuQPBYK(C4qY**u(fn2edFNiFqF<<|NQM) zC4(M(Y?zUmmZjOssI z*OoKe@su~jh7&>0sCp3(bMo4H5j#YV{;8?Y?$*CPoUi`rqDNiQ)jXIJWBb28poa}N z2ILz5RAQtr&Zh%;yFVa9E;a-E-T(N=_f8^q{C``3@a_#fj}8Q6(dCZnbA{Zw?Ak{j zd-!0#nxl(ewrI__9_ZQ#$}jKiJQ1)<9)Nsp-@VCP1vNCE?>i1#o)oZ=j?DnEi*M|r z$N70Mfq48h=j@vo8<@w2{p9gwE1(A-B150;^w5oev`I{M8;d8o=y1T+wV-y0S#w1G zsQ_R1wV$aov1}aGJBV5PJGEh1?x#!bu;JohH~Cj(9msEg-qL3diPI?GoLaEo+9E*J z>HXpVOz|8|D@Tg}-5d1$i324a z>X;0?YMjljfwtuB59p7az9Vzvym&n(V5`1Z_Svg7Ru7F$dDZ;LE7o(~y_v&D zwivS)AN^YTtdVJr&uZq1Y3vz`w|V2!u>g_R{rK#!ooaz@vgMOqVletDKcoF(KDWQV zUPxT_WItP5vsb6T74VZCe5$_2S8mz;)Bw-rQ_KD%!CG+h@a(mIFyI@%tlK9(WH;9C zGGlA%fe!xL$EL$m|J2YI_ZtE-@sPC$5dTjE=8gx)0(3gy%OXJ5@$q@&6I*Lf3D{yR zXV7OZ``oK+w0{vGcln;c{J8(YjO}q&FAm-sAU|6{T~{Zl>*SmY#6S$U0(L9{G`^Qu zM|?RSPxY}KRiApGqcyxpAFa|;oA^VgI90A%F<-gjUb*UJ5g>c!=V;W0S3K#`A9bB? zUu(o3#74DITYIk^3j;LI_T3t=_lJUC2tF(8j}6w+uZ*7G-eHx87uEwZJ6_dh`5e1? zPoB=acQSsf0aW>WBNslBIV~NXo459jemlGF#<|VEojLfx)asMl`LWIP^4#2>)}7Py z*0H>Nvj0DVnNV=X!3IKwk>p~s!AKKUqqY_Z4MQvb6Z)3mlq+^Wlje~qPsK4GJ z2hvxc^EqcrK6?)E)LwC16(_!cyRrRMEt?U4$xCj-T>(YUt1JO>y!*ApZLNAM?q-rvz%CXT*AIL0fz2 zqH|ABo%(Z~W9-DH@%o+!hQ>?opC7y{xGM9XJFWY-q}DQbzWD$B@WHnSWPUL19R4jT zb7-_n?XL&?ep`TkB7FR5T+P+?_hbzo41Oe_Pdnnh)7ZXI*Jo#}cIc9Scdb~;`)vU~ z)jXfs<;-0durDIde)cA zJtqUcX-9wgXg`11Tz}0wE8=u4us-_kJ|1m76(!^NMH$n3B50kkRSiEkkjLHPHILbI z!f%cadp&Rb|AOOqV>bS86E7S3{Mk%j9{I(t`-0yN*mYHatcjJ@*-{su9yCtkB2L=I zwRa-EV}aa^@v7}~v)y@Od&ig0Z1;ZiXk&C!o5DIR4&@@rsccuzOtp z_ZeFk3$n*}sR?i%ou6^vhi2oS$rv@~Kaf7WJNWq-=rQ+GQ=8^YzSyCD>D>rcomaKX zA8U(%ZDTHaZtGKRT6J#OQe2t-=T2k3CPm9!eplLY{Fd3+_jB>m_h_G?o(D*+@|!RG zW^3zF&8f%UQ;$u5^q0;tH=fU_0nglIJ2qpo}B*qKo=g=ec}Sv&WE+|@Uyk6 zUY;6U7s#n|*k_+Ud3f!a^In}fF}XJ&xBIS7|AxT+7Y8>7d{s|R3DlN-*5uY%p=bPk zFf}PwZM#o=j|JUxNBXF>;T*X8oX_TtZ1w2wai+x_51Y|LLHD=q&qwgAlEWWsY-HQD zfjLB8V?Y<8Tbzvbz3=Ofv2}*r^^JM&7;!ru%-5R}>thYK|8<$C%er{kuYXG*2W&5n zrH>ZNuiLp~2OBHT9ngMd%MaP0Pek` zx`S(v{Pg{nzO`U0Xzo|lCmqd$nDKL!?PQ5>YoM`U%lUMuwdx>S+~mUFH%8*#SkY12 z=lbxmaS@>M(LbNJckb`WiBCOC|Iso;DmS6r_H`dtDwZ=kh#ds@dKiwr?b8u={6XVgA zzdqRFzGaKN;Tv_WW!y6;2cV|LJK3JM21wlPk#DuG#^jJs&cwlhp7mfWV7qa3*!#5L z2ctx+{QYBoHYQ?=r{{}q@_Vj~y~BaLZwBV>5Bh%W9MSRK9dxKaI^DemIf%XXZ%uu+ zqxvXsWBsygo-^?lCu^;NSEO&B`4a)($G^GE=f;R_K-U|mzCH4CJm9bPbU@xBK$iwD z4sH#^AH=A(w>HIAoaLBJT0Wb@-`JDgI*=dz#{~G;@L<43X9K-;yII=FU%ZbG*fIB+ z40Wu2wx&LPh;Mv3Vi5YhAG};sDrx#zNmx7z4K&T9k6TUU&|Oh z6xjDe3HZ^pd|d?S-k^5@{rsxm^pHWXvv_SlN9Rtb&)-FW7R#^a@@{4Ba6tC;!3}|0 zXgpV)nJcqif0|2eb1M(cquh#fI%B(iwdJbxTR-WZIq!J;&O_#A zAYSTXZ!r2p7y0Cj|F(kt*4SljJQrk)alm&xkT?3+Ir6M!TtBR#g*~Ozg(K_myuCCTk$*ko@{1#g z``?}V$J2^Ubsb3Gc_L??H$OK;_O#~SwVc^Lm*lds=hZ#&&S~8qzTw$7&Gn4jo-w=V zCKs>RoecPOB2W|NH-g@$qaOQF{iuESZ%?1GxwgMB^ZuUTHEHLddp>83*h0q9;P1yc zy!Qnk4OaQ@o_DwXgYb^_ntO5ZM)N_j`jpwLG6pWGkp5=TEllwV2?bD!TSckx}WT42WtVl)GWQdXXvHx zaKM*SQy*Vt&>^Q?yCi*n{KM!YYyAHJ#F#Ger&~P3cE;aP@91xB;EO(676D=#-;r1^ zbVB1ieNSD^o~>E+VSaO(*H^D(S)=3l)XImsMSz-PwvYWI8QcHM!yQPDIEsbyeMR6- z6sIwU_>kC=gXaIQpnZFT#-o1AAzS!=DA*Gq^XhJ#XTuGFy+AM9{5x!HIuI-ZB!-ox zUPs%0d+<@Mi{t$Pd5b`tx zy}kQ>GJOyytvhHlcuDZ4;5&ow4SqO4_Nz-WtE+QjOfOj*0sG{EKK306l7fqVe#kFg zwZ{i^GB7vh)7c@%S)t1sp2lmDK2oR9XUaV1>}C5-cFKjkk%6?eTP?hOh283QD>xmn zZxQgNxi&^>Ox>c|&li5sDehupuIFCd<~F=!g$?A^2KB7F#hV_r^e8#QZZ7zqPb{;)^`1 zSM9L?$uD01@tX|o0|7b4cLb=h@SLc;&Uu%Rd-u+dM8P;O){Wcfi+=}`ee_*7@rd;e z0o~qn+~w@MKj0%BWT^c`fcPf{*7^*)Cw;!{3HX5L^?`H4maV`#{pg|XX1V^AQ=eU8 z+}7Tg?XcFn@fleM`r4njY&FM@6M>wJZSSl_=FwvL^=zx|4h7CD`|a&Jfw&mUG02PY zB0!7f*R$=&$ItnC$JMzWp1nbJ@I`z#0`b`wpq`EDAKTWeJ*^YFM;zqPKmzoZtG5e=duSd_iKNCdPLHu@t}Niwv>2G~heR zKh1FFd%9%NE4Oo9qp$UiZT2hzWS$PhHoB3xk2>?u0i2_g-{i1OJMw;T;B}`R2|2BRpZ$oBU$g9;tresXH@ zygWc%Yujhev$6*A-u}FO!nDTzJ}X);i_D?k(c(wPF_WRi^6R5VxbVk$1=(}mQ*DmnZg@0a{@CM)lvK3ghpe!q_Ox!c-UkK%<+ z1Zt@5m`gDq^UeqUiP=BeA!b=Rr|wtjsob^;n?kMCQO}R>qUS<=l@C-Owbi{!=Re*> z=NLovgv5v~a=sRb&p+8k2Hqoq{O6wlI+OD&GM?x1K<3C-o4qSMYk*(p!&Z12&r?G` z-Cggw(^-cxKI}#8XBR(zB7XKR=0CJX{^@MZ9yIztzVA2-8v(ih&unkyW@(wn(T1NK zc@flZJ#{0wbSuV!+E;&>q-hb#>1Zb3{j$0@6)o%U)8=Yf)u^_MS zB771LEj#6J5g;+*cV+9N%F`#WcfI|U$6m5pTUVstvr&2MsjZcLW9Dl2KTA9^T%MKA zWb&P54X$~VgY zn=8|Aj@>hI92IBIzZ$i_IaUj3jA7%aK6eBAx?UNz*O*Of0Y86c2S3NW?h9XS7suA8 zxXRnHU|yf&{?-EDc8VQ;@u@kssXMjE?gt~Bo&&+z+TQ;6SuV*OU-8>Zjy^qNcRF}| zFxJ2#W3-BYH@>+~a!%h?pg#4*s`rgNH*U>&zZX8n&RJ{T`GeRFXZ`(@Wemh&4!+Lk zGPT^#NAZyBpWPwXSz7Y4q4nCiQU9ttgYH%H_RAmt`8V3}{@5X}^SdNdXYPn=(l6*} ze^qPW7%L~qSy~0M#yf>=$o|pBpW7u?&knCVX!W{o*cuI0NpK%L8`t zXKiZ7x+3!fk;9Jrf^jXwGc`B*_KEmB_xF50|3GXQeg35#eBKJ*tAZPXuq^L@FHVa# zf{cU)5&$oc+CP?NcXn>~>eJgydTKgZgne%Ulj&CV{Ya-Vt=7V^#5t_nc1j+*VO8Z zxtj1!@?`{v$P>%vOMO{C9XL1N9DG+GCu&)39tqG-=DixznhKZy>5{At2253I{Qa^f8YY-ef=Qs*Jkp* zb0+V#JIITO<(;So-TTh<1n7#ypm%~f z=jXD_k>PIQ57}aYk3My4u4DJ$wZY`#@_WT>F|M9p%>QsXm&ph6oc9Ak!nc&^eh~wE z`TBRVmmPc)v+`LNldm3R)4Lh4SKP!Fod_z!XFfhu2N_>7lW|?<=s6Y0?Z3@{z5FCc zUPk{84*RV)X7!OD;~i!E-+piVF2e6V5XXIi9Itq=lbA=fE~5vNcw6f|3v#E@+$}84{Bxf-~OM-9{TFP zcsdtst$e=r?@)=oxZ|;Bm2NQ;`?~{mh14+;SGH~q{rY4c@tNJuyWb~1ly;8VJD(5h zvd-ij4?pBZob}lw2AhHP6M=fQCJu7JcKYq9e?O8q$t(ZWt@oZ^4};i@pM%Mm`_ucW zHsE1{oU`+2@Een?@pn6qWgag(?+B3ii9hOnXpF~QcWUa3AssIb=xyA`b-vEm`StIz zflXqt2++Mj{ZfZp0iE{+e=ay3@TFrhwQlZ6V9)q>tS`-2oXN2l{{un7ynNoU*?Y}h z0Xtt3s1G$vhy5=K)R;c`_O#9x>7(A+_Tr;Mf1H0q#`OG~=w?sfzx3(55WCoaKD+2$ z1ZdR%Xzj9JKGpK|!3_b~NIaey80&xb)IXjUfDjH74TiY$9{%Of4@K{L@t+RtX-uw2pB}zc zw)m(iGRfXe9(%X_-?O~?$+8cf4BocvZO63ssZV;<_bR=6r#;r-td39o`^3K)rRTf9 z+2?+EXP`gYF}H`mg?r&0!F9o%Q=k9V&5vjOjTs~I#81W_o3DJ;&ass_xp0q&Pji*- z@>%&Rog}LDfDfGrT2t!i?IuHHRHpg0fX{re*KJNRCA93%^;REy5nlc7BU|md z+jiQEhds{dkpR6V&ztg-J~w^7T5AsJYkzJ-_wk|n#i(&q zGjebwK;z#ruxB&C%Z3*PcLkRObjpMM*544Q!TkYBh|c8c{`AS>-{}dpi!A<_zcnyM zo@47l`RHLkx#CKmHTlPTUEqv~gFH13d(sEC-8l8_@B30~#+V;{pTfT{u(vwm$PHM2#`GsozP1Z@(BEW!PHkD z;$rTO0Clcy-)qz(Tp5VpDjb^T=@t9h-~JObC%@t#9@hqPS$?^}D@OD$0<>6u-Ih1* z6JPw|t7TJVEYe4d<=3-otK>F6>{$ueKSaXu2T`7aF5WV$zk+NZ|ks{V9dEuvMizbf-`NzaV| zJLvhZ=${TAAFKz9045& z-#c$3eKAm@s4=fzZO;_mot~*;&TiCv(AgT>O22s-?@Ro>7n(12{@LVfPg;Jw)(TF@|FS z;=8?k+i9(~lS?;y#(U_;Gv+hs%Ne=P30@m~Yhdkf1>S`}5=HVger^#XHsB*)ZZ`sY zP6YCOd%#wA2>;bBUhi`DiuY!)2oM`axhFGzG;-;o+dCXRVn+W?da|_S7jLmjznEMvLXw?YxP<`22@-j;7`NB0%>BWSkBb0opA#;>BMreWMRzvYQY1?PK>mUSiTb zkSPz1)2K@gTpFm`Bf*~Fj+`BN=ey5%o53P*9#`38p3fg|O?XzXlG~b)8+OtmH|nXr z@r7@V8=LvFN}igKxBs|HU6Z{Ckh-*|=gOHvY@oxvkDvczyv1@O5WAl3d(tP54{F99 z@$!8X{;4Tz>?V`E<3Z2=B7Ibw^dAaF+t^3es{?)e)t2LgKR@p*x~u^#`@P><}} z47AlbuLU(>O}hxhy7f@~>zUgV;HxY))Q3g-XtDgdZJ)JOe%U|DWq7{}Et5f#4U-7B=|C9yy%KYbfnL5L-uU`9e6!upKKj}CUkp1gZUEG{L zof|>@D$o0e+Hq#_Aa>YiPA>T9ZurlWjpH*WvT1(tn8~ zd~iMvO>mc3``y`^J;?qefiu6;{{#8a*-Y|<<49LsB5GCxt_{kd-+$%u(q4MTUobHTt|Jz z;X038_hP z`83w=|M=PM`mO)(o&4WP_hX~Oxh3n;pnm!Jk$bRm9>{oHUu0}w*KeHoog4OuEBt2c zdF9V-|DGhD)}wEc_M?G1{MBHT``Y|GY1Dfn<8l4w+4xuTd++$G*BPMqf$03D{GrQ@ zUwHW8*96}Y{Alo7fn3(^ADi}f{I@f{Y*>HKZ2i?4t8eG4d%h#TM?Tv4hS~TP8MD#8 zCrn!lWv-)r3_uBc;z3E=`OVi#}d&s^q|1i>+tB-x`+}QnQ#-AQO`{jo&e*b*t$9TOu zlwSB zmATRGe~>>E)Y#A?f3KY84o&;a9n9Rg?+5?$_P$#Np0{MKHA2?t$CV%0&h-t$Jh`8f z`SN9W(KlqQ6>D)PN1mQG>3ilhXYcRjm;dQ2FF%^Ar=)NEtf}>UH9j`A$J3I{r#te8 z+sNo$AnsqAOA){KKlYiU^TF8n;mJnp&GD7#8~d!F_5Bv@fvIi1&h5B8>*SNom*0)- zm#1~F@S6-aH#hrZSA90eu805q!w>gad0EDueOE_d=)W@6I|| z^tFEVVc*m`_s09Dwmx~Dm}ifcy;{C$pEtE%n6^6A#;R4 zKku!L{S&`j+xLZ2`--W3Ra!aZzt3WSHTihS2e<2^HU8qv+k0>bgw>Plw>DlwlUwQc9e;NE{pe9?xr_*mf{>g7_$Jbspiar+pt+d{M zE=`aYX~*}U`F--Ze|_$~esjk3JuhI}ok8_|YxFf=)|?yd3xe9fhi64bn&o@N_-y!S zeo!Ef<;C-^@HRfbwqkuFe;|}U&&C`Y>+OBvH*T$vBYxjL%|9-EcSoN!{PKS79R#Tr z{rZHLKk`BrU!Iiz@y5D&HPTpoR^~68=5HG2*E2u&@v86yQkRE zBd6~PKi$qKeXY4$(&t~t^|AM_&n5QtS%ANCv|l}qUze6Hv3b^{t9#!#t*QO@{OTk9 z`j3;X>>vZ*H-?Y=p1;pZ-64Q~UK(`?jfl`_w*ZYHyy}KQ*;qHMOsu+J~n0T~qt5Q~Tzr zeaqC&^?YOI)ucEfHTl-y8NsK-xi3lkkv-e-JZ>(yJCJAfVa~JgvZ>#(+~HHxTfyf9 z-yf#Ord2cOL?G991Z3S3c$ZuY>=B!&UcOuXqjcP*#+!Wjs zh%uYw|MoyU^e+#{WA|;-m@Z@awT@R^;S>Kq8my9s*FIEP_Mplln=E`}xhpG+A8O#f z;HLw5kw0XOUmJmEE8ERAUr$co+S7u|60~v6*|T;@z>e0+DjxeEx5NG{E%W6Je6nr+ z)E#uP`DEbzgzfIG*7Iii?EM2f?9I{{d*x7llBb_7kBGBeIT!Odn_Csr_xwX7L&9V8@v)BAs@A}TBT-kSIYM+ts*Qkri;RBwnX>Km#xhvM`WY4^AYP0pv z*ddN;R_x?`JcImn?k>*Bz;jjL-X-htkyV@RsUCie8(%q$=XrG3@Kaozv#_4I zFU9G$K&`jm=cDt8>?u$CZ_XUKY-E%D;MsRw;5@V*%+t9D(8y!VFaFkU`;hxl{@CtZ zUlFj;`8yKe%ePd{{2m~^@_%V?V^BFi6drwNtk2HV>9c7wpyQ5Ul^yocDGy^U?Vskz zWOwgq{9;u8+CKW``Tq6*@zFEkra(N|F27gBI5H~V8LO;Uq|eWBebmoh`@T3J|3EPE z_Po+_^$I;?&;2k*@BUzvHR^SjTf5LW-8S&ow=qs^AglJbFaJC7w?5g?zWBZ)a6i5^ zK+G_LTtMWAN$vS$%vIJrZ>?MJL(O03##%nYh>+j&x-@OaKauh2jQiPk z?DJ2K@a_q|JG|zM#ra!jvc5KBxfhe}c}3>DcXZFy6Hmt%WlTqT=<)9@8TW3X>%;ju zfj#KYWW9D-yD4LOok4eCWvRWB`T2$MZZMKunxTI$j?*7i#V5z}XSI+XJ%MpkCO@2E6o= z!G_wnFMT}xW9RmJ&f}Ib6SoTiz4*2Qv83ZvP#?&p-&w7#ax=H}n#{3P{=}m3F%}2= zt?w46>$1KctOdK}g3V+$4q_$7Xv|ULU%6dpgPhifg@w@JK;Dp;)`#-1vYlUYtd7_{ zzdy)1o10I$=)Y$SWNFp1xV$8ITVU?JQ=4XKhZw3|I@B5>xASVCHA60Wbc)NKpmB2k z4h5AVR`m_PcxYRrccnk_nt#K@qb96@x)wWiOdmbtSz|}-Vlz3l>E`rnZ+%ja^@q>a z-39A`cpnMq`Ig*m<+EoqKyu3-{K$A7E5BP*o7l4owUKN#;L+y~s!i-(m@}lw+?Y@4CugDpW5D% zxyD?6zkhl*s1-Wxr|;&eFHU=c!vUYs$pD``Xw?ore)8S^2gB@M8U3yNo>RU#`{e1v z+*h$B(=&s;Xs7s#CtLB;%~y7@u{GQ=y3b3>LE;b~6DXCqrr1mqtI@NWgytSLv*DJUAs^kl-JEl#*egzW*vcQa@)_7_ zZU5BbH80+3?@7U`c(A8_97bY?Pu4gpLy>-nYnKYzCZW_3GS)j z53F5u(YFP+M9J%dpA4QKp$`V{4Spl|onSqCfDGqfpB{a=5L>Xtv%lP78Rh-z5$ZMSJB|{A9V2_xvpM3N9tIIn6{Q*9GvTCn>`PqItpo4Db+c{cg z8(w5@Yu&B<`58Yp(9Xe6IUo7)szdD@eFiw^w*-j3#`ym9*-B>5-Ldo$9XAGa!uRE~ z#9CVMd1K(7ps#aesujA_JHN%Z^JDFcS#793@n%EMqBxo(<6t26`+`>lt z(D5E%>ZB$3MJ38^`G66Qb+LvX|cvN-Qdmy?FRH^1OHjPwS!Q zMvbt=K4*t+wwUJ=ANBd5Psh9-pn-A96>^>Ez`vd#zuN}wIN6k;`_MXhCCvw~&WZ2v1wES!ZeU7Dj&O2Z2 z6F1Ki)yl6U6V$K#UmNJNb=<=~x%xl?Yn}c0`9?3l$wEJs@1f#nYxk&Adlms&EWe&T zBmCSG^vsN7vaGR5U5FRG`sV0(SD2ic&7d)}51-bVVBcEs&9RTY>TG`?b{$`yzPuUR zYfMMwv_8b9IWi}&cyABnX8+XM#~wL*LJY>o&i%ot7a!ZS^wY_&_hm96KXWHrw|0ME z-Dk@eq}?Bohpe-YEsX(x8mA|uzZuYjPafq5IT!qSLttKvUlEW^ck5W6%$@EUx~-Gp zob*h`ouwQxA*23i=@K75H`yQ1$u2VPocerI!)?d+qUU6O#LctuxVEalC;aTD_pO1r z-x!SZV$(CnKe1uAIG+f_*v~lmyb+9h@mTjgyxsxo-CZ&AeM81{lP^c^GJ2x&!*Ng+08w>(0rZz#%X+3vRNMa&L(}iT2&)>#gb3_ zq!&M57XhkG^!wR{d~O6}inX}2qjjck#Ebs71&BPg=iSvB9yLstes!{g-2H*Li04?h ztM=AMI_$@@Kd_&F*4aph_DEp<<@woBW7<0l56E--mCw%8(>$914|}!7#{zn94b&Fu z`?~$;L?GYfYSoZjZUy8+W6dYAUIa)y_5>qu_q3hw?R@iifA+I?eQMc&$9ZCR<5r$U z=FnpK^<3ZNTwc{TdF+)}x{Pa!*c=GR#M7A4JcvAJS;qqR#Hu>M zhxke!d+edJciwvXPYa$HgZq3R-w$7$HJ^d;wNCrY5O2EK+kB`AHArV;z(!R27t7IE zzwXIcEcXRR1NF|{+BnwqJWhOB1c(edM-K&!8=u*uZS45NX1=s;+-pYy`ahKa2dp(| z-CW1^*>Bt&SDyMZ$1Z$oNo$@Q{rv%X`fTL$H3^n={QCoSCf?$Jk1p%@Hv=^*zSUd5 z@YW{l_Tbqckg3n-)@gHTAKkUPdK^L1b0~^`gJx|Mcf57(okFV=uK_=?lq4cYVKlC&nT61IopV_)U zP=DseILc$^u1df4jR(}JI{+QqZqCHBy4sSpn0Qvzw0Cp9Ye`6LjF8 z*8|z&`-0%&fLwlU-zT54%(=aCe?II9kIzS9C2#%A#&5o87Xhm6=J;StcYS6<_qSed z%UtWVe$ivUePi9Kcm9lXhcmt+*v(G%kiE)Qv0~#YnRJma_o#8yvXR}b7kT3E<}}Ct z){vTA59qHgW1UtG8Tj@Gdjr&WcKI6PqtA9a8|Ov(Y(5sC#q#TREq=k&=MQ_fg403I z2N@edZ5C6u@Do2i?@sy$rtzbFcXBSoYb_85abyED2K&?Jd&l*;aW>B;d-zX|`e*l; z!+vhXi|DFv?&Hxna>#QB9?S-Luy23xm|(PzoY4k-F{z#8;-BZBeCnb(TcnS6vilWT zBhOwf-RxTRy^u^V*X7CGD@WjS)FMFc^y`Bgg0OeEQWpZ#SoP zKCx@w-jcb4!QO!Vblep@HXv8u+E#FQ>OU>*p$L-;IbQ^b?T8KL-DN6P>|kSRJH9q! zGCE$>J~QjEYVFa^Ma;4WJXh2n5)ZbDCI1oo)ynverXI$zIz@QN>t6DV#Z2zROibwz z>qCLH=GdBZ{FWd;5?=mY1-7VZ`^i5YygndnEkNea#`u!uxp8K^1Hgf)J(adLYz_T% zmp^MfD`U^n&h^ai3*HjY-~IHC^BFE<_y00?FYtC=XL;Zw9obPrU?AAC48=aukz~oT zlGw3joCIeplI1utgiCw}b2$n*hHxoUhKaeFm~stM#B`=WOKEAD0t4+(pp*exTIf)q z1BEt2hjN)xF69~l86awU64ec3wU>d!py4>Jd9K>yO<;b2b;|Jn4o zek%CV;N5}wZ%F^wgTJ$QHV5A`dHzR>XZwCC_=7+bi~JuCvh8{KYl1F(Ju3ePgK3Pd z7d$qH8P0XJW)GN1!#f*vsGYG^e=N^zlA+Tca%x($?}orWcayu?XBnSv5B3C|=j)Mx zET8x`+WL+>Yx4R)@U0%wrncS38r!u|es*W>izfWA$&ZnT>YVyUPU8ceJFSnl4@XWc zTJ<(pZFkZ_D;|E#mWd=@YNd{ZC9U*IyQB zXM?GIc3vK|Ca%s{Bg?PqA8q4jD^MqzT47f|=I|ZE&t=CNH|B@?ihX;H%lG#$_W3(% z)xy1jdfy0I-x<#H#E;&MdrYSBPfYclt*QTGY@3sHK27fsd~AQ7ZQqku<+=NIWn3G^ znwX|K`1QKE!=3eRsMc?Qm;oMvu7^3&5c-m zev#LH>@wtcik%Nrf5gdWpMx(BG;{9q`uHt7*es`w%|5`J{fC1wmS_09`g!YFyE@Rj zllBGnXw@U{w+8%RIU8D7xgK6q;H#rMqnWNtIq3VL7oJUAGr+XI38@qZ^dd%aWg z#XCNJ?B}C;^?oK-;;9XC;+H2)oaF6glic|EV~nfm{?@>mtf^(+SGpyjR~+<$eSUV% zFL+^K50I<94CnTrOfPTry`S zL2M_3BPsk<^^I>iPe}7~^fT$TvqA0gLyo6s^SaFOi~r-f+Q}a|JPsO-p za`Z*zybjChUK45MlMZ~UFZM@H-kxWT>`uAry!d)n@h1zl&tazOnZH%{i@q48) z_nvDktsnkw2GcXCwygDjTFV&5nC{ARIqJMP#b(}pV4i;Qh}Zg_0GG2sYfg+$2kL(N zGx|mI@5T6jjGX8%2NApQ`6+L7&H_!|_%aK$-UWv;<`>&)gRkxoyz!OXD*v6sa%I1m zr<~%1KVa?ULG6zF*D`NEdw&=LF>hpcB8y0h9)gxK+>*@J>V_+Zu)lI?XdLY(O zA9?$B1#%`&yMtMv)fcr#PCFX#TjPWCKyLbbj%}x6d#qv}p^gR!~OWav>^;ulbRQI^g>=Bd34(=Wa zjtADAFY{_kZ}0f^89&sFeexrRY@Q8py%pHwo#;gRjljKww=+Ry#J3*s#a*oa*pp-J z)OL3v7I!i}<=^MB9LrZZ!i{*VgP&}vNj6s9#boWHPycxE&VW5S$1{}2xeR~F9}md% z@5|=@z5qw=8gg3w+Mlu5`L@g_@zFaAG(N1&N88-UZT<58K$gC(fWAY4c;!*!!^V8H z%|Cg*oC%Dr(^Kxu-y6_jz2ovcjYnQr#Y3+eJRH!u8PxxgS8{xjFJpd)hduR#SM^z5 z_hzhF|H7bldM1{w*{e>(KMORztOfOJx5>1Thx)5d$_H*nnJ4pHIXSj|Jm6RUD&eKy z1AJN5w5_0L=48hFw13%r&yl#<$9?zWXd}>ikF_=`(=)kjA7Aa01Lup3v07?A4rRP2 zaECYEM>4)~F>jB&iGj_h_HOg*jMJfx9th~aGw^r6@cDG`a8O>wXYN#>iB0R>_Gren zkF)80z{kynOmliZ&)V6bd#BISn&eM86j$SCkN&Noahf|4tOeD>HmL187GrVAqrT(q zcZ>I*^L8-v&js#c`^1iG?-c4?PK`UqW_g`utXX$XZwivKi*#6nS)h$_YDWC>!|s6q zXVbY^<}|#o1?9(nz^y$#H||O=4thpitt(uzwHZ`jh7&GdH2-(ZUzvFv=r0Fq8ISbi zOMaogsbjv4{+`P7M(}9hGuY>NaDei3x4kp`Z-%aPGpXc_~g4hk@?`jyk@^#G&gG*?+)-F|7^Pt#H+XWc)(`< zD&TjM5vO?6Gp2C$E5VmU@x4*@aPXN?{0G68XX6h9*XM#c8u+t~f0&Eqju7;%!EXkS zzTkP!`=a36f_tO*2ZNW!kd`gn`lfnDEI2`7Z_?+MmgD*=meoR8r z>YJXg@{Awvs6;jbzKa)6tg%?_}nz^S^hqvApe$H=mqd zUFm)9y>2nCJ^IDwYae>NFY58CHte}OC=cq|UhCq+vD!ZxXZdz4paTcx%)IaEv0=Xc zvRz-XfCu~n8`ZBTI}0>eEZ~k2v`q*hLoXXf-bK3mxif1p${0O$k=Vjwj z7r&fAO`Sa$;A8rJVqPrfpNhP?V@oYR8Ca)AeVxcc@0an<51q@J+Swg!2F;mx>|YP) zfcFdJt9iaXV>#If$jeRZh7UW{PGxY{ar;{{r;hgoa>TBjRktyI{Js&Nn?sx)2(|*c z_@lRfSv~AjhfhadyFZW5diW_W^{i%_^TQeQ zzp>P2x#C;nCC5L{t!;mA0v_)T4h8Zw3pD4%{#hW0rvh!{j=eD-_J}iT=W*&=FXCli zjp^+byYs1?9&j?_m!ux$|MB2m!N?O`cvNr8cfhzMRSZD+9T2Zs@`Pdax&8 zW2^yVXY6c1);dn@mj|48?o`HjQD1n|*!0eHIN*2{!Q)0S`YjJ)e)$f%_{^_m zKC1!xy2hv5SLnf2W$V{k=EQd;v6pkTWIwxitgw4Ie28-=xv77(|3LQK7&v$QAJ0W) z`gx-M*Z_HugAwJUXJ|d^&de;(Dl68Laa4cjl9*?i*JktoKf`xzPx)_s>DPm+0=hqR ziEcj7 z|Lxq^Q@woaU1;93UJl3mMLx7MLF1Wz4SQFdq)QIRKR39!nDaHq-i!|f%igENy-apj z=1&J=Qe%Ff;$V7q#_t(Dm}h>EI@BL~8jkGY$FcP0*}NrS1Ag&8Z~uMPWbwdXe0JZ7 zj5j88qYbihMR)n^-Zy2=-qFAEv6lJf7{B5a%TBh)^O3#LKOEtPZ8@&(QyJ669{p;g z{;?yk^mL!kvD1rZ@y!DDHhzYwiNgWEH-p+@L;M;Ybd7l%{T;b;kCC%iF0E-}-q^GL z#(*8oy0~lqri^jWyk_{k_2hMT`o_rze&Ylm=JCbfX?=@(S71-y?d^SY@cf`W>iH~= zYXe-_tNGk?N8)TPD9=wU#^yWM+B3%{POPm5?6FZ@S7mHX4#^q=F1)ALKXc1;b#Lo| z9&>W0cb@Glwonlc#8sCli(0gC~eoFB9fjSqf zcaK-Z=(77WOY=C78>GEy$)8tcgMKy6miIecvsI4dmMuLy;%dHeE*D3F^#GT<0z8nT z3$khB-CvW8ur`F~0#z5XH-+beZeD{>c zReR{&=4kixJ}Tq2KtFPb*VioODoai+=|`Ssd7kb)o;f~?i~Q+;&w9DLW*GZ^y4n)^ zdf*(9*%$O&7@Jd%>dN@KfKIV$=6r_C0(G{m=5ajwuJ%1QH)>(oy7=U-@_pv3d&qh4 zd1bG7$&wj$O`n(T<;SDJ(EuMO1G?p`?~Z3PW<$K<#GUuM1L@Vr_;+H{G2SKbpMO(# zDnk$b<=Pm>%V4kjMjj3>WbEG?jCsK0EYN22|6iOBvi4M8>zPgZ)N$_~G0cK#PHXpY z*3_AHe!IKqPO_ig^2e^6y)sU+%ZKsZTb|Va&B2|)^nF=AHiP<3AMWi_-|m#=1V`ki zI>a~X5E~tu{8sm|j5}X`$C}!mb$ZzJS;XG)!2GA=-$lle_~n!yW3lmBE7!C6({|l{ zWXATBbGI9di(mX6^}ICCnsu`Du?1rA^9MHhB?pbGoMr05ouFpAPOm+^&(z#Ci@8zH z$XoZ8v$e?cV-{%R+2j-6=oLJO24M3pAf0n*n`dCCkp#pEqQVE}YVJ_YS(mNXOHG_VVp+9=mxl)kl2y zYqet;^Op>6v=@e(%8L~T^t*fX&3$=2l(~(7>@9)(!O!O3OV_I-angeWevq}lHC$cl zNK`__HSZ)yzEseXSp35I5V?dNXGoALWF- zSs+evs5MRfeQjd79_Bc8QCZj6nMe^1XfZgaMo@fa`u#p|rB1)BS! z{HineFg;}XHO7(0`Mpw(^u1?rkEiwEs-WECi40lek=H!V?enp~scj&HwtS9(^A}jkPvklJS9{xno1TjoV(a@S%F-Z%;sW%w=T{XI`8m=e~w!w>4H@ z=w`pX(`k) zW{dGo{LqabI?B&g8RN8h<)2tb`}pLa7{*vezj`k5-THq?#s>oW%G>BGeWS1Zz#l&~ zK9#T0XKR<@Y^Qx};*vk&n#RfwyL@;k*p;ZgOCJlw`&{AO05|ONt^PY7JKe)_>+|*1 zDQukjJsb_EGlMjrLmPp-nkUk@#u%HQEI%tha^SAe_$B^wf81o+nfybfuihTc_xn1` zd*XUvFF$q#eNUB3@4D7nKV$9i4ad!eaeZ7>Lv-=6u{o#Zv~zlQL7&CaI+MSSGo0sB z&5_s0J`wQ8y~&r&pf!zOJp24`Cbj~0%#-oEi`qs&2N_dz;d0ca4(QUV|5(PIqn8XD zT|bdA-R9+-4370;SSDM(>>=k_F8H?|*gp$2dBl-c8#pI(C3@&S9q84;RRP;{@e?ol z=AZ74&68!nHFqjwZ8rb^_MJtCee8@mwO2mmRUK+{vu#h$_!En<+qL8FX~O6G<=d-=2va=(bomfML)lB z$IjPqkwGv7#H|zaw{p0UN@YmVF zJs-gImF5ppv=FB{V(_U0W2F?Icv1VNjz%0=4 zeP6H{n5P%Na-wF&98I5pCF^?vxvt)x+2+fAbTD{2(7q;UE!uM_`7epgTJS*NO!AX% zUpKmE_}aUQueJMzjM;UD+`HEVjZr<>$M@3#KU&Ym*9X=io z2epkmF^~0AADZv2tkWqbvEoks(|bCwrpC+N{*0@mxo(WdhP4cz6{F8sxf5GstZlu! zs=8m5@xh?>8|(FpIrV8xZPItSoRk~Ax&j=~1GSUkoX4xviys&I=ko3*x8+YA$?+_} z#i>A>&Hw*QJaWJ$fB2w@*M7ClSFK!<#ohGhVD@e<*8GgeetFjTb$igyHZ>ssAF}(I z{EONB+s}-LRraO`$28vS?`SWJ%=6g<2{kbxgYKwK9P^h7wTe+_<+RpoF+Zg)@}qpcH*^~S%`{>{kMPcmZCt0i`= zdG?uuKVv!67xnd2=CtvCYEH#`CNWoLMlh}V#fIlT^TSxY&W6@CXKuWc`O&(>ac$Pt z=+7+cdxE%fK_6T8RloOO&*Q!u@=WePQ2p%g8=h;=`E*D4tlb;j5!@4lINjoO zsyni~7SD3(8Rs_!c%cW>;}ZefV;));a<(3bvGK@deI9*ek3a5H`=_51YDaxkH$4Xe zt#ijRp3dRK9NqlUJ9FOG-;^Hr`b**XLWU1wsm-1vb9|fyY;;{cvd>QEUb2{L&2}Cy z8-XSly8_(5CeYM88{*JE7#t1O0&Db4d6UmO1D^rp?0Yh>7l-QMY@BP|(lOruaxNY@ zY+a7=+rPe8=fmhX{aWK3_npYRSjo4>;^N$&d*jbe^+}dKysDLs)gS$y`RNSu$1}Y+ zGgiN+7US_uS))U)_=KxRgQLNi&pckp!T9+^-hO9d7Vv>i9I(k3=hl7AENJ`pKmirdtIQm z#U>Z013rrlFXgIrYE8WC8OsZ~TZ8q04)ZD93vz1swV9ynSRk&0!A^16KdozfFZHur zJ~w~%)6;vx7_Z`M-L(esqmdC?Yrp3aKi&=PeIl3z`vUUf?7p3H+`V|31y{0ndIrUS zPdCbto^cEx3ny5!@1 zi=2-&iz_y)zi!F;Ec2Q>$DJ>ZW%1In8PLb3SnKQE8LLBWyjO6EBmUt@4UcE2XGblM zz_n+sd)O6sb8o%&adlO2SGdAIU)8U?7^{8zsh+^?;~LRJj+|ovhSH* z`CJd!s~vjzPKUc%oYv0zy9*<=2>>;;PQ_(3-9tG4Y``)m^z;7ufNV&xid$OkLpX@*9T+V{Avxd zt;wY^pTxWD>j4}!SK`Kn^C#Eqi*fh+Gv>Q9cW+SM#6J2**YxM;{MGovr`p?>F?+K> zlXv>n6}^0G+&k?dSO2E*u}4Su;*UM8bH_3^m(b>M^y?vKOKv|Xz)SCf)?xQIN39id z_?WJXW7ILNqbxrw*1IyNUd1QQhXP-#eouP3^q0cR7Bb@F13k9~{XVMaj|<)r@LPQD z-dSL+ai}{y;q?AM>pA6%`Nk-=Q^7`{jd^|h_S8kSX|HiwJ2j{KzjuYI`!M{=07{^#Q{3PcLT#ij= ze5{GRd6t)tNSxxOdlqOu%UfroO>y)dRkIzF5xcy;IuMIm)MoSlZ*%ba#kji1`!jCL zn_L*vXWd<3ZX+Kl@IK1Dw^? zcqhFj^X%}=K7Ze^h6gsprQXQg5?Edf-tq6Y|BU+CjO}~tBA|}RR|mUO4vCwi%V*qG zftohn6WG(dv#)mK*tq9TytpQRD$r*0|37n<>N~E+dN9w1nlQ!@edS?%Cn*2s`Z-bl z_5G}PRmS+zUk=%pbs=skopdg-T^-!}$)Q3vvD42_GNvAFT% zoy^>NU{B@j?U>)}R2To*EH~y41afW`sdTVZX#(2_Z^Z#$h@%qL1 zXnKBW_T$n!C>}v>)b%XT)USq1ck;o2J$uFS)<8{)MLQEb9I(TeW5LaV^Qn=&YChW5 zp%%q$|4yHYxR?bR+iciV|Ht={2QtqVh|QfVUt+VDeQTS6b$7zv^wu83{`@PgmvP2SjRUiH;=SH>gX{O?`m9R%3!_)`6@$kyLk z#&YTzmwNi;-#KqRWjL<^IU~bYJUki90yR+`Js->V_wK;STA-Z|%=3%wF|TyWJ1*Rj zx22aO`FnXFfBYy{Y~u=l^5`B=Q{usky=3Th&vl=BLLQs1YlgK9pOr81yL&$}#Gg#h z?^&Srtc-D)AAM-Nc-U<*P2G!&f8wfdV&S*exnmidvv)e@4!$nnqZq}iKAu>N$9aBO z$5Z=R#u`qv+XFtW2i`@*dOE0HagjM5@aI3}-&M0_58tMFlMi*I-ozkgvA;RsTl3BS zu7C`C>Vm%UGmgC2>igDWJjUoOw~pznPkf-;UOd@bE>C2v9;#0)WcW}{aeOLR3+V6N zhL7um!vTKf>gIr)&-(G668lc~5H4|q+x$`V_t@V*6?OBkSJjm>vL48ZxcCkSgYv|0 z@r(VfLGRXSEDvXmzvSfbbbueNwbZ)rIg@wi2M6}jj}!iE2F?fj+WDaS`9ptmqJH`7 zGmOkeAUD!?vG%}kGY8UmjbsFJkjt zx*45kwW-mg&KkSAG57Mo*_#EL7(aHQ*PSBw>P)*59Ur$u$Fb;eFYO9813rk0oiR2( zs>^F8^L%@Jq4&CsN8i-%+5)Y0HthNM#UA(aw3a_%#o8w>S&ND}zge1p4)D<#!J+tG z7Tg)!9jL$igO3T^Kc5)Xr%zhwmY=Cln=97Ntyp{0inUK(vG(Q_Yg;SUo>;N=DJ#}K zb;a6SR;+#6inUK)vKDIRxpFsxno(~)CvOSV{wso0!E1vz1P=zjE;<){YVcWs&xq#j zGZuE-rPI89=8CmHyJGFLR;>NkE7tzpinY&PvG(7rSo@q6Yya(vwYRQVdve9v=dM`$ zycKJozhdnRmaHXR^IF*Hj`+gG9-r&eynfM&wWpS>v89gO4c^(mcp>AybI-ZoP6uky z`-r)|uUMM}KEJJdRunQVz0+q|Tec_D^SF2Ajk{;yQ08t8+)=L&yhpt$Q0re9 zoDaS|_`cvrgP#e0Dd-t^df@}#My@=I>$X5lvp{nPf5~&$^XH$#o-ch4d%o;B?D_KN zu;(kD!=A5v4tu_8#UAe{)BLQ;+uK*@x@QMnS8C&{SJ>F8p8mV%u;(v4hdp2O9QK@l z4tu_K$)3n%IDNq2j3hxyFVHHa`5{>&+dP}u;Z>6&#p82 z7gwzP4=dLG#}#XTX@|AeocFx`U3jyMHNJe^bKLj!EB2|&W%fp2@>d9cA4{224IOy4)XhxPrnOX%z8@|F1b*H`Ft z$EnNwwXx5ty>DK!FQSXj^xgCK0$=a=n!acJZ!GpaKXc<5$D=dA|GmLZ{`>d)#x-Z) zZ?4c;|CjCimL>b5?s-oI4+g&e(cZS*&HZW||I=dcRaqP3;LqRMVXd_y#;b#A9N)TR zU&I!CUO)f7@_L?qeej{d>x0LGF9^Od_@UqzgZ~n|a94h25gZF%6+9SxX7G8zmj&Mt zd}r|e!M_N8J@^m7)w`d`)wjhT-=7%cYYfxRX>ou170Un5JIJs4j9zv}vi%+JL0#Xu zgRZl&GmRS`-Zhrp3zu`J|K5^%{@Z`b_W#bGvi<+%Puc!=y%+5-yO;j%4))z;)B02U z-+hJh-?M}Ks&jWk?6~U=1hYV6`+J|Gu4VV%-`hdgs&{$!fu9GAe)W#Bw(Onh``$}- z{{9YjcFN=TU!nZ}x`X_xJmTaxCVa``4?IU*zqv%$5AL9Ar?`J;2l-WbUsjKo%KJaq z!Oo@l%3ptVQGMa-AMT)Qrx<^D2l-3cUiRMgk0!c&@8ut7j$hulW`XwDb~pe2O+MP^ z?+=I5=OcdpK8CN^;`xKpcP+yU-}6~EKh@=X%l+QDz5Mu*_%lmS*7uek46X^-7PDu* zdiMP#?|f`I$DXw}2Ik4&b(}Z18PGw$?{nKb3w-@pzpu*p+Muy!IR7~ozw9Sx|EWMb z8dz&g?3@ei=QmltRGzIzf{zXM1jhsW^Q&a<_Wim(|5Bdot2uiAZszE#%->qb^!Xd} z{653_*G}ZWd?8PV@74Lf?~4OI>FvEGNGj&?Tf=>(lyui0cP z=|^}(m7h49=B1ov>4LB2%-68@ z26~*d1`lP-Cwu9n+q3-OfFGm(t<7b=ci$Mldvx4SW>x&+eLB$g1ZtvptFatB6(#CQ z-g>6_e`CP5eQb(lD`?)DfAiMWhu)r-2kU{oDD-D(eg(7MJ6pYIAb0z5g>WYiLy^z@#>(f<~X*tUk-DKD9t z@7a~U{Jdr%r~cSJ9kiC^P&*qu6ucmwI5Yo$h8&On<#GOVBQc*3aAxcbtOeRQZ+&+l z_v7!O;sCFB!g2F=B4hc%-Ti@98|2k*d$pz=4b+Z?Z?^EO5oZ{)E3{|W6n0-&IGpw2LkiXj>d-h!+|p|#vaJh=+&Fs3L3+Sj5mT03dG{ftC=SPd-$Q5s~Ur8eqEYx9Pz`7EJ>55JVpb~?>9M}Hx| z-%Cf#&Exle(7T6^>Raz_pZ~p{*?4O}UVk}==!Lj`G8@a!yD~3!bvoX$`=dAi&1;k$ zJgJ4ffto)M*!Q9c_55$-nXl%ZgUtX})At=Zs_XWQegE>{LU#JQyw1+32X}01XM^g; zd*`cLFV6OIA!p@Y%uj{;gmB@0VUI7Z4g1B!&eS)0#qM5SOOKZ)1NWkR;~Ks7bzjDO z#VL7bq3;NEh>Py=jNtG@<~9Pl?+>)*OpaFVq04>4H+$p&m)*l3Yy50}jIH-h5)b?M zIvP|D8M2MRc$tsObm8skKywDBy7_&4G5_O>--D+gcPE2?mcTtP%NZX4r)Ko0Cvm*&|! z99+M6Ru^Laspu0EU+C@Uop|`)&ze5##V-HG^zs|GdOFzN3K~m>^JnrSf2Z^89^MmZ zv-$tGWlv?iJFw1wO>Fdw!@a9!zjM@_nkag2 zd0&@TO)fx<|8$Zg-p7M?1vtW~ePXo_mpE&l&Mn5f(jN<)skH^{zcUM-+29Xf+3@Tv z;FgW@zv?si3nHg}J~}YI9Bf8zS$@qen^()n1I_no)gGUFZrKzUPFs6o5tDkcM#q~M zy)$Ef&p15?1H85V+q31o^vvCz@ty#;<;Q+@mT^bVMnE1VE59|@IGo$hGslCs9y+j`__@hqCLdCr{@$25HO;QNydmJLT;ktYJjVi@$Qc=Th_O9n_4V!L83W%s zzEnTu8fT$!?i*g&^vtF;dFQjWS-?*+cx>IMH}}`wf%?%N3)Ea?^=f!0+1B>iVNYwY zXH>oM?Q(T~U}V<<{qCR~s*7pus4Kqnxw+cR*dFrbM%?U^b>F+AonLwSoW=WvJ>pci zdOVqHk5lM5?EI)#%z%n17Fy0U6hNh%$2Vb8E*v6nmKmpI1tDmf3=q` zdGDFcSGMn4d(=z6c5J-MY{~zT0N*zT&Pa1wzHoIgsL#vh#nt)o^OXL>0S@*D)~bhI z>*Y$0E=R^$yE#zb&fMwX;Xp0mxn~8J*37G6^X?t7vi)RW4d3SizT6kk+Z^=W5l47E z8i=Jn(Cb-D#_~3Pji{D(T4RHMYV4uFz4ZZ62JVKAFV#nMes9uuCcpu`YR|KNYKQ*0 zjYZ$*RlV~lN6wkwC)4P64#fF%py44j&+Wd=MB2ZKy!o>Mj^u%@13~xwbY#k>*oIuCuup;)aoce9M0&E^>Q zI05x^cd#eW9t-HAgYH)j&&`j0)ji%lk7xc}fqnaeJA$7Hfn>)uoUnl}YqMbV59d4i z7W(J0@vrw4p2Q~a#~1x|$;WsH@`ui?;8dXX4p%ETL@|GVHpWk;7uPJ%aPmm-!;Ahz zdj7kE_(8TgrsLpZ?w<7GD_?B)Jljw9Uo7|`LlQUKJP>(&+mDB>U>e)MoW#aoe(w&%s9<|<+>V;nR^*uNG>Yrt-)sC3#8};?P+BeGaSMG6|&@R%?H#XIA{cvB5ez4)0 zo~b{#W$sWQXEz3Njc5LW{O%9rP|iHl({-HC?U^0Vvj7*(S+CVKfww_Bee5M00;@t|=2K_e$*3`n!hcJFU9=t0!8te+J{p-aVpRK<$=z50F zx-T9c*7IbjrTcbgT-o1^EMIO2#BARBKg|4A`kp~?^NBt= zgWCh&|F;+CdiA2`&nI*enj@~lpzc%ailQ-5zUmhJ~_hqfJ`1|Cbe#tvO z#?Q5LdG2Rv`<-&o`#?N&>TeD3$1lCJtfxyq=7jvu<#+uWFHZURP~g)Fk3aBU1gq*D zFZJVczX$m>Hm8XJP6od)xf|q5o#A44@W$Y6f%w(6_0J!k%SZM7;tGAvBz>Q;*zb&p zW3*WrHE>7pOVKB9WYvDh@~tk$pBZ(n^RLPJMj)T=b^fmfd{q~0+XM9VoUUig5B%1q zGgrNLWvpK5X%2kN$(Fmy{cC(VaPHafz3wh>p4Nh|%=?deJQ6r_xKodB3dF+y>DeG7 zZ<|5S1{-9>2z=~)r3QXE6Q|N^v-$s@>5t~w9oBl-n=wA|A}4a^9GT}E{d{9XTzYfm z?nK6TvDZA1qw`SUGng&@o2TnNq3>Aq+#KMde9(J3(D$>84|{^EgYI!29tq@p?*hGp z#cp1FK7ZEI^IKiu+@1MAKws~5@w5AIfHQLSrFm$6n!`sUBe!^yGy3f9oy_OWfD9kB z^FjB^1Dp1<=b6v`?j!l#2;{&yai`JIXSLb58=Jnll|xXg>%qMN|BUry`O5GAE1Ssq zx^X?=ckS?lUGnDm%f}zi&zj#E{>b#}0bQDX?C}Gy{BNx6ZUp>NyJU^^ za@KzPem{80?<>pw%ijyw9UI~iz${=n7m$0Vw4XtsVPmI_VTy)B|k^s z)Vg)PHHKr0Ir{1cA4lI$n>e^5_%~5{GQEAXKvOe~$-KR4 zuzb+BEPnZVI8Z;m-}HRt`%XMt$MMM9?mY9o?+Exg5{Qw!_`2`*jQ#odbc=+w`fTK|kSLAvR;1Rd-gdg)e{d*R;qPw5Xw`R;A zzKNxG;@OPlxb=8f#`Rmg(+U z6f2$lEzhSi-UxOF{O=ukI%BdpG4}o}?`y$zi)XRY>33!5!?Riu^Zr0>ntx%)y*~Z8 zpYD5tOVuy?^+QhjT>r#E5C7O@Z~FUkc;8&Cjh{t)w5A462EP(N?H|8>8EdcSAR-s! z)SCQi=%TevJFb)UI0hJgw7A%{f1sewT-|(RX!G z9oFs%=uy97l~;MPw{xQme&y7fzFd_{d0Y#+Uo6wQmp?o-&b=8Q2sHIzZ|h>Z-#ea~ z5IZwWS$?`#}>}m z!?$xH$CbG+W9Mbc%X;QUUiepDjE@J}SLR;pneyD)=eJzf@3GDrGnr}qm$xj;E@p_gsvECfWFN{9_{%{x5g%8~E^>~0QId`6{HMeUSlc5(E_V%6X zmc`t3FTJf3e$i#mlyfrTkk8fzU)U)p*4U)OXT>rdYJr?Pifns+za-dL%&|4KGs~RD z9?q(V>@3j4BNuezTP*y+`({v`_V9h2JGYo4Gyc0Fl`-c&w~w7K41Qzn8J%j{+U|gT zdVC#?3wbg(3$*bLko#T1R#5-y%Pe!+G_Fy0jAfkfeQBLZ$CXx2mE$c$jC#_E4%!Z4|iB=fZh6kd&a(=5QjTNe=NXHXljwv4v|d&hUTP;%j(P;2bJG+>|3#|Qg#sezs?I&s3D{>H$Xed2R2 z_59ZJt$oi6dmj?42RIzL<6F;9eLImkzU>Kaif{I>2Xeum-bZ}d3>q)r$(Y|CSR481 zS>_)d^>dVAdt+E5{{S#dUE$H`ZMWqbUL^@s4n}R zC(WM5bU0(^niz4T`Hb_qd?Z*ik!J7sPUn5D>r>ynU*PNEKz`}g#LI>lervG7*ZMi? z!nge6TP~sR3$u(he2d*0ANvkFzT?=xOg}&HrB>*W3w88#U~O-p4zCW#(5Z%7XBp1- zxPQe-PAt_W?)w59^NlUF_)y^M=}$|4xsY43VrdTfhvz$k@l4m3WwJP>Yc1eU`FkSc zlfkcMvHI`G^LijAev8Z6)D~_=TjJ)IR$a$3Hpjko_T?7m;@Ar0ZarYnbN5!Cz49za ze0PTUgM0>^XZ=-w$PuE^^wL zfDXR)?0Dz+@H{&|WcLNu?U6Tkfz~-aJN(zHwOOFe=KtTeabL#g0vsCicP&uA_`;>X zvjB(kz@Ov6uHat|@3e7mUgLB%zUubO=jvD2JspqbKx&6+?eaKI3+#{xOuNv@dAAaee z_tT;yAYFHc*;m{0WjbHViR)qXblGy3IOj`aBF zr+8a;Vj6!pqj}5p1>5w_Or-H`EvV0jGgg1v*??c(O^&4>*XYHM*3Y$r+mFw>3-~AA z>N=6}Mj*!f1C1ZGD<&MMZSMf}ZI-dt*y)?T2jhXgX^r#$=0F}av7HXw5B=Pb&&vf4 z$~Y*ESZsyzR&ecv(q{CLcY1jyS<*p&o4EM zw~=>TmX{1K#Lv&_G^T5tllPy$^EkVggS&T-%k*5I8}P$3eosN%;(0FmvTe>Ge)oDv zyC?80A8Jue8q3%8v)P%~+&?(Rt(-g&;LjMR_&gP8&0p^Tdj0#%`EUO7nUuzb-@{W& zl^=b{^!yx?<)6CH=wz>Rt#@^xIZN&hjZcm9_Vp z$-5Gt*!k+fm>qoSdmhz_{4Rr>FPs09nrj|#_KAVU*QvknZNGMkm%qCM{<>qdXZyQ0 zuRC`sXk^?`|1QO)h93{!6|^Skbsp$-&&j=f$=x!UeVIQOjQpuV&uala>UdmN&#Rur zwHdI>CV%Xq%Nlrp<(o6q`u>sOdk|tf7|=1weD@L=>%G(Ibe}u(Y&i4oMPu`L9KUX+ z|7^e>j(Q)E7xxo^cb~>WS8b3T^*Uqp<3>#QyMOSPFB<_a?CX1x9N2g5qQ54+{dhY( z>=!3amYrjJaNaXdmOoQlY|t$Se=vNHLi}_$NA}^%eM^@;+Aj@z>JQoGSgvVZZ+zWe|l#Pybe2m4y9_RA-o)x#(AZ0ddfx4%7Oe^)Hs-U;*@0Xz7;Cciwu zcbw5@4TtpK7l=`;_`~_>;Njp>@mr^({P5?xptj0Cea?mXer+OFt?`MM-`?r;_~Ac) zelow`T%E1|&CHvdeqV8_Z#^>f;lKL+<`R8ApGG;pf5jlzI?eRl=lavng2pb7WZBX- z2OZ^}Y|p(OP6gW000;b~3wQ1gT-&epu5qsV4o%0%F@86Ko)db-gy*SV`Pb~9%Hz3v z_h;O9(Y}8=C&z-DgWU@>CNg*+^Y2ri?BeZvGr%|Qd`>u*znw$W^Mr! zncDu;Jd2P2ILE~-(8|G~jO}%{&jjK>9dvyok<%iPP(A4E3)JIr-Ii9j|6WHo(!H2{&Mhb!FLD066_0sw*?;^d_wT)!P|nb z3BEZH=bpqly@#B`*27gx)(>Xg-m6!vJ%7pCsCVxr)?aXm^%q`Z{e3R6{-R5)zwag1 z-|rIZ|5eu2*y+HT80+u-v$pIG!+Eah`8{w?di&1=5nrn31G3;9V?4|1*j?z3ND0jM z86OX{`xc*Vo>NlK`_Me|g&p^_vCr=MEN9i}?ysJM**EIlm*@IPk8yny`>1Cp-~K4? z{t>-!NB(x6uf(^;>x{oR4ouIudl)yB6XW!*`oIeCE*gp*YTzL8zaldJwa{a8duk3!FwJbto40lJ!A6D`n8cEyD$B; zcJZoi$z7NA-Y4>28~Zcgx~hJ4rRK#ZCuf3@*Si<>P=Cu2pKwBVb3EF*KDNZer!gM( zt`6*L4T$N3B40iAt+jGI>)Hpz7c#YL-v?*klnXZa$98Sh|4hv}{4?2?|DNTWea{c< zyEpL6=GlO}JE7-cS?$O%j@N?P6e}+DeCPLvM47qfsWGo-PCn>ScgEF2=g8@JpWU#~ zCqLd(-Wfa?*smsT%zD2@_Pm~FejHfrOLq|$>v_fl*@Ic+=crdK{K1Vorha+vIujfU zaJQ43cgv|<>#sTH-$rcHG1_iShq5-tbU4p)!q?*geZFS4KTC6%=l4UICnuNC`PXE= zvBG!;12^T_8K~T-tLKZ4_~Co=Z%pS+(b;>w zb;CYh?5|$3M=!&E^+$ZJ|5*0qzl(gPe@`IB>hHe#b@OHH6VtelozufyhI1c|XJJ{4 zc$>y}OJrAZ%w}uq!Hn^(;pfB>pXEoK8kv`@kiiB0AVCJ>**jl?IvgLO?1AM?QeJ8I#-<_Ax z*I2|?-rt??)r>q^b7%8GY}P#YjvqfCKQ#6(=d*YjcYTjoi|#2ecSW!K;=o$DS=M4Pr+s?tjsAR6p7Dhj_KkZEruOYqgLg-$cTc&LgT}$1 zS4XCLny)Pe_uiAu+HdVo8~8XH;EbQRkw*}#-(~SL8h(ncKf5P)CLm{g zf1uH&&YGLGjGap|n}NCTmmJne+plwSP~>&gGeaFQw&%F&n$5u zMssVyqXAj-?g8~gZ@+(UKcC5v*UoQubDPdK{*DCJ%N>38iI0qU%=!Ca_=rc}mp>Tb ziVpD_yO+djkM>uFJ>qrN_gY93x4q-LxxE@**?KC%bke^SJQ;|Ge;OUl*RG5{H_yv} zm+5?_E;>JQBd>JUHlG`tc`{;S|EGr7_T?EL4+MDA?hWL?9Q#`J$|1eh$ZQ7Ua&B?$ zKBdRJo^7>fzdMr;_Rj*%{c0b1JS{`_syV(^rsv{`%=NQhFIF<@skJO_Yw|P;wAuXs z+cIiUV`G`W?zG;G^s~J;sBg_RzU~jSo&mL}Ueu7Bmosr|*6`x_t;r4f!;9y1a}MQ% z@A$>_ox!odp2vctffzNMKT})pKmR+6UYWTm#5A4T>DirhU7%jX$_9wvXNWuEV8AXv z#iRZ7P;2JNl$S>{mVdQ+GLQrOjrRbq`n7I`7yZ2(;=L`v-;tpA#&ix(HwWd1{4I-T z{P{N!#V4P9XfE02BW~9MvC?JF)X#I7BgY5r{C4-OT#TQM(=l!@XKq>C(|Yi^*BHtF z!VshSSr((XE+XIXkJ@=`a5tHYqQox7Ot4)4=LGWPksz9rZd#F5!`57NxH0K@ntKeQA*Yh~% zxBAD=9`_c09}f7!H;r96k~{7DmfREO)kF2FG2A+%@;$CyzgUxRoa3qWpW%fw&UZ4c zf8**`w|K$zqe1mpw>CZZ{O_5;efOVR>|IN*oe!+xjNc%BTr^i|(Of^%*!26)>fvCp z74ThNM;X5_iQjvIjewlkmdWu~KIkON<|=u5$$xNgD8N<1d{!)Cpu4&JCqpj#?qshf z#-jlaG=9Q#j$iVP2Ve7Pd}fP|S)g@a`IQf#v+o~zsIGEdeSG9QpZq>2IUKWv`xgdd zd_S{9hW=6JM|Y4p6*+p@aDH2dZ19UOWHhnKl~(yx=lydd=Zx(MHUs-{;j@5EoP1tD zMn0x@Os3{`p4z+pu5!Rc+Ol)TMmfiuc1vIkKb!b{rsBnUZJfqpVZ(kl&ILVhYZ+U& z#&>@AeE`2*ANMy_K5655qXWdwm$Lz$%jaDg9}G?ha_~^lpL3D-K6oV9zvzv3LjAz) zn}VK0w)*>A_R1;l{aq`~4g2JF`ujoTlHRpI{&4Z;K+KJ2YNLB1av|Q(_D#cGFn;}6{bbmy?%wa_ z%9}hle!4a9Nn)aBd>5GIx%tJh_~?3ZfQza8R_4Ud{w&aD^Z#$p$$y{QSC{7-1LwpX zyYlVs?$=%!&c8-!&UWP)*aiB@Zv^E)Ja5Xg9PwYHm+yXOl^rqRgzu+=!@=&r967O{ zOizxT?!})uHtjQya~zu=bN6qC+?hWZXw^0P(Yo8USZCi^;1}J_I(y4}S;js8?hB3v zbc$;_N2l7qI?%*HSNC)d$DKQt@y!99+Pwk)@Ti{b$F)8D6}KGwx^3?Q_oUwn)Zi0A z>tW2fvrYzAzD8t!Jz%Rk4`fWIXEw=K7e2*%Ltu}yQ~mNx&c4oNcu^f5&$Af+UUG;R zZIv(AWSuW^+C0_96PYu%Hrf+EpO@)9m3i%GAV2blwM@Lir74#&1?JSO|F~) zv03xno^NXMC4+C|HUc%`e2`bu&J$m(%Ml&oQ%60wM>A&YJ$;@>`~2Xy-23~v`G>FZ z_mKLW=?izE{NfB>{H7C+<;$I6-P|moziZ=JY5ZfZruPDV%2j!16Q7<(eX~4kv-$tG z&zXAK48%4)XYyr@pK4G%2ZPRueN}BYZ+vVFbd8{wzv}^C)Pgx@{6OHY7Ds)YWvqGc zXMg(VH=RHG`Oeqt1A58sbYA?u>DKwk7yH;Z_f&$uEq#4ab34T^r{r+SXXkVy;ER}N zfyO^|d^!+EYwWSX5Bu%4UcT(Zk9juKm7bn{_DpkrG;3ly7Pve40_6E8R;~GA&ze0q zE_z(lhxT}056YAM@?78eRN3ak8vpr?t7%Sp?)h+cz)wvKd*`EVKlx{F*Dz;q=f+si zWuCsqYENTrj5wno#Nc^Z&H5a9O_Viubyfc9l1J_5lgH6U=Y4Ot^Y1B68f&?@H}>)7 z-01fO{h5Kg5>HzJ4&6h>;yn|LoLg^Q$y4v0LmAU6_S)W^G2PRAF8iF43qG(3xUqly z8H;(fG7Ge$0h^;e^I}wg8ehffTx|w?aW|bye;^PKu&ws!C*%IupZ;(_S8W(q&r>N3 zxu@p^!6U(mfNuQJ=N#R*7)N|w=k7o8>f_3Vx?A?_{h+mBeSBv7bQIxpJ-|JV_|G?= z?R?X!WBi%H(ag72r+dU`ozHT3I^gSv2ROI3D=07c)s}HDkMxPT>vYh$DmU(g`i;x` z0vyW;PVvD%F&mHl)?!XxA6|_6wUvH6tL)fMR^5r~ALmT=Zs2?EXL!-iUGO0H?2R(# z^K74a-1hVENXBbHc{7Gl?qzvaH@y?})v+&QIX%5te<;20v#7ff?>l)O*E){KMekSQ z5Wn`%htC{&=MR3^Jr(fTvz*|obtg{u1$k$M488$BhXT2$^N!$5ib5TWaTaKgZFh59 z_@!Sv6O7M%8K14w)4NWN9}mQ(?$n=VpSmiq?l4Wh`8eKpd^s2Jchvjwc@`V{yMtrF z&5JRA+56PMm_5GPkCUx{zBdH?`}%+{a>oAg0KY$x9PpW}{PUTs<(8g)U&A@Z=RMg# zcKq|Gd~v652KLa&_7?^*G5;MUv3!2;K;ZXSJ~n7x%i+VBql-Ucw#VmT*Tp#tG+zUf zp@YwC8ISW%=9#@;jSqZtH`$}{(>iy7@5f~94mud%5?AEZoqgl? z^sM(DJesk6>>IBI%_V=KxuZ|)hDybRll0LHyqFb}`<{w!;?p=V)@qnHmN)5F>%#-)oBDU6*XIwP*o?mc@ z=k8~NJbPkwR~!h$#xHs`F~~0;NB^E&;@{}U?#PR?bNsq75bs(*CtG@J(_Y=I2cy5_ z$?{oy{oun*dBzbLzK`4;$ur+K7rnaK3iu+vS)iQ?_6Ka+Kb|o@Yvk1u{xrIJ&st+^ zlx4SdN-vI`5wkkAPkYw_cGQv2sM?(R%JzD|t~`|&Hu=$evHPm0pSSKn zO`O*F);ZkX8}Q*!U=5dAYXKhz0``sucsmx{99RSA`u)SupG*HIiQE1d`tMx$c{%=_ zi!5&L3&gC}#EE-3z`L5)%z2ido?E%THMlOo8&37JK$CB}={4V+)!tg>MqSp~CtLe; zYdhI@p7#azIJ4xOAJ=k1nwO!)x0<9?n=?#{xA%7G4k> z4>W%+zx74`!9absE_WKAjLd6ucq)erF*#4_oqo0+iGFM5+>vZddpU5n>{0i>lRp<$ z8S>`E|MQuj`bw|3<(;h0$NS=h{o)+?5}SJX=s=B>FEQ}-K+v3?&6rJk#8vCYxk z{jjfd_R+{i?xYK!Q(bbXJrT?d(%9(ynZ>ic+Vojo$XhQTxOgO}|L##7 zJ{pk4om}GCe);C}>jTXhb}kQ^8TLINng*Iv$rqM?hV8(X7Rl!xF=8( zaChKLsD-W>;~Q7j?bjaL?w0;u2_AjcsX2S;z_Fff^&uCnLH?;h`{YX=Tf4Vqd{eM@ znCIIp(8x_?s+X^agZj*eeqOLAzn;a`=TWyhQAc+KuZtmabUYrsGvF`2tiL|%xUT&D zc|Muv4^J;@fN%ujF+>*?DS=Q>Xo$7&1*;_02O-qZ-4?9ulvvFFS? zx1ShP4_W)1VSCJP1az~p6^Mua13~vaoH3tXyO?t(Jf9k#?FagSemQMD)L;EIfxNK& zK%iDP18Z!ujcYaMnLMBP*8TL`M+g76f+quhx!38#m3e#2oetDV-_6*W1)5m)2V})p zj&UZ2-UIDh3+(hx%y2HJ4jv82d}VMlP*eQr{rFVI@}ri-sGjLzAH-)*<1~=TB;w_ zSzqYCJKz`FqYbjSbGKC{!;9|sv3A(k&Ig^>(=E6BBg zy4Y8X?)~e7+A=SO-q-xojs~^GhWn_sB%bOuFQ+#J>ad>?yE7Ii9rlqq9`Mn>3((JK zw)sTnNPq{8&F(Y57VM;(&-CHM9(LIGZ<|*?KgjW24$02~O|9||KfQO!;afg5Jh_Yc zk7NAQS2lXbjQ03#|Gt2IHt1pJ@!*{SJ$M>p%i}y2y8N7>zKiW_V81yrREEFh!JOY^ zj*Qvs+*rHxd#1PZbZrC= z2KH%ul)J;h?tspZj8D`2tz{n6BF>;^hu-4>TfZ3I=yb;UOitXs4@v$|Ko0+{4Rr$a z+!M$x-kL){({sm+z}5J?Y#fof9QTIPTvg4fnzm?CT+8T4O2Fy=6-kZ4xqQ86SQ){i6?$h&C z?YRFnJlJ2}*@yQD#B?yQr!ji&nagl~kI7y4i+3}ym!DffYfTNf|FqG+Q+ehCzgmO* z;zxDaOBbEhM~6C<=hFc_e3|Ou)99aP@?x}KY@YGvS$t2$A>1Db@ao>!6^}k5{aT>c z?6dCtoCvh);&0=9B4f{N%mU3bU-txj62~miX7m4V%ag;Wy~h0W8KzZ7d8@tVem0kS zMqi(gW`1u#4ISNAKlP(;xSj>tZ2tf4yUE^VepiMawYEFJ^DNNJ^LaC%LrlE~k7UfR z=FHyir-Q7!Lw+^_{GSe*PvaK^&Y1S=Ib-&Sk<7t>&Bkob-Ek^lx4tz0c<8Y z;~yP#(b@cnk3M>h#4R0}q{pz$<-=-X@8U9Y^@%Xzz{mby8&kui> zyFKE(DPWT?8vp3jp9xL{?rHKL#K|=0U!2zlWLNp|&aCr842?-%HQdv!(bHUSW{iuj zvo&4EtGV$m_w$U#wJ&Q213Kh^9r9vsJpDZ|I>bAz`|c^f5t-L+ZS&E)f;&dedgrKZ zx*FRoW6i$%0`c(c#$bQIuZIJ3xO`Kxz&lx|@29DUh!JdFG-XZTw&)0s|JY(xcbFSTmt3c-6UtfMq7Efl(k6EDMetiF86ED@LJ{!X}PrK)L&gW#_ zecrsO4XvEMZToS4w&e6o@IZhodC+@)P2g+aH^#SeS=+D7{E>kF)xme?&1ddfP(3$i ztku5zLTir~vZHQs@tZyz7~9Ve{_1CerUpDW$E`#9*iff@B`2N-R&XsAdEtNaWKKTc z7HIO0r~2!TIuPK@+20Hr+g8RPcfAYgTg7MXPW_JFDy#Q#M-DQDKcXiKnHV`E{ z)9HYutGc>py1OQq=}bCKg5hiXG7b<|7ABd@;3QC!q&tbA0bM5{!Z?EwFQ|ieL{Vgw zn}92#;;M*=JcDds(V~kPV&q-?>YbTzdZl{Iqz3h z-PHjuI_8J7g=1r=Zar@Cg_D!Pp}^<=?pe$DXmBxT{^-}tjWzoE8}No__XGcr2W+bk zy!Rd-d-ibXJTB6&2mI^Z!H=$IxYWa^-XA#C#D{OOut`QQ=5n6l@;tfQ*pmZ(jr!zH zlWS}AE`st{y?pYuCI9!*e@oWp`se%&a+tahZDo1KU-qrRSqHxtcGUi*3 z_@)lT4CNV*n?Z9RA6?7vBVxjh)*R3&PI$KbyU(;${8#6G+}rz9@INZnwb-g(zg)43 zSzUm?IXd51NSFh)y5lFtT|)jed7#|&(81otRA)lHRlXHI*c=1`q8!KL2atJ z+XCl;KlnNksAu_RcPr3V{hXpcv@UTk-k!7G3H%l7LwlTqEL~S4V(4AaI`=cj(YLW4 z)jO{B-nj?!Kfd8bk9+)BhYNv*6Taf2`&X^=ot$@n`MX&kaao@d{_<|&m$6p6moiqj zo=5-4-mLw5BU_H>scqkLe_5VKur)rf8b@S#hxC5)j@9_8hUay9G;{89zqjN?>2b*q zIh_CA5_>i4@-Wx6mbuoK_#fV*cC39y*4XfM#8@|;Uz~ZI@TH$c#4ZLoxDu%Qjo@nF z94rFOx@Wq_zeg`WYWm}XlYtzK?{7Zv>o?B)!XrQGYkgCnzhVL(*zNtl$}WFvHzDrU zB+j-2`^DIJ==M%j!`kV9&t%8XM0{HW8XucS@zQP1dz!ve!NEXN-x$DwwHF3HYup*U zEKn1ziwt-5yfowL={oLeXVp5J`>l&>zxDDjj#c{cw%>laTD5*A^JfG80l7t>;TwP2 zr9j=Z=IEM#9eR0?xg+E5y_j*&w5mRlXZP(dH{!zb9AEF>&d+M`4ch@u$cSCs{@keg zRVQk*=bbFh@c6diNN_dio(y;Ixvh-VjNcE(4jc5FxBn}L@0GBHGy2JTCa3+ONsdo+ z)F*3lMrUjF*~~fPYHGu#H1UfC`0$2+S3jBmf_%Rs@U`51!C#;79qGSkg1c87beMlv z@PiY6XL@S|oj(!$!Qjh=dFx*lSo?vYgLuYY^5Olzmo9}cQ-?t^FfOUkbM9ZGXw_Om6{QO_68>Sc@x4?Ztx z^~p2)`0{zD^Q(L=ALcw(cIO>(>++seBR;c!eDIRs)q(q0Yb^WK2|IH9bCaL*&nEJ@s!ql;G3sdC z@J7^tdxQz9gdfNGH`hv{E$-ue4b3(dhj>|cH8ov1T zv$MJ}?>s%D-&dU1e}+*na-o%v>Jj(o?>Ih_wX=bHM!PGZ$MXmBXN7($KVSaY;1`1P z@#~4;yMiNGhmQ$x!naYE{Z|8VUkJ33FFty%T``W&YG^Hxpa1;49iKKb)>>cI`m?jH z&2`{uFCA>}r(=xA*H@1`f9JEWSQmlzaA56C`>efrkF~k}&)h>!zI^8XtgJ86e>m{7 z{r3k~18dtW)}EVr=Rx!PwaVK#|08?MyJJ?#|IIz-|9s|0y?Nt?+ zao@{-ekT^^S)FSKzkKJ<7S`_bBQx54wqy33Z+>_O@bO4M|KZ@f^8)0%uSdKyyRJVI zRPIwFH|Fwep6MocdXf|KfB8>4+_7nGJ!pK^-KM`0z8?a&Rx90`JM&&bn&b2>% zJs;ooA9w6l|4SodzkBF?S)csbpJ|n%c zpC!oeUYxRRZT!B9&tOkme{7lD$iw?49_T4wpYg$+c*oBY ze=^^c74KVS@qSL`N84|kJ-;c>jn{qIczwR8kMkPZFJ5c%EM{Y0^EM~{3Q^hQ!?ey zXN510%=6OsOxM5TnWKly<;dW)e5&2Xpzj$xInB>`JUh+bo1RW}@U8hv5c}z??H|q` zw7DAjRrlq?S>rp|1HpaMvpdKf4u4hV=A3=r#F@|a^5o3h|AN2p^wYolFFyVBHwHMB z-{#T!H)lTGGIo2#{>edQ=y~9)pMJW}d3?@eUvvGv^ArDe=kEsF`?{chzBBXVx%$vg zUH|+Yc^-KfWj}K!`>SWqKb}AAI?Dg*Jj+3OyDiVp8=ik4A0YVW?CM`Lt>N=?vqskZ zrwsFdJAaAM++v!;*CUx@=c9u0eBzdD^~jg!)}S#s3wrNVeb4P)_2;uGIdSRT-};{0 zS5417w`$7zg{lA4ssFU8e_-l;4MfiUt$)+hf9BNt%x3;AQ~$Q9zc%&nnEKD2`rkbD zpEvcsw`2c%rvANC{{>V3_|!i!^-e){Nl zJ^l2T!uLG=^mpeM;=k?(pMLuGAI|59AAS1iYd?N{O@43wFppf|P2Rpb&-{@y{bpcI z{$De#-IKAku{Iw27uVO-qd&3pOs*XKri|%wR$iWUHRjK)%iTsm_Do>jI}`W!2j<;v z`nS(|I?aDh&^zT_(_A@jZJe9teU7(>E&an&?~Hk_zwK+gaaUja`=))rcIti2Lr-hf z*UX-ePyL1T-tX2m?bbM&&qS2F6#U9Cp-_FoL-Ts>c%P~XJA9^hKsWcXFE zaWb&ZZ*lr8Qj9*R%@<{j4`MkJoDIqiKb)0~pj^~fzOzw3uVw7K;$uCqwjG=f4hGt# zKsFoc&|&W*!S@Ghm~Wc3VyqQD;ggTh9PyFucMm@DjUB#|T?85qMho>6j| zdysDS0D@ZsfF!foZ;@gb8t0EE9d?1JiIe_G@$=o!EXt!1^lo^rfbGu z5G1taXQtnmv6$3K>%^Vqd}!|6xVnURoE`EH1orUh+T@cwjXG}6^IZ1rd&u%@F8huZ zvh2Ncn&+2>Q{3ZO-s{(Iikw);+4tFb#>2(ni9q8c&ikxp$bL>_>6EK8fqKSCb^qpl z)>rBKE&Ir`_pWJO{eCbQrBxr=~gn{Y)->pA(gY|dc zVEsM&tc&SvAiv;j9L`q{&csG=cW`fTA@~i!L&2lLX9rIPUmbjR@c!V#!SN`0NARBD z_Xl4ee0%Uy!7l`#lLWjscwZp4&)>s0xwZb@tjpK8M&5nnoJY;FE`CSW_Nohap#5KP z1N~okgZ0O=t_FYS)ITxxPo~fRKcXhparEea&(#0k^mP8m z7?jh^pj_~cALM`EB>(%T{!7xoAoFa`eKKbs?!?;rZ2V>?Pu&EceB%@OFO7Wj(|esRHOCGczP3A> zUT!nojqARQ**521^V2}jJ}*V>bJhdx^}$`s(T+}B`fTLBaZX3B-xsd=^@pQioPTfT z>Ex5WYS+5YhbIF$6i0LT=%nY5%=A2PlX|wJ>-3}-U*$sGtmT=He>A%Fe=I%U#@ggl z?<)2C$0NYMReJu!q~}kjZ+$iwjZJ-ydHb?y&!3w5FHg_@cn{#2y}fGXPfvUQ%+!BH zdfd+Aa1L=@9>%=WsR^)-=(RicYf}w*IC)i&p$i)_vg~nP2XO! zUl{>5N1pSz%+sHr^n6wN*3Udv=Tx5L?0=8kJZG6+>iP?luD_W6Mmgil$l062(fIsv zd1mLyz-Mf}9S>d?@Z+l|TVFHvUz>iF|Lc)G6!`q=`w7l4ohkWUo#LhQ>n2@aKlOj< zCUl<3zUqw2yE-=~o!>C&`o^jMrkl`tTlR`oJkCqDEbkdPbhiHTr0f5f`oA*iRC8nQ z*7NKR;NLp~F~2+g>jS#+aw)*`Mj&Tu&KdE{);CA@s`|HAzD@^x>^W#XuVv2uzncB@ zjeecXv;BPQKC<5uS-y<2?n3(I=dWdb9^;A3J7?PO$bUwzaw+@YL^4C$Q51x=N`Jo zJ)`{JihQ4&tNciOnXA8@wJ}%u(dhE$CYgTDBG7zqsNYjKnX$TY|MK;0puYL0Hsq5H zzWaVlYj1pCa`p&x73dC|x<_k8&8@#VKozI@xvm)ATCU(_O>#3@gj-0_Fs ze8kt4^sSfX5l3$f?hEW~+&)io#8G|$Tcf+&s{C-`}99#Ar3?2$j z2RN}$&vxretlI$@wWU23+#ZnQlh4El(wFnDZDr1U{s_e`uSW;D=7tTvR6c)HVfnts zjk;b7#NsTEy*NDU<$pbp4^7;FJCM(lfpvasmjeDbzc{2vPe$Fh_I>X}v$iluI~^Pd z8iz5^(OB{$(%snU#F2QlFWTvr&*j*D?F)izefnJbjo|78{;F}Yod_0zR$uPQxH|Hq z+~vOu(>+3XZS?6ocj*4sOCwpSN!)dO8eCa6I*bRp23 zokPJx0bfJWZj2f3)=tk5TN=CUECQUei-+ocIAiUpoo*SYJ#66POmH?}8(;Q|fBe2) z=lo3K*Jn)}+mjrg?A;jV#4Ap7*4X3ki>GIK$B`Ut1zLV=d|geG!B6x2ij3*AkG}de zo-^E7_YT9a_%2RkIjpV=8Pnz2ersZCZqx_cJ#%vLt`+{ZPVrCQgMm3dcqgc<`t!n! zHU99ud-*WdTH|Y6c&*Fa~ z&^*JHfV?rDM!mQy=W5XYtHHacd3U@$a#CNckG1S`+TWYrFYXO;_Tk5!!iJg{^{^$z zQJ!8P57u$m_~>kG_R}X8K8sJTaZ|mmkxVUfY@XinJ~BrK8^*^2yvFV2v--L?jpeAZ zk+tUY;(8ztqYru9ty$+-jkTV{tOmqJ_abnfsu?uq2GPO zE}feFWIc-o$M|Ty$W8e%p67zn>q&^<>per;0{oqaqk2ADz-iTUC1Wv&r{|3yn%sU%@Q&a; z0UPeA?SQ`jHF#(6YlH5Ut4D)z{nLhZxqZuQ{ngX@gX!6jD>nFr$47z>1#F!PdT)rE zE}Ywg6PVZZt1|bU2X}s#9(`=|{wGiG;h-_91NY5$gkW*7|G~gMHs2cD$R?TrzhsTs z>|Lz})WxAdQ?qM<^DP$s*xTBd>$$vKlXdRc;5RvAeu@>yYz5k9{ax;((=)&Fxctnso}NEs$<6Np@j%y3O=JAf;f!cxa59&h|NWs+*JngtEb^dk z_%2>DVSp=FKm_HLV2N^D9 z=u@Ms^qtJSeQJy!?79nH92^c7fmXlFljoPuKjK;s$cl*{V$#?xx4)FUv2l=rG&V*% zr}E6^v(5D#*|QdCc)AocmXTAjS${BiAQ<O9yzWCj*nbeIOZvsZ540zCx@BE$XY8)LJ2(`Odui~-;PwE&)%Dzrw*oDHGfkdyc!*#6Gg#;y9S zU-W7GT?A^i@0mG2atVAEck@Q)=+nmyKGBaSGJQYM?-^&_1usiaWKi{?uCC4W9&Z?d^qU2bFL2t z&YhgQm-tl<B`(b;Uqw`E~HoyV!1?V2XZ`gaH9Pr3~^`w5; zS__;lV><9H9=&~fxpnT=19>-Z4>@}lf#zB6DjZ^cij^iYvNX)e0wsW7GK)|JK}sxU|pJe?{&;!%6G3B8SA1koPU+;Ib-InaSM7DLHN180wrS0rHC)cuoO_LK>x)3cb3$6i zZyp!bv6r1iWHf$zf2srVUJP14_L{FB>~97S1-N!5x|ZQ?UG!avQ|(ef*T@Mw7Xtj% z-uxYqrR(0U{43WFW{mF_1#-kUx#!R0Azi)7#h5#OvVj-x^SNbhE2xYo25A;ayF+H@+*$IiH^VBG4WV>bH4*vq7I8 zAD3R$X@n)m*C~eK(o&}AD##_Hq4bbe6d}-t88p%y}Xb1)FFF2pSjnT zpTlm=GY&K{j5+=88|1Wc@@)|u2zq|3i4!LpfAB;vYl4o{VR@_&UDFPv_a5Gr`$_pIX1i$bY`D|0#iHPx-Uvx%=dpZ{)4v zV=K`7z6y0FpVpl=!~tbW~@IeF2@R<9WA!>`Yn93PGb zbhNgdIjwX0)`_0(MW8K~|J|{{pVspWGiJ;8zvN2J+20EIJpQaMlq~CNJ3YSSVJ+a- z6M=SD;N8u(`e%pySRZ5UHcl~}2&|bKeVv?itPC#Sv-)Qy|JeH{%gOLb#?VgQ(f_+=gAryw`7fA@*(`KpfT@%+@FhnzYR!{~!CdF}HD`SQj`@v2+;E5DZUZye;SKhwMRFJ-;; zuEz}>IAl}p+_^%B`P%Fr&vEC{5X4!n2H1ZM+hAKa6CdOYy{0qx11ZuxUgIk+;+y)I*O zy>soik1jgpl>g>FA<)Ds9{1YO^w#Y&j|-ewe>}nC3Fp?u(S3X{Pw!^19rWH3H(mP9 zUC4MXpa-|BY&3`LvO~Z68b5beA3w#;KMkky;QSif*RL&{eYX2-Os0GJYOn7(s1ft# zaK{h7uhyN)A9uJl;6r0QpYivm;9i^Fezj)}PjrlbHl%($lzDy}4D9DSo&8<~zU8O( zJkR}N>(0Pl?WsT<>p|m~@3~Pdw95DHBmbT~-xpY?!&odmBXq;31X^oNJ>su&^Ns`Q*>&#tK#t$`+GpJRZIQ9ISpIkC z{K+l<>=TpcMW8K~|9z(C=b>Qq^Obr2CsDvoKVOLDdk6pM-3<6czkd9jSO3L#d|F>i zuU`43_s+2{mi2%i^x8}3$j#>uw%spxPV4EG=YnpyHLza{-_Wb?B^Q*Gn zpXsvQeHkwOo%=KY{)Mx}z9xtBuZ7g#w**&%_XMvGjs)8Qe;)}x6udLo4BUl$I2dT= z@k4k0R1b8V2sW;tQ6XKoxj6MQ7I2(+&A|7xIC#`Q&>waOXKZP06P zW3BDc-nD6ckzT7l_i6XPJL3m}^56XzGxuOn-;C9o+Bp=Q3C;%g;n}_?0_~Qdb5CZ> zH)r1*-t9N9Iiqy2XUxV{K=y}*y2YV7sqX4=cI40c_SDmbn?;~4mjAu}^L+0jHu+9Z z-w}T#W8kNAsnI!}sjr&(b|UMzQa8A{Juv4?I&;n}(04L89PnAAoBdJ$`v(2hB~G6; zv{ClA53+Q!%MW+qkzgZm7wN@2_p$d0S-!&Pr??IVqs>oUVUz7qX0eCN+4)H+WlMPxHvX3xQUy z@XB{~7lF1|{&(jda}VJA2P3qK@5aauTnZWoy`K5YC;s4qE&i|i8V5h_2S11RwZRBE z8J|~;BeJwP>K|+9MAq4GZ&l`@jK_M!2{{}(E5`z7Wz3Tp=~x7sGefUl+#~05jhpul z=T!ZyPxET1_eRfNYmYAe+#hUD<4;MiwFbLq-j8>SHF^A@J@V+>)CcFY_QlBl+-C2u z`5h)lnp!LG#?J0q(0Wk^pcclQzc9~q=x-ME;0e#-_!k4uNAt|KI({@b9ms_?=Fhyn z_0L$|#m@f|0e-Gby}QExcL!vi2(%-CIK}>W9&Sy)5jfN8iS0{4&&VQUO)c9eM?aik za6*o59N~lx`srlfnW7K);xmeUWTE$g9PwvfA~{3 z^tt2aevxs84hLk!f_IJVc#pgH#Gz)(n{%My=|s?+@|i9=Uli=M&zZB2kJW#F#`f@u z&tfHWHQ*DQ=hMsI7!SYbz^AeLcdoYre&kn_E~02QJZgt-dq(}0w`Sj^ zz&^H|$+@hxy=3vU7HAI!&Z&E>IkUz`Yh+&?;Dn6(zW(}r+B=Ng>44vOr4xs53-WR6 zX=j6n4@e#zar^!Sns zaorK9asJbz;a6;@0x|V$9LQMf{#!HN2*iQE?SLM8$X*Pr@z*oGp6wg&3G=^{_lg{; zKlLk)lL7zOy**f!L;2=AKgW1IUk-4?Pq`2mp5^Wf12V?~Joe0}Q#|$Vyf0&O8&gjg zKj@*p@KS4REeR{Yu+J9})cst2)*^YXANujDlAe57B#_{8S?%;8eJWT1ZX z@lasx+JyO9Yol^(wI-gM@m8Sy^PFG#a!>H-M9|MC=H=1+T&8OWvc`Y=wbp<=<(Mrw z|JuP8AK1bPZr>Vg2i3z@5Vt&5Z_f&y_KsiwvbP!Fg&uwVB)bvd`RX+9-Stq${4g(W zdd0Lp_$rr`c`{=Sul#i%yfTn~T+R7tZHhw-`o42;@&m)yx%I!gvV0x4d>r|}A)R>A z^S}Jul`&u9(sOQ)4ZZb*yc^>;47QsOUsv!;-`Zgl*x*C&Znp46?%eF>Yji&eUeWjy#V0?#naZ)w~?=A0O^Yw#ed%?mGfLZU=ahXZJGsxlT1mek~Ze z#3vv1e#Y?5^mK}sJv@l{tpUB}+?DuxTVSoS=J{@3-+4MZPj~f{XR+{o^jX|u=CeIV z1H6qgBUh_DiD&vX9Q@a8Is#N4d_mR^Bq~#UZdekN4KhZ3b$IO!IAg`!qM-vtJ#P z9ls{xSM}mVu2*rZzO2`OaXL?U&{pj!pKM$V*lB(CU34XL;v;i^pq&fUB%Sv0Y3DBb zsOS7Z#$fHWf&KqD_@cnP@s|waugdsfFz2XsMEBJd>o^pz9P(Sc7R>cj4ln9eBe!2J z-HCkC#`{a$Y+Ab<;ObPsM-3M}6XX3R7VT0%_DK(E_}>oXiJxx_@amrME~igCtO?6}6I4@3IT%P*9_?p)c-}$y3oDSGK6Pyj?QZDFq z-`q7loBx?`B2N5?=Z;|9Yo9v94_|SMSFz&VI$qpecxheWWmR3wd7zKKe9`28^xHg6 z_(!&W^0l9x)Ta5?)bWh@VqUx_1HOxYuG^mR{`6V%mVhnt)kzPX4+ir2Q-SXjjIxV7 zYt?c8&f`*-eD%)z-i$}!c6=Vk-!iSG+x=X`H~RXyn2&z{n8ru`tp|7zgZ#cAcy4et z=;sD;zb?<~0hz}3WXAX!^^?6VbM!wy!0m;AS$92tJZlf{bj$tpYy^BFi?5Ma9FDxc zCC}=O{L!Gb=1yaitk|2MOBvHAE z2i2Y7(jFa;1^lG{U{H=LTfWS*y$JBJ7hh_>pR?tTA8Uaa>0oEnmB;Jm)zP_NJ&;ej z>~9?Mc0Onh>Oa}-K&<4o(U${xX1icxGbmqpz9Wzqe)EH#ivgSbmmju&G!y0Lm3dwd z*teIQmez=QXlr?_H_2~fDnq2dR{eL#tzdO(3sBJ#V6It~vPqmM; zGr`$_KWhQGCj-sgc2K*Ds#_>!bhPIXENRpTF@-z6$%R#e=>uS~BMb_8$*!#xJza&tfw*>sfaXF%U z{Oo|27X)!_S0=-yjClDf7M~&DTCfN-aknn_(!mEh#IXppa`aHfbU1V81F~#B7SyIV z$GzmuX-@^!C5}r$`BEozwodRsC;qpC(}8&K^`>Ct%NY@mIv;tvlIP7pZuokCKnLAp zef`=zkHFFRylPBeZDqKOh3|Y$D9gqU+s;SV?#$RajPKW1=lMi{+r9MCW1l$7t7oyu zLpjhpYoi`q&~N@+fET$q7|=zx`_5;Bwe$}M&6T{L4sb_jWyajUCiC|Don5EWiyaqy zmBTSs=bA6RJ}_^c{FoCtm_we&x%u;U*2N;GM}zv$55DtHooVb~GuwS+@qq{Jso+d-HV}7xvWK4WeK_8=#@;n|1!UFVSLJ;;uR}WI zUktbsL+^2UdrO|xAg=3&_~BAu4;}jZ0=yZseKO#)x$a%d7%m5NJ|2|s40qrCWbpm9 z0UdPf?IHh_fp#%4*E&0z@y0O!hK&7Lq%TQ7f{)|#s&Pb?G0Gu3a^gODdw?%?d-u-2 zKk)pl*~72qh+jRg4L&0=>(jt6wHXD^-d#rD-{T%Gduy3DNyxN=^q z^Pf*T)g+xKgX-ktV}eVoZoTu+wF4P%4$nAIE9BV6gRyygybINun9ala;K$>Kb^pGF z8d?v?HJ)r`@KpX9 z|GY-5)2BY>b+;Ec18YD)W& z)RenLKJD8GoRPZ%ylY<;8CRpQ%C=ByB+k5(mj7SwkFKei32rg ztnpQ>QlrlP)gC#m4L;i=1~IBv{El}R8Gfnj);c+ScrTrr#<(f(87}K!E;D{DzD6kR zaxlu#hYO8w{9g#P zhj+T=JJV;>{;b|!w$!O+Uu)i7#|O>%CM!pLXs&#AyFJf03pGksqwj&>u!l5yJ#=P^-XEkE~YlG@5hnZTg;hii_|6u}Shc0|=1Y)`t;El}qJKsmUtse&lEs*VWP5 z?jE)@xnpw?XkzRdn^%K(PxGzy#@={5--!Q+{F3sIS2pY8s@fA5-^8$L{X*t7F^{p) z*|{?rpAF=FJ7|3$%6Ma#^Da0t&Cx{%|8S&+)e^4N$5x>I>)~D{OGduLrYA?&`1!MP zJxg@G@motl@`_t3mHa&-T7Qvd(7DjM#s0ZKtmJ z+RyQHw4V6~{Tv{E^@M-%@bPnoxbZ=kyLJ9=yozJw>)~OaGh`p1YFj?u8#w!7cr@S# zP8tJ0E(F@c0e|XiW%=xmsK19|moMU~J>${-sXVjK?xlcFaz}3DXOU;k9nH4ffVN*Q z{_p>va`AO5K9})Z-oe{BR!C&qnZI&>ZPo1M)n+$Hu&7X}PC$w=j{$ zuK4(|7C1xyCV8tr?q2?|Kb|XR&)Uf6`-eZXSk9wrSzCNGM;FfMx)hk_XKOUWWsH@7 zZJycC@MvGpCBMI7ut`o{n008|4qDeqQ18*|ES`2YkYv-npY6CpZ;f zpWOxI)~CLD^0>=Cn|M%LTJ@QyhfQ(eklbdVmvjDuJ%ERULHE_4`MtFrnfk(Ca=5XN zzU~tfz2^C2UOa4fp1fx=&YE6cx~@*tj{Vx{Kunst^X%Md+ z_-x+$*5`LQ8A0#(ylNbgU0z!k&__xP-E zN7ndyCO8||3+z7<{QIE(RR+hHSXt76XTpSF+S&UsRy@wIhI~+;gLTt4>Y#OJRS$-j||)Wa|PEj#>wk~)?8~> zO^J&y_Xk>ak)aDeWVVB@;oTZP)&h-R)jRU_@8T4{=DDvdU#quw)`OX=U7UYl4;_3O z&lN75uL}Xc#4WDVf%?_RJd>N}E#nZ&2sLmr;N!8`S{|3NK53A4TOeNNMWg>*a4O(~ zhMUUcQo9^H5F84&13s$vM~CrU86OBVf1cl1?c!eyIJ!Ns?@Dkr=-HD~^R4x9ZRA3% zeB}op_*{RCdv@3coXVG)d`5n!>U#!WnCB7v8=qH=Ulkeuo{v1RODEgC z-`xRXslVk?to2bnkQ-w$#!YL7?#4C#d`=wYuY9XVJn$v1?Yzy? z>SV9?j`{k5U;b?dy=#wT+_*B_<)k^6OYKtNy|oCOsoI;L!7T0m>`Ly*ZU^Phor2%; zCm*Z6U)LJJDQ<9PAAgMLrPDpYw~@Dhx8m~zj_e!j95179_>o&YH;>LCAISB7Aw!qi z-~%oa*3u7LcCWfEPjer?b%l@aYH?_M1Abo%=v7B&(w_|2W>f9plz-=gp9vw0^dAn~ z*Y6ML+zK>*hmKy)c>UBokLw>hd;Zyc9f;$~U(E9;e?HIZxG|R_{{G=W!voH$<72Z& zE%n*IWlx9PvPHI>>aFSPhulB;i`V<{@%aa`D|=Vg#RebBhf5rNT0oDy9Sc_Z`{kL} z_*;MYDF0V~en-DMrhfms|Fq+GpMNCJe2}xwebY?lH9vPf|GzTN_CWXiSpIQg_WS%z z`DI)q=UdJ!N=qRseOE@RWj`9y_57WntEJ%#(|z~y?3Dg&Z&RN z)W3Y{&rSV3>DgBI-~4ZP{HZQ`t%?6nv@LjUH}lLL3$OY)DoKW~~pGtJZS z>U=}fp3aH)JwLhgvqtlcv3afT#&9+=yuKFRk!LdA z8+zZPAj`LNS!3U`_MQ1dQgpog3>tJKcBNG~eF6;tnUTxeM94H~9A<^wZOSG$UzmSpIiy`56Ltpj{5c z!DpOkw%}6p9>HB}ov(eDp2=8#$O2tt=~Dai_0b14r9SOrL+qoC6Vn=<*7(S-`@^1# zfn4e3XCu()YQD(%nL54R`QmdQi-CUaN-)aLf3C^q;b8QWEzhfb+b?Ez+1hJwmX_S} zb2}i*hF<)9mTNIOFJhPfaw1NjDb&rWU@g$fd-L9Ty7$U`*!V=T@M7|B5dWoLQG>6jOLaiQ7U^C;JM<=Otm#HYqo zF6{-mn(rlhD45GO-?((&+!N5jzWB?}D*GoUS@y`@=fNT_$;Btyz&kBV~<>s6C-_#KwB*T z`^@)BD(`*6yuHT*b;2ec;?>KooSAR@xVajLy|CA35W3cbTZ3}NFMH`LpVsKHhri;i zt%Dig7l?Z^unzX??WNN_rarXJZDhPKk=DD__;f&C;|txb@9H)0-jV;t=b2yq{xpA@ z4>s$MzC5b8P_~Q}kM*tnh0JN5?a}*e$PZ(m7t70f#_HZY8~7Xdb-#X$7cX+#ef#l3 zM%#~<#zt0bdj8@RU*c@6>dHDE^sNoNtp{oYuTKP;T+(S>jID!18PlycK0R0qDn~C_ zdpmCbY&cSD-FLGbl?(OTJmbQ%o_$=>+ZyNRdLSnA<#1I$*RzPcCZ{;){{8%=L*vKQ zfc-_FwVu~Arb9mDv9OmdzM9+5jy!7YR4;i@!?y&BKzlei6PyhWOz1v$j5*Ie(|qPT zf2upf-Jj{WBlt*8ou~(Anosh;cl*3&eWq4Nbg|*AI9FQFGh5I->e(LOC;4DDc3ytP z*E(RAANGp5=e2hS`)sZU)*jrO*Oyz|jNEq5i!(14 z_V`b}-*3Xkdw1seBp&zP ze0|j(cNE_*1lH@bo?mZOh`DynH3suy zV4Dx@YJ8~8jf}zBSOl80<;;k|*}(0ofWGa(UgwxTdpqanM9sVPmrm>UpASBi1J@eF zRrT?TVqXLY0?)Y9^XEb!U!KR9kL4L38oT_e z>=-}48~bA!&-E`dSG)YEoxV@`V4Z$^^My{b>{KVY`ZL<#^NnPq&vK`}#y_|1j#vcRV)@^Xd|!z1c)&iMF9pu-<-nQr-1B&G7+W{5 z7Am7=Dr0;tXuia=9`Ms0ab+5l_q+(S#qz&9a%9B778!PMbSThpVSKaSE5JQ|?+et4 zIF033tj1&-uV?a&(=&UX#m7HmF_jPg^3yz@%ZK~IynWW#+Y0diPp0obm?KYS=N*0P z(zhSW^CJ;_EXKbf_{re;97|)DeY)AUUryxIb3~W+jO(l3UFn@^eSPZLrSBR0JKwwJ zJK!wW$w$~*WKLTw|9kz{edPO@w0_AKyKId$#;+0Nd(OCT0U6xS z`>}S)86D)*r`{QGCfSl7ex9G+&Ha3=4%pkAdUZgbc$)v_opvx*M-b$ z&FQCS%r7?i50zop{WMJIhX#X=gyy@d{uhCV_-AAy>iB%?ZAEPz0M~6_K>+6h=YAH zt3F4WpXcOw(Vn2e&;=I>QDLBkA9w*_N}My*)XPe-nhm=Q($#niF#BrLp6)UmvRl9LOzS4+LU8 zAN+@0aEtWE0y^ZRJ+2N1>^kGx!vPujP(B!-N=JEW$Q#?LrHjegt#q(^=z#F5Nk8;RQx^cl@pN(;Y>xTk9-yK+Ujx-(a z>pwm;y5t#0a-o^?jF<7g>N-7uyVfB6eA4d~@2G38doBC4r-I7ye}0y6upKnE@hq#~ z&X4EWeTSd=I6o(z#bLji5eGZ%#VYrnajaht#Hsd;>E7#1lc9reJsWIQ*IwsdY&W}) z|MOg^55BTL_UhSl-vhXL`al2D+zU~)^m*h$J>gR<`te=x>O8x1`NIz}moI(C)?XCp zedg9%lLO=Rz}e{h&GvMVWq0h=#8z-9_)B|m)4gN=+Q`$Toequ#2Ll|)2M*MV9!EP| zoLJU^diWoOSMFg;F5I8nfw)@taw7(3UQ^5dE-ik129t;Nz_a^DFK*)lLC-Xf)v3?7 zI2g~wlV@UoRsE~gp9^2=fPafXlVeRR_~XA`{j3LaU=9a+{k`wj_t8mi)o04) zx;esqc~uXaf%;wx)VuoF4%|nTqkkjdPdWB?aQNz8(BBAnAVW95tJ^unTkF7@dv+19 zRXKMWAIPb@&NqfkEqxi+eYQ|1)xTTFEZ}F@L&MbL$j|Ti2 z?c%*TCUb0(QP=gI4|wOpk$~?1v`5X1xl$wb|DlZS=YP4$aJRO4mdR^;avsHaKKO9# zT}V$SKgHdCuRAIt*L~&@gFU?$^!DBsYzEexc{b%1Z?z+C>*cb&Il!&HdgOE~pyzMr z&j{o4=K?aLea~dr#LKGBFmw4n_no)jKJ~i@v{kn0a<{8P?Q|eV8lTL27O#5@A9ADK zt=E4%%H4XP=ET&xs+>LKZ>E=fATLf_t_5!yxLo8}+e_y>F0pF$r@7V7>!7vQI;hY1 zV6XYUJ!8J%=6Qo}WJdirdY?B~et=2}g-Z`adr1nRdndow+M_$*%W zIXmBzKa1WvUgTLLvr6CGS7%J)YklJv;2wXAK=bawt9Zz=`J&*CKn-a0sMP}=($pH+ z#}g=j=*5Y9Wt1EDZBH`xx$k<{v+MJcyP#`)xHC}On!n@lqk;N(GWdnS`=39xfiumz zv+tc{ozAbE#;4M+O=Es`5Bs%!He+(u&IF#vxcSQ_e~ljrJ{Y_{Q1i7pa>MV(CmAsT z`(k)Bs7^lE_iNIh2u3-6JDYsfS9U$)jcHCD*h6pQahAkmuJMSCpO=Cs0}Ws1`LYN! zKC)}R;|%xA|GOtSy0t3-eSB6Y>|F>n`YLC>@wA@m*P*OE8hD@aV>@t8-WaG;_a#2m zu=5f6mOakp$=6ur!t;7Sr~2d9xUTLtgNFkCv3EZB`CJfsIv0V~&ur?T`tQy7#PF;h zHiqY8(=$IBe{&)~V2zzi!L()mY10<8V&ItNzNNcxtQr%8^>KSFLs}!)4rjeJtP~-_@Ia zVl4;eF9p6=+4G&@Zv8!#acjZ8t>8fL#_4BD_S5ejM?b#RLG^pK$J)nFKa=2t7}YY) z`0f3sPV7Ar*v~I({TwBp`EzUHMl$&0<9$JE5%-?u!@6f2@J-Vn5A5TUx**rSdAV(x z$J5=xdcX!>#cKa%P+!GLuUN(3`SHEQ4({~)plkdbpU0)|>XqCW2VZezAMUmOyDfN< z3-U(;IS|K~``VUUK8knL^~dtP@y4cZ=&(o5)WR1Be6YWMy9eoF+u5;pIlzrP+dub1 zJXjB)W7-*~ald*gvXp0&>Lm0itQGj`8k3(7}x&0p)sf>mcl9vf@V zG=Ie~o|{7hcjWjf9_M{MphwMU))xW4=eqea)?L@_r4w&m=LdQ9IhX7GF}`Oaw&d<& z`raROXmZ6y--mpp+x}I&Wcs?V+xV~+yegP~&l=YUf-%3}xZ-!!*sq4f!WaCgk#XPe z8TP3IHA;SN)0&zTgBoyN`0&nQKfU(j)EFA*QV6Pyj?K$9oFh);6| z@rP}H4_XXtU!CUoBNlva2juxckMSt?l00t?bNJGF9_V3b{9Q=(!~FYW9OrC_jr@f` z6Qeb4w8>xc8m`OXsf_D0e{t_T+Per21nw_;M*h^&+{Zp=X{nRV;{m;V#HW0U6Y3v6 zPv?0(a2^{I?t1^wWv}N8fwoxw_nDp!cFqLNCI8u_tJ z?#ViDUz)vqe=^YMC-a1dv@g!OIeJ^`_;^L0Hv)dI;^~Z!f;sWuLxL-v0GKy&8)}9ovT=d}yszw&hYi%jJbY>-s|(^Zhl!s#>`_^K7l+ zjJ@W;-v1IKZ5piE*2Kj7R&$c@FX{6fGsuLv&awQo|%rt(KWqX>*>&2ug{B&wR6GAz&W@r zkT3Bb4)}+c@hpl3hwA~kCjw3FY8L}CdK}8Bx@rvKSaqkrF!SQEN9^|ayt$V=+x!#b zR-hdpzJ3zxX25Q1g)i!55oo6a=hofmm(a*f-v!nVOlu5T6O;8123^l^_q~im;Qw|| znMa3lhD$y4HC}T#F~`^W=g;0d>>FR5un#Pm?W##&I_8Sdtycewi3=(bnR>EkQE za5lcb9?rA&)K0hLlMEaE*|m3?*y=wY;9{V@cRq{l{2A$Q%<~Tgza;^`B0_&H_+KVs zDzA4&_$c1m^1j^+=(L6tvM&y(5Q{n?KmWT-;#&*IiyN2TZ}MJ!t74~@EwWpI-2AQK z`)_a!li$^Rq4X24H-`KURA4&wOZXY>U5poUhtptK$rpHrPBB$p7)c{(;P{^9vlj~W_(|8GT00jfyU0kJ?zNs+y*^3qhs`2Uc8Ui_Rv*6 z=lb~UuA{GOd^)s`9$Zzn@zEo`XA^rl_rA8D-NSp>RdaKjb1wFhnfq0{_ebaP;Ld>G zY5^A`uWHI5~pUjBzz=w;$dZ5M^fmT`j)!3zA9*=px+P5AY4sdeI9-Q1vPT3`= z<~#PhpMAWp2mG*)eB&ScbD2LGkjInH#`Eum(y<-jXZ&6m-V@d`Mtt_Js=cwd*VhpB z3oq8~;}5>c%x%*@+Lrf?Kr`N2j`DARP2bmKgCE{u?($24njm)|_%p-zKiMTW>iNA{ z_bj$k0oyp|o6lxidGP-3T0eWq^{sK*{f0NKIXjZ^h2_jMHHC9Ns<|tHJc+q_#Y4|} zfV0la1OIWsS25FXu6npTj;mYF*8{m2^^vFV)X^Qwa!nR%=>ehTMx*wH$M+_>~$V+DTWsZhXb{JS8yQE z{&N28QhjEZ9}fht2*`9l8}`Zgd1 zj4|)_*Gf!#^%Qwzz3hr)2%0~4(NgX zYGOO<%^iDU>zuEZy(i3#anL!pS=;(^!FoWh+|gxiFa3>4JnlBUIIH{Zcc%G8C;st6 zkG?UzIb-X6_8HbQ8}_oHT?*LJSN6>r-|XJnZ64_OehSkzgVsGcO^v95%BvT)SJkt8 zv{o}*%JILsp+hXK4?LI8s~I<*-hb@aqfU(ZVQ+ny*A!nhdxX?_Iy{Usyzad_g}$s4 z_T?X!;CnZVK0U^0=34fv*iML>@+KE}BCdq;36(5j34{PPWNyras=OEcz^ zJ7+K5YJ@$U`mA*>um^wq!w1_3g6hTPsQ^bBe(f{27HIrjHTMh;JHJPVZhY#0Ib&}O z&nEUW@%e1vd_r@xljoh^f%pm2{Cz|3{e-K-0WR&st&_gXz2{B`_&*cma?CvmUZyF z8?1lS4c0$;pY{5WAK0mZo!=jTb8|Qs7tYliuGG=RKz%+x`t$!~4V+9bz9YfS?EMvc z?5$tw0S~VaaH;mxHooMiIpfzNAcIGDw!IsH+AsI~GDm0U=;|4tm1i1Sy**HNyy z5;MIxkk60FV8496V4rn0Dpo$fFktt8jy(SPR-4Y6Se+H}{AByKeRNyDeV_F#FYO(T zjQU+=uX&MM5a-r3{?Ll^Tpz{p!hPc4+p&Fov;LxK{gI4696S)nv9*uQ+UfLs(%AdB z%r%C0*Z5jgY$PFe;S*A zCxX`m>ix5Vw+HUSKM?qLBEB~G!QiKZ;|cuk;9~Ih;9bGz2Y)p9^T9U<-yZy%;OB#n ziLsXl{9liM^ZF8Blz}>x0j}@_!<+@o&s+^Y7h&pUoBVm!JCi zV0^0o>}>?}pIo8e*`-@7d>Zd3eAuhiSNiBW6E*sVSNJl< zT7PP{`%d4)KDiM8rC`jxxkaGKNWAU6H%yU#N<4{}1?*G~!YnQ)tUJ3Y!19os=-`v(;j&5?V z4{&j48q1qHJDW}Y8p89|^t?8$-<4-J*#JIU``qYN53Pwa8Q&h92-qvs&P$>LPv+)4 zIgfORX;nVUL6(>G^wQ|6&5>_<)FJ=0`M=lms`$%){M_vQF#2Q9&DN5f)^B;XZ+z~( z!I#e4gR7TKT=jg8F{&vXwx+7r*XwekPUN-g^u0X#=DfQL@Kvt9JwI1q&oe*%M4rW4 z-`pD;f!a}LVv+;?vvGH9v|dMl`O|8f6%p7}$^D{ex^ zxVN_Nxxv2U(Jdx1@S*XRll9EihgYtM-?});@oT1^-SqiodFG26yP10Iz8B5(eDtJ8 zj5ni4ZHVW|Kog&He?Bqv>o?D@%Cp>&m2dj-{i`#d|F6uM`mBDk_eRj(@w1a>`d^(j zGOtNLuL1Qb|C+Vh{)EWp|2MSVdZGW5fjAZFD z$1Yu3=kQ^!&&Q@``{;abuoY*pf$b=JC93l=+y2D_zuQL z0z4b53%ZTPEH>kEW{h*Z$(?&bu6#d@9&Mh71DV4C`}WewSKM9=aK9d~G3R*X;rmwb zu*e>b&9&f6a5i8Q#8_L`GG^;!z?N8lDdc-TM&B3Ft*!EFUX%DPFY{$H!MBfGhb61d#&+(uQhpA7l#9le{xdJ#R1O^wgPQc zj<06EKJkBJdUm$t(DU{%hZ}PmdHWZE#wTdb=yk5lIXlhaxCb}5RP*%7PdT*L+x9Y9zCx17P91L(&S@Dl!ddR*s(2Tc& zkz4z5$Y1>5onHL*TI1thGI+7ZroLQN7mh~0)Wc?=T?*{eF9NOKi}u+<+}{147zdn5 zwibc*a8OzEbktvG^%2o$DsUmRR_Y2hVB= zFZLPZke|l5aki`5+^qpwb7ajqGoHomnO@I)^nNpD12@KWUYf>qsTcl|*G>m?o(awd z{FT2~2Wx@&8xLRU#nWRPPV1P>6M@{aVcySEoPo`tT=2Is8+U((yJJ3Amzb*SWf{}e z{c^BsKW@6eJYJh*`E(}Z^?-eTlX1rP)5WLqKi73KYjoWj(2d8|ls#-TUw8-e=4xMl zYa=c$W4tu=Wa*YqG2^#mYpn@7S_9*lz1D*;XKKM@8QVdodG+m*4Kyi`pb8~3*X8wzv?3{_wrHw z+RJ7+E~oNR9`Rcq`He^G?m+yAvw31mOz!#Z^x}FbnBR4oT5@3D{H|k*|8OC=E#Mzp zjgil*?xRd!ch}*Ejrw$I8oS@bz&|oW9JBQw7HaK{E+<&i$zRHvT5 z~BM(rclyQDV7Y5v*v^w&o==l36duL}I$1v!!5 z)4_pYulX!3^If?!c|IG+qkVKd8ECf#=9@Qj_OWHYT1x~ z?B58)Q=aWN$A+=kwgQ}d^>kM0q}v|%p)nqN4(;QUecB&g@qGk-*sGD1EAnc^XI(z? z7bo?<@{7!Ai{*cJ{OF$hGl#$OVK1mPKJvM;^fw0aiF;h9OKV)}!##$Z@>pG!eJX3> z$5Ca*uS+w%v|;Ye8M8^AU2`v-=K6eWdM3kPb%&<|!OI6;aVS3X-P`wrT8ir3`MWZ1 ztT^r7wMp*9>3cTJjbG>7lV^4sBfb2>adV|_uIh{TynX7hb8pUg9{=%aF5Rx2n8~RT zzVMAb_p*NcI*Z*gHnDF8&D|Xt*M5deUijbht=`2>q1w ztQS06b2jSFn=_WL@eH&E^n7VP@Q9o4ZGE$OY?#N}dVp`ds+r!MYKc7E)g#Az@N7J< znU_s#&ZpLze=K9~E4e7wc&9_F{?>l|Y=0v;xoKV1Z+m<9-)vpcA;)yIwvK09|M($> zhk{QJP6u7f@FU{IJALYhKR1e5{qaG4i>dWSkNxWB*~CO%O~~!BfIc?p664jN{=Xz+ zv8e%hb+@StXMj8(Dm&+4eOSxzBY2QkO+C|v5AWWK!6I<4n&+b)_s=FyaXAVLQ{hYPT zRd(d6vd;hJqys+}gKNQK0b9P$Xg@plxF_C}9;bZkJ#{r>`qj&r)6-K<|9gK&A09Qj z*$^w+cvI_q=vl>c>tfaY(X%y==QFdfHR8R?R%5+4V|Cc)8-0cuWB=E~-*sv|k99HD zSM}dB*%KEo?UNI6H@?;?UmLG=d-P*Xs^{?>c%Gku>Zx8aj(Yh(uX^JPJ5K}}?(w-9 zkRdBiji+~1>wm8^qTVaxyuo-jn)_p!uWy|b-^lwHuHc<->p^X(@$PSayVhFxZ@k?L zyys_KA9yBbl1z#frC}JXGUqar%q83cgn}CW<4h7FC-dpiHXPs^1Q&ZnNa&nr__sIhL?fFQzwpjlEgZ+uj$OZ?&x}ekMXRzGwjrd>RNS{96#$fSv7`BKF~>(yJIx2NcJ4FHd}l(>;>O*Ki{JMJ8lSv9 zt+!Qggqp$!J?vc>XmqMUpH<>sn|kYP@L~R$C?0aFd}K#lwNt*zYxO-PGFt%~_MABz z$hEOGv7Vd8*Zr#}nN_{m#i=cp|NmfrB6D?mGB_2i1>3>B0q*#NtG5QX z1>USz2KW$f`A`?l?IP#X#{#@N zBOX1D`nf#*&W{eik0!r4$sJ1HS`vHDH!pa{BYPU%#$=n{lNqlE>RRsDmZLL)b|PpE zetyP3ACNmA{6V0eadkEziwDjA?*-1r*&N4Fzt!+O@TY^EFI4BOS?aC-ntxvH&M>&-`R}M1e*QP-f{~Nv60dCjc6e1&_!;Y$|BGBay71`^;zYj@*gumAf6RA+`rG<-wtr_0 zKesMH?v}{lX?^PHW$UwIYqTLRb34vCuYQjOa)THCp9=6GW_o%b{k~b_8(DhgkBnXn zt7Pz{o*ZYlpY3!w;~nB3y{(HU40{q8ziJ~TG`;+0;tJAPihB6Dr5A@T8h z5ojlZLxK0w`Nl&|J{z;%ecTAj(IR7KpBRYo)VHNHoBML zM{yx;4Hv$Lse!XmdM3TIbk~plcxmp{!qEW7^$)M|*j^6nlR8=t$c`M1vSMW0T_X3R zxl8tOMo<4NC|z>05zr;)`j-U<68Uq|UkvK3G8ry)_`G79J#pL@Xzsj*JL}?RpB$h0 z$o@{yc&+o#8gADEIq!Gil=G6i*10*`WbRGe>h<@6MW8u%>vFVPBkUgt=r7N!?iIi4 z3;7d)vnPX7!N-!vzMXsJg>P)(WR-8YROf2w$^gG3pXCx4Tfv=yx8Bb?-OKQ!Y8@XM zeXTF`elE(-q{l|Ih^0dakqOtjJ@ZoF~#IkDLn$Ki0%OCw{ z;Tt~Lke{1|{Pa%g)x@eC^>dz1?}hnVVD7Vf)&6DEetqJ{cz&<>p~yWmxH-=76(5U0 zdqptX;)8a7&~^Ta^`=0c`?Hm|Ozr#Zu#XdWeIpP%yVmzQgLC=*qJSP;-WO<}8}z)l z5j%Wqj=JZ}PQZr0cT%4CgBSARz9n%xH~PU>e%=xAq5O|B;+|NUT@&E^ zSwU-Eossp{oes2L&1YS?rb|5HxHe#`zE~5(PC(xG!6&8P4CwPYqTX@Aj`*z4b$b__ zp%35W_=Goc-W9w*kZYe2a$~=8i;NFXbMKOM^|Ojc+~Gn#HUhG8p{KWN{Tv;?<7Ruw zIURV=dLNzTFFoS8Ex--_#4gVod28FjBGCA1?ashHe#>Wu%UJ1nQ-A}$Yq;U(4Z*Dm z{7ibj)rZEmiU;>WUhr7G{B1rL8EcKt`2L{xQjC1k^9hF|2jxPqw#km4=k)UHXmBKO zwz=D@XG=`>7eQlX8(-t^vikk5df9hYyyS5=&gcHwo7bwk*$QxeYoMJ7_#(B%Ozl)Ru1DQ`8+D(^d_ADMI^Dmy zPJ47Wk2o9kipM^=`aSCA2af0dkP(ySPVmF|KT2Y7w-IRe+zET1LP=Wp=s2)k*{v%w z?y2|2*jX`c25M8CYy44j#{;^n=VZomXARWIBGAaJ1(jhJ)C*l??+QK~uq7V*J!ia1 zUzV4?^7{)i-U#sG{Uc9*Gn0&nzW&W5UlP<>GM8Ha@ZRGsxOz@NoHixEzVQJc;9{W;|V+waWvob>p*Aj*h4I zX31~Y@E`}RskMyDjq!GX{}Jv`ZKx6Y$lVZpb}s88{YL`7v;37nzU)1J#om~|4^FYX zvG&XnmzXGo4)7%Fn@6o z4&;Vi?e65}rvqblT7$hS?7b`J#3uLtoU6NaYcTS8=Oj~m^xrbsV}IE`w5!KljQ=rq z%bDM^u>YAs{e5rt+4Nn~n=h}A4#<7R)O*9teGc@Vl(TYRpPbk<_lTWm2cHx2e3tx` zYaaZ(;2XRwz&H-*eqyj4;P-66xADIvV!e4jlQA790$dp16p-=V$Gbv@{`z1un4fuO z);>4>`TW4sBGCLkkCu z{KM-a(3*?wVO-m5SraE7tr?d`{XEy^-bH@0?HoVwb5($6HN$^B@O?cv81R25Smh&b z$*AMPXU?%{oqqm`hg@U87u4@D|Mm0v+5f!YmBDKRjXbEub5k!qzmq~ zou%cvns`RQADolp3%RvGqnjKaHUc*M^JrW+BQE^m3I}2@&+I$XTH}j+zi7(0nj^a& z@PQq5OgFo&8+ydq`*$W|x#p+O5{>Tq*}5Iqy#wWg-^OgrIpGfu`3=sgi$$Qh$KvG+ zj@Sh;(x=}Esz(mj1M#tmW9MpjUI#a4uRM&oeOlJ}Eq2X$9E|6;Gsm5Cw*ij%9s{*?S~jf5!n?T*#AJ9PbbxojV<9er9!+zC%H| zC8yOMU9CUo)jt{cqIMelPS*G$Up}kX1NkDyS6tO6vW?mKGr?N02(%Lc8=8Hx{NTUZ z`I`98mODkaxbef*80XF)XKyQ@%bEHz=jMeu)4P9d>1nNDZfEvIT_YdMzUk{WcXPr|cbh1q+zvus6JsIcJ z3VV&M+;zQky2+dj{M^GYerSBclYQUg*3#4M434TptZXd;&Hk9v_vPo*=BIwEgG0gb z01w*%9xn^{aw>4Q;O2l%ZyJAap~q8x#Cu>PJs-!4b8awv|V!1pRWwxfZ=KW&vee$G-pF4p(89UEUaj?G#H1*lH?%IsS zHrijC=6o|2)1~k%2jxp`wm#Xg$3}J5zve>B>?{K9L_pW}H0FmU2Yx4^oejpC5%4ePo1g}cUrRti$HU(KQ~;Su^ei2JNNWpGoXu3YtHM%Mz2`xcRbh0SB*~k zog=T7HUf8JeD}y-6`T&V@0&hPM;ZHa=kB^2Kqp=A$b=5M?X!DB@Og3E{`}{Fa=DW| z``!yN);GUTmJ@Rv;X&TS(a(>^X3Qsh#{ALKU9R{dA7=vhg14T*{L@*&huw0s4r}ZcM)i{+uj*6r-QY?-@SkvIcAS8@raj=o~!=Wf-@h8 zq66vi=PbXgON`d(S_Ev(+Tsg4bG>wE_2*(ghgG(==?8lK zUU4g6pD)(OyC*Jtum~;>=KkROWN<3L7u*u4y%WJ@!MMMjxijJ>cSXRiG5u!(Iu?O8 z%Ho5p?HJt?ALA-V^VspZ2(b1g_457FeQc6t ziw(A_PaQRe!x_uhM!+tazJd6+-n&Y6Gq@vg{y;G1FVly_R(s@XkId-*ZTtAY9ohO4 zu?xP8?=juC2mU+4#<&zS8}6xj<1*jAYvC{X{>V0r%Q>m`Qh_MfKS|9>^?MJ{Pb?{+0TpC zj9(YX30~9_y=MY@i$J>+F4iLVaJXpP&fxTh;Pxcj9KTzE*1EOMkIjJZ^4|FLr=yFcakIuzlOc$LU z>zm`s-k7z^15NF@BRC<4t3{xdgA*CEuknF>^7QHPayqyycv@;-EzyfRacYfAoX(iD zRgTOr#t;9-dv@7$&-hQ*$Pu6TXN_+Di1}i1^5U#e5d4#x8$$0`JsTP@nj}mrr~7z)wE-Uiff) zXioM0oZ?6M;EO$6lvi`#xA?4n_WFG#x!y@S#oqff<^`ALweQS&AW!r9q{BWv_T1xg zg-<**Cww-(F`!Fp-tgFS{1h9V&A)Tb^NZ|8AO>@C=ElyJhm#rmeJk#qm1Fjd_2L70 z5{L8loL>amncZ&r-9kJXJ?xM#N6w!PE(}z7ck>B$kNN=4U`s|5I+#?U- z-x>B68EgEcn@#QK^2==g;FbT)6TfiNIu*Ayy)|}?=^FL@aP(D&80o|lnTzoxChcN8 z{nfz+y{mXy@|nGl7f&z$IP>(GLkuHNt&jccY2-5#P4@~PYdXvTkn4Bub%pTwy0_Ay`S=6PN%+{uw&kLx}O=BXYIN`9CY57 zJa4DRjXztAFWlgue9>c#4l!Ey9=IGyXp5eC&C^BR=dpVu-)uRnAAOjg_51WY5}4S>e^%eS)1HrwOP*dnol$G2 zGd~s_4Aiv7HjH|YXFj)|rIo&m2Oo6o=fBv+El#oXg^m1C%!hoIT$?rdn)B}*&PRLV zyK|5D)T74MSZDq|3bEo#{@BCEUiKOrTd#PSw(`gO_O&H`yx>Cr;mC`#^PkR~kM5Iy z&RWjCC*!#CkhuO_)*9ENv$q+z7w*Ft|LX@iy0-#%g0d3t`+ zuXX=v8ISAuc`AW4=W*NK-myS)-kvpoMp{g4dGijY$0-h+y({=|Kvo^B1*Yc1u=~n@4`Oov z*xCs`A(+R$$ePxi<6|?R*Z4?qsb`Ny*4ciZ=|4aCK*09+nesWA^GmDmbDt)wqoL13pu>0jm$k8b`9n<9u{nbY|USSbv<991u zi}!HAE}itS>3fbE+zf6D)D-^g`FGp#wK2`f^3Pnu*_Q;Xbka{J4j$z3;F1Uaf*9#% zm%my$Qv>2_jgLI>0>Ps|=a>j(XfyZKq=N5q!-Yg~L6mosXBf34xU zZMp4x#LxP0JY#x}2F}WxZOwQ3W{+xy%yqpd+|LxsXGW>Pl?heQw4d|qwf90$;`Ef(=%52nk{d&OPMWCr? zITgFJ{BiE{r*q@aON*>)i{=0C%Ch5(zJ9f4%;lSJ_)r`5ul$g;etobWs2MVRYONT{ zkGbz}^qmRZ5wh0kBWKPZy)$|o-57}58RN?XO>W$~<3V#smmH2U(dB&gHWusm2J;yB zK)3rP@8!mMw)On2p8BqDZSu>$&$3ne@lk)8<5y>GGhl!B^XlNzZ@%M6e;{zScY+Qz zB!02`eo($LyzqV6nbx+r@ng>RI}YvI6stY{x@U_(YmMl|_mtq7!Cgrv`{nztjNc!S z;nQn_@=mU@d-)kRmi6I0&ecUgW-e z?g*bd=M%2@{~3Y$q4Qusr}Y~Gy!g3;P2AUhYo8u_IIzd3a;EO-_<{(r>#aSVem!8v zn!Fj0d>+Z%IeErqd8E(%!J&BAlT-cS;NfuST>UhbR(j-_9&wqsXZuXB7Pv<^(!2+K zYxv*|cPGi64d{@Md4KP;hR5F7>oZ;t8aF?j!!J90k+X8IKH2GcJ~|`s&Y3&sGi^OM z7}O83VS`puKPS=OSu|pSK6{y%yXY$T1(;!nwY=TJ^TC$_e@EMUM z6+1o7vdw?>r8$RpvG4bJL53`z#jwf-o#c9NjO$}-!5!kmA`strm*#gU+e@DKHvhA$ zYG@H?>gZ%}DsUIK184U8bI#=OK+af9e3X}+!20;lX~eBoARvdp#W^>^Cv z^LWrbZ-JNGTkhkqf1z5|(yn=X3ka*m#JL3N1-*r9VLa1VU9ye|E*fDZhQ z`ZHb1N9@9Pw97N5-&>3`y)|#PI@t`Y(RXjamd}FqfP8g%Cw-1tYy5P~?`QR^$Mt~T z)`KxU;ugPkpO^gW=azVl)zOWC7&ZChw^j~uR9)vXZVsGdOLGqI8r{7o+q1mer-O|8 zAKywo6#VV@o{Z^Z*IB^nX#W+NvtK{ODt2~y4kzZ$HAa5V>nBUgvvf4pGn3qY@@$Xt z{Hc6~58>tR881GY@a(PCT8HXF?burcTDd-%@u`6SfS1~TklV*BYhfdMe)jq1;Aev0 z4L&&zzAgC0;6DeS5G9M?%Y#1(9;#`N&( zzG*JUYTaiCuAexK=~A=gtEb-w%8xfyO&kn-ZmJbyXPnoQSql=%a;^I3w$#a9cKTV{ z`$?8gcaj~wdnB&%6Dl9I9`MIHIr-z09?1H8@A|0m-^9^?KwFt#|N(?T>ehpNl}Ny~{J+%O2foMl5tWg9Gb0JQDbR^qP=jEbF!_kv8R_`<(PiswO|ow^|?L!)xqx@19{TaDK4t-M8-JL_-yR+ z@^m2IM~6S}Et##^3S$Z8=X4=g!*4ySq5@Ze1PH zvlg5U`aU@C^G&lxka&Ud-d~{{x0>|!&nEKY!qcv9f5}*D|pq&WJHMx;*@{2&@$M|R4*D@zl zUF?mz#`mRXHzEUawFopndz}nU1-R9GC-0aqc*m>U;R!$1o5xFCbB@2>8TDkWw?6i` zep*29;i;d0w#cu2=k)m3)2*jlk3&73dimGOqaIIsIdXS!)6ZM=@h!RA{JSnVFyTA$ zhfbfBv42LPW^jQsw&*9%-swR5VC3g@giCAV?_1@wx#E*t(MPX1_42$Ku%X_psW&}{ zpFd{;ZPa-*b2`OJw)tCRtkoaBlaq5iLiL@<*gJDFI29b2u=|c2T-H4O{8Rt-`NQ7R zgKGl&*6aWE!#ZBrU|Vx$BN+KRp1J+iK0Nf#ZK@NwE=K))z+L@g!#|_CBmL;-DD#Z$ zr6eBcex}RZ`;M#8CH7rDu3Xjt+ox9`OH2FYo$I~hGvD01zN@!nTwckMSqu1vKOEth zp4NbP#@`DsGS?Q%|KH`APP*_}KIp?S{o8?j*qigs4}92Tw{h@;Uuu;PK8ME7p8Dn7 zMxegBmf>=(@2K8>YgKI3$>*(rznej8ef)0_IPWZ5X9BHnrT7*W(!?lFjhAk3PC0#3 z#^P1`+RcGIHSFDJ9OC95ANa(-`d%InXKk*RZO!?)e0>sw_oi=@8jP6>dEqnQt8bY7 z{1wN`zf+iBKM=!Lq<8l6V4hQTdwE{dtJ8~%+>?VFf*XSu1a}6w{)*sy@GZf22HzjN zFZk!dF9p95{9$la9Dio|*XEHHH$Q$QYjn_mFtERqeRl3m-#}M{jzB=iYpgb4R0F9u5X0KbbD= zz9r|qzc}xmS3r+R8y*^$|C|&@YR!3m zo({C9?2}`$-4q#I@YxyM92w5|{;(M|XD`TDUdy@fjyUOeS#f^t5=nApxFmL+&B5q8XbLLbIvvY#V)TW0(>~*?pS|T;AeMS z$e(?^TJ&cstvg#i&X7?n*979KKDh#Qs)++S=dFPT$ ze}D0;p6IS`cVx^rXU+#2`+Vy=y6Ua{itNjac%B)2{ZxnS(>=GvN4D9r&o?pg<<3An z-V}AiK3?Ax;Ec|QFKger^L@YV(PM4Qo!TAw^0}$qAM`GY*?E3d=b4Q8q-N9!-D?3E zvh3^W&_6zKwr}ow#%fy5tgBUbN?p>YHnsz2)oXPf+t;UmW6D1e*Ik`sb~})pk&x{65ecy?XVIFY9>P3Yr5xb}z%_JHWTT zQG6sL#zmk;>BE6o_Ir=`H0F>F^3L*2%xeMr?+BOb;dsDaV?3BKJ@xVKj5mTY)*M}~ zrCZARE-!9!J?p!S&ns(U0{5PNzEq#H?i#t;?70Ke8eOB!vsss;-8#AAQR^9d>*qL{ zHFoJ^XG~uB z=LH!)YLU-xy2#PR@6&U z192?^?L@#Qdiq&bJ!4M~?y5`etp{qYHt10=WQ^75>0m9mW{8!{R)ELGfFCjN-+48z zr+Y8I`Fk=r70?A|1G;u==*neG>SPte90%e!ZGfyNA1h<9)0AT z@s1md39Kyw&HIi!4VN21-}hBDM!&f5%D&$j;D)c(aYV-*!R-M*G_`qA8nCY(dgge>>cW~h%9nV^GP4&!w+^HpY+#z$Zzw#Xa*9Xylumy1 z9+4BuPQZ6HtB%CN?%{w$*ff6NMINiy+`e;jUF?qMPh@WGWN<3*7HQ71U!UY#&YGjkGQKuo zXFTitO@W-aOZ?SvEhq9RRyBqXI?E?6*8^wRCog~eP^*726ZYNP)9H@|WcjbPrdlV? zllPsJJ#|d)nLrb}IO;zc{(nQDT^Fc#{<5e2>hSK;uTJGk9>t><4|)22XppzJ71Xc( zetgvbo)z-+^PB#+2N7BRcV@58xE#>Qo;ku}#*dHYoXzH2 zeTh{JY;;|ItXJ0e6FSt!s2i{R(S9ZVh>0G4;@Lj`zb$)y<|{X3*kG@IZDf3Jz?a6a z2F5rtUDhAY_~U$k-lP-G24@1cYlHv%uK&)e6FgQwd2n9b-nLPHxlnh`Z3Or~6F4Vk z@@(;YD{v;$rC(yRug=-LSd4tv>JMJ%6Fbhu@GrtEoj9~FKDO6_Rq`B}M_Phw$j_h*bxT=MAs#pej$6~_5|+_={wr}2Y7d}+S^>5#9+-8Y{f z-dMi$tz8wfJuy2kKNpKxt>TZoF`npc-tNp8HwOZ~%2B^JkZ)XSM7w{tTjt?C)0poM za(LzPpO4Fl9Oy@|gB$N0KN>H)*2O~~eiwmuX181Vxt8%N9phQGHQrOYL45ez4AhbM z#3laAr?GuLG9Tuo^7-xtu!-YDZc2fkYO_}-c3#@;LTae~uDpqXnpJ`~Vl%#XF8 z@s?*C0DI&Yfi~)K*6&T&lT-apFv=XroXmBBF}yhUPtWE?fGcPD!~=q`c>!T zq37;@80YZQbKkV$T;nXKY_la#=K|+PA4g8tvge#L1As*p)lFtnt@(N^ycX$@zEx#Ca@`%dz%q zOPtQo$1fc8^Q3xw4-)EDfK&GDoeuEw^Lu<2p3L5d5sK<7q4hks_t&-#BhV|R_rX0Qk}T$7`#<7a04mr`&1bq?g_ z!vPsSXtxCT#giDc|1`vKIP+@)`n6H+H)nEuk`J*R47LNd_;vR%F28izBd-p$`*yqK zd1rh!kfBRG1Fl{dxL2#VB6BvtD;a(*0*yavifv#M={F}JoXCUuU!LY-GXIuoE)F)D|2r~nof)fXwdq{r zXRGo1=c2}E13B&c``uaRkN$fipf8-4%Wun?u{drE{@OIB3y0SE;tqG-oINpXV%xR1 z`*+ekHg*mN`X@~Lbnxruseea$wtpzl&hK`Q`hoQ7n;m?Qp9Q@S&V6qX^%veBK5PW` zzAM-c`0T!jAGfVVKC|Ke(D4_Bdx8JWfPB&K6=L91-!1m+v29OJr}oAbI&aK68SRGP zuO#=?P4CGdOH2EWJ=0}e&K(W-hf^_;g?j_?{W)Y$i+^;U;eNuj}Iq5^>OT*AD?ICqWzd3`}6#;&o7+n=Nwrt7v+dt*H-a^R~+Tp zS>{i@nd{~AD-P_wm47t_q=v+QGB9>m<;~h&Zv{TJ`XE+y?0m=9XM8NcJAe9ajqjR0 zdC-skeQx}#yn3Y<5BvFq2e~GvUgbotarH>@ES|>FzIo=WH9WN+^K5^fXFioLd%c6| zm|ko0ga77S{;aDtGCjX4=W@a>eRBL?0ye$he=v>DrI!nw>dl?IX_({MzTRio_XN#F zbN9EhCTIG)hJE@jC0CyvIgK6h&F|v)&w|BHFTTj@`HQ3aZ(Sb5q(*%2C5Ov$We#(> zwXAIg>ZJOsPb~C}|9pe5V{Pz*PHSw@w+J*j zlQWulE`?`u_%65nG%lxN+X`AE_;iMxI+}BJFl&vGee&Yyn`f;xk0&}70XyaDVs9N^ z$`gBR@MEvH%Xh@10lnKnb0Jq^DNok<*+q~&xTnO8y()113CSa^la-d1(!vRj=3H>aHhW$ zw07Jv+-Y<=tG_GwaNr#k=XQX1_vT;JeYw3X zIL9aT^kW=M+X(ot2FY&+_;ha`GxeSGWj$c8@mRz0M*=*G(dW#LWK8ojmGdKS-!i`8Up z^6$xkM!$IYYmD#a6yJEBue~X2VwP*?dX}tsP6yhj4L?uuZ7WD>FK{GIKFI~2oE?26 zJI=|^??LzP%pM(&5BPgBpqEee7gw(d#H&uA->Fu;C)s|;p9N^H=n=E{)t$Vs>D}8* z5A}yF`B%@QFV3rvzrII(Wa}Ze>F+;RrH4)acO6&w<&XWYd?u@j zi98<`fyQ69v3KFqr?EKY z!Fz>meDh1cG4;mKT9U)lfp$~y&VX+G>*a!vVB8#^$(a2`pz%pequ$5aNPD1UL)YX4B6UYfJ{?|sDAH`Q5prf09pm=68fU@skG{nzIC$ZK+?k&%1; z&?g^icypSwjZ^#f=xHyP{OXPCeTg<T^FFV?Es0vB|486>o4*q51oqyuVoy#^2b%vjr}=dOo!U$D55jOk z#@bIr1}B|=SLXQa{L5zZTPB^g@uz0<)0sENbK9?q?Wn$>`{(j^49;b~F*4Qtb<=+5 zUpbpUKXbmS`PQ6R)LiFRXY9QC`ar(dkNmvt_a8dHJ#+fX7k<8O@aNNK@>gd5=*X~H zd+rtc#o=kJ=IB))-l)GBy_^5)fd}3leDyEv{(Bz2GxC+)U--yFef##z`BrZGd9u8_ zS=TlKGHm|4Azb|usenK#E=f3m3G1xbs=Tz+0eU9pJs~5B0&v*Luso$FV<5T~nsekI!KV#}~ zDP}pM`$%Fu`EMS0;4cPW_-}V}#Fz4RK5_Ie{>>G4Q5@w^PTw0H>6UTRAvgcv_jb7= zXRdu9a=#HcBMyF6{)-|{Z+$p7oj2D`&*q;tn_o7Y|C8U{{da_Y23F^HO>5U@ZS?;e zKe+2ZpKw*5{?zY0)Thg)IT?SR?w<6w2F^VvsGUEbzhFo#IQ98r-~H6**s^!G&3mt! z^CwK}etx&_&&%o8r~c&Bvt|9sQ!h?)--Gpj2GM`U)ZaYy&zt(^PyLIg{>AB=t0Nh| zF`O*&A12Q5LR@DPmpG0FdT+Tpxp(T>v%VgvHG73P)vJAWyw%#@i;bTQekO2+j=n9Q zInDVlUi<&-w;rr3b)+8e1 zoRJqdTW5lep!&RX_O-6br!{xL8Q*Wr>mS?Jk4*jg)XNXQeHXeSe@J1x8~-~00qCoy z{dAA|hndrXUuW?0U6Ty1%hS(>r%adjJ|{g{e*NT!9;$Eg8xOVjq-oB^3j_V<1+J?)xrfz31oe;|-|@UR-28ZebN5uO z;eze6!JC5HgZi!R?Kwvu-D>k(P`}kdLb>qyiL(QNI67A6!=#@63GtJF;&7JJa*ie*b*&cQGoIB^7J0gyA0a@`?Plii9-xodJkhvbQim~?D{5z4o z7%y}EfA=DOo{nDap4rb9cV=Fncd}0}p0xUlZ+Q`S{jI*wn(4dY5$YS`|6ea5ems5u zMdaiIkMf~pAV)5IcKnC@tW%!FD7I^Y=G8fGO1VbMMxb?#PQLuTD5l%`_UzCGyu{K4q(IVA5IU1Zss%f5G# zbsxm=zh&Nf;m;3cp8xF`ck^1lBD&=3hbKK_9LKVUFFv#NBavzT*!tfua;CP#?|t-Q z_$=VN-aE26&EzxB*ky+hzDqC9oDV*O z%7e3wi7)%v`$v~(kDk+kc5UjPZ|?gm()YgmZs4<)AL4c9QvLX`N8rbS!H-wQ*2lw- z|Kk$rdJo3; zcz*6DE^_WJm|N7?AAt%j?KTq$RSQ;0uH1RkmrndxQmN&NC=S852joey5wm)|? z$8*{G#fS1BFV1fUbSwgmZ{l-?>>|*t{hh5Zl{>l*968-*;zB zp5L0i{Mz#Y>(0vcJ%QNRea$q!D!um3fKTM^4#=5r2Yx;@X7hAF-?v6L-}uY#onR4Y ze5l-ZZlG27xoLbUy741-hk|DXetuR5?9<)a`FQ-yTK#yL>&K(U_r}97xvG!G z_;qLGM^4{A<*~n;z?t>O2Ywdq`>~d>T%QW;1HP-ve%~B*F@9IQJoBFA1IT&*-f%iL z1O7fact)@YUJ%?7+#S3jct`N=;QNCg3w|y5?cjmn(NX&Nz$slO)c5q2yPGXOuz4n*1QFL*be+2%f5Mib$8kSg)Djxya95y9`IM4{NiBu zn#|P?8)FRBx1M!&>HL3lZoe8J^REZpV@!0@^GISkl5=$b(mpZ$@?dw2372B=K2*=Y zxkwyy`G0!}@@mv<?4>@ie`mfK{L+A4I!tdFAHaWw`kN4*V{a3Hh|MC93P#f+TF2(L$6?^%)EMt%l zAagn(r#0T7$UzcPqHF{_j_;AI`cO`VZNwo%-U;e_V0K`fp6@eg^qSa9hyN zg%4$~pQTw|`uUDLTt26Iw?7=2=3H+3`MJngYi!3dcE@9*(xy|v_y;^6n9OOD5!iOJr7&K_>d5AK}f(>!+{ne>oV zEBqgAIp=Q5neQzJV)b$9LF^r0tdHpO_pp3^dqD5?L2KPyovEK^2ERXxq3eIJVqH#F z@%@Lh*ziF2AFa?~{lDz7{$E$Dx5nl5f$XoU13EpjV=lx|e)}%q^{V{Tc3pa$d{*$h z;Bx~%i`*H!D!3eM|*00!O{mMPo5ACsj)gJ4AY>)Lv@3H;~S(p2>LEjQJ@yD~CvRLxs z{c^AJY%cHkP3fIE7pM&|e@k$CKo(!07#;E-s+aS}Og@~?JZZcj_enFkPtKe^-{IJt z`}WxE+jFPojeq2vNt&1P)=vlQeD3ra)%d!{uN$)`POOsY{=~!|UEW0gcYoD8bM-#* z;`X-6`9>hWxR&3?4d*s9muq)PbLQrtXZYaE;n|sy)AuIc#*fqQ%bdQ8<)yLlRo>WQ zR}-&4&%%y1`61WOg6CumYNz9i_18s~f7(6q@$U5Q0R8;MRp;{UyR5m-H~#76>G9!0 z9XliL_26KDrz6>O=6t|b@6;2rKHjNM$=rGR{^X=jeDtYZ=fplU(0{P)_(0c zvz{~K`@|1+s+S+u$ZkZ|eXI}G<$x^iK%Mx${kZh?p&ZmUU7OLx|GR<@2e${!%~tlt z+#Jgsm(8zu)`IsW9y<60^_72Q==-ygaZZe|O6HA`=^N>;8LPLOrZGPHPKwXZL_WKZ z1>zT1`4Zdl_&d)-_r<}7-Ys#Q3&dfaK02<6j{NTe*J2spJTlkrW2bSFI}y3P@}?F> zyC?UNsfWc&Z(Tu|1S6}#<|a@Be04ax?3N&XN+@=-s=XR)D(_1drw-i*Lt)6 z`{(mZ=hjtk*0WUX_3 zYk)uN0se5SCT|bavG?bx@r{p9oBHe1=YJP?cZP4`qpN(Zsy)2W?L6I2&!G9)%v@{E z*?dO!#WubHxO4WI7dd;w9%t*HpQp;_!xbAR`l=p2G8T~=ZV~m zdj3@O$cMPZxgM}hj(t2lJ2Jgftx0j%r;9wf=L~YkrginZO7_z)BHLP0W1l$j(>3}o zo9gad#%fER_WBMs+UE~nKVuL3hqKqbd@%p5>DuJS&u8AZfKB75S#qHE#N2m4jeKS{ zd(V3h@yb_z^W(PjmkI;CLX8?chXU|736~z!T8NA7lE&VeLquS!0jB&A|SBfp##s zJD}T`4z`^s|Hg|z!vmk>!0*<`kG^HPJWt2S=b6k$&@;|gjSobI?YS;zN2tYdzG_@w zeg3;gaL){gxgxU>sQ0%7w+CbFt&z2?ZwIa4443zeG-j%3oZtD~xG!7gi4MB?r#?Pws?+-74djdb911jYXCo)4 z&R-jNr!;%#R_u*7ZpyycdseRNqq+cG$(#R{m{^TJKZ5k|iGRleXZf|?`6Joy`3(0x z-&!J%M>TP4V4cm4;Hu!|fm-)=dh7TgZ)(0hIdie-`7O`u0l)7I+!Nf9!3X`?{lR=q zJ@Myp)1I8IswH~r|5nEGw_h!lJKVxpAM#|a^>Oo*JNo-)73E(%qued~$kkrCZXNLx zcWjm8n=_{ST%ZOwf@cLkk-Dg?bzFI8pBKAo@YeJ=mzU93e6VYcAGZW_maj42a~Zjk z@9jV?yZ^k5`Oa4D&1;A3*9SOak8fh+cWo!6rJi&b>V|AT16nU^^qd%;ACS{pH}!4Y zD<7d|$+wK{;XbCBa%CU#|};qgLkoqkd=Hk5>fpH0O>_V&+%x4&7?!`Qd|Ze^yBoFF#F3 zUFr^3i$FUOi0fp4J3gpUZ`YCZd>(yNV`S(6{#+Ya@43fke6e$VKb_M88#xvr*Ccrs; zxZ}%zFCW=i<)ggp<)c_G<|8h}>s=LxS{d`nrnwy1t1K??!iLWRcEw!pf3<(;5Ub2ssL zXP^$&0)EeRSYLJCTQ}B?JMg(vOfO8oGoAC_?xq*->cJa+bx^(b`OdG#Fs}98bhlm< z0lvH@NpgNYz^yvB{>c{8=wja+)B2yse@FJ*E%zJ`^B7~|!soVHT?CptOI@sJ>WUA}!+y0TS87Ne@ga8H_AONx^6+`#iQGiTL;lX1RXKLfx|;n+P+sVt z^FpV4w<<>RCjxP_Hpubm#qo*HFG;_Xp5C!GnnUMK2OEJqJo@|8%r^t?bnnC2nG73b z_&J{KdX|^A*?CUD4j=i=f4aTF-dwu*g%9sMxsi|KnX|JUIIk}DJD=^PPI0LZ?+=@` z@BEy%mrlIhwg+!l<%~O}Civ3t0^=R>xhwwLql5pKdVk*ROrSpJv2SEeQwy4S76xhV zNMjOTW8$9}#sAjew!r-+D_1WL+*i8UwdM@_@b-YL@%6#6fPVGX{M8maWWPSpMxIAM z_`+`Q&|Y$E=N~05|JecC*9KPv``O#hKEL*}M+ZO4<6Qn?cIgJ3%sI8z_?pX+(~-|h z;dE|Gj=UYO4RF&OG)EtcZTYLd3@^Nk=S|Y&X*(dpo^fl)oqcEU>VSXRHv~9v7c~37 z9E|(Fm%00-+5bqOuC=cV{%dg9Bn@}JJk^6c^`d}J8v#Fd0`dDUtyN|{V=`mD$5_Oz z^>bj1*ZP0&czyTP8n5pO+Q$;_@tnuAJn>(Qy*Fb`sX_3)3nv=>eUI~2&hHyN_MOpt zJIEdj*gF)|4%mV0s?)7^2N(F^0pX3S3a)Sh$X$#wsWGafme&3C|^cgSZAz5IP^;CqDcYp)EPQ`;{JdfqvH`?*6bWSpnV zcwB#T=Je&SuXtcPeSc0OH`;$g=3=Lp9ru`zYLxBr|AW)mUh^=&8~0|9&wIu82n9oUmbWS_}I5&?nCc7+kECb^d8suQCH)`k2eSxYK5JP@%J+`{+yfF299tn z2L7H1$jN2L87}KW{O+n|j}Na6o-)icypVJL9Sy`lXSo&U>jV1mh`05CZr^A0bh9zm z%IVCtUrb!$@VU;0&!zfxU&j3DeDssO&NIAZKk55;``LRj=Y%b}z{#;d9P+L`+%qS0 z=2U=tt>@|Y-Aa=i&AoVA;NJO+*B%pClaoWiGlQ4qa^aqC&HF;0pL7(X|8nH)9XZRM zz0E-F(aj(2Y~VY=M$kIg&bW1O_b`6VFwSrp&vVktlP11b2kxu(^?^6dzMsq8IqiJ# z1p&XTd(Sj=^rS%Cn)6Q$#95!zXniu)%CXqg_y>Y=C=P8W;ENcy0{Yl}ap2ruzT=UP zWHi1ng0;Z<=$p0Pm-ptr(BE3SH)FXSbA+ezoZ-@kGwIh&(wyzz#rN)v)nxO=-}PzD z`-BVrYy{(cJ#+28fUk6n``(;!es$&={kZ3&CKqzOijQlvzKRb%?U$=d$;m4wo9UK( zyeGWAE8`~wd=vAbK;z??V6U8f_ruJ|$>=&2hy&DXYpr>eV>!hEZXd~+9J`?RQ!{>I zAcnJnyNM?@UOn}GRvBe{u62HE##-m24)s?ZbD6o0)@9@InE>t&PK@a;C&z}d&wg)G zxgsM5YkKcN{lM#U1I_xmfV?`-({C1N4d zSl9%1?g~B}>=o}A!#EZT&gg)*2DniJuMOhn^7jH)WXx~=s8u!VGf`7R{OFylPkpD< z7Jc-8Nq`^kl{s#V{r={*z~A%P^ZlI;TdxV|A>TUnmW@7=D>rxoHr^J9iT`xt$k@L8 zwD$3!ws85I0d8I&u=9q%zF2=cK04R9ug~~cKx|q}#oAWiYuUH{lxoj^#r^UurbI1=M_mTjY z*9PjO@$cn-<53Ih>E(g=)s^>9T^$YR$0s~?=*yioGU{PHP-F7Um&3s~1^kw$(Efn> zGzV|2=D)q&8oD#{6M=p2l~`MY*2H6<9qs;LjMaPQ9G{*WXnflWq* zPj8g7aw0BoQ~ny$kE#`K&VIFWDEpdPQQLIS>+0^T;f)VkKl9jj$6p*c!;UqaTWf9d zK^yDlc;@)6-sVGH0G>x&mpS|V`#|DUm(2qnMlPC5x#JgGd|+!{D|C|C>+{Jz)Ruc9 z?{Apaj-}rT)OYW(e3N-=ATN07n;|AXG=KCM)1e-m>zgIk^+3-Ddds0&z@POu2kiV> zcoDOAwslR{ivl|Epw}7?yYhq^x|#=LjX#xbe9nkNp2aU;Bd>C!^&B1VT(0cO89Lw3 zy+awh@1LI}@|O=9f9ajq!)O;Lj|*x`F00o$d^ENUFVvu_lAUBPn# zcU5cb@6MQyc*HZF+Txg^Bs>`{ktY(wnshm zlBer*;Jm+og|GbcneH52d!5@aZh77>ZvHgJ{d{8skE=fK!~p6?yJEMyP$wh5xbTiQ zX5+r;az{_^1(}ZJq&&Pf<50Bxj*hR9mrO6*+n)7S^e%UeZg^|Zw|&%$Z+zfy%<(^t zT|Qc;mrw4|=!5;*W20m7IfFwsedgi*s=z&@$D6M4lOAufCQiEE5;#kj<}E3o9pls6 z?f1bwXRU98e6%)SpE3JA!-i&^jjnrZH0$eub$a-y(Q$e?%Aebb-5WB#D{rs5zBXXb zdqn?uw!HE4nZXz2437HQDOP948f6pz>>0D?Ol_$@@@$p+Imgb895)Vn%JGqmYYWHt z5dS0PtNhE&FU99{7wUWN-?%rgfqoY8PxG$+_wcW^^Ci(=uJEqT#y3TN$2;I0oDUM_ z1Aa!pqq#;_E#N_JHMQivX>za=d}=V-*~)woXq9J&oO=1q!27Zhs2jCqpT5SxA9<`V z?DK`ZUc+bOUFAdf>B5CMUKWAot-{HnKumOztz7rHgWANpVc8<*7#C=mA7yGt%3Z>gExy#_F9MJe>t{r z{jNZM+(+%c0Pk>jAO^9%W*YPJwSj$iMtuDH;=o-nXOA!J7?103&YW+478FZ$kZU}A z@ebir9_*>L7X|G5{MKvE91C#54q19fzW3ti4UsE9YGpru)S7l*Aolu|Cvo|+$V<}W z>azp<@M+vr7b73$tK{f-b|8+|2mJH%0 zFAE-t9zN`MR=&m7yvySlkGcJe)zAI2`pJK(y%Yhb)1@67soa801`@sa+l zaBa>uZuY8^4fU%Q#(i({IQQ8(&h2Z?UmNgG4Dgab-p0FPPVP?!qa44!cG|mC9bdje zhj-xN`0>RnbiC?e>hN~VV|iiLH1CmkF6CXlJ94Yu!%I1PDevK>>RI(3j%Rz{@23G{mygGY0u*YBLopb)Cp#B`m*c(FkxJLh|$k;vDtl-^_v9nN?SZ<#F5r{qpAoF3$B}sP?GDh- zmivZZ>&{*l;9kESkfj%gbn@9b|Gp?cuL;zwJUMTS3*S4%#?LQ`pX}p=9cy2lHMzlG z^^sW*aK>jm;e`B`MBckL%5F__e$Z229yhIv4TrY|hle$Gt(^$ObTSz4acg+|cS6b) z`Hf&zesKnP=JOk-xW&bHernDh3vk8n#|PuPc4Ox1RGa&V7wz@{Pukf)&YbZk_YLJo z<@i-O#o zlVP*mmpd}w90TQUiD~xL-5A<(RK24-W&KVGA8ro zQ@r(4-i`&$lU#_sJ{$9k4tB)*XQBhIXD7Iu9}dL9E_wTlK}~IOGnOY@G{oeA!=2PF(i|DUAozCi~~7 z`54c2S<}e(`@$14CXb`H1!BEAaPIAaJ$}jeBGCB9w?&{WmjC}?P0GJ>_@LL=nMI&k zt8U{(pe>gF|DYbcsB5+k1#-ssCkFi62;}3dBH(SIYs|@d=HxVSsgsun&e10>d1!st zp7^%|w&<;#F{pXxwgUFwG}(7O7h8seoP(^I{saLHD_#r`viz54%6E8`n3vz^7X1nzM~VOmCjJpljsfSmw@>uMT>g zdCPRBvG(soa7I0g*BQO@;M`YF=jfT+@^+|)@^e|n<;U2%JZ=Q$cqq^6z`7W$v-Q^4 z;@|kLs6%?j8s=m5sE5tq_JIFn2X7cfA?4Hw*+L42Xd#`7t@V_-0cM7ci#^Od=(#k&c^hG zGiNe(W)W!eM&|B7tp3@f+&w4g9TvYB$%&!&fnGkUrG%le4+Eb=*HXo3GF2?$ap0Ih$|I z=Er994c7K$=mc20!Uc0KmuW@2C7LUqbM_g2-sl}R4_2(0xF6N${>onfQq<{ zf-s_ppaY7ykDx4q%H;q1-g=+T>DPPfRs{UZeCEKf&i3rjbI$wT+m-IY{2qh(1%tWs zT=rx*`c9C4>1l59Z&JxmbQ{diUld0(Xj9 ziHRc{UpnA<*v7W9lhM7VKo2Fp0<^_ls*1`SN7UR2W-&}1ZAV%p1U$-Fp~Gm$m=rJ z>~{ufbiJzCGym>hcN=>-;KTQ14}WW0+5EjdUmKs|dv*56W_K58&VnRGbtbceL&mFdwnl&m=FH^SoX-Qyu6{8 zGs#Xiuif1;7u`dGYgT!;53C-Cy8`Byid`xVQd>v`+%71^3S_rr;ShHl8u#-AUaAHU?OYFmGG;N6vd_O1%t#WR6C+#G191@yja9lif^px4=VZk@xn2Apwct#nkb z7qUjj??z5N1K!=soOWOS-Wc8dYxT0n`TzX^ZP`Qjd$NaSc$a5sI za$GU<`H0Lvh|Idb$bN6Hf0|E!IIxrbmAlq2_Rj^Szv8(iYxKWwp#S|F)c;2V{iTP@ zKhEB`INAGO*&AnP#s33i-pgGs5oizRyLyj(Cwi8 zv)e)Y;dN-83-v_*pZ9caO;r6}nte@;sV#YSe#H7O!smOBir-&mPTpUQ(Thi;7tLSy zH1+-?zvO6Wt`17i--Nb(-v8}j{=YM?c(%1!Isdx}y6D~+@M%lHKh5_6{QF2R*PYbX z-$%!+m#mr4lGWP(_n~j&^bb9M(S&^T=QH%MSseBT9}AsxY<)Q(8&BEy@n)ZWCkEoA z&dMHR{v8P9TVJvA9gSEI*Ug_32!4~WD{d(2C&tCY+WJk#tYy3mHJ7-N?^!5QCzl_PVZ~V-F|8MQTGcDdM z9ka7NH*CPmhLSJ-d|-Q>mro4p?UR|K6HmPysHt6nTs=Jc<)hZdl|Fpmf0lst-|IO7rXn}Qbx?DJhr?TZOrbbmv@haG`^HriK%_P;)`zZi_;ukVz< zJT|b8?VpP6tLfE%+E@ZtiLI3IASKqJkbs=DL#d;L~$j|?et5f?`r+hB^ z>pa+B42HJQ`A@yhEg4sQ-97(2W}RHI5YuM`YKO1Z`Cz^3IP4=o`NGe#t9<>JUcU3$ z`pQRg#E7mTFFDrrLtb`&W{lm||Ie89)}OLl-L(Gj^XfqUo*1xiYtZsm?uWd!j`vAD z?`acw(eRag{AykfwLs`8hUxr@wqhykSllX85GFjI$h4(Ms&R; zmzSEt!w$MO^)kt&%X3>ysg-R=)BZjsV>EY zea;$wIVGDd&H?$(lfADFcRY_nTti~jaj3bEgtrM zL;h_yG?xZi)i9mo?0M6tkJtH@Pp$nsRP5#J4`$x#l+#NB^{0_{*3uk6NuuuMPesXPpcgB^s4}4-RuS0rycxmWc8=lwmmtPMX%r6?u z7c!Sy{+5k*>S-$e_R3DZIO*-{@#~Au7}TrYdw^J?*TmAe%@vtt^XB+#E=Fb3r$2st ze)eTgBTF3G7+jw}uy5zz_7Au5cA?eq$wy0fL+IN1PvswLJ~=dH*DEt;cgmCJdFHL1 z?;FftJ($0IF#p=jSEFZdFq^~JrTJzc`q`u%EYax-oHT=Qn3Ah84F%;c4x>XXaJMMKjy4dA`-! z%l~$b5AB)#I-jo0`Y>0|AK37!feqWjQ?X>*od@%o%$>K={ek>NN$!Q3|3v2UG?zT- zPw4v-)3vV`Q?58puYdgzJF-ndvCyh zb>Ba-@2~B9?-TaDOX(lq^zLEyYvSS#uCu*40qZg!p6y*(Q;QG&%j3`B#hJG`TOQ2+ zA%9UyTdPmbyrn-a^SV2V&Rzbg{3Be)o%PJ+xa|0ze!uEjeLXE}<;NYT_;F^>uU^Q+ z|N8s|P_1p>k~tg1ug({`ugSWY`Muq3>D3B5(6#kPE?@53%PHHpXMS?lYkq3xc*$t% zm8_~`c9k9aqO0d^orhsvpA}m9CQFm=%6Yvb@v)7=Z~WPs-{s4E_RE)_>i5`6r~1{% z*uV18}pLm5958R)e;XaD5%V&3NJZJ}Y4^{S_e9s9+g zeUCdSb2+RS)cA&e-M<5@SvU5sTVr}_jI8vDN9BV~d8+zh+pd7#fBL}jwf)ij$E`)z z*4ZES>v*kK&gmzcZhhqm4L|AD$DRSeD9 zj-Kso`Iq;u$!|YTh*QhIUVclSzUYjheGfK2BN(1bdGx$EIYzqQU(qMhcOWEOk)JKd zZ0EzVyI{Cx{=j}c-RSoL_M~@@iKTWh;B)DvXBzl3ji&bHURxBL5`gO7o1t$k= zSqjvh_{ueZ)E`^xewxd;{J{V3nTvCxPh-!~(db{t+Iy15_HnuJPR#D1fBUk=cfQRA zXvnZepT1($Wqe9daqv#{MJWPzZvC5b+cG9cTg%_)^8nQ zsQ+GTwO@1g*~Z=zgR&vRW8X8>+BkkX>8Ga)G`jd&vc*PTyFk8MU3ByJi^uq@wuiOL z7iSM&8&5T7k1kEmCbp=#iZ!|}u+Og(0?k~E&E>RwUdh;*y}VzecW6@^_x1kUCbpo} ze@Wo1$oqW27xSBfrv~m*d1epbVVC#mhXw2qU-7IsvzaV$v!=B@o}w{UC;qLa&FL3| z)qc%?XWjK{d(+=3xe>SPgO3E_%szShlI*dKEOFu2Qh@JE`<%Ax?m+fwYIU3sbe$cL zI~zpIF_8OZz1%0p3Hu9y7)_GLzmW3^EjKGV=>t-ZT5zkARH4-Os^+!#D7`2OG*g5L;!Klo7avEbI=#ZGP|(t|q2~D5BL4Ia<6kn$-o?<+iT1)^ zXn&Wr_Dp2DVV~J9uC1^1x|1#o=7NiY`Jn9Jn>BkwTlmITzL7JDu6>_kyH@e6ICWV& zDPUXWmu|73qqVDIYK=cbyDHWtyJF6-q3>vh{1yK$duq1jVN1y!)<&(1vzY!{_{f~b zS9*pqq}N)@FE2%3e$~9oo><);dbw=rt8Pjr9rDJGHda+5MK`Po_d+XooZVe$JU3dp z(qDSXALjG++LFiDaXQ#CE_SDkp)3E2z6*`dMXk-`T@ch6bJn{+8`7!qf61S_ZIt$( zHbCn>Ri7H&bmWi3MmpS;TG_GEjO!VemU^&O9xq=C(jL{{#Ijh%a__? z?{F_m$DV-?$oR7b+e!x6>=5(k1^hlQ(2lNkBiq~0&*x^HooWSNJ)h6WnC#CL=#-Bu z1A111wstce#cwu!*@vcLYTq5X%OLH?5_kDHC%~hX?Wbq_xw4y_)(+!wc8j6b+W7u~ zja#z6Kfup+cZynC3hokI9+bZ=EuPy$KaDoxMt3zjy5+j;@)>$DV2}H??l|XbIXEkD zcG#*_%-eX2|09E~LA!43KC;)YJ8usjtgU2TvB+>#pQW2^>OejHN@83#ihWxTd>Y5| zBkS-u2QZHBWfS<$2z|v*&%QRdC9BQvI3Dqqk7@Mm+lY=Gq1zd#&8nxm+nhmn9XaY? zcYtm#_%HEuHoZDk3)cB1ANE_h_Rw7)oE@N%7mb}{yE8xAwV}?cySGL*sHcU1uJeQM z4}3qsF5@5V@ipmxvd44Mzd87p;Jf=Ve=3)Y8JqKikHb0>3;PHAeY(Z1T`L)KOGZmm za*L+)?&@Xy;+T3Xop|LBkDd&z)=S1~2Qrq{$d0``72S7EpsV*DI^@#%Iw9a=*<1FP zKPB@yV`Sp1c$K{JX_CB>UwrGuuxN^>>_0hrTR!>V6Z$UD%=yp-8lFixFI!ug<^MFE zvaM`wWt7~aDVZ(JaBU@a*0~#=6Yl^g2AhJCU9zU}-KXJmU(}h~opF1Af41X$M&4<8 z85TF+GidzxKE~JKds&w?%{#DqmN!@pE(zv(h>7t`Ku*zh8Eg2fp3N(7c<8UYYc}Iy zT*W|4;f<+tJ^gf)%;KTne#KAxKiinK{NlG|O#I}`=by!(VrV`tM(k4`=-4L)nz+?7 zLadz$bX}l{G2ZgkxW0pVZog+fADk6z4)8xaP@DAFKPk8_z+Z7XJ!5zI03RILL1QUvmTqO{=BpEl|KH--`>DE!t;!v zY`2GIHqh7>RU>(~otYCxcP2gH{Z_BhyXNmnqZo(-K7ET;PwU6Up{vg@YEQoO7Y2Ng zPdfBiKLEQU2H z)@-8}P4TdW9)0n$ah#5GvQExMV;Gy3FOPc!xU64|3=r zhYuBB{_P6*ywp55=|=0^(y6alRLthHR(e~Ts|L#6E_BXcOUo`gN+#N}i9R;gp7_Z3 zXTwj|M)=#Jd&ZCA!K z!CT@38_l)1edhT28wc}8W=;lrI$xY(X!(z1UN&X>*!Mx=@(K%Si^0&2gFRo#ebql7 z|2s}MWzN6KTWiCe*V#KEdt!1%V!}?jWVd#DexJXc9~sR5AaitO)B93fa(Ze|d}Q4* zUyN4#-Wr-V9&>~LcHvJ$+wQ-0Fn`@(en#eWIvZuj7iX>Fr}pf-zlu)pUeZ?`Zt3SI z_x&__?@{HYmm8lErD8d`kyJ8^V77dry_8P|a>EES~*cWKq13rwe`?cS5 zaCa7*q20~A);HSIB_>^<(eFH3KNQ##CwUfgw%0ob-HXA#KbxHxukOThL=TLQ0@-`Zmjrh<0Np#s7)m&$g*2aZD>QVmm>|=LpXQs#eZu8vP zNULXXH=5o4yx%Q+o(q%gw|?0=``H@V?tP#$N$W;GkN0(>HBh`mziPdW&9s{MiQ8Ed zC2v|zs&;1L=Sm=_vq7yJ*SgxRb@X&pU3yL~24YwDg}cMrjlq}Zu-Ce?Vx4WZ<{4xS zkD6D9O99>HMR$3>&Ms^0xp#nb&jGxb8tZG;3_}=Unx!UU5T1wsT4b z`M!@lCB1uhNA9(=(u+;$7K5#UyO-^of>t)Zo$K(Cg}05h&jVLQ(242Sp5v$9;lY`Y zgE}9#K5dO`u^|7vcz03cf1zR}K766tKF)5rQGZptzm~CP%`@F|)Vr=)yE3SK`BaZp zqs~;x__2&NG}iRvWc@(awbEbpH|d@|BeawD)>~)4GtB-M1{#~H9#=B{LdKK7!0m5i z-{#8QCU5G)9q4&C7c2(uNwrmdefO~|YiPbR-+L6#=FHWn{Hx=t=jyG`2B!ztHT%|w z^*@}qeAkA4dtlAIUSQjD;JtQN?q}=moqkT{&Y}9=A2=&~L%%!p;?UBUFKjs+)EV>) z(+&o7ZuD7m-WVNQ!|z#^m4RkjLfZBmmf9T=4euFRL*8Y z|GR_uv2RNt-rlpdpn6}&7J50T zcLuq4zJ|HKS9}=Wm%})yjjHK3_xBF3_w}}J_)o8Ut#WU!Rn6RILfp`OuJ5J$Mi;%~ zY^1B|+4*qZ*zC^aujdm#JSXlqMvgdXCBN=Nch+ps=HKW4qk$$DWL^@PYM`}^%)`OB zXMj6WE%);0J=L_lj|wAHKHx^i~Yc&sePO z|7PMOrUwFY+;#f{-vPLL_9aH+zH2)%dva4coWqj&tjKic4hG~nL*!c{^Zt>U{~uQu zTQetdLOwgYh>4%b=JLO9*Q2ZWT*LMnX{k0?07)$ zzk6t$|8$}C?n8FjBbSF_PwQiA6WNzf@v)89Y-GtFpXro8c_rt8kwf;-K0dOWefaRR zvueSbyK`5dy*?mp5Q;5#d4gy%4gLy z+rDxGa`<{-z^<0}A>kbtJMX4#?8>K>_lgbhR^1hU#h=bY!O=jIEA{u#$ZYHJVVOH) z>?h-tfL-ipV=E3153PN%8|FyO@V#oG>=`HL5gYKU;-GfOTuSZGadV)RKUent*h6Pu zU;9_}`?Fc&|J9kRL9tP<<9x3e+T-^%;o&zOL%-D~dF8j*h^78{!PSAdXh+w&W41lA zx6Pf#wnq(Yy*Bf@E84oMF+KdKGbLu`bq@GJf5qauf&52j&PRMeUY3r{t(l9#V=|Z& z1HQH~STFb2N6xhK;GRA)SPaNA=Yv{s?>(>o9kH`BX5U=ER=M#R-yAQS*#6kwc6Ht6 zZy|HEl{>o7KW>7JXvx?S>!KW&IyLLRvnbxkDp+-ShjZ0 zW?r%@w)JfEx!$|5?`U=h;;lYEnDh6m`5Z0}@<%tD$koX zJ@C%NJ7)>lTVs98cR2Hs(T;ayz0HZZsfqetNZ$ST%+CB$pl0ps*KD5~#TTDAgERSr z#8ge7>jLe%wQj`EK6Rl^#@4#GYhHH)`C=kB zTIs`cW5AbvfmX3IUeo=rf3Ha1&I=~h<+OEiTUjS=hqAvK$i=~+VpR8-+FK0D<}PE6 zU20DJwARly55JT;tyqhtSPyymE-oO(^2?6HLB(jL89%WZKdBjKIEtg#13Sox`=j4s z5{tu`luYv{4(3l9%%41%uQu}?;oliJL%@&vTy{goPYa$E91UI)ygYbi@S5Ot!A}Nn z3f>m{cJS`t{lSNVzX?7T{BtlH;r@G~I|p|OmIHt1jDP#|KEeLrLBS(}>w=ZwhTv(z zvx1|+OM;gNuMA!jye|03;7!5Xg5M6_8~l0j@!*SR@@JmGdBMfOzTlz3b-|I~HNoqH zpACG6`RQQOY+@dKS>WGKT?}>v7XY8YXYkJ8 zkAlAnJ{Fvm0=Y|Y_h5f;O>jf-oZ#ib4+n1w-Whx-*qkDe<0Hx0$?4nYjoJ;#X#Xiw z_HUT7f8&(>ubQ&|)G7NnP1*lXQ}(}l%Kq0(*?-!U{jZ&}|8-OLpFU;(KTp~JFH`oP zF=hXmQ}&-VW&i7^>_2U_UpQs| zMN{^_Y0CbKr|iFE%KkS`+5eU)``-%)%Oi}zCApi_bt!X%-!=R29x-{V}pG4j&wA# zH18=I-QPJz27Bq%(0tcAG-VsQSB7pq-w%Z5>Od?!-(D5^dLK3a?w)^t#-4j*eoxlC z(~XObcdl0d_fFAIE}5^MLdQ;ips&v~_`Yv~E&OS1DLvmmMGrcDof*2*(=P_}yk-M@ z-r3{`#Ai#u)^mdM1M&QU$XW0G;RmPe|In2EAD*)R+9~@#vd(^+*B=etdUaLte%%J> zHWIi0zK&hu`uZvRKQ?9m4O8}ie9Hb$Oxb_ql>MKavj0<4_J4ZH{?AO=|Jil+EAMsw ze=f9lNz8|LXzl;}nEm$rsvDmLC-MKn7=HCs^4~ON|IJhO-!f(Y7pLt1(vI|!_kGURpnYDf$McQ}JaymwPWJiVJ{yO1es%VJ zpWxnlXXx42(tBRa_51HyXTQ#6EAM}rDuCqT*-n-YKC-3*x*&iqG_t&8(?>+16 zkCXQY>(G<;-gWlJ$@{}~=*fHEI{V|~y?-5g^8RR@{c-aCcpZB3{?|JDGCwkye{?Ya`@#Glnz?60`(5Ty2Bek09}DezcizX>*)Q4dN05uz9w((IR}4Q9 z8FElMKiSVK#{byQ#ZFww(L=UI-|_l09KWNw7;FpZJ}CM`S%TXtqt#xfAZ|O zzstn$;)}6;^!^-Xb3adahwmEDzi_aB>R|rq{5MlA|9dl6AKshz?a!`b=IHFwsYZW( z@b`s$$6)@v%*iO9*tso#$wj)6Tyo^?D+YXj)%=|yrFTAb^h4=?ZRn0(58q^`B|h$Hm(jVvjuN>Cm4YToSNTL+2iH|9x2q+ynmnMyq${%Q9wb zop1Wo?50S6Nct9hYv<#}AsKx(A?NDgJ{Hmr1huwjv~v8~j%E#?T4KLv2D`tvlS=Y7)LwlTM_6aBZ*l8}$?(tJ1 z7@vK{e@Wr_R3Y8gYr=h z_;%;`#s_koFW<+C^I~v)@R0z&+Iv(W?rKsVoD=f#seO4_3a$;ri`{zz?@M$%BOr@> zduYhgZVB!jlzru|IeN76rd<|TBU9~*zvm4eZN2@G4A$!0$Xg4w*3R4U z`Tbt&$4b`tAWrhcfA0^PHS=LTTGQm@)PSvgt2udeSXT?~1amazVuA)eRDHMyT6>Mx z^QUNA*>?|*wh@2ih&@Xf(pvl3Uh~Sk<`gTbhuJd}cde*h&7- zm#g~q^4U2XN5^L|dSbwS&VI$gU1h8$#955JJIJAW(I4#lYtql;f8w{Lhq_TO>Q`K}{Xs;Go?qrS z${%R)c2-WUE{4 zP(XIwhvVw_aoKO7j@$XTaY!~)$Bzu1+=z4Ka8fN7?Y%=QcjpCSQ?_q3hi8VTAP?I9 zK)%`H?$FvizM;vZ{LAAocVaqRliSLtTujPm<*w|JPkF*qdt^CdJA>PkKXuna{@VGt zF+IO z8l#u19sS=gsrK9f_Q}_av-k5lqjlfjD{EUqpjOD&oI7!#>p@x z47xxoo?%|D&K?Y)6lSePe8}%v5{|b=CixDHE{OWtD(oIKCD-L$idJK z@A6{K-_3!u%m(qaSLgWs(Is|E!L>ov8=L6B^NfJ)4-aO8D*`qh4Ky~FTt3i=o_;p2 z23?>TxAV?oTDvA^I|KK}Nx}Yr9nT8Loe$^}%ZmbbvLByk6FxN4_{bq zen#>mCj9OK?Ycm{Ntbo`8OD~(05z?mWQIYF+#(fw8HY!E-P z_14b|$hjfl4>@>q6^_0;p%343-;1A|(qD4esh;znEsg%ZV)Vnj9m?7?Ix&Mfw{scu zO{`~v!$Dg^mE-C+%IAESAN-pS6)I^B5C)|su^uqO_!oT?3HX1JH7(OPGa#&)vX zn0J|L-RS4qSrv0~_3jC>>C|_Dwl_F40y~qmdS~1S-vz>*mvwD> zfKKDL8tDS9_QuuvjoDYL?m*}QO|IKoR@>x0JGd%%dhqDLnX2btCIRWGH( zGZ_!tE-mB zlZTb`Rl6CEWOoK>wO%#KC%V-d{+9+%4%E|)eLt?Q+B3%{GODh=CS!HQzuK#FV2$sk zpMP}M-Q%;Mwvn14^H8uFTog>ILHkF7F3^Va;eA%MG8@|Vo~v~+ulsCRbN0kST#Nq7 ze(bIp?umyO0Drnb8`hfV3R-cKceL%CTut8@q@k<&K`Zy_W+QdyvDCME*wV^5~#0H^OtnfG4U(c8sg# z;l0!$PGg_iv5#+fKCR3D{@~JpUHsNNBgWO*7;Mj?IBf|I1n$}{(CDnsePsN5((H)7 zodNrSZS3YBU$5x<7p2$uz7kv+@W*GTyQa`R2hn$d=ChM_b3iU1`L-Ik)A+j-i1GD- zbH6Qcm!d}}_I0E ze~bQ;Bcs)y>9MmR7i^R_bs>K4Gdu?Zw)4$=Sf^@yxW;blc%9WQ(5#zV=R+50*2VJX zz&YOD&(YG$KJl#mg^bbHKK&*8E*bNo=rcTa*P?0bjz88a2lz^sxU*AShV`UI?6Ix< zG;YtLcY1B8Q!Ix%Yfc8eY`50hpjNjAb3r{jhO)=`vk}>1*~)J3_iT;wF_XU5jaP#5 zeKBJ(sv0tv2mXks@#TS5>(^)e?!dj}EI1QB1NrVz4UnN1XZOLbKzm=#2fBL%Vku{G z+65Xr%<1g{t@6TNHhE_7x%`>Um_O=?KDxD5NP(c2b)aN zYFx3-Uxje&_h$G4>?vLKcgnW8D0|560*&0+ppEzGnWJGV`;Fxl4g2`|^?~{j|1AMJ zzK^4mV?JxfR)a3k?2~&=V88sXIM@F5 z+2dQqww~{2W=#{Dq9NyCfR}FZ!N<0W-@c4B{-EQ-V*~s3`OZ6-J*}0Grk(Q>#8S@r ziccN4y6a4pZZ$Sew_4Q1=~;oi^2xf-YbmwSpAXe|Pu9eb55xM|lr?C5XJh$_o?P#l zcgq3Yo1U&N(5?&AlYH{|xdC}OVo*W|0!KlEXCM78$k z+Euq?Y6k)~u#>%41Z+DiF_w2ee^+p0;Muhrl%E-n{IqtdNg5t9YECx$>Q3bYd;D7| zwTGwHUz&Axs9pN-iLt)q*b|T4f%vH3yM<3~$gFxRoi)cNFLY^N6&||zUVb|FWS|-4 zI5g!iyYOozyBp2c^2$#6lZ&#^Jkv;C*YSK z^~0X3ksCAK$XTF+964mu&m@QH#=71fTlDokm)Jczps#4lHhc#Ib+*{=7e8OvT0DFz z`-`S@prM0JbeoHfyqeREr~LMAiq`rwgR6r4n(eXgo#kXBJipcOkhc=hO&1^M1N!+= zv97$8jTOslBCG05T$TdOc}7c?xa%SKN?zaUhWad1wU5<&k??=U$z4q=@n0{ z>dx9QkF70F$$sT?PsaAz-0`#QZF5LBomEHtZ|kV`@yHX}l2iKJjT%3Pd)C;(H}({d zxLOxya`oc=?!cMgE1zcrP44MFE0_zuDtKzp1sXf;k-HesWiF29>@X)+zPu+CtvqZE z$VFfIHfQ6}KszI_CO$3jlesG(^Y?O2#fy#l13~GW&sffDPTx5JK20pj{u-AI^Wqz4 zyE9j|iyQE}P`qN(+CcufLD}&CV!f7!iq~foYjrs(*3)vOZmKrb?MCwJjI75~^{kio zNj0L*hjNN`HG68R;={HfZR=a<%&{1qi;^>}%W-mwcBpfleUo&m_mb1!p~j^OL{!Fhq_vvY#Bo>`tl+X8-)GZSc61kOd#sl$?Mz3kncF?sm^FtvjpkKZ$+ zo9q*UiVs>~i)WJY{s1i)xAx-I4g~C@hYoW#vESW{?z8~E80hVHf!2+FuK93z##@4- zeQw6=&`L*Zuk{!BktVk*K^rS^VY9r6&B1^#Wg|W2_1yJ7RnJ&sO`TM%`Lq<&IneWI zIp_k7{u4)|+t0fizOLsjIpyz6*2RLoZ65el@hyAUcxj-KGaF2zA+u=2ulU$fV>;xl zYKkpSOC6;f#bQ@_YwyV#S}|*BUy*fnpmv`VWcsguPf{-Mo)XLlMXO$&M?SGZ4*4mE zdhd$E_~Wm*@ei&U^=p6DD~956&tNeM&AnsR?^CN=^@NXI-glQmM}JG_xzDebZh0NL zvPrCfk96~|>Xc97S95z}Mu)wd0{gYb|Ka;F9{H~}URU`bZIH-+r=ePB98ZA4-3*C8vyY98Y zO2B9Kl??OE&H7U_F1yftS5Ug~*;A`{=y`T@wo3z z{5y;6t+!hITh#afwSm*k*A*I1s%}a=Ck~-b$0wms#A5-##tQO z990d9A-alR`P$Z2#lFti8KG};ByQ~)6BBtC6Me~6pVQ8p@6FrXgk_W)HKnn&a`S|Y z%ie!$Zumd+@AG|!%*Jm1h?6_RSrD6He%id$+4+x{7e0u8orQY-@zb+i4b&NPzN|ZM z#yf(Y0so=RBmcp(?504>pyay;m;1HV^z;n(@b3>Qw)E0J)H{4%QRCiMw#F$okvr~v zW=3ld(fT}TD-07ddC^shld?{=gRouc|U8S_=# z*OP@0JinF#ciwy;M&$8D?_QS6@&Qk~Hq=r3C37zHTG_17MqdV3p@ zQO`Iw9Bz0j7v#}dy42Ayu9IY}H1dYy)$DbF#!fPKnWW{fZW(d{M@AC$qoqWBlIZJk#1W{?@%i-sM60T=iT&(={8={mej(h$YZf zYo0k8pIX^!vECu*Ag}gM&3GoTPL6lD--(}MSv>Z|kG>tj&Hz0cwzlyhyN%1;G8dP# z12G_@eWy^v)}6<5a~|{mk$vr%T*#WcW+S$LxVL?rz4*nQePSdx#&mCw;x9?x>fM?- zd*_4JZ*t^pm`^(8X&SA1DB281Hi-i}cEk=gka0#Z&K|L7b!;RL_YKc_^~oPG5f3pk zhdPsTB!_1O^s77e?(B1hueEg{bFuRtE8lp<7q7nZUViWDn`N)koUZGc-bvp=Z9t(t9s@mbF!a3m_H@+mj2O$`B!GnN3q~fJMJ>qT7JLt+v>YDAO70?A05n} zJ(#a%F0N(oRsG!a&6+#r;sMXXVE*y^_wKFE-yO`)%6}l*+W05=<-L~v=Q6jyI}kIt zCVwz5?rL;35C^}1sd)~x{9haXq;GUbl^=hQ|EQ|+bR>IE56G#U(Z@%1O$UB)&^tr= zT6f=?pWgR(?fd1v-3YVnH#e~;MD1}Eq5{`&Pm?Ko#;+c(5E`pI1E*TwlUSuY#- zh~D~rvraC0I&1yRtna`FqpK2euXchqBIJ^v+JLzbotQnlQg9Yh~m1hV}(L zZLOibs-fN4&@S}rY;<1e5DR_DE;~K%ta~o$7y8~AG(WHJ@19<)=@pabf9%#<-4AyU zQRViA%xm1%$!qd*K~~}Xj4KAuX#Q?FHnG>9oG$l!=JdYdAJ^nuka4Y@nl(Pv{867= zn^%6yU++Wg2yFh>MzV{3@zohTGzQ2FpAL#o-egA;Ie_-D~xbGj*_Ydv+hxh%JeSdY|KeF$y z?R(E}`n`APAJ_L!==;Nc|D?WO?fa+n{f+6_?m4E34VDfpbD1y>%Ae5AJezm;4^ao?iB_ zjg9hPuIbtHsDMqL6V}|d{9rFz?BQ+Wsg}rc_KJ_sM}jWU)YN=HmKt6ToVm*btv(N2 zn=#+zd2b+3WYzl+8|=|_RzGGFS?opY?012NZjw%Vst#_+cqULkCHI_+)m|G%`uQ%F z@*?-p1zI=yxwikHe*B#Da*5}G{Tkh~!Ah_iRITjGSQF!20lq)!-;daajvRa9@S^Nl zFWRrooIU8Q@#&#ilMCx|PoKCL<2816$t>5f8IdDeL?rF%TL(8LLbWb}EntbAM zCcZn+=;K$}i~pBqdO?%YMG1Q#<0Q zCSuyHd(x{jIt~X#+r~c2$7G(AF*&P27ih&(c6ioJ(zTR5{+Au%%U^vLXx-@Nn%vop z?-}fg@8XTO3$*Kk*3Q!J{igJbE!p_0r%xT77l_+@FcY9y!MWqxFrAXvwQFnzD@@U7!`s zN9ZGcy*q)-Lxx-jd-Qi-r4dDR2i_yJH9v zuF)F(U7&TNpKCtNXIwdacE)^QiyXE(TYj;?$1a~?DqigB0GpXN-T zKN_v+pr>Ne`fANy<^kXU@L!ow$REZ@^=OH{kLf%g6; z2KMB}y}1~m=X=#%m$BB3e%{vek4%m3vV-qkpjjJ2F17}8Se$(Rhk}2_GmpH0jvHNhGAX{9!K1Nj|^*U#K+Dq(7MsjwR&YU{?(uhG?`wZR1$F9dW}{n@A2Gg=JFmIE1A{pq_v>qbA<_6}xjPc5KV zdvYaj^bc#S^0_s8mFJb7UVRlGd0@`ZAs^cEeKzAwf!aYQw@X3Euzpd%PWuaeZw&rC zLVs%CtFhgIc+&GFxyN4{n76S+$B((dc`19)fn2<@AMa0J@z&e>mH_X8pza%cY!MrI zK=BT|c1zI=yxyH+8_Zz>_kfDauq&(~kG@pt1S@SMqZF_)EjE4TnJ=@#3I7dst z7m9CuaHrfS0omKz-KE#uDVu_!-(pxbC5B{FjO|&gIIF3O>3T7i*Q#|oLH%9PkH^(I zxwFBzS|@KYAmi?V`OuGX`IGDN<${dW+IqPpgMK|5^~+_O0~+W8&G|VeP{(q2-wC<%-5eTn-FIvo#$b|e_EbK^7{mtLd+ft|M&F;__s*4d zXMT4u6R_c(`JIUu_xGKgoZs(>S;bdxZy_N6K;ZlrP3fz=R(zbnHa`4B%Omppp);@rybGS|q6tHPlvpe zzS3XoWrMtLL_goh)!hTLJ`+^E>D7SvTopJQ8hvc29G{kP)fjp*js_b0R|4y8Y|X2l z#7|qVzWFca>}c!T=dRLCm-e};@9uL{-#gdL8pTnKf>?-e7igc)=Z0s~av*MU=bqNL z&keOZy!)%(#?i}1)zECl8kulnn;S93b^Qdh03@XrRU)}2~erng8p51|Z7mshv^J;gVSM;i7 zx{NCh)!Xy=}gf(p(4OvAa#%y$F@0(E5l}j;!?ExOG zwVR*z%Wi!aXvIU%{io=e9dWGr`tp8E7Qgxb;(o1kSHG6$Q%5=TIq7o+F=Eq|!PA4e zfF0`Dm~HMJ{yPuiTTmxk19Wn!N4G1`-jJH8yVCwrfVZXjzR;+t`F`J?&(396!a3Sw zM~%CTHL_|=oIHCp?_7R&VIe)6#1?_mgdntD~A>Th^|(Wx%> z1sZ$ELRYqtQFl@4>awP(9p{Q2bmAG;x3T88_|PkFc-7wiFz-!IM;B;5m&h-B3au=> zJA$17x|WvRWbwVdlgiiip7r9c?GMPPyO1v6V~zP!W4&1EHT-*mZ2{XfdATfb$JG5N z9)RX>Ag(ikRx>7>kaEJEy#Q3FtJfFJ&UCYN7 z@lb#E$YTdSeHUn@UtSMP$SXQ>K46emva7fE8>5}$_bL~3PJ_IoY3uEcna>97RqNHO z7qJ!RM+W8Re8zH7&kuPMBeiR6Z#C!wjU2Hdn-6mVI`qaD2leM1^&W(W9`tOeXFA*3 zGjec3Ea?)rHn08;fZ_cW_7M%a>b48CZuIlEdw}n3Vy}3hC9D1%j;^|E+I4m9zF7)} z>vBMrSk)eTtjUu#alvm*-gX6>f=9#`H0<6J*ms|a7rK>zT=K-C3$$+Zb1jB^D!S4o zFGW*5c?W}fpU}(wC4qQo-RS3SbtUd+2WaIHec3~=b+%Xh_4J4_f87}i{kUlOHXFwg==}Z{tA^yUDeVrVF&Hk5&d>oXT*0$}&&ES}<#WZg zdOY;2Z9b~6qOCi#=3VwQapE7l&;uD41^LzaTeqecD>M~LaoiN}$$EQ#;e(P<^Xi>3 zV}8?3Hdz&;s$+7+?&d)Aopj6dsLaub8=Ki8R(pcwz@G(`e0LK0&j{pTKA=~g4+Lz* zcWz)$yCsl6&+Co&eL?7kAh*`e=*O)Ot>4#Y|04nW{v-IxHeio<8jF>fiM9Uufpsy{ zi}7l(FVMCJ;%rZCJ}1aWlhN;f%B}pVQ+%y#aq9xDm8C|V@5@r~d(-3Z0!^OWSM=2R za%S<=+10bh-J}i|g4*YUGrgV+wKhoxz2vI3tpT~tc-0QQGlBZ9v$&WsU-3LO5Qnc1 z#GG$r*e{fB^2tM^p77a2KQ6B54g_qJJH7ltLOGhZeXZ;F1Z4ANS0F||lpH#1a$RSS zPi)f5cNb{nws{hFIVDfL&I#C~@!MQuFFtE>LMGe!s&B`W?hLl#BMV;_Xnfihu-Cr% zV$jm4-PxetvoajjGy2M@v3B!XH@b_giA&e7kuwum=gX=6xNLe(<_YIW44yw@`)TY@~oAQa!fWm&<^|Z zNsPpUPi>87I@TxhJDX|c<2b+EAsWAoVP)FAJZJmub z1zn(Zqn~U0XsXVPfuCCgdc=XOVXVa;#L+v2@qqxnHF4DFC-0nqJhrMYAXAPsV|yBY z_ntYz6?kIZNq!guLf$2p2dE=Fa3Og=kh?KgD;vf-D3Q}F)?OK)fL}>4g9Nj zn$t3#2Kv!xa!fmiVan;!G{m@(<-MY?8i`|2{z59+?Yk7>tNl&)8eK>=Q`tg^g#%3~J3Re0x z`*N}v>CYoC7GLHGj>b2F8<rybA)3Z&iR)RJ@Xm1Y6C%stXulQe;v6{8l=B8w}@+#hVcLj3t<~--y zvsQfMjiZ0v1p33FFI^Q+@}c5+#|UkqW@~=$W?XA;8M9VkHzzx(e9cJXdjF{pk|*6iEc7mzDw;-!^L`pLk@&+1$L zaWc?C$*g(tS3l|OiIbSI3ntOY!H!^OfF9J*Ng;D2I%Z} zfmXWY4*#BDIZ%gc;@Y5M@7cxXX9R4+dtx9ib?>pM^zg9@G_-hIJ?CbQSGy&cR3GTr z%pNkjKx3DfRNn9d+wLFO!v}1y=k)H3$zuD>dH%?aeYru)ZatgZzWlPb5b(A9s$AL= zYwP5Ui=|o{#`4sxS!cW48_QwIA=6xbTkOevYrq%vczWP{QM)BzqxBZ(t;=`CPCS5q zaW$qB&{xq~Yk0i}YV^oAJ(~kH>b{u`$R(3bH1v+^$*9_z%lPg=-6!rOYl{K8!C}~&o{TQgs&2`!UU!Q7l05lR3u2%a z<^#5gGyP?+7?80q(CneBel_Dg!9u{k;&XQE{Fd%5SrdDC1xEu--J*L)=qjJ)S2TRvGRJ5Ap<~wRVh7uc z?qOr-W_mhxfldy@l-=Up;=;@q0`|%A!^g_}ewbq`CGS6S}b?ZWUJaU9zp5)uO&S3Es4_)Hp*|9a?6CQF}-S|qk+>#l$ zN40?;A0KP2`aM}&2<%rKq89_bH8!xBzAn(jscOkOIz1lt(N$~ux~IwcWDn1Zdj$^* zzAkuG@aDk&p9M34x-YbL@mHS3gspro`pSnjXTzKf_VHV+_149ST<2^dmRI)fv+> z8?d85Pu(Mv@*{4S1r@JTGalxKJ~`VITp8S_ACtKyhSSTJibKW8T>kjOUp|h@nLBvOx)m*{pIa;N!smY3$+ON>ILZ z8EdsSjKk;4Zg#Nu>e$_oXLS?{4S8o+S}|Vk=j>La z?C`v@w=0+pE*v9|O=k!0BQ*H<#Af!?Gq3zOqu+Dh?9pY<*mG$iP;cX6NRPS^yVHZC zfhO*A0hwgEgUwe0wT9mLd}NGrhmhR`nrA<|(Xp8hvBo1W>_R`Z-+t?(I4lJ8T6d@D z#cwsJ8WbP0Dlg);5a8nnIoAg4xhx=ujAsP=x+Gwu+_3@uk$|1%Wv4vTYh64S0y>6q zEgRcdZVKJBSUxI@<6;@sk?msG+G#$FW!0JUX0MH*SX5s0+ATqyF)`X6;K9qcHcnz8 z=hv=dCwV)9odJGWdw#8bhGzdc{rdj&bXn80$y&Xi>*Z=8C|eF>EZ_VzuCrG>=$%Qi z-WsTXwCuiag56}(OICp#{Px(U9SX$bU@+8=o=&iB&1Z-Ol_66FdYu!jEJH_VF6Jk>~kqIS>414UJ4Tk=) zpUvo(0=&)_yUGXaWmCz?(sB2E8`sWe+AyZ#3-qy^m=8)O zo68RGs%lEi9+Q~4bK1`VZ7lGw1Qom1whuOWlcSQG;jtQEmou)FU1X7K&fnHH@$3Rk zjAjCMUcUi5%h%S%KW=QKYh3*Bu|dtMY2V4qFZzP}rN+blwCr6MkRz7fOHNF`El`^p z`Bfj{Nk-Lhm$6ngadF1=Zc}TO@7e4D`|AB*HRF1YBut~b-kMt79PA1-|ISoBU+8aR zjlOc+Wvq3hpKIr@mGiDKa@<|}dU~|pYuumiMSI>m*~ad&A;Xcabx$v5j)ooVQLhVu z7?Md=J%iEU6X)XNlR6Y@bm|L@T3-mr89pcGv!-6~*0YqYa#YVII@Aps?UrCiz(2V_ z%ig-Hx{S4M^mEN;e)ET|MN9A2fPA$l?{6V64UPRS&^%Kgo8atAkA8cwDJVOP*-<&9 zZ&zSl-pLd9lHcl{&w9xbBTzfg+Fky&ykb(kbZPs8(zQ9`#Q+@}$kPLP?$|m9)puFb z>>mhfz4|U|8X0m#Ul+^-LmGDYT&u8{{Z6#m>2u~Mi-RS4q zn%t=&ZFrB8$!87S*#Up}cqFKEx0taUIoIgiSqp(0V-x?>6FScd>uhV^&mSLVHlyzX z&3&uw55$XXe3c*i$mCzup0WM9Tf2<4ZuIkC_vnGF`JfB5ZuIlEb-F7~{@!sq)FHh~ z!M;F4=U!Y6#LHQ5*BlAjc+rPf?+msvBcpiPL;rT5QyvW?jy^cL|5H? zWP08{Awnm`{FdzR2zCaufi}$HrmSrbDxdtQd>D6u#(wc(e@oA%$`v1qx64@TMn7-6 z2Tl1-PHPMKY*A-b8=lwXT@^ShnmB9=_`{Bwp!L!E(LfVN`*qju>gOM5a=#^OOF>)H z<=^3~*LbBFXE?Hh{pSR9YHU9g@U3hR*OJ4Ql4GpZdki}!L5$lyeES1+!6&VK$3t6o zl|Hf6#BXSK*&yE=0ei|Pa)&w&_B!OL{A6$CTRtBiXx7E6Y`8pQ*xUE_PETLmljibm zU!%(%bdgD#9FTW);LK`t)R{udu6DjVa}C{|Kur1djzOJ>seEchTlIP3+VV(08Fb7B zRin1?(0_tST03WR@zGK9x}z$mcvph5pZv-#KaAluu|3@}{bIH=C|dFUe0)DmzTB*w zvX*aWi!bh3O)fiwG`5S8W?ekGK&!a5c9VTDAWweXpBg@Sch1RCXY{TH*1BMG-=`bN z7GwA4;n*q0?dK|crI&p(LB)$*r+y9*QKP$pZ)~T}U0A5QQ2lQW*ft-ubo@OxQ19(J z8I$+dV$Mb_VH?>YA2qI?E$G-|-+K%B>|72?Ugc44D!2IP z>H0$r0o~+xfkyXiup`(RkZX>n?9r<=y*%sLq(`rg>lwd0V>;O3yMJ``e3x_fh<)ip z3(nLP{rEuoIy>Z;w>?^UaHj4N(6K)d3$$h5QpOdxiVeAF)NY->E@Mr+@X&QIC|=_( z(8Q&+k8gCNEt|WHwQltDws(9vp9w1G70bD-wK=zLjX!KUClE93mOy^oAGN10Rsu4r z=2tV`7ie-!ZyR&#>*Y^Oza#m>M;71MVZG$A)0{1JpDkzX{D?`#O3mW&ZoL%j4W5{Q zS#SRgnUBsSS^O_Pde|Ty@~(w_6cc**yb!RZWNgWJHb6HY;5TMd7ii}EB9mDcH@&@Jw4PI_Hh8bZd072XDPwkXicWOsmf)Y}!6r zS>qv(40^<@_}HeA+tPT}pg^P+#l{S^}z2g z(D-p`AeK9W+2EeRlOk9hjk`bj%7>~mKG)c~{W>e`b$5R|9lipzRHw9O8ZH z$wPA_xFnD>U@QKzRbHTU5AAS1f$psV-ua;AZ{t5n4m;}^z>YdU)mIJ6F}njTYPt1b=YODv7<9c6SLJOW@3k4oW!O4oTi)1jp$}$<+aOL zW5baR*q|;kBAiHvSTENzDHL% zQy=bv%|YcyzR49&&3PxwK3crSCCAxAZ{G5-L2G#`|Lh&d!)NF3DREeA+1&-&b%D9F zT=wh9-x=V$A$(%co?A3*q*EO0j^pR9U^aMqo_F}q#k<}=%1(EjW}kgO9+X|>W7%TPFZyo|HU(_eYQ8Vy*+2~B)tGGh^hX1YUU?yd z-U|c%{eR@$37BSQSttB-Rfkkh@KT`D>F7w;(w+1cmWFf$HJq}$6C#M8NLUgKqt!?? zgw35TAts2sOcYd<&joZuN5_G|4R>4^#a$5;6-2;ogaLJMnd$HUJMX!>pFVlt>gpsi z;&)&9*R$Qvy+6-6Z&h`Lz4ngR<=33G#i75ET(v{)g93RP%dPdjS!08Berfp&e394I z&aqwN@r~i%8eA91rCj@5$OiemB}j?(KjWlhd$1nJGoHnOOtwENAZwhn<;)@e%XM2% za!2o2&yLJZ)58WeX-%K6U4U*1_6Fj>wu%Sa*svDZTl=a$=r^bStA^A9zmQtsFW;7i zvACPVQ*$M^%bdEC3qD(C=lsxa8Cp55T-i$x`^cVk-ti-K^~rtjbiLZACg^l_j1L86 z-*|oUJ+JvbHsZrRu;01Ge_MdaV=te?%eV_r*MB|T%E3Z_pFj3=0qXj%XU-MB`~8^- z#No7J(FMqJ!P>L3hFAO!4sDwLZ#$Ud`<{RgNQ}rrd?IrkgU!Z>OuqPRP`ZqP>@GlE z|MhgsUbSG4^90lQ+1>@H_VD@H8^q%|Gve`cIj?2oQe>3h-pP!sMrzz;4$;d`#76rj zHF81k13%P-wgo$%JHt+Pv@!28Ms&^fz3IB9>7kRZFSrMF&C*l4zVI&U+7~P{;CahyFci@DL5Id2j`;iS>Z?R zv!>PknNxJr$)CDg`EPtIsJOF1UaktZ1`7cmxp8*t9_RCC1mgIpfG_sqcjtUj2HG!9 zTk~47#F6a9K+MT{ctDo;k7a$yAnQvvDeJO9R^5fApFLkT$a>x;Wo;j1kukRG`Gc$% zY*LoHfE@8vm!?3)Y5`{=Vz9@mF{msZWF z3-i`NO&tixc~?_M&frSGZu06p7*|f0(l3ATv)3LzlidY~oz57d+n9el0)CTEj&nXA zls|03_xQkFXsmx|=-XHR&`CD?$Ye|T_1?xWwl4?8uO;*1U~9l`ay|E*8GSOvjy&}1 zjXb)@>jKpEUne%IP3z>62W+qTbo=-4j2=~%!%_Oh*V%P#Wj86lQ<)J4UajTPJW z_weehYsElZ~LQAwG!az0wm@OLB)W~xqu%0`ea-es0U-V z>*Ez4yw0dGpZK{PhylC1pv?`RR|CZU9Ru)>*X*}mYsT(wHdkA+y3C;(yFZQv_I3fP z{M26d*4fd@Lwkz4F^J$UrlUhz;9d|;dNE0^Tnyh*v_v~jK& z($oHanRr(W=@+Z{0MXAjHmYfahpasTJ~rKQ4mKSKKO6qMxsS!SVps7INAErI<{qqP zLYRzFT z9Ux{aK^Gu#meaCBOn}_-K?^qqcLZ#*=V?L0can_Ksa{$>^T&hYS!?>~p7D%s>p`u_ z#e7h<=>z=-hW^pC6<@JG60p@gUylW1S?|)mr)dASfGjZ-U+tk_cd#|!N9A43(LqM> zEvAppxUiZ&>iVyz@6ff3=_pL&BMTp!`M_rW91OM$_?g6dE`9db9gKJEH(SeZe)2<1 z)G!o8em*LfY~q)EJtSBO%p23G=8aba)b(Fa=X-#+M&8~0G_KU*pmt-a>&uAS?V(b}n2)I{kU$Dnj>q}Mxv_*RbOYb~IsFqT_& zgpW<`HZ?rUj*_FDC97)EnF8nPz|dEd_8tkw=S!V^c>>`Ksz>XUAGw(i_$Nn)0(Tjn zS#|N?tStsxgK@lP#gU$hMfp0-PqrYwJ*@9d&YPIe^6j=6zR7#}=ANoE$vs?tmO;eJ$78GZV0Rc|Jg{E{zi8%8Rci$EjQ}ZSj%rVRlSQr7a*~m55$44E4z#euTZ~A3FS@`j?`$a*?Nw=4OZCZTJrhdswcd8BE zF%X&Cf+q#+lNU0?_75Xa?TOL#fn3S;;b8o{Y4a&==#Id>%`UQU8Tx!^bChG^qNKJNo&^?yG}oYxHFM$;$Oj zqcOSmX-nUK41d|gemantzcipv9{6JpPiyaUhW&K5@3d7j!&@;`>uQFqs$qP5)5+-vupY<^l(f<3%&}u#FvUEzxBTx&WyY^|LS7 zA5@I(|IFZ)AS(KwYvVKjg5bJ9Y@Qt0W8Qm4`Rop;KD}Lly8i3r=i~PAf!xxwJ^h-0 ze){yhFZ$Qg%DXjvxdF22Wozpzd%EC)fR9^))<<&i!0OQAn-7YQZC3{M@0Cj*o$7fx z=mK<8zz?#VQL^Ybo2)K8sO;4z%f7KJYgJ2a%TD^Vt-cIT{d5J_>1@8x6k%Dv< z+TSr!*JYbC&;_W@taH53&)oTLvBn27oHKD=3d9D~?TLWSX@94z^_`sC0_41m^Vr6l z9yXg>4ch!=c-CB&edE2YJ>+=CAmIx-HE%?cPH|r^|$h?rN81}Z^epj&kp3+{$~Yr%HdN2ymbd!ryH+& zaIVF`{PP3%<{xLCAGJq+Gd{>g-RrFn^tZO(oU!MgIMUnNa5md~zq7S1+s~+>uN-8y zInsYxz+XA5HTOZ)!czKb#+q1P5-bF_1@nR0LJtY{1Y(8OpCJ%8w+ zAF;vQje-58qe~yzOFt@JabWW--q!ZD@R84Md-zuGm||j{oT~%tmDlzzvPWKF%uo@sSl{-{6 zR$jyeJ)!?P*VoOCzCV#s{Py!leUWWkHj(icvB}!Cfia%ap+1qhHow(B(663%-akb~ z`AZR(jb+7oB*- zM869VeVtC|aPZPxD(Zv`tvzh0y)Az$$KJ1;vR6L%Qub^~AE}+PnN4;7$OoIXc)I}c zx6=u+VQeEkbAj(gSB^@4#Z(;rB(bV{iT#%a^p$;hK%N!?GRw9uedKPaXEZ)J#K$MG zIx_UTvY%Lzxd7itiu1LK=TICD1n6&u z7*!pxM+|od>Kdq!f^~ATbmwdJv({oX9X<#1Fg`W;Ql}CHp&yI3XJgpq}a{IZQe)c%mbZN^! zzM-*y_HP7wYh8?t$r$@2zvBG0iSyyKV%PcpE&s&^ zeP&Sg>I@asle$)KYP{;RYS1~B7j?NikVE!~H<|hyooD-Q47LSgb4@^o{%rwL3-TmR zRSV|us(~)B$GvXf*?8@#`e5JH!@kmI{iy+Ya(g@|e(|^^pyN=$cQVAmS!?eWaa#@8 z)&;2RzfSHHdfGh5#p8orf&S4z9{3IP0J(55UAxq2UyiGe$$v_qw&g>N z%TN6)gNm2E&dnSg~1&yj!sB(KxJ=l{6DITEir^YSNlXFE&N)+@j6As`pzxaw2R zrq$-Q%-4Rk0_wy2Cz5CToEb9Ji~O>qeqKVha}IRk?E=*GU+-KKbD0;PJEqixx@>K7 z&VM-@K0PfR>=Q4xiaQ%G4V;CVV{^^5vgrKALFcT`2=;zX@bEHKfW*_?p{;YBZhtOU(~1?DpBwP83sBd8oxb;Q z*1joz+AmhMpN(CBy8i3r=TMBLAFc}cisZZtoMHWGcHWfvy+P^H;;nb4lF4?!Oa3@7 zFF#9O`1Fb?Jn}y)Upun4QNFCt%9pju*DT-F0DtEK?}U7MEP61?rOZww3^U*SMwxP-}8YM9SfXW zd#(sxnOKlX*1murWYPC+SsTxnjbq+#pTcWzy<75C&CLbZ2W%jN9x-xnJTG{Buq$BO zt2VIh|DB?5mTliLg?DTld&CLd5!Cs>SI-0a9go$ne8}Hwz?UvS_|;1n$X%_IO_wzA1C59kDOKM=^v2B@o`jts6 z#E@-t90|GriIcU~#)@kzt9@r-2mf{l>SZAq?{^Nw0pYc0IWTuLSPxbMRJr2YtA~21 zb65Ev%db7-dH&rPT;9mt3{Tkmv-=%7Au($2BmTU?LTJ2JpDSnO&z&@0b2gkQ=l073 zBrcU7dyK19BjRlCP_Pti3*4<_T@tt>*;c&r=RE8R#NPPU2qDw{^}wBVeZUUy1?p;i zpRx0JfJd#MI|6#uirC;m@*-~dN}qE@AH8_xl)cVPy^EC1?C%29^^Vps)b4b0?jauDn=cwBmSPZ7=7RR|@ zEf7C`?hD*==0RNC#m53Z9UaCMV{=P^*yDqWDZlFs9!#J7zEH(97`t$L`O@_D}Jn9gIVc-#@MiDT-N+%7;j1Qjzr0o@M>#7`c@ zL5%7y5;OB+vpn?KIPH7YVktg+IuX?O8Q0UdCf-K|bZHSAzbA{UY1LU5psxRV<{gL! z@l$U2`Muf8p7t&zr~KrXT+-X-OY9#s1?sHk#YJD-%V+1Y3lKZR5b>FO@vK@EH+tQ* z?+>gk1oqHxtqTxYWY>M+9^qp%ULk{_UPv&zy@+$t-vbpl`pU#p8 zIRJid=Gjx{Q9T_9ke@xdxA@uKO=4Pc5F-$W#}56YY1OfKLmL-4yCx9(st*#x8OU;P zI{WI%U5cL#CxW=$=d}7{(^qybrf;8oI@4s?GnREr=HlL|zsd*Qh5XHte>i>O#%EB4F2MVkg&p zo_05F&3r5O#iQ{HGZt%mr^WganMY#IE;TofIUQ@mIy;a!mtJ`+9rB~T`BnM6Cv>o1 z9OXdVjs!L5S%9po`&zGDEH-n_n|)QI>PVlDe7`zy4&;)q_Ved`GnNawtG_zTU6riUZGUmF7sr{!Z8plQz^u|VXE&;R9_ zYq4`QJ}`{g?%uCB)j44AQeZ6Z?7K8zD^dd$=h|CF#qx{S}j2hW??n zOF`vjJ$?1j1<2U*ybGMm)j+Lv0qXj%r)5{{=>vP6;X>us+V3UzWU_Zpun^RKc7nC4 zarLzvu*oxMZ!i~3+rtNE@;@g|eBJ!A#{<4SMAB^1E z&nEitkY()ta-Y#{tY3c6ftPRiBC6MWG%ep&15_@&Kqfh2YOY$fXCGN?>jETK?ntpMSv%9Ww{m+deL2L(=ZdqK10B%bTU#^s z|FzV5{#s{STV>Yd}+W4{mrxQQA`AF`bU?D)}=&$_E zr{C)E{AzO${@o!r{R|8tF7mpw?l#H!AkngRDz3-Z~otvbRdp3awZaWJSFz3=dju%0=0 zNX4`C;45CW;rq#IZ8=b{Vvp=?*U6!`>`wR8Ik(T9gq%5X(Yl-Kdr@?31hrsYoZ07G z=6dRhuXX<2{p9008i-59%~(w8eq`%>a6BlxD-L20{Dg|-f%M7qZxZV4IG_A)?|pj_ z9`_WUrQnG{#gUE9aK*9mK~C9L_TU9EDE?{pc9u`YxZ>N^%d9@R*4kLCWn6Jd_fB%f z-#*~q&Ok0a-_?tlSlb_55xhPd*xr7Q5P$nh4>{F$mMRwFxuaRTxas4&*J$kSYUM06 z<8;rczgaOE&-10?BNr7PeRL$)Y|P0j`R5|jzG)zA*mi%^H{Y>|FTGh2P z_1|WkscHAd(eOKe?xSsKmzuHjaZTVHIk#H_q^4^R9%J^|e;`29-anmNXB4mf-Z7k0 z_ktP`1Ls*EuRhuCb@!lq;D!L%@AtOYR5rK2XGupFAhB^C%YXL<)IIJw!S4CsZOt7{ z2EW--d&xm;^sa>1NCulc8|x0nBR=+!CDvVl*u(~F)o*pIW!|2W%|5(;(%7d4RswOO z3xD}V7yr5db^X_guKD!w(W^h!TX89!e>l?VS=q*fEW`%37?+GLebn_|PwQ;;TjFQ= zp+$VCn9|n;sN$v8-;i2AoYtN$Kvg5#(&q#6eYUDOaas;aHe0Lj`6cJ#g4ji0<-L{p z;kzhPoZcLu^1E7VKM{ye<*;qlR`FI__XfYb3q3H zKB~BhHUClBipLz8e%JS{L!S+Gp4^9GaczL={ZkyQGQ1*q%4o^HjO9Pz1rb+4B_ zXNw(s)u#K0-OfSzS9RfzJsa3j?@VQj9D`hT0qXj%r&~VIDJGlYuUydQ{Qk&&r=Q=o ztdY&PeZl^rpQgWO*o636{))lDz@E8aPtNCjTDs(4Eb08w89K9cN>;`08!`vdr z)5jyGz^4O&x!-M`qvGTFEBCDpV&trlX)oQz)n@~_HwKpn>c7pqK7Yy7=S!WH)@Jsg ziesH6b4P-sLFp9V(ua@D2+yHlPe9jNP;uRnzV}{KbNco_Kqq8>#k%^|`791~w#yE_ zS1hWw_~BWVCT$1%aPnV4)1AF7zN_LI^2hmTC}1AM2KeeAEAJ(51(tzQ{bPU@~X zm;GBBS?Lbn+uuI(ci*>%r{McQ)jwOSF4qHf-vvm$tp@ySbICt^ZGG9_^33YDITbUq zofGtT$!FC?*Uy}eqa0M+?wfwa-JNg0SpV3tze^vnVLoWjnR(AXkx}1ggSefIr`AbT z&({T23u5S;uw$AJ{9O<5bpg_^IMsdG=AmTS+XdT#Hr_`vJ{rMXDc(qUJpBde6WL_ok7`@ZvXjCYrlD)FUc(1 zu1NnUn*HXN0>lQkA%8=swT-X#zHzj-BgZ>}+IL6#_L0daXR5u6x{OinC7Vq4 z;H?~7l)n6_MRRhR@b+^X$y*E0Mmoi;;zzeJd)c7R4>}JHV?O-X#8hidPR|eQ<%9W> zXMf4#KU>I!ETPGn;^dA%E0g9_J+-w+ z2VW3h4+OSNyBFp&-`bMl89DJzHm!ciFS#FTYI4WG&&M`y8TN6iJ^nryf80?U?NK*k z&8OXg_YVB`3f#HYy>p0JTTAAagDybc(eZQv>iVyz-*3gC>X2Oiwa-oKRnzJA?;!4# zpBZx0{@h^f`&#&_PRjpZZv3b3vOwL9W5z${fp7fT7Kp(mK^uee&)IN}76Sg3PuA@> zrlZbZmpy3C<--OI+##?Y+2?7XXb*epj?mpjw6`ZKZfz*r!rI&K zGtJh39yzGbYGPZtQ*-<&9yZs#G?q-zbkz9k8`=0xmlpQ zUCXfFU*~^Y#(Y=vc#RJP=PHw7^)rbobM0Z$?k_)GN$D=>{IQ1aOTIbe>_K5)nk`F8rPQ?A@)1J z>~sdy)ifW(%O0)uE-KC^$7GP#-XV1Oo=l62N8?&+eN}t%E+)&t*fzEx zK3@}fM#)w63yh}V6Ir|cpBA%m`pmFH!Bf0aFWKA3;&!=8HQWe0oM zu61_p+Y*#N)8u^5NDh0-7Ir^(SU*2~RI!boD_fQFP>`Ugipm=Iog&vpR4KOZ^GK&In}z$*x3c>`anF%5kLOa zd#(NAVSORk5wz=`XY8C77dkcqIo9Wb^}wA`_12}2y8i3wHF|2U+VWdm>mA|J^vQRw zej$#lFZt^Nbi<_SKVPZc$_am$0{eb3`^>kWx%j#kh{w48jOncNQFTbBpGor5`nV3o z74eO}`h0=Uo>pImeU6HcJif9Ekx^&Toy4Z20lt#&8RWiL9_Fog0pb^({QspHacj?9 z`K)f1g0WqEAM>+=J@&9ceUELdJkGMQ{3Tt{8=?1M`b(t6+^zZ`C>=QCpKGy*0*1YZaj3UML?|%wP9X;|LP3> zR#(gamWJQitn-=f8J}a@|A)u6thIS8AKEy1aFeras`ZH(#KTo}v@K5d@ zINE=|jOE?B{R>m%ea#@Rc>Xf)Y3-gr$hh_CjidD+9<6^z#_Q4L`S5FrVVCy9f!~LD zPf%;WK4pzwHOm&Uzj>tV5AuHJ9F?sn|M~R)8@Bdr&;N)-Od|daSyx6F;>e^!#;A*mkqMrUnTn~!<>7o*uZj-*Xjgs-qK(D9M&oznB5K!vWf)gJ$ar()sVnE` zH_u|<7iIrApS$uujwpLRWu))kqw$CGL%P4+Wzj*_*XM7U1Z4pkBoSpGw@XW)$?a3erfJx zqd2kYl7PH>1y^T(&1oMSlq~w5JIJ#3*`u}Fn><~S{}ET&>Rr?OyFC>TaWJlUxvPxX zqIH*Oy+3Iehj#bSdfu7eJGA?UmaXO=FtiUETEA0a{_#V5A}wB@Yv_K|&!0T`^>0f2 z^FK9uMewP=bn@h5gO}w8nBrou_X4fELi-;Aar3Gro5- z{)_y=1DT%{RJ`&1RP@_}zBW8iK<+Egt*kgWHFFp3&Bx5?Ev3kwK?RUhW)`Icd>&g@N@vnIYb4QqU1gLc=@ z79XD;8@|@YrDk9GPS=OucRFs*&bVy&m0`YWdu7m3d+GSv@U%LfGwdnf4mGmBxRJfB zng60@{%!e3R246N)!kBi>3n8*TAiOh8t=*2Uf(0pz91-{-us?2<$u|Thy3qucf(p;%V}d<-Njit zW#g?=cwQf#vJ3CqN8^Pz&wduN$=&quDRQsOKI`ade>#bc7?dCTGA9qeA4jxr8``%I z?H>&79}ew1(zf~fgLj=-S3f-(zhE?e=4kwcjNANmqxD0h@!!33l9R89tudwlc?Eym zbssm(sWEHhYOQPQJ}f?S;C|HZ7}}jf>w6dGJ=3oW>_gtYOV)+y<7v;!=M6TF&x!i@ zwLh6WKd(t&eYz*~$pd|J*7VsrU1v*}3C#^{qW_PK=5OF>&R4@nG+4+eFfe_(V*wuguQ7YAw; z-|zkLWbW2x?hEsciB|T3jQPwjwzJcI{=D}clQnYrZ=QX>l=)W18-{Uf-z!Jw@h37~ z%U);Zk0P*3`{AHIW3!?5v;DV5{(Wh5u;bA|`Sy`7*8pbal+HW7)?;P6i8QT9ev_G4cE-_k+ybIHkSM4VZ zCbSF|=Y~{Cxr0Vn6@; z6MYp=Kg+NtCg1he(`#kR*A8=4FYJ4A=Gt1KqheSw{ie*Bub6#*`efpJ#_vt^@DY!D zL;KwUp84RtzkBDi@J&r^{c$#Q;TzW$Io}m%%l{uspIo*6(~)~&TI=6Dw8d9>{lQ`W z^+Wr{q5YY(<-$>&f4q#N`Llueo<*uJUZ2 zuGa-6hrXBp_cNc7@60&Ur)0b;GUSV`ZT(!BF?r=f>8X5NG_2QsU!UC`HOzn3(E9lp zIo|EHPaE224DA;TZM{R?HjH08v=!f<9ma1S+P4ht+lKa!hxT1V`@W(5tF+=Fzij-S z_B?aPMH++;Zm0vj>b@oyQ_i9DgdHQ*G=Y>>$%#>uOHxIjntCfZyHs<-d8RAD@_U zo!RnZTjt0s9UuCQ$+-3PEtz9u>8f*nVdm(pcLP3@?i;el+N+1T-u}$-QJ##^Z~f}Y zllrCqe&Hdv#_##{iOn^B<1l8AIr;k5DRWQG9Q{?dyBq$G8~FK+r(!v)_Ll~}Jwy9| zp{-}c8;0@kr)3kl-FDpO(2c$M+qLKb%-pewP@J9tgn zk4CIDcAseaoAu?EVNbQ2-S;oa7nAyT*6Y%$6ZPLc2hs+tDAE+f~*q#Rl z=tyuVaAuTM%X4YQsFk~GGIhqBdj*YkIrDU>LwZY>bIK-nAF6paYz_7XWlPDZF*$1k zkN)wd?-}S0|HCX;TMF=c=ejnyGVpT|2@hHFXY6}}oC?}SG0z>DBUi1G zTREk#WZ5?>ua*0S@UUGz>>b-?o*XirYb zv43aV$LEWKvZYHOmF&s`Ie5ANiD6q`^BJ>kTwCp!KkgCx)QS4&0>nq_T_85KUU4U1 z{+EKX<@WTEyd&$KPRN~bxbID``PMGF`Ac>epwcm(uiWuN-pbA{edO%4veoEDKGUsc z$x$ngJ28S2~pNzO{ZA8}xt+IAQ4soj@X!Bf8v;l0Mbc8@x>XDyIBebm~* zX4JMZ<5Vr%%cd^i=PbUnJp;(8^Fu!!`+_zPRafG3ByjJkV`r%Sf2LkH%(u2>>Xct( zw{?JD-ci-+p7iC#-R2!neCbr1V$RQ9!Ezwxb+_7s@4kT?jd^Rn%Nla`ICtXj?6E^U zpBL~?otrDW011ud2Zqo_bC;#FhPVA!7d9`mjD4i8^dZxu(ZmtO4 znL;6>{d;oi$=%V)r*9=drGq_f-fOM(k-g5Ovs2GTxntA2qPt6rpAFW1UyL6|hB@y) zaTrnbZUqBz3biRA=x1Gl~{$0{c^>uSVCzOw({m*`!ll8zJaYtl}8D3Lg z9bP;YC%p9@S99%p+fN8i-N(;}9DaEAl06qZCUbZW27~(ZUi8n?f38wCsf{=1cc92| zuOtM0Ov#kL*JrKO>-Y5A@wa3wc7K+Q>calkre|iIuCmp7@rgY>Z1|)6-c{?XxKvF{ zi%Z3AA$;ngcrHx8-)Zone$vG1M!2thXwD+26y%S@*vumc7Gt(@c3Y9=!;2# z9CwM|eJ6_@VxYefvfRtqn^rBLqd|?;oUxc43N8)A5y?;88++2XzqL2RQ-8mz^0J<} z)qq@c*9NHc)qb+@@b`Ee*XJugwf3^hGxe7Pu{jphdd0)j-t!z5gO?5cn){b%#hbly z_?-b_^KE@^62F$`n}_+<{>gLUwC!d8zl6Q5Om@u&Y=3URk86VS12L5kc}ILI98Uke zsatuuG5BzR*FG|}WIj2NE4iDtj%Oj*wgJzh1|IgPCwGz7IkRsyKwbZJGLP38rMC+Z ze)H;jcd#|6Go#Oz2L;}X>}&0<{Hj|dcXaOxoE0%7%RYLi*ImG3Hyzsy*aYzhv5fG$4;{?dLhX;$ok>m0ifZ zef9jX?>#Y2UioBQZPa?jk_S!x=Z(zoqN+~x7ydIdtb0W z*b<=ICr$r($sF0;FlUdw=GEc$p?@?j{kH^py*bIZ6c#dQGb^Na!|6?(A@?43**@51-Ax26ud8ZbcDVr`1;^Gf;R@+5~Rz6tAi&5FAcse z_{-puh5T++fQ|)6gR)~Tk^A0^zat21-x_~&fQ|%m`IpJ5I2qpuv?9=geT zXyBRE>L9~Dd|D6(ymCjLI2;Jn;Cu4?Wxx4-0X=LWzm-E?og=ZD57^%NR{ON=ee#KM z@FRt&o_e3K6WCULZ9Vgx`wu1|{HoZA0sit`UMqj{b93PS_|xpme`mbcd{y&ab5YjB z74Pp4ycJt`HSzWfPCw)XK3mBhYjqLe>&Os@S$&x zZ|1}iwR8I?Q)kSv8R08m)gK%Ax)O+weB&vfj-=lOsPfzOqY1Bd{%QH&`dKmOtA49b z{*1+#{`q0dS26j=Y&e{jpIw05kN8WjwsN3GcLghfJ?;R%ukr4*A8lCMq|L9`B;UUl z|6^`nC(gARyfoMvR86Wsx&NmbxyO5C;CGieXP$LC(=G?Ut?4@Ad#W7ijXln*8l*JogmH zW{0zJdB7Imr+4&f4L$<2z(5i|u8z z{D{~7U@2hF`2k`V`C3%^jO%WjPoLdvtoFg_ll9QRo|T~9d-kTUro;eU9kAh8z^;

$>#%pGUozz(0zSS^6f2Ke1A?3#FK7*>XX6Fk~N<`nc_$e z8_*q-rr*bgV?o(%?7ZR?yU976{QqIu$u>6fwc=%uaTl<=>~D2iXCvA2Q}OK5M{TUE zZxk!>oE59uJ1th$#H!-W2DL}lI93apLlrCb^V5E@*GKkW6Uc+O%WeBvgI{7YXLti zC**Vil8dT?YC8*|iZgrZD%n-nvvTG8ER`$%%TpJiszLqIS8_X(q1vOJ7ORA#C%N4c z)P8a6Mss^Ju5%++Vk&;(iOh+)*j1}9w{lW7Plj0Gaqo!h?!dfQyPN+{3PZlepK&vF z>a%FcWyft6LiF*2EftfpVQc2PfGv*;>^mE;J??IN>}PYul#Z&GE`3DTYEbu#{pjjI zOpgWh-c{Sx0^8+&Y&-kJY)4{eZ7Hajvx8k?T>hw~)}OI2bZo{)GU+Sb>YMI5dv%}I zIeKK)*n_`vg#V^t{^qpm3Xl3<4!qkN*SV{`bXa#Ls|LI)i2qB2`GB9u-rd1?FB|Yx z?TfFtp%a08iygmOp0R!IGCm#+>`@C{fanJM@sP(xxgfXhf%1`0e5>c1zBRJRJ_FBiypM(WMp+9#j(i|@{WZgXm~@{gabmj&z)i&~?1)*3s=W(VJVHm~31Fkdpr zYh|=+t&H-8?Hk!=KOahdmp&crkXLk9Wbn0>;moq>Y_{Or8nD5+FT2Q-j~dtcx+-(z z8n^oJR_?TNCazn8@^?@A_EsKCHvY-`%3QxDm$i@mV&)w9{Rw;J*?h(6_Vm$0U|p@D zYMl}D#{+eb&t7t!#qy2M<==hMSMOVcy2JGCTMz8T&$rTJzTIyhKiFE&;l1f!8n6M8 z2mGs_(~x6a_1LA4=(JY$va#|h zU4Y2ud+8dl(S%?EIDFp{h`5*V0W-JV7F)PmdK{N{ds~oR}9E4`6c5( z=GgFn{B0$B@rtDw8MpDT+-~IG++c&cMB>9=I_Q@x^}ueZIH!BYSrZHA2S40D@UtfI zWn0B)n!JiBUjA1*IZyw7>fb?rVE793RR5l6Bd(7-JJi5@V#L22gAWIf58MHn?(5AN zkyG*Ew;Z`A%(;_&ztl65JbP=t&W4!UJ0H}3d8oWuYo7`7Bc8P{-BU3e$4+eC9?We? z{RP?<|1hkzb9bj7@qJyic5I2Yug^Rmw6Hw1<_g7AeCpz8pk~x^-L+l%$b7}fSpRc_ zg1m7K}Px95f6W7E=OkM}pkCg0z9c2Iooq*;7VZTQ?{v-rGAmAvg6@O@Up zchLrX?#q(rUYVu$QyadEH{g3n!?$w-zI_d!_rzIxcQt&zH!_QlkL8E+F^kXHD?ar+ zjjzt6no%cp{{AIuXsjdZ`t$b$oqT$fpTY%A-<?*eop7@xm4COC3bd$sNPD?8-Jc|>(r97~^F z=TEVVZfCZ96g$s8^6nGxzuq6rT@{r4dJePQ{p$Bz>AWmh2#_%yfQJvoQ*u0m^Q*O| zp1bPu(qKMtHueW}1K#}k#gj{EOYchh%Yl9B)wP3{o{FRU0Y9`dR);xz*+&-LVvF_$ z>_Fm(PfX;zbkfrW2tVBj5B=iV`s6MU2WOZJXS54Y?cb5Ub^CoUdm(MbB;7M?;S(Fi z&-lCgd%=&3EH#1nYRrCdP#+aPw$t4Oi0yK^9<=c+AM$wUkiZ|P4<&56^iN^kK56R>E2fgDQW~rCKXMAm)S`!zs z6EC{N#M$8s*vAiquWWKo@0D}P)}=t~_-uVS=mJ!F^~rC?7&O5 z=E!Gb7ogVu+b2`K{q7=r*o|7fFK+Z&r`Nq*wN9p*x*#>>Y*}|dnimUm<=5vlvZ~(f zU6}IRu+DZe$TP0kR?NE0p|1aWI=(9z(_b~{J+7b*tADQTo?&mAzTPT^Y6G=*fmn4W zL+in6Fdv9>*>7KKC)*0{@ao^yHev1S>2Yc03(<{Qe zRYxb%2l=S}xwg*7mBW7L*nL%ZIlJ}+b-vAukJ_0F_6}{DQ}0u?|LV+5+s}8gadyO# zJkJTS5z|(twORFeS8K4XVJUiW|9?N?-OTO5{?dRFa8pI+3~WaYVP)6e4F$;$yB zkUX)gd=NA64A_zd{mNh4l6^F|F8I=be!BTve3SbAzw_^c*rOi)pI{-_7O zk6MuvG4=mH_=L1e0bVs-`wyr8@3PVRw*BHr?yf+d#EK5jCb4iAsXuwtFB=Y}zZkHi z_FtSnJ;hH3S@yYmx&U?k*VCVE3`;&6_#n?{F`&bKIU$eyE=@(^|!lU5kO19Vdb=KwbZJ5+{CMAM6e2s{Ivv@3VZ~7toJK zEnPUHmbMRk^1vo}Wvlo5vbADW>lLrk9roUKHi$J@U4V=`olw_*o!HJtbVne6{06q( zdxov}E(qx7*G6_)$0r7N$4++`64M=h@ARFc#_Dc5l)iZJOD!D@+=b?9Tz1T5Zg;?6 z{*b#j*b>N_`&}QA=)`;eo*T*QT6F zeyNrGN$QjM<)hsv2CvSV*sz1Ic;rj%JEto_7qFk*S~iv3gXz<6?u#NzD{gxNyyeGy z`e;323 zDqm&mQs$l>JSTWY@T}nGKo0*pxH3=!+tae2oEw8z28V->Nr2?P-p$BUtM)%KSPSU1 z@0K8C*8lwiw!SFvKJ~ER$pJg5(aOV88wfQ=QC zE`7wt)qqUC&wuk|Md=A4HUf!ZvY zm!vNr?smSo)6{3#u1}70FNU`TNWKt$y2ku+F&}98&2D-SyUou9a<@A4i??!fedg`k z6VPKnd&++2MxF4n?9z8{uqPy1dz}Oacw|k7y9YNV99&8auwTH}!#gU-u zVJUq&`FT|!kFYnui>mM4@?)bwEZg(QZ?P|#2hwNLtMl2c&Z-=33HXA{w|QaXO2A*X zu$A1gtzG62emvsY1q(sNge_!@{lUYBkBbjtPkt95^@Ym5z3H=eEx>!9>~TL{8t`pj zus={Ec*Mj#CjMf|2H;~CAoV~->9EIV3woA^HGV-C@QqLMsAVs^1@u0^{;i-6)&2+NY-s)RxZB$o_ z!PY>0tn;nj<-}eb+#ljlvhcQi^o;!{oBw3fe^J06F{t~KK6ET_cE~OJ{2q=PUkNJL zd(#)AwV?X@(%(PKTe~$7U$tYb#v`f+{m!pDVtYEq>c#)FPad6p_FBK_EbBWqSf}?$ zpsp_tAHP~XVyZ3>fAL!9vp6mVV%^S*kMVVZTp)WsGl!}6JT7Br3)Okxm-y485ArJJ z71wIJ%pvReYrfhpbBGKz(FOF4*V*N+M0i(&;uD)LK=}MF$*!S4?X!aY)8r*or=ACF zaqlh%U4X=XXJSvcXYbxXZjqYsZ|T<3{@=#u#|F5k>^K*B=fb;@efN|cIZ_|TgX*{E z+h+;C3+9=0Byi51rJ8pRYJMqwHdk#{>s&b-)}7010(GIr{JpYArmeLT>DSq*ca2Q- z_lEP)1@6AO*Njos8vS(a3Fd>d`QrB~rulMl=Fu!$*Rw{?)j|1L=fAZZPZzM6jR|ER z@9MYq$-@%@pGda%UnieUX7!!7S!?6@^0CdM^IP*t!>K&li#GC||98b-K9=uvO#D5+ zznd?~xP^7KrG6%S7xeEg7i0`-p!(WeJ$-B+m$vSD`%9l^%q3w`ckRC!krOo0F^T<- zjK?v&tK*9ztKNmn9&tcwy53=F;>v%qB5W z$Kt;nJTa)avB9%TEyF{Dg#e%Xz*#;X;AcO=_mH4?)QUJ?9h96p=j4&G5*!LH4dk!n z(a%Qt2K@I5$gVlM4g_?3fAg*;_GN<_VV{`WSGvfeiw&i#YVKdlGixojeWdWTkD#t| z^{GAM@`{cGxAnbA-LyRFnT~0-)Yhlkko$3Ms0n-3Rn{QR zGtIV@pw8IY&a;@2D`pkn1L>3hhI`;VyW5@Rm!$n@hFU%s`_GmCTx8!}-tl=`if{EC za(?P8jn7@x-`zR0$0NTz*L6<42eG5-Pz}<5@1_R58?d3Ckz zb2I&XzP4~zwc~T`v!Bhk2k83)bH{>uPSZ=zH0+!)KaIDYyI=Ov^SI#a0>qBGOV-l= zw}z*El={@>YB@e2^{zgg8_!u}&RE^sGZ)CO^NZxyS$t^l;nY1@_}vThfoGlXp^>BY zoO2#72T*FI~N3OEPZSppK)__#@Wvga?!`+ z7r5@7zmq?gpWW>X{5`w5+%4q#mMwVKp%1-e()9Y)(q{vi=$0T``@iWcE{B7Uk1?Ll z?avRpj8VJS=X+Fht-Zd7AU@(KR^AWDZ2w;v?6byq_FNx`Kik>CU+)>u3&h^ft;ltE zTC-Pt-Cyq2+P^*hY5VP&578+pzN46U-z8%es|F{tj(C8#`}?;d*Q!g+wM** zu83csFr{YITm4&bbyW3g-p_Ow(yE*Fz*+ACWV{-v4Ylo@s!uYG1orz3zB8@;o{!GE z`nWAX512Il*j~EW`R`+=+Qi!h=!U@BCr);gUKp0caP<%3r3mz)km z$hdg+rjLiM`p#|Lo#~$UH@RcPgP-EC6!78p04)U8$z)gQELqm3t&W`0={ z%XY6h@>(0&RrkzX`s_Utko%#%9Iu>%zlFd2#ntJZ?)L*>_#w`M()? z&kJA4ljD;2>`m@J5xy&f`db3*cjm@_OTbwxKF{lEd{t{@!(*B~aye^{+_U{ypccBI zbcw^+_Bk*19cuP@SDCfX9Z8?FrL}h@D4p(|&Fp2jz1y3;>TWZ8*l9jDTk>;`EU@d{rw^-Ph8a)9N1!)PtI- zvuu7TaPOL54eW1g5RdVX1nu4X`izl%xA(pC&ilc%Wg}Z&+l<-g4tq^A*V>|<+2Z-> zE}`?40cv%8Q^u{1mo?*A^3*zcUlE{I-itGC<-M>O&ywf8fxIsWP%H1Ij9Yo@&3KkP zaV5{^QPj$NV#cjJd^MgWZ+m#~eR_c8zH%fF=<1;6#Jpt6+b1{UR>#)N%aPh6r|L=l z7<#$2#;^ao z$^TcgY7TA9z=mLaSO7;bG>Wihi`;_b#N4X+j48_}> zyB;|IM0Ww|`md8%)}4Y6&(VPI<9}Bzzt9B;|7zfzuuY3LYdc>4m0WuD)d4$JhH;lx ztoWxE&JV5(++FTty2o)bW(RrX$`xJJ%J~xlPfyR!J;5Uf@JYYwkY8kotNK9i%$=dW z*8|UdHdP#r*~O2=fcz7IIw*T8SH|q36Y=GOzBhT_Ic?|U@2Zj|7W`8$mjraRvi131 zc2z7(r}eSE{Ayd>+$KUgS7yEeNS55R4rEBbeTie$f`J)6W3dUsPE6;*0ka)&Ru}i1Hb4Z z!rhJdt`mR6>_;Pi?Kl{fm8^uSZi z`MO(-$?5_mkLJWq&iG?pJm@)F+s3Iq2d!P~v*uaIu9ZN%#&)O=G|u;-v*deg_Ef&* zip_01E8i_o>qq6=*{Q-V@$z@;r zjI&mF+R%5GT{Yz{^G@-IDf42+_S*wQUi&OoSK`d3x?5_GyU^NNFpZB~_2n$cG5f{E zelb`I)T+5IK-Scd)}G?^Tv!a)S9z+~9nBm*`6@rkW_GcI{dASwE`3zbP%_7Q*(Ki_ z?X#x~(B8lvG_K{_o97t2mxHopR_mE@b;C#YwEIh(4h6e|3xcv?qnZ&Dv8>pzU7aEO z$lDXl2m6Bkff$0k%PHbN{u_hKgSIA0raf}RZ*uv5B6wC%JnEJ`Hw4~+_)*U%?fHS4 zsb`1h3mNskz;|)rPit?6{jJ?)c8+D2ZS1N0qIB@@ zT;+R?iIY4(I}XvWme~BnfF0~^?J!m+a)GyeD0`|^9#0XEDCv~Tm@m70H`uOq64?9b?IFXH)ZPvN~tp~-YC1WulgC6VrWk==q zs`T-py#YH=*-*8K$GsrV`dV?TT2?1rfV%$c#6IV-FxJH`L=JgmXeaSL^Iczz>Hn%g z?)Xs8m~{IXpGeDZXJR?9-u{0o`LZuS*6MDSpW6d+^|fp{9CX9|Zy!HOZu`zFuIw&( zVq5Y{ra62S12OCZ6cxQr{_zvZulQ6e&U`Z`=km!$del5Ua^@_sv25wmNBHm|3^ zvJ3CtfInzC{5cR< ze?jxkEH83VIdl%(PwXoh*2&rx&^sU4SNSKi`u5vrZZQxiwuxaEpuGV(ihq;y29)G7;bGqyJo6w(lPH zsx{(WN z4e(v8#Ee|6Ic@tM@husTQTcNIzagk`?Ux&J*kg`9y4+v<*K0_*H!vp$He+NwU=>G4h@kLv16nmpoN z3GjuU*Fc6$5P- zAog}TA$r&?R{Mf_28-=ALu@yCCbF45t$k#w<)c9tpuNGxK^uR3_G{a?8LOj1f!M2| z_vhz4=EaJ?_X@-ZAN%(N)@zPU#@4C^y7Up>9=QqMy6~0!rS$3M6PwAn_8eu%Wfvgv zU>{N^{Gmf%t!d?2UcA%HrB!dv`fUMH`Mx*NFE2-e^+1gA9tzlAan`Dfstx{%nYNyh z^!}GYA9-DX=u73-5F0Xg1#GxDSPwiC)mImwuKzl*vCbgAszJ8im7igiZER&<#cC3p z$gh!Ayudlx9Xu)Ei<*%Oab=&sS%RO>=GkBSU6(`)UTK%Lm@jN4ylOJBZM0<~w|8q`^u zPv74)w0{!If1Te0XR|zZ0TPp>sXsexw}z+umB;#=;(YVHT5D(feztgv4cTg-m0htc zd1YJ4mCKc3@7U&6?$~B>&1nw?>Ksny^MHNF0`@Egbd*nB`bbRFvfA7q%m?^NW_woD zXyKBfzcp>$y=rhJC|{icYh8fqPN>*-{p`dBa@`a1!yfy@&|Lv?v>4D=^6yG4=|NSu z&hi_k;2~4yrtyvEvaOGuyn5GUuh_d6AC-HN?>7b?4%{hxTMKIb1L@xstOhR(@I=g1 z9(Ra)OAh4>$s6DNey_EUMu1jx|VOXkIWf6 z$0?nj*E2&sAi1t*^L+ZnBYq{j&NV$yb?TQ~>Cj~v=|Z8Lqc-8FnD9sDHso9kGLzuRZP18iQT2aIKK0PZ1JtL^ncR-|0~qfzb4=1 zy*)24<(qzjXbnC-wLIU~I>;GlxDBc5ICvc04f{+i`8?&_}`!&r^0B4$6-9&Z_kX zWF4`|dw}!m`RI9H=k? z#1In}QM9C5D!5X$YPGhCpaNoBDsEM4l}c^Js<;=ef<~&+-}istXL9m#-kC{Q)P8zC z{BoA(InRF1`~Ls;&Sh^SgY11l)xYOIyZ*l8=KJ8oTkpf3PjsBBp48i?CU5GYy~8|r zwKj*IoabasO?Y zJFiceoE7J*weu&&`R4TOdV5fIt9Q0PH_$$r@q0t`P3;&Mk@m^3qwcR4M_<{|=CSBs z6#AJ#-I>R_S1Z@OJUwxeC-)G^_ab9_QLgre<=C+LOx!hvf?Hk=ky^jr9 z=ih;#?zd0W*(h7LMwc<$+L#vIXI(L^c=clHo%2v2?#}uUXqN>~n#6J`YhqXOYtHZX z8C37{=o%e^L7M04Y9L0=Vqs6la`L2nC*avy&!CS)IJjHBHF#H0YbVY(%$*9G{u_iP!U8YuC1Bj^EEO@Es1? zIFUh@_zZz2e_|`AYk?d+ISH|k-lB_N(Vr6fbbSb2W0$=#{T{aYH&ASA?L8-Rt?U)Q zseNi_2(*eN8=ratHmIvQqhHCOw9+Mpe74Lt@hbh(n27_OR~<(u`{=Cv-4x;Gbjatk zGhh#ScLbXEs%iarAJoKxo#?F`G1SOm^Z5ZCurEIcQfF`=;4go61Z5w-_H2=lm#jJ? za^rk_ywKWzZVXt8?8>KFa__dEVdca<>mK4m!8xit4H;`b&u$CEz4cMdw?r5JDpt2; zET-=ZwA(kj#osO~edOcWJ<{Z%)>fOfHaGmC@ArZ>{?3{`WpmH|io<2$yE=h7*4ZLQ zEKA?djdN#<{+|l?Q8rgT6NBHdU$*7s~^Umn2xT=ZD$AuYd{B8507R2L@Ks=m* zeL=6*)SZSty$j^e`t-e^&Dk}_$ywE8+4RiFlS4WCWXExc&Nhy1%qrFo3y(8XKK5dU zb|?_nA<)$C)8g1*lD0GOIk&CXmCWTs4qM$hri*-?Gt$)-+0(PbcDWt`t!$+G+T-NG z-tw!J+sb(Qab(Ds=SJwkUWY+sEpRdn4-SpJ|kI1%+`N>v$zaTv9ZFzQNt{zM0=8SI)$Sxet*t=E96TjlO z7v%Tc0F6G+rh>gI0Y0+$BJT@3auMPuyX2geu|4%&gP4^KL&lo3K6xDiP41_*;yDtyv&4j4JzsYQC3mWs`Lxaeq!H?%8_ujO@&qY^}~s zt@ZQ`3(mX!;D4?0m0f(OHS_YZ)+z?=UVOEl;X+RB)7M#LYt>EhFK6vQuohe!>k$vT$e-H9{~M3vf9dlKIF_ur*q6-}8#49=?18dP zzZ}$EA@_Kv=db)Lx!#W}7oO4Vb*}Vkr{qud?hH*{)lKbhb71c@UZu0_n$pGdrh5@j z_X}Hlwr$FKJu{5~U)@Rk8v>2q=bnJxIbGt=>Z)@mE_^&USPSeImm7k+f@{Wky2U%f zV2~zf`vdV>547t8F;|Xg0L23H62E@%GD7(TZ0g`7(R`kXa3ut}ZL&7QV?@LMOl?32?W(BzKnl>qN`ftq2D z*w91fEdl*>9}2{;{9)f}P@miC_ix2}E#ME?av+B6Gq%6p!`UWY_@?zHmeV!19f{-X z>DlNr!;zppbM+nDkaex%GAw2rezIM=GZ06$!^h`kLWj5wfhOL&g53eWvxAq9<8+Jr zMJ&a%bcr=T)s}icFOb`kvy?Ge(^%5WC-RCWCszdaTN4vJTLblK&1XFEun(>FlDFE- zOBP-^D!y9R*Lul3m^C$7b2|9i?!A1Rx3{Yw?D-PmzW?)~@ z*u{@qgSFswGUJ#qDxAxG*U%J>)_VCRbzbd}_6W_y`*ICBT9=_InX|AU1 z5vv#FXI9{bJ> z_#rQ9l$?^Kx2|_q`DAP#Jrq$Cz)M0=oIIJ3wCv(AnX+RPVfP9GuD8qdxy}r(Q10`j>Uq*&}ZIf{Jy;-#cHs zPA8k}DPFm5?Q(|1kuP-z;+NZ2R&U=q;UTNum+VvH_O*5X;>5A)l}+-0IIt!@n)!OL zH1_oMd}XV~ZgH6EFS}d)PwnWJ?;+4m#FnID5hFIW=aN0EL91_jN1uA2)7evB{QRpA zZ`7A~s7*E1p0i&b>1Su1UNvK{T>V676;pf2prf_pI~$&gd)0Z}&2mU~d!}yBKK$0n z(_a{rZG7Gro>te+%<1PJ{?a2>=I$arJ^F1y$y1|$^p_ht>l`~*_|%hrYruCg`i1aX zyEwQb(992w{WP~|?g6^lE>=UJu|fXS)02W}J=yC#?+Qvj+lD|>J9yk}J^4qDL$Cep z8v?D?#Ih%|Y#uPDv0WZ}_SG5V_Yi0$f6nH)J+)pkdgoP5h^Lrb5>$SiXZDF*#d~+g z%K_f2gW{3D;?b91VpMn3kg;a3d!V;2CgMjfIYXeiTVFiht=?I+mR|7{f9vJ97*_12 zxmgdb>W+_WwU_t{0%w;Tb;R#YBdmFMWuq}a>a03XB{Rc?-M5T(KQ(iE)`F5t2e7mB zEM0{nFC3&iFn(ZPlrf)4~}uMD)W4?MG88XmUwc&-?EzC1i)f#k%W*t2;ha%)Y8atNM9OhgS9T)g4;Z&)0Nl)0jOYw(&Ep3;&)p&fNk0ef&5l z)BLf)jpO)0`sa@0$E4RPE_G&J+p(d}%-42k<@48dXyx-i>CnpO*L7%9pI2fhpWPvR z%9h3a%yC||;vELPYUQkPeoA`#&lu-bE8YXhs#@8c@lE5JFZ|;6Ke3OmuqVLt6U}!`VxfNI8_m74J&>RB zpT4ID9}eW{p&mH`08`R;f&>nf7-D4@5ZyE);yE925dh!VE1xhpYx?x zYy6c1`CJLqrMgfD_K1z%9z8q!+iQGl!L`9P0X>I;l5M{jtOuI<5(~CFFGHX?SLCqA zbMJzHelpoBmUOBw`d0(B{2hT9enTf#V))Ny)?Yuf{?BLDzp=AE&BgPhui_~G{22o6 zdBGe_ETH$ECPtOZA!ALR#9a)AKsz2^$sZQncgNeh{7-cp$(kI>Cw)_YS{vvlXK%nR zD7iz%TIF|G%r@wF=vWSVI*#YlkbN3CRU0)|Z|Y31rp3N^s(#4lXKQ!aQ?|*;5NPFt zc%irZQXY#K>D|rO1v>*a(7P+x9MJ818g9O;KJ%gCWqddwukJc_(DO~%xSpPjA<)>|v+0}fg-v3j@pT$saq=8~d628# zKf_pj{>95D{;dV<5MyV(tqt<{r1j*Zf&DN9+OYWV-EpaWFJ=8ufcMm3PoVkRJz_Tf zTQys=rWVjDPVyn9(>3+^%78u2f_BG7x8N6d^$&Gs$?EAnFYEM*SIMwXD;@NaS$D{h zjO(75?YH+^vsb-)-w?k#>un5Q-#p97T?^`S z?U1pi4!$$f&;Vnq65tGa!R~d{-}f0y*scJ$*X&2kO6P-_uUOzOtiYF+`Ro zN3Bg_v~OHL*11(D?3vcI+>*CD;1A&AD?io65NLEw?GeXsKY=qkr(b=Pel-T-cX>dc zIF?Sn`x%(rt4lR8-76M+@?N?rqnNgkCvV2bLdZwYwm4|?JNxErV?)*L_KaKmH)pO! z-!#Uf_{5M+Vo>7)8CRXOIjrZ1wHty9f@^}6;84(eo~qR$(But&otJ+RTbvj6v+X-Z z+m2N$>>2`%@5=$-t`3}YK37i2_Fg_`o46P6kg?Xg0-Bx5SK&e{-~ zM)r4|fb6=r+OyG%!L-)!$Ya&%^D=H_h@H6AK4U2Ul=9Jg{|}lwLCm&}eEZUq%V+iD zIkhd2UwJ9nYE#2cuFod)%a^_Gzq-@fXG`5}(^xwD(>3w@mnRTUdYl{mdY}!9|K9VR ziahp-W4%wQt)+nN#@d}h`6+&f0(DRjlRbfb@0i5VJwZq97bl=oti+|B|64Pz+&m~_ z`j3@QbdZ-8We-~ZZ>f&{tU_Md)8?)9XL{eVahe16T@%##{_fTDRocwIhUUpSH zjM?B`^Z!jNHmd<0Xg3Dr`-3!7eF6)83 z4uM97x}VCZ`=@HL-P6-4k5d`y%o-h~cj{BmR=yWMUFOqzIwfnB3o*VoxtQ9(S8G1g zYjQIfq#esI^ud49DkiP3JF_m=nm8C++Z1SbY;;F!@_VDdrOS)+sr_+t9^`Q?kW(_n zN4zQqo>6qDS!-J9=jW7OakR&0vbN^RuPh(+l|FG90{ZDzA8e;@DsS%DY_C@P=;zxI zsGVAGZ9?B4u**F}H=TIxFWuHO?=$s1+Zh?TEA$^L$Y%qzHn>Y$8e7GjUG>c9*=}Fi z&JXR5jcyTRYZVXU^2@zg;8Tt7YfrYgmTqUm+JS)G75k}AheKNr_|e)aUp?BPtb30A ztJM6E{;t4x;qMPl4fX`u+f(=L{HrGOTPE}8Oy-Z9%pWzGKWH-lqx>#atM3(=t3~%9 zo8~IEuGymU(=@#p3E*iT({dYG04LW%xgMDZ}pWkVr%Q~C%rIQ?U^@abW;B&^`fobh1 zS#QYiGLTWaGrZqdM0Y#?+RX85uLytZXUP;#dc|K~cDSa^ohQBb27Ue9e7!l{imf}{fBqc=&>J<-aCF0hn;_#-(3)&;<2_h4}^3_>+8+40~;akPG z^8Kk)XbD$Jp;0d-kAT7_gO`!}Ompw7|-2uNg2cC1ALgo8%V9%ui-Q~Nzc=rc<+!wG5)bv9GJeLIg zBkNu9&pD`fKQ&?9b5m}o@;s})Kefci>Gu>C9Z5zC*-;x$YBHDre}+- z*7pW%fg#X#2I9|OGKN62E|0r{s@0{8%V##x&A#$0DP7dTkX}Qp`ct2IoGzY+^nX{z z_VJxxd@aA&A=a&2vTg~)*M5zS;-QrtYMeZEMV_`lFs^fEPl1od{NEYKn=$?3ctgO~ zvW=d)AIi=lYnuIHq|rIIU!JBi)eUS&o=o&TMO7+yyURe{aiHu;A!Q2Q%BAa9*xgi0=AXyM z`O@sKnsocPL(dP~Lr`OV`Ah$5P<{>>Yo*_qtw8o|0iAr)Zr|t@v9w06_Xas)ZpD(0 z*2hd2I`~oh>@EKC@zBVJrd1Bf5@+wOdJwB0=){U0^{(NrbvGRjoTaVfxbEN~a}9kx zV4qmfPyW9d<+sl=d+9IPRl_CUS$Efp@s^;7CyK2rC)mDSOcNj%(K0#rGl5 zrgrkxnb{o}gP5}EKyY_`Y+2|b6J9;`?75p~MviUg#8Xo@OfugG?`RK*N{<38`<2hTV z@uCYazxhYDIM8`sz;}&3d~3g}>)BC0)8k%|$1Ul_fPMB<9E+EZUBT`EFVKg#MVn9Z z-Mf{`su{kEDIcy4b_UK~$v1}mLB+Xp!bW<@tb4+~f;uv;{rs@zxw#s+*G>)24#+8a zL&lmjdNAN$**#>e@sl0==)IHjX9%=m@!t*K)LGq4tsP{Q9dxl(&E62OaR{`sX({6# zpEwPH#vgm#Mdb6HTsH9ESyHdo_~`yx8OK9@K_N4(R2LKdp~)eO6F8 z8#31D6=!+kQ^_1M*2vzx7;V(SR2Le^=k{@2`4kUv;QtV4=C=m))maq-{v8Mo2NkEO zEoknnArQ0mz&`Si1bYMPz)pSTn@n>#R6qO{pKXEMEC(9fotMi4@wg(8v&yBtWvlV& zfxY_!IVDqF`b@8_1mw3dDBH5U&_|awG1(P3+s43#dS0z%d^lkHc>%c^n`{4cUh?=3 z^7Lg9Y|LiyET5})o<&IwJveysVs^j#JuCfdg0}>}8SsCB$kRV!>^EmD7A@p@Tfk;D zaPHWfi=mj$_4cj=c*TRAV%*-ZL+0d)!*ZaNfA-*if0DSAes!FSjeAjCLppj^<(n;X zR=qpF#;rYg_}<#YfB9jLh9<{qkS+9|NQ}aEG&lCMagW8cS9adR%LjJ$d?@?nMLe7@ zwaovbO?|U2H~c>k)Y+8FEdk#(KH{t1KK9_3w>HLTas!u*2%s%HH)8pn}VV9b}oad3XXCVu+&@Zx758EV76tz&Nv757?K19P=v|K`B`?fXc2+0EC2 z&s9G-`q6&IRV!?({5UWCXIq=Yzsb*gil=f&PuX8_5JPeC?2-$diL!M#I9#2n=T62TXt6s{NSk9`}K0@`vSJvQ)`!xbNb6RvHPLK%K5NIe9gnk>wG=5f`?7Q2> zPd|F*#1d8l=i*Vp6+x{(eH=f3?AcLvib2g+Gp379vGlIMPwVEp0`Cet0%vKuuY48X zJ%RR9Gk5ce$RckbBu%`Qf}YM3_fYujI|gHC{$TL1zXIx ztExxe74dUxP|w{|-NrM@eywbDl(dVMc;IAb=pb8#vEhm19R>V63LupaPZ z2(+mTc_f3rDKA+d7ijWUJUcVq930DDe%G^M$XJ`|FCRWu{cJfuAV>SBIbUM@w4mOh ztM>Q--l2au`Bw+-ks;8o56CIs*|;a5<3C0&zvNiH`BOPq&3Fhj@ezME>Hel?$f~_ZD-&PtlAK_wwCF;um00nHnO?rkF{g@GlZ_GYq?`z#h2~; z)0}mFwziWi9&$Q8H}-A{@XMjR6;II)WsMJhUV^?FXyl1Gn!WVy2=Hj)g}3&y(cGTx z0Us*fYykGlwekKy+;1J{?y0q48c%xItPP9*Zp2co%;{YZ)FKQL^LBZ_Chz&`rE*CZ`3C~ys%Jhp8WpE|``v6CtB6_H!G_AsG=6NWSX6&FYvi04 zI6s;gl#IDKf1idJk31{M;2Ze7du8A=&X)wW{@QW;ma#upJms;zM^z71H)2NjqHYpk zd08FT+=t5}t!hpl)i)dXRdVg)vpi{Nl|y;kV==A$H~Qj79=>Dg5>xk+e5=20ftq2P zR=V)93!nIH4d_58pKUvWHZOG7emv@m|IP$C_E&DJrw1=NbdVt?t&V9N+8DgF^KN&% z7?eJ7WZMmq;X8m{%v)VgIEF61${)Y%kqffv65G=Cuu;ae2KZb&r+4%Wp^MSZK)$q! zwYsCnx_FB-n&;PBJI}9*kGP&6uv5+b-1z;PoUn%v?j3WexXDwk@6DKAU>ljcg53eR zz#cWkHgd_D?xSDBD~{qLj`rAFv8jI-hQ6HjD+0F29UHW&tH_7xvFtAYBewKFnStKxq! zD7|eRl&soQ&kOvA0(G!Is5^SdShFr~t zv=PI789T4_Jo9|6XV$&x`6aGb1$8$0MIYTQU7pS!X?}m{0fD^S5oml98?u&zOM@SY z0QqF=5NOwLbc~b4qsElHuack=wd^^my857yB#Ln=|Go*&yb0 zwC{jyubRMHxi@B;eAd~QBf6}s=lua2*t9j^?}5M`H2n1H3*MvT&3x*|o~()OZMpM3 zm&u_Azu1=TeB2iBU98IArHnxy&l<<(Iu2$Xsjhv5FVoo_==AN5xC8*0u#(0=87{qW(f&9BO@sP=Py;{TXZrK`G zvuFAY;Ez099yxD|TWfj;#;$ zP4Dq6Epk(G%`3L;8h>kEx;JMHt zjpH94d$Q#h+}8W$(D)#?c-x|t}|pRU7!y~_c5(fDP~erxt&zZiMzG3T`nt6 z>H@uJ7msuH^T*le+a*Eiz)R0GfB4DW8`uLwK-SKH&05*d#`1@q*2&#CPa8k8qnC{> zo3%3nal&W6eeCV|#h%(LH&A&TGDfGf&Nlg;kG`0P-#Kjt)+}Y%7J-aXO#E@@u_OJu!+7x_NXaA7(lLC1y zTlpZqAMZPut@{K1inSWyFJCVUek_Hn}W)X`olNPP04x3jGSz_ zN8H5`)D*O_=eroV$LOipvje6vlc)WYbv)il*}E1Dfi~SM-g1Aec+1mV?GB;Qzcb)Z z*-9^4>pWF2zI2{C_TpwPAA0`k~`@voEwm{80i}K~J`QAWNJC#E>lX~dkoSF3=Z@b2h zrQoXI8w0J?`S-bQ{$HsT^-_>8cbj}&5LDf$8Fybx-=4XL;;GTk7kjPa-!#rkmYlU~?2;cj6I(KR zcF}iE(9?gsn701VH;tuu&_4uP#YfF)!{Wbp$C!V$CeA;RI9E-rXHFlwoQNr(txaQk z_DC0xsx@N}6Ee>a?1vYn*1jX~w|UITmkV*$>OhsHJM{MI0*EdG`m-j@Ye2j>P~5YTHs`{-dCKIfzK%0>MSf*h;` zY+xHZtNxAoM5pl?ftVV?OV@W8y5fF z;3xB7a8pon`BpL7nQ__H%6fFxHGA9*WrsYMp6fH_L&?bSqkacpoY48M?GM^Hf7>~G z-B()v#MwvPS8{Mspk7u3wb$;+pNBi{9zL~u-g5$b#J}C+_f**;PHa#MQ`^{BHDhnl z>BldBPYezRWQg$_#(Bk`4E%UKr%n%+#~#fbU5}^Ep?K4|J$A|w+O0vRA9V)K%epgQ zk7sh_ntY#kmPXKvu3pF!fA0}&_nz?YQq1lc`-VWP8kxSIlznV6?wyfe8*Q&Mf=|6v z+?|E(0sXsz-2oo3hVMNFY2sb}I7Qnsw_h)2VuY1^xxOT@r}CHKB2Vk-`9B2O99>O| zo4EY@IMDJP$y&*2`P@C?HTA_E^IZYI*mt)dr!3xKuFRU8Jv(r(eRZIYwEclSYJ?5v z#mR@KuXwcbHie5lAO`v~$G+BkeSLSwzQe%~7|Xfm2KqOp7`?w%jM?&><@_g&Eqn~i z(eDB67pEa8S@I>G6{o5Tw(?W&4knMDA<)=t@8$p>J?92u;*M3*)}1f$-~;>oo&8}feNyoBjGb+9@GKCA%g25# zy?c&6>-=yQSA!wY(6#G=vc(-kp7_>#fEbo7#@d}5-O;%C93c1P%d!1zDjn4iS<}$j zRO{6bS<}c6%YDHR@O{ct@eOIgzuxfin@{$Mle6Zms5?#F@by2W(1-N+E5FXtT0nQ{ zU@zY)R``3da&FY`yE0(E{py@PGVS?~p-tD#=RT)}w1`#RO`B8I&J)O0jrIIwH+w5~ z87^{vFnz`3P%~!V?to8P?R`+j@~v*z?p?)u%+`Q!`08xP*WLg>(6bbjY-7N$M)g1* z`FjHUem!+97IH0So}b<^OU~wu*?CPM9>)6u`t5V?k;7hhq`mgwLHC^_`f5P`6@j@s zfn612yXyAAuV=-3OC2xAql66x+xBbrz#EN}%$p23!|K_I$G3S0mfVb*f&#xiS zjs#-C{$~erz8;9D-h2o&v8=V78S`IbFa3NjJ> zZ7i+PLASl7gAIH;6x6tlzHZ~=rl^2$Uo%U$#c-msLw6Irv;KsmydTPJ1 zR`yok^2yn|ld~cHUBNSg_XpyoZZ&^*zMXr&YUe(ywex?OIk`U-xoVCawp@{Qb9u7H z_lw58=V!bWXt(7Tw|_M_KYs(+din9n%=uP+w6Z^tpSiX+{McmvHJP{khcZ{AYQF6I zKz?RWw$XWY=Jv>+`ohP?H|K9v)79Gci^s6-pM?Lk@RP09=_ONNb9HF$nWsN%?9Ul{ zcZqfPxBlFKerJ-bhyBqP2kZ7*|I$DC$Vc88I5*BoRCIIlqvQWKcj*&@R)6_iKDv|9SH^yA?6;5ouJr6B z=S7j-=KHPV-<%eU(#LM{N7{a*7lZ@W}^`cJr z&Sw3EV}DV4`^D%Te|mSFTjTq|ajkTGZsu*gA2ia*R2#ML5Arv~{XhEO-_eS8Y5vV=_((-WC~X>W3}0_mLS}=exenlH8e> zJz{HKxhTGh<*v}Y4~VyBzt2YSGnsfkzLS8o{efK6dj@;<1w)|i4Ah18x6RA1-2r=G z<2keOvna6?Yd&5X+z@<8@bef`Fe|}>gGUEX44xBwQScSP>w`B1?+kt>(8O3A>inpU zwcwh-dGM}xeL%bz*)|;?$Qn7~roT8?4aoG25Nk5!i7q`JYwH1-t!(?eGq8mm`)kcP zq0ipq*?4()>@8hvD_d)gE$mjCY@5DcvW>rZrn2ytzk4#q+xwl#A?qgvt&jGqbGh|1 zzbm5T?>i2~m+uaa<;VXy4*ghrKUuVxxTu9Y4AOohkXtn%XX;KpYHc39HJp<*?+za? zxYOu%m;HE9wa5lF)zaUR`BI=x*~LcB%Jxiq=HhWKH8nYv^Bq|umo9q0EzroUn7lFL zX-u3q4PVvvCpsp#L|4V6ayE?awX5T1YXt9#YDc&`Uy zW_<`Mj?)^XyK0b4bktp4&yUrt$zA)5X?4gCIpwGNxFV?B%W28*y$D~|0=-%;Jz~X% zE%~g{)7RQowNiWjsQH^^CBI_gS;KFQu6<))wKin#GeheKyZA__e$Iz!tjeBu9K#-V zmF{{DE@zE?{#P9N(dwPXpC3cu-f8!;x%P@P`<>CA@9SBYua9LvT_>`?;>e~sTky29 z*gf@y->s}6bMo%XKDlW3RozZ?R-IN2R{rc~W1Ca8$;PTX^H#^4Peb_XoK_u_J^Zbj zoT~{jxG(nk3^lcnzFwS9@9<7zRdwlJDY+Rg;#8jvc4WR}F-<)1se7$AKb&=+DQe$Y z8M{y2jXqDkI{|xKdb+K%NvnIr*d0U$9%Fo4f{KyMt~qC|%`un|nMb z2Nh#!?)gM78a;BQ?MkjLNxyY5yZhPO@_hD$M}D>hWXa`fAm5(j^4QulwWDmTI;eB= z*Uj^t?zI4~`Yhg_o~l>AO=D6tHk6E>T=urSZ7ob~I36!MJ{Dc={u9wvwzj+#i}vh_ zWARoDDvz~3C!<}zJaXinyn4>nesZ;TuC~n|8f*#hSUW8k0*ySmbw0|bA!Gd0d+X$^ zZ4TO;w)XYncPRWjgQY<8yrIv}yV~c+uFTyv>?<1|lCc`KH(%G?<6hf7uBTi0m#@k{ zLT-Ea;bE^v7kcT(=NWZ&dj8ZMmEqz}X5X4g8vDt)aU8QxGh(23x4QGr3r-3S z1?7K4Eco0rWzU~yTwq&`?`t0s3mvx`q`f1EnfG|Mycr>l&8;o;_i)b4dXKkVYo9r9 zj|`1YzW;sxeRVm7o5#N9f1mp{SH62ttIp>&fjVyK2Q$~u-G6#@za_x0UhJ>CB*Vqs z;oh9C`5wj|G<)2m2LflwIo%rg3{mf0p08}7>#D&0X>PCiT2S>)=Eu{vdUmw7_1<;p z*YLH^F}Bp&YQ_}{KGk!8AN)uA<55ug&gY_&LmnUNE^+qud>nC3WXX;1@|S|k1N!(Z z-zNv+T|Q>GSXVFnW8=P{`0HNOpNKp>_In1a6W@{9tI=P2&|ey`l}%zKR~0vF?%;|a znfyQ(FJXRR=N*omigC#*8P?sMe7qzO2Xe@+99z@y)>`R%d`BN%F`n{1a>BbKJba(l z0-xzG-%EeZOZVzT9zL?#vs*E;CVv$RbAD@8`=zJm?5jLY*A9g?my5Eajd`s(6O}Xa zD-UI7)nM5<$2&b&C7;eIt<`fpn@Y|VqirWDtJQIN_R2k9hd?u@dkD1hYc*p!e4ecP zqZgA_zF5tj8~K`xoqTQX&`;EcicK$vyCQe@D4YI@pBhtZ{L|R3jw?^K&IUCmb`_5d z7x#~6iG5;N_k(ANvs1RzI(>Y!$9prI+qpO{2lloy>rU#)l#fG!=aRjb20xpJ)n)1F z8v^b6pr^}Tv0n-_zSn!WI$*~TX!yiW``hAcpF`)zjt2*y8>99I?~Q|h7<@Q5KMp-M zxH>ozd|B|S;9bEl2EP;hNpNZc_?f}eBS#K1T=-ni9{K*Y$QJvx;JTpVAjT&L;#BV# z_KOjon6YSgj(zPj-51DD`SZby3!bqxzOQ{mEOgv%kmlW(UHgNo`ya|!o7zHu59iFR z_jubi?@nTIRq$hhM(6*3N8dQRhZ2jwD`<1|#Mo6ebidz>BoOTqL`!DnB4x7^or+n(We+{XF=(M7&| zh`!FGe4IkG*+ZcW#Quvq^3359)dOgp4(7 z?R~hEIbClG>MW>#wTjo7q`%IB_rt37)r`Gcd;d5+u*c699~ihJ@LFFEo*(QD@M!Kd zcOe<|UV_j28=ZBhn)8KRJ{}I-uS1|63Fu%4d(qbee(9Z8{MLK=omVl^?hM4gV)Bg1 zoS$ueyxX!(Jlt*UtGj|sKAse;2IjX1+F2Xj;&*=RH?P>2{EM?@AGzf4V|wqf6CWSM za&ArzyGo|9xK%vlWM@DJd&(d2JeD7F;_fTC_1vrZR8Lrs=AF&-)&827{*qB~t$D>) zU-oBs54qx?vA_1Ub-X9*^xVJmI~zmRP)Q5Bu3O)j|H$r#H^nN@wMza>$lx+)7Uy>x$(NerJBVr?s(-b>+xDP0U(5)-x9; z^3+R@ur{AEYY?YGwMXBS)Q^VJy{f4p#RWNiv6SLIvTGlV8K6^G)j zxIZW~wPN3^1C9M!$uMu_51E(DrHnPa+XFSLwfv>4TODjE8`@Z$KH=j}FE8#Qt$Y%1wf(Tb z?}2Yg-|FKBeQd5A>f1Wpn)$~IXGWHH5jkQPKj;_7>F?LFRV}jD7(d%UZtShQr2NwF z3U&wh+xHZE=;7FJcc(_LIJY*DwKd=yJDiP*iM8_re((t$f4iT4 zapOWZ@T6_G$Sibw}Sj)cLkR zp4p-857@_s%G<}XR(Hu$;w*Tst&H+7O#i6hKyWDd+Te}BY4`%)lfr7?ZxTK@c=R|9 z+oDb`PQPlB#!hqja}M~uBM=*n9`x3?%g42n(c@8%_K9KCFaE#zS{>>`EB&qfT5I`R zo6zO`l7J25m%g&8WR(7IYjViP(qFz5-|HrP^lk|>ex4SPt=6VGTYq0NkwYIl-R17| zvY9+<Fc<_tKO{T#vVBjz?UzD*`r5bvavnWycU`=Hv~5X3tzbmaW^vb3FT7p0c;r z4rRYMiLX}ns$sGHJd0`cRlS!@*7+%y{F$zMHrBq%l{N9;H-Bq=Ib(i2Bp|cK?37=7 zT3ODUTIOQEVuehqKaKKVZMS$kk&4aehmT{JmgH0`=m+&m#Xa zI5qrd2CKotg7x6K;Ko3!I^bJd@8Yl)h}*uACO+#y#NHz=WYjsWGgSNVQ`N>%t+xE_ ze*4&>rsn8=RE#*I5rMnl0!=d-!UGcWSS=|xE z&cyA(mf%|g^E(219~8Qp!~4K-OmF+V`qIonj%$2hdS}i)`o*g5lLut1Sz`ygJVWI4 zs^CL`#;!90^q9KfH)p?j(aE|Q`857#W=)%m|2Kq2u6(JtI!8msnsc!p z)EPu?^Y@C(tH!=^9JeuW-)nq4J)q0j8L4~bnHdA0YkXgNXVE^kPW`PIdG8U^im~-J z##=Ji*iyAxd!L%M;%(0mUid`R7Mb)<{bA=-!S+Baf6D%SSt}pdY%EW5S9{OR_*k*> z?3ORNs@fPb)~0n~PBvZkfV)c0y>G4u^zRJBu6Pb-OwSN#>dSM}vsmq}1yf!2%ZKJHox14pFMP59<+RCbokhFMIhdI+4gtg zd-nHrevZM`HWu|9lqYc$3$2Ztc(~KmA$s}v=!`2?a_`LfoGxb%48)=RtRbIt>(RV3 zEsf);EH&%1$-_oIH7CcupQB6Ov^O+9s{NHf9`KM+=Yc==)9X7v!Okmsq~7thG8 zb5);<=(;RW^I~yJAXas!i}w()M|{ObyE70kc91a_FLu{?E1hE2(@72*J;oY68ad*w zXQw<=E%5*9fK2-i1bFM-7Q^G=oD<+F8RgGa+4F!vW0$yzPfK^VXliaXI2;Ut#{M>L zY~LDGjc(6a9?B$H5bQM1)BS*WU@hB4uK|rJsUP>oy}}WnJ@08 zc0QFim0A9-XD?gjlrNh66kRUGj&E{W>-M49N0-*ySNy&G*4q8_6o1uF&42UwDqqUu$))sR3?k+ni5X)9>%UgC2;c@0$zS3WM+2Ouu@1}cei~4PK zu%&D$KZmTH-r*~H@#AwgT6r~gm#|Iz)Hu7_yZ7aptAn~jjC*$oT{i}N*2rw-k$+ww z&f1*;-S*AtmYd`0wf9iKA7@7+`{qCl4+rH_hKsw~x!4o%<$d{F#)g{vZXccf>f`)? z+@;{ge2@P2{M|P`psxnU)1#)ypo^S~@-ysH($l#;aKE!(O#f4oG^D>P@Vg@K57<)s z$+$6pua2$SyJKtnOnX4=!>`Wi#mDZqP5$=Vhx3mUD^DdKANg11Z-M=6=)W4UmmD>= z9F#mXvEhRlqZ?OW=P65zx})Ra!OzFPOVj^Cdj7p9;P)>!bG%|Z1X@UoxY_@oGg;jI zF?LtxyGI&3>6hoXWpeg7ent|-CqAgfZGqhJz%>#gM97IKn&Wootd-8a|mr;a7%Da zAjaDMpq@kQ-Xm*TWF@p*p;htr=I@TcYb zFUR03eHH6^ezQ~T=&BgI_sQlLKUV|qf_^4gyw=4-E&g)!vh!Eci}`ZU+A1EEUv^v( zklD+(wU$S&~?ePtj<^s$YPRpJS>$=e;UQ!6>{06N&L_8%OmTj&0*K^qUb5)XF? zJ8ua7IFKiLZVc+3@8*ojJRDR^=zMCBkSyx=1?h`NtxV~ye0!Xa>jQb3#*R&VW>=jZ zvenLi4Kvw3vuXTgr)euo-HFu@XgdRb?Fz(>4QkZgbxwLVw>CP%c*p?uI78NJ-`N=- zZ=Z8s``G`hv0q-D^2ClUpC}vY>DeeRb2jqjcs7b9f8DG6P%CXd=`@!kwBi*D zaiPPrfS%U>O_>9JF`1q_>-dj#?woJ(+nQtJp+K&ax<$Reccxy*Fa1|!T=utjT91d` z+IQu+k1nw8T)8L6)0|Clye?1&O98v5GOYLZyX)GzaR&a|=+m#IKRoX9w+YA7 zKO-o)=xk?K`OvP_z3FWI_sC_-O-YjdD}mUmbL;oFm_`=;?wG3ossGo8=4?6V;xP3w zDvmz4)#?yv&NO~C;O_;M9C5Ba`raNodUeGH`{7u%C0A-l9>s(2Vq15qx{!zekvQQS z!?AcSWocnwFUR&-SF?8o6&LcSaUs*W>-mU(XTXoD4Sa0+^%%hB_oY9ap4_%JDu?#% z304DVxV879%+~_semtrsoj>J#1t*`^k0(yK~8Amw0$S;A`Wt zJ#%^v1@^0pW9<)lA(LO~!~H{N>9>Cxx8E4!_CIIhc53!GQ)+@O`igCxE6-j2|7K*M zo#^>_NqG6LKBvB~W=&HI8h-|ZG-srI;-C1?|69>Nq`xar=kE{1SHAK8`|>=0iMd#;*4DDaGAmqso;Ja~Tw?x34Plz%pP zo{?eSO2D@v(27nsI`rslLi?NOhK#k+zb#{Q_1xRPb)@s7M;9ym z&zYgGjdbsrz5ViJzcbyVvlIQS8M-~_?yuhdm67fl+@sTLzdZKnXdwSRx>`h+#~xkY z(Ccm*GS({oY7t$Ydi$40x;Xdf?rHngWRHIGNEhcG{iKo3o*vzOMm|5M^vg#YALeN6 zpVFKQ^-3=Lk40yHkFK8WXMc~bp3&Jqr60&z@4W2KdheX<%lhRH&H`wK&- z|Keb(pZ^z(^oPvQ&mZX*&CvIZ^asz-caL;-^z`o<>Fnsy`NV#9^yue}bawRUp7r*# zqeriMiyb|B-AnA~(d%AfM~`0j4m)~uYwTl3kG?X}+0mm{{n68-SN);&=*N35xKG)~ z&))vJR~|Y;ci-AScdxon(V-{beTp{s+;N|x_s)^}cAuj6&J%h)Pp9Xq?!|g8&OLYP zxp+xr_3W?b-rRFZ+}JnwT&m~V+;hi$YyaGHhh6A%&z*Yi%{_O-!T$UD+^Ofv+;hjh zO#a++$GwF<_uO%Bq0c>cP8sQQ&mH%g{rv3Z&%KY{d+w+o_da^>*@N!hN9X5M{^cW$ zjZ>Pv^-jQs9^IWwHXEk&10#+8DUEFVdS_;T)_Z5=zC3%LGV0OyY`AiyKY51!xRL&( z8T!GI{=^yjV@LWEX6O}%&!3@JejYzVuNd>A=bu=LGe3HCF-7M`kN%jE&W|2_eWdfF zM;}HyKYDcU4fOM)N8dZr`O%|4YNYd{N3UlGKYH|fHViZLdN#1Lx4)hZ?CjC&*|0uC ze?->#&yU{zdNy7)L;u`y|L4un>)At3Prf^q{)f-d>)At3Z+|^|9yUX-XU}Cbbo=PP zbcSvpx@S~Re?6P#o_+Ofa) z=-X!K;)Xu=?&z6`KKJe_uIPO4`R|#EzA{5UWu(u&d%E}SFC9b1n!0kQ${X6;yQk+e zdha=Ezvl*e?|F)T(nz0s_uMkl=iWWl4f(xy%X)Ury;rI!d*|LO)fD>Nd*yi}-5uM@ zjheFG9oVD0Gtu3FJ-V7hcLz@Co>yq@zbQ>z)g!w5uSZvp=)mGV{&BAD zpSypYZFG6;`R{C_&)rXThUe}lXW#z0`^niypSz!&ee~Y_#D8%_pSz>#**$kh)w6N# zj;d$h+#Mxm^v~TcT z-lIQqq(5ecUU%P>GxU1Ct%p44q&6=VwoU-93+( zp?~hUpP#+`4;$(DdUSE8AK$U)m(9@YZo71bUU%C=XXxb8f5{BJ?!L#((ChBIc!tg{ z@*groXBYZKGjw*LKX`^tFZzWubb8S*n4#C*eEtlbUH0#pp|cBp_Y9p~=(}d<>_Ycm z)60K78_t`dv)le1GxU0PY@eam-M?*y&TsPPp3UxT^tpGhy(67(J^xM`=_@nzEhD}6 zZdT6*`g^k1$Gvm!Wkv5jBixsAN_OvAQM%{espQ+wYtY>-J-TNJ`Y=OZ$vV2T-`ijBW6pMuZZA07J$ilKaCUoi z=fQqwvq!J|IGa=Y{;bWNCugO1mOKNe=Sb}2QFB%{2c9LrlcE%NH2OWiem86D={3BY z0=&Q1@MgN;{rwr zyno)|{fimiyE?poIm7$m4)6b&;r*))?_baG{!NGXBQv}%yQ-b4hfP`Q)z0P)@6rtK zmJaVpGrT8vcu$$(UGDInI>Y-Z9p2Msct5qn`)M=0pWfm9j2Yg4(BZxR4Dab3-p`!j zJ)^^W<_zyy4R75KXV37S)9_Y3JYa_RvpT#FoZ(dv|-*OJ}AFc{^r! z&+G8+oZ;Qo;oUvMyQjl@{tWL09o`FPcpu#GRy;47;eAMl_u?7eOB&va*+XY|FYWMN zHpBa{4)5pA@IJi5`-mCdM|OBWZ-)0#9p1e&ypQhi4l} p1;x@b2sI?w{d3(C}7{ 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 Oq_(wd*Iwkcwf!Hj diff --git a/vendor/ocaml/bin/ocamlc b/vendor/ocaml/bin/ocamlc deleted file mode 100755 index 0be963d7b2eb7dd84289d90a83c71da880d84963..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1862925 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 &H+#+)g?^^>g;df;^-^$ut=5W@I1Y+*Y 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ࣞdc< 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�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%0A5#3`+%;`3%XZ%<-r<(IF+0x)4s7$6ht@k< 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ⅇ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 diff --git a/vendor/ocaml/bin/ocamlc.opt b/vendor/ocaml/bin/ocamlc.opt deleted file mode 100755 index 98862441d529f807688172743c61100c1059fc3d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7194348 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%0AqUCqH@zVl7G`ZnozTEBr)%qKj{KK}YE#(UW;zT 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

l^YC=B$g5FuNstiXLR5?Y^Em7`-g%o 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 R%=_e-cxH=EU$ZAt@BlC^{iS;RA4nvEjz$A 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

-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

dDy%PMm^%iD*Tv=enG#zp#k9bXU7- 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 Nx5_;EA)PcRF{BndgSNy};cI(*4NUS|c4H!^ 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 j2Yo5Mgbfi9dVTSr&>*U;4uy`>~? zd?;`}(AoYqaH}R(bbmIi7Nb9+33oO^r$dYGAIea`TjvwL%Lz~I42juvF6+Pv z_Vjbb4l&S4ElWxSe5D$@ZB9gZ9@~!8@pa^*De%uuf!`+u{xk=E!4dHH@_}VH2H(z* zKPB|b@DJa>LKxPC6?<2@1LN5juApY@!(LJq|CpHqa z#mmy*pRGQ4_%Lmp91B~ZzWLF3mj|R~<%-9@hEBO%z|lcN3191krxufJ@i`o&E2XmkVQL6*iUtzIQr4 zBXps;(T&O#A`0^_NHzSpr)NU5(89I?&i?_o4%Z&OM3!Veb^61hq6U{PSZ)17Ja&5_3;7B>%u#zmE` z?(G&>S<+W(m$X%yGk58sz%He3KyhS0b{iaFHHNsk+mwyThz3qJNLzz#9kp8YIEcGe zfj<(E?)TU5BW|M=iR z!~t?ltZ~&Q;$#h7&s@$b>K|Zk4z{4jYU>afT(NIcW&c=5XHn&n4fZ*|aJwR> zs;-a46cLli<7yvHDA;(9e$%{3*Y6}{&(c9_jq0<$;9P~|GV;X z5cki*#CMG5-+TsT2Fov?J}!R=H9Jc}{7Sa6A7~Gsbs=JLe2(Uy=m6M1m~4UPj*8#* zRX=sRDy<>W{MOS|iA|EhKavt(laMMA(%gl5CHs%^w>$G`yGkMR3Fqa>@@|(7;w895BVE3~-x4*yqP_h2OE3o~ zuD8EyFxqE{Of#*jF-^YO=(+i<1hOqB=pfr_2`OaDz}LFyojrrmNR75{lY_dSY<0V= z5p&J982*U-73;0I+VP<5*mN_1t<}&&j4h%bG;;IM9NqrD(i|;7b3}rwg*@5bRXvU3 zZnJ~@Rr7SSPN&j(NIeX*Bl-4HAbLQxjR;jCW3E#i+4@M`);s$I4@PQw>A|m}dc#gO zlLt>?3ROuB`({BgwO|h*m%!p2&e9%kh&F)y;=HMY)iO_Oo<^+2Bmu{ZZk$ zeJx`DMvDAC@+e*J?=0iG-z`eC;EJL&e1|_V58C!EZddSNziH<~b0{)+>PfC>o`|FH zPR*8cyFHgS@ZnnZA<~JMOPS*KBJx2`96ILgr-Ppfgt=-%4Kg%VwO~j~t!)5NC(p(5 zaGG;jYIE3;n4Yo2ibykaGuW^dGbvCmPa67qS2D54G!RD%hDZzG&tmjhx)ed4__W@; zyi?#Tax^=3er^XwAKmh_o)6^GfE(XcxpeCk-z?FCs$2p0(TOanrlCB8k}*C|IaFSC^ssS zXmg$bi9D5Hmlo7Tr*{*gQRg|m_#~HqptJ{m-zv-k3VVu@dOM2_7O}Dr?1|xUwVN|Q z>Fb&0dG{xhdWgM~uZ}A98A7Z_0#9TP+!teco>QrYg9&n_=^9(oIH~VaspI`A_6O_* zkb1rCU;8z`Dntn1FRQp~U_?Ha?6Ef|I$8E_g}%FC-AD%!v>$ zp%fubWD&0qbV0)P;wH9y^{V4z^;i2JK?sPxO32(L%yL<&RM=bNLmu~*K~8$Rx@Hykds=fxnAx_Y(OJg+HK;Wo3( zCI_XDP#2+euVo(2wi5mqIaZinBF>-Sh;HiKUkX0*26 zf3{X!H$+yq;?OAdcvzMPt@v?S8noi4?of~0=4i!%1zPdUg

h$ydFSHwd%Lj~&b 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

+ie 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Ü|%CDgBz1LRayNWkX@!np>--WNlj}`Cv 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

DrbxXrDz|$M?@D0VS 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

F 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�o#J^3vMErK*}7e*WF#|$G=|j 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 diff --git a/vendor/ocaml/bin/ocamlcp b/vendor/ocaml/bin/ocamlcp deleted file mode 100755 index ccbe416e5efef4aeecc11993e154733137426270..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220318 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∓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

3yOp1Z+OXp< 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%0DMF|7SU=jY`RX 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�Qj z22N+!HVFZ6hP!G8!5QgQGt#Pbchw|LA#s3*hsJPZ3#`Mbi)_OW?1FIG#$s1=JP-^N zvj1&E)VQUZ;?(GQ#4w<21(2N9>gR4dwgK?*O2q;n62~yduQrQ$?J-cari31;3l*e~e z%hD7esbS|j4g2!_|1?uM?ScVYNGtCgneJB!`OUr!RDI-Cs(zo9HO{j(!G8C{<-*-_ zcwOhSOkdW!P=P0RzUodP&qyIX*b_2;%0QSxZb|Bje8C>XnN&yqaFL3bP|}`M=P;?h z6?vXq4&8sGw*k114C=R)GQcGBRG`{5WrvzguOK`EAf z>tLgR@h%=6Rq~MgSCYmoW(HZZvrTNGz2(dEQi3PpA=YP3w=WR2TIZB9<0OQR1S`A02 zI0xhC$P7g=#k9RZ|9_`~3=%zSi!+Zu5XhqPw`4v(f%({am@^K05?`WXhRAG5r2uEB zxnENDkd$Rk%22M@cL$6}VqP5*pX&WaEi3883fp~=%hXn&)f%@*W}{j$m#maiE|_cj zdp%Ohhe7yaSCE5X_gKCWZ|BGlhwib-gBSsElhMn7`a^P-pZhaO!09hjbisHDhnC3{ zT`Vb#z8DqRVnV@5D(=4XV`{4AfcSEhz$Ib^;7(Ujxo6M_XU1dwsRyk{tLiMp01iq2 zuLD~6I>TmvStevCU%vyPCj3=uV8C~D<0F`kN7|u}cXg_F^*EPz^<^2}suTF>=B>KS z<*gdU=eTa()uSXj4Y(UP;mgwbO(ULf&Nf52(^HU`)Q=}@-F*cV7SSA&OInx% z`#f85#9x3ZDo1osSg`*3` zj2At!dz%>T8SY~FGTkRXnQ$U{0&jnas4QD?$FG!ifdPJhL{tUWFEm9bJpDqWp$=Gg#Q@@&8$8&KW>7-9pe z1Q3o4!`Js3g4+68%6X8G(v#Y0)~ZZmfTjGD*;ZNdg4iBAD9?%=)YjL_(^%o?Fuwj& zOBQ~g-Xd8m_GS7*?g_L=54|S-U^mKs298Tfd09e4q@+w1pK0tYrp8{B`n;FLUKBK9 zFA7?*7X{DQi-LaaMQN3Ha!j#i>_ri&t-Y%#e8r}63UcbOewQKojc!a1{rG=A|I7Hl zm;Z=-Q-4ruQy1V1 z-r!_I9mTyi0}Q#fJrsj3UOQ%Q#$+xhaP~XKa>X?9R<@+oZ7&PT14i%CwIqhBa$M)W z?Eu_l3irl+d%$q}H=vAW2La({TACg-S!L@bn zvhD0JnQPAI$+(!$2T#$R!G=e@e0N3`D?hu0umHOQWJPPx)|Z{pL(h_%^=Dws;U4Z} z%86&{os{VWCljo;UQpEphcLuLLTXIxB2;=#?jG(DjYG2Q

zmL9YoR`<$_rjz+UsglM^njh#QbBIveeU3z%McMMx(M7*(;fpT%0_XfhTHE+k>Z2Pb z3jhTEJ%)g&kJOQFiQ^y7D0-Zvb?(3N7j7Oabo>ipZGDE~0KF9&O4kS^XBs)b2i8% z>0?A+3Heu29z`RKWdBMP%>$$z`cdMqPsCp#@f*9um)h~NX}MVC&r~~yVpo>DF8KZW zaueyhtMdLs`p@1{_({`u5rnZFzJ^Ve)`CYl)etI9Q#E$d|APPHiTn@!U-Dm1rsCB@ zR!?%RW-AwHTdjAi3LGu23dX9YwimCSpSpTd+G;j(fn%%n^s2zO#C%sZ^*Cc#Sm|d{ zyII;6KaV!uxdP#I;7T5~kQu)NUuH&HC)-Er(fHeq+ZZKPV>7CzcO$OY*+5d&M1s^c zk^5d_-Br`o4pNsBzP7_|F;%DCEl>3M1e?Jlb_x4ODcjxw$CY6^~6*#_HPpt}k z=g`NQ$p(<-2(Q2&2cwSmI{fFB5}`-Y|3Z&6MUPaQ9%)t6InZNN>x~(@&B}j@Zt# z(|VKAcCCM)#L>QUySC5K7F3-imu@PmG31pVq-pkfkb7U__uFHiSD-SY_K&P9+S|LF z-%XxWUi2jSTtSRGiyk6m71)d1UkTeYXub{jlLN@G7LG-YjGuP*?-Z!ItOxt)hb3&F zq&AEC6pP5*|BnJurXqFAr2hWjj#Q#_rKt7|_c!v@m0lhC=SetAriLaGp)w51&tNRF z+tPfmKKXb1pHF*s6HhvbC9`dpTq(^AW#>!17|;6(x61Q6L)kO5T2Y09Y|Vl{i(ZYg zzt~#S0V)e{Zu8aV9tf`eY)X|A7Z}{?3&+v|+Ox+&{t{3?^LPt2q$5bXFI3;@%hjhe zBT4)p1tJOmC`D-`g&ucPflZI~OBFq$mneFa**g5slJ}GF!ui z@%2xLI?}`6{du0c|1!G}+RmSxL5ld1I_GXxXzfsFMS5p7&)uxh3Wvj>W!Pv5{_0t8 zwYmK=&uHe9Bjw=o6-VW7u%CRhI;LcW%X%vJU2O3VE|2DTHm^7aI^|kvBfG)U#<@+Z zvT9Y?m%X!U=GJtj!Q5t*WOF=8<&U++z|ncD<*yV0r7eA7x@U8=(6ilZ_B?U!p(I52 z_s-fncdIJ%eIeW*72%ZWud?~A!R6fTn~j?CkJHMJxypK#A4@CCE8roLUUZCK_E3XR zPIDQ}9>`z(A#sF+4c>}&dw0kdQP;+BhPkquotcjp#+$!HHPyriYE$i=3sIDcHj8h) zbqCpE$j;)_TYj{$b@J>Rn`5HAuTfSC&%s1baQJ(I`NC&ArBq{+ctGJAFbRavwU>y~ z6s({5R{l>iM`UQLKHy6>#k{XBmBxLT$jc@5Z}el27%(qXo>az48Ov1}_)pcGroWLhLK~Y>456GHcWC36AnC5QH~7wh>OQaPR%@J{b5+_iAD z+}pzDAXNE{B=zwy?GQ{4Vqu?IvbAlTQK?E0_Z&74YoQ(RfWL6Fw0gm=NCRI|zBcNZ zUSG#YjB7i_;qaHKu^O>RDf_t|TDgak;d2YF_f&heob)>W`0H}C-X--1wcb6s-XH>I zP4E+SzFyJZbHNQVyW$5uw4`pn-(~5c`=t=hacgF2Ib+voITP1vy+^IldXHPn_j7z# z^Zgv()qFScy@&56zW4BbP|MNyq^|CI#es6Y;!FP59SpwUbG_x~%2A~Y%p=_ddwVz_ zJS}`6p`|P`n$RVBn&wu|YmBZm!r@4^jKG3t{!t?zIRnWlBU3hkC^2O2PL^n{D@#ea zm>O>8e+zoEzo0jJh45DX_n^lj{8#e1c(p5dRE`>$%Z;M75~_Fqi68kV4xyAioaw#? zkg8Nw$x4#&w}*_44XgVq$%~(LHgcCr5N5mQBPqmm`<(BpZG5B06&ruw#`sjxQp;q2 zFEO3xTakbphRM`lb|n^(ZAQ2}oLPR9ssBFGYU{(k+3BnNt~UHunWs`l+1BVd-5iZX zo87Eb>6d~^Zk+^IZeBJ+rYAp_w+4&Nzy<}azN0c)tj~2n!`Da_INgPI(ES)+(ZM9T zR}#fgw7Crl&2`@uPuKh{kBJ~;-XU-$OezBD=;TBP3+GL;=H+nF<7QP69#&0y!lCp#p(qCLrlHq=hp8eV!`EZ9_gyK)TtG?FmSR z4XFka8D*pQl*F$1bz2HYGQ4goKr{Q#0PP2CJLEr`K7GMN$gxb7DFm8=`vC=-mjrT1 zG$RS*WGqbr(FQ5&{3H;K5YQP(AX*`yo(d%7_NUPdF?BzRd7#?&nv+?6zl6UJ>xE6) zotM(FY5`EjI>jsv9J@?r%+njMk;gx`;1zxpi=nP=;!Wj9D$#3}@~4_PVm<#aAp8gZ zUj{`E@xMv9C5eA!{#c#CbMqJTRII(G$^cH#t2r`vvrGU;X|4u*4~P7?W>}v=>dNZi zUVSz`7u7oLI9!zSy6W@wkoy~Hqlr8c5*;&l-84U0J0)uM#5g zeq>#>SfXo3@jgkaKD*7jyI8)_|C?L`n#~;ya_+K@Q-O~5UwbLr_h+UwqbF7>a!9bG zUn;L5VcciEuaZ#7uKnNN--}&g`K{ts^(STBt=sKT&~3GoRoPZzZZ%>@iFyXCH|;ZOBy+6^-%@t5$6tuNV*dK^5c;IFq(!3AVgjOA?4 zllIT{X%SW@++XP_-B)YfFPTHOvtLSh1{861Z0#4Y(0hcmjkikTUh`RPC4YQ7mEiX{ z|Jv{S?ja4FBrcgR;M~M^V-8D-gLQGq{4fii!}32v0Mk;g=!m|@3q5YF=!Ud1(SGJB)l@yn>(#+!6kXV zh|^Er^J%fJrUpi+Fv?`7vMBm(#wm|_S=(>6>(ib3hESgj;XzKlIq^!-^QfiSc2NBL zZ~t@qIi~o2`+wWD{oS4RgOc>ppm|RFo$s|5|L67#E?wKtHasUsiA*=#9p8X+H{rE| zoW^XFJNVWJYLc~opaZpX)$qu^P^Guu741XkOEEKR?PfoU1ZYjX$ri9W=4YX|bp)ss z$FU_3U~GoDtjaIjIn%K9r!rpbw@+^6EW>A>-tl@#{OGj4)IvCc)n_`)EpMP4TGN?c zu>BsGd;`B0ztv3ZJH$|onRpsi0@?{^ivwCHEn;Ggzh`nU#N^x3#c4n0ZDxQuR|*p6 ztEV%_XQ{y`?V*&VQi?H*(63c!2(oI&dB^woz2E`PD8BdlfvXGtRujWfCW|>K^23yBvK$3hZ0a%qdUE#t1N~3c2y`#X zn&ydF^X8_c9M-k7)S2~R?JP{7IW^aEa!)7SVeRV1!`h4nNiegV(EGefOQO;$VruxV zwNB!U*qO1E_NUAI*=fDyp1%=iIu@*=yE(h|?B;3Z?Vf6D1c)%@^PVIxm@E)^H1y&m zaCrqQVeHdm*105LnUG-K95g%3nD>k$ow#PNXiHTB0{)^J^wwr9$1=GWaV&jdhG%y~ zG)n=4mu>g(F5ugG#V5zhrf@M5C9b$(NEJ5>sSAACOE0)lY%_h`S|?%74JEww2JM%* zhwp*4wP7hW@~80zZMixb=T}Jv-j@;VQlj0dilq*f(`F2Hu;~*z^BnEqt>Z#V-s0Ns zq;~({Mof5frCAi~{(}^onBTRRx>Mn1?WJ+;{5DHn4f3aniYCgR=`8x=jyq|NeLu}X z(wxK*KrvU{F%GY53qHk$xa=qX!PV%+)@bYRRxQ+xyZ=qEA*&&)H^`e+%RjC7w&&6t z81aIdr^UMRMsT0KQUoGA!n0@oMrANpO1yl|;n(UfsUDQi`SRIUeR@Mzrwd54>&`{6YTofmV5JC-`4?JlIq!LhLFqF}4kUPY>P3z8|j{@~XVv`Vr^zy7|X< zZEUXMeInzuCieHpn!ztPaY#;?)MUs;G{BT2iAx#d>};~xk4 zXp4WaoxIoyGluKHrH23EMq zAd!DSO)aU97ejXncocp@g4Y#i$g5b2lRK7{&`L=M9_8SPn3~~;ry?gkh(SyB#`7s$ zB!kOkxfOekAxaLYwHkP#l=)dShoQ;#l05KRTX4?4z!98A>Y}&oi@(_5bc%SK4@%n?l&=d(BwbO9Pe~vs3sZ#$^VV2J0^?t!Q;-7uU z$rp*2$Zo7bpN$63pXC~7^gJkqV;er=plpXezt*mehcEp3ljL=y+3)M-(47)*ZI;Nw z4{twJvapj<;BV-T6ki&zR9a6E@5kG+pWR91$bV?p-C!y%NTA$>JOjP_qloCxIJm4vT4ks906*LvGM8@9&8ZDI zfV4iCC6qp?rN$LJW3~90>YquwMjY2xu8^GaxWIc>Es3Hito!d> z$w6Smck$ALry%8|GB);+^*QEftZ}zmrwDR)y?#v!lT}~BkwwfDya_^Y4$@va&3l8G z^2z}~MbQWK(tl@auWzCM@>E+83Jb<5OyuS0t&}3&pp(RB7U!Yr&2sUPuKSEB`Lj6M zytVoUpAs={W?hmsDw_Sp%9NBNUTry?%4r1`l3YG>5}Z3;uG2M^LuAFDouBa8kaWT^l4=puE3b!mjS&iyh+DnyQ@xNIl@%X9bZ$;78H-sBb;Js@2 zP-dN`nRf5XyfVn15en-TnfP^9DVb&i45Fg?5bS*l7%C-(wSinwzb@9jBH^d_RzjMx z;T1)}k|Ty>aMQM5u_=#)(rVltu@A=I%! zSbmjFQ15H-9Rq7=Lq*XHmGFG1^5>;O6?(9i{+hv1@sjfql~cyzC?|8Yo1NWBSHdvy za?4seiQ&*DhegxlPXPJMp84ZKr>VtYoRQ9=gP&{N^^v@XJj_~irSNB2ezAaa09(r( zi0(_{#bcS6Zw4YWK;#wn;uI^Ry)NDZVTOD)L*D)M3cCkbkvsPQ$IdBi>pJHQOD=Kw3nPAQY$V#<7pwKODEXK6AH?%n+k(4%2x}%feAwZEJJ@sy5NGm^AWJq{b#;P1es12$C{S=^^JQ_vMYE z3qVuuLh3xHTuGh7R0<_^+5)Ki+iIJ_q3oj)Iva~xD@}INY^&K$&u~8!78A4HrO&Y> zx$k#A5Te~rVEc7MTgK+|I(KNfY(lSc->-g`sEoIf_6BXRV{q=iiBFocRyW-@+QA12 z{=yEjA92sMgH;5l*}?MHb7-8EbC!}%n?L|n;iyTr*eh@NteYWvfSl5G);V#gm8&xRkxLsh{KAc&RRem6kE%Vh}A~E2Lj3rn*_?UtS4+}RWfvrb*~LA|31p|twqFH#had?i zj5errt#w}_Lh)Y9)Xpr@&-&DcbaZx}wH*i-Sm3uUaSj+Hdf!*5ugyvF z=9zF(wbBw;!GVf5ESZG%SbrO@cmpiztZZ5;(4E$A<4}h;j<7d}H>$10i3r6TyNFGWC+^!iwS+lha0-mg9*8Govr8ag09ThK!hIEuZyr`ZOOMWg(kyjqi%Xw zvS2Z~&8WAok*Y)PUMhx=-NhEuT&6YJjyr~sr$%QYF30+r9e0=XquD86KdZ-&=F77V zT&5UTDi~z5*S`f4a{Iqu(hw`GQpX8n>s-`!^ZWCWoS$G5G`1fC6HWaJ#$f>jkOM%8 zvAV{b6LOy|%^99k#?71@q_N*4`MsVeg!-7nPcDwC4M@m6qI0slJCgm&PKJd7J4E-p z$a+%RSyI}HV-cjl1=%QYxnf%|pFHeuLIsJ;%jAGHR3Pttp|m z;oD`nP$*d1QP)IOSB5mHNX|iCmOr|NT0!hNQ*vIBKe{#n9p7p15*9*ERv7i;dLT#R zls2xTG#90b0C+hEXkAZ=5QY-`X0>wo=_qy7`GWW#3l$8Il0@pjXUvNn%v!}KpkO^a z3;qhZE8$Ey!QMY=zsxRMBxC40~YBrFb8@> zn^BEtrDj@|y5vl14^VEyf_{|xY`j!R@%OJFh5IaOSaXqMgU7svYqk!3r}*0<)3=D! zary-%Qwm0eR+MXk)--ZjhjIvgz$aK1ywsVT18+}|bFd00$k`k6Le3MU2mT9keo6K? zIX@=+|3uEa?~If4pZgR!`_}wFlJibl)|H&I;-x~)D=F7nKL~nwFYH84TV5A_w9mh5 zG$@5l5*$7KJHbU%0%DdVM?Rg-`=I^9<=`zsB{dw4QbQ%VtzTk_X6-7VuAqF*lF#8% zbsaEg0Q|swBMx!OGq^U&AK0v3cdKiBoJq%GKX%@vYOHRa3+OX<_M;P*X0j$ z0;Vxvq*=FQDt0;#5#MhN!)K{#l}{_>h^~L02>#+(rf7oN3ww)Uxy+M*HFUskm2@HZ zZ`5w@dlRVSRTJpWjtoV1hSOgVu9HFaK|D%zeaH2NNMDt(D7=i`)CtEuS_%JjJ#Rp3 zfvJ3omGWl0Z6D}-ALRD1n*TyYu5#k{IN#3su+BT{x5x%xL`MsOWbHym)8NuI2*GRV z1*{8|AJ^t%sPET^=KdOhwrpA29|{{-(%NL9Tv^!l;F)atM#F@GoP-}}j%kmC3*=4CA$73!&2#})P(6LY-g#J&r=#UzX= zkeoaAcQtyA>3!J=R_qyB*53%DJ=gkqUn`~#^k0F(Z*K2}L>k$^cOZ0Qzi6KPl>cp~*C))$qwpoxxs0O_zjUN46mqr8o+0z0GDYD3cqI=m~ zn{dNRn}VmvNMEr@2%E%?*4y>0QftOC?&V*n^~~81h{+z7ZWaP%-Bb3yz?iuf>EAi` z9B`}55v8(2AYGCjin$!=wcQ$kKG)uI#7{FzlJ^_4Yy;=F=fwM1rnuLn%%mwUKC`Vv zm*`ApVsT9q|KQ}4$t;Vp=FDUp$EX%{Zjbo46n%mZO`NfGO^JDu-e*J}+F4@Ed^J>= zG3}*#D_q^vbDfuyd%e0y2;gE5~@7^S#8NT-f(q>*R|8wpD0pbYJSu2g~P%YcgEBj1Lt_wt`%~vGg5R z8_0Egwzb3rxt?BElhNeaSu&v7v$NE^c2J3HZ;5gJbD_I4pT9B|qxKS4xWuUTG!1C* zG?ki{o>Ss_yTq8fA@oAOjqhD$gzHXpZ8aK7JkmYQ>imb$DlH2vP&9{kR(z0GLz9F*D*dd*9R8B?2F&D4F*=sW(JsJo52 z+lU@P-@R?jd@A(9kO7%5`0Tn5dKx5qLy7An91CAJ@bs2&wVR%dcb4lQ6=oFwv$&cH zv%Es=dQUz5Utc0sX_sDc^-sg$UNqC#RzgHQe>e_&(6uA-Q3swVd>N$pydVx$$HKeDrHO(kYIu+P2=*PrCt#=tx5IhIz+C{8W;a^qum zp)i}LMv?XWC$@b!-Y&DobIfxXTuY5DjICMY|J9OQtU2{LyXg6^zP>T3XhoLPx@CVD zlvK3e3_Muk+8TP{{9`|RA<&&5k=F+F6cVF$^w&c+>!u2@}uR|WlW%rTm z`e{$WPYre*ZN{P2=8`O8LwCDM&K&%8iR;5~xSOzgTWeF6j9P}$|HRH3owl?oT-V*T zm61*aLn?INu)qD}z9&o4O5Y6EXs*LX1Mnsf6H8@E;o5tTyFfRWsiU>^y)5QSxUKf` zE3Z!rzCigD{~q9No_ZMVcW?ImO^Iu}D&43D%s>j=chb_Y55(v-yX)R4nyU_%Ar>8AcIb_f0=d_2byEBc0 z;L+A*TFQjoyYFb%U&3LHdCPUc*wwl{3wnm`yZDjbnG?b_xvs{vnVXEd)*V?pJoMn{ zcP^XU8m{Z++L2be!4OPX0vHGdhcA9j%09@1sG7rkLM#8Z{k^kP*=bYXQH_^Y-gnY( z-@Yq~jO8JVq#0Hf~XTdN2s>r+BS zVdQsf{_D>ELj0{POr&S$H?m?6I=X{t&UUi%`mgrC-2DmmY^lvC>$BlqB*>_HgZK}0 zHozi}+==Zpw}^VkEh4o!j()u1ZArPit31K!b#c|Aw&V?O=k*zTSOXV5*pPfHhsJno z9Y_r*J3s6tA_OO5pWrFCp!#~*0ARAP%W54-MZIuGiT~WcvG)v>g)`N|7xs1B&h1Iq zPpv_gv+bt}j_^{E?a^qGh=POM*HJph2Q!r1rj8HPNkV<;PIgadzLXgta?Tp$oi(Bn zwI3nb31}UTSKGK@>kIGeUiNcs{UYAz_+mx-x8z%Jp>;BiAkj`X2~EE6r)(22!2Z}e zlP1vZ7(-nmO^+MEUuBzC^XOh$ddi}SR^1aus)CtyFx~a^N5c2MfUYlrdD|iZRa7e ze~HK*KYs*6&UsNElYD4DtBS;If$+WfX7G~;X2x+<-%+kUoh$hVZ^G|Dng_!U*-x@8 zHt8--BKzW)57b=T`smBsoDOtKBjTz9p0bs22RtVUPPhZ!FA3gHxu`FEGx+<6y#COk z-;c|CD8|^>wQ{4{Z{FAzFg_FKguc*NE-&cr*kMQ~)#P^Ix9PwRQl)~$`U#EE8IV#)3mP#F!)jQ^m@l&UM>)A*T#_&sL?!S(&k@?Dza;hS$t_S$2S!CodVKLJoh0 zM)YouRcv$Vv$?c7v@JBYU7OgXP1si0yyR1i+kiC$Gq6->fE=D``#fJa-CrHgq;X^M z+=2@b!~LQ9?C=*u4?EYN;{L9i_pfYOj2ppGgLGq59{-2v^`qp_8duP*JN&ah^qbmf z40tZb)T!$4AnM1JvhdSHOmSx5oKZK&4O)y($#FxRbM#Te^x@-jmY(4=8hxnh%~6?S za43)?KI%y|DB8#7fA1?|Fr!!es@PTbE979gn`2JQ6I+eKL&4sDuj2yC%nP?9^T#0?y}pxo%7eLHw$XDwdfDWaF3`SJQx2Ri09i@p!LeRT^RH|=HaNOka=@XLQB5U+rb!A@v~7z|fE4{#%Ybw z-gbHNS)bl0JtN+@=w8YQZuXlC2KkKzLVV20j8Vg)n2pPLQ4zxzG}>;G$>i6m8z}a##aW2@VO&#w$Tb zZ)_%Jiep)#_yqeoBy=+n1HWnxBG_~|FCkAIJ73wKh=2N zuCe<^y~r>k7HsskHVF}bgb9&jm)G)HKPAa=o44$o1@64sM%piOAP@O9;O zzp-c8DXQyjJ&wo_tI+@J=E`azjf-Vmg(5pe7iRFX)<`Kf<423dAou&litcYnqF8Q# zI>q9xBZbAmXME`U2~Hh~QdnYx7|xB!T;~dQFJIh-O&$K_?Lz^Xj#YozxD8jWUC3LQ z;%`hj%B)KnL|#M9)sr@9-$7R`E1RSq3Rh z)!?nmxF+&@V5}eb2av3{PsX`|qKv6(=XFS?wHkde#*^U8+@U@nkZfex9f$w#2bn>b}N?GTuwjD*4j#+yvlh?=Mn-glza*+ zYV(_lP+A4%`dtWfW~3ZgLZ0+BAKzFEM2<#NUY3wpKB7@{-;ex=pMC4Xq0|NIyh)uM zL{x1=_s0c~ljPO-!AJGN55YF9jdiGpe_p%>?6P_%W$U0EjvM0r%`3A`FKc&Bq^IH> z>~KkLCobW_z3O3S4Alunf0AzX5B@}K&=4nn1G}$fkxA?bz`md zOid^ghsZ3uVv~&0q|J%Xyu|v+3+*wvOL8%4%7A%$rl&eGl%RF)1)`AaEbqtVvq_=? z3>DpWBlCfJ&yWIE$~+{9eXLY|co;6I=Iyak^Ac{`zM?|sr=9m!9LeVH~UxGYsWMa6W@!;Z`b*2CusSMcfInMP#fYBUPp_n{wID_1L0e?8m%)J zHoaHo@WplN1_pJW3Wg*eelXCBQ8abvDzAF7iKbHRLA5MSvkEK8Fhtp>; zf_@O6_NRUbpN{oy5_fQY#&_299$}Jt@9I+esFL|3*i?3wFBEXyutwWhJ#Tj(SFN_* zh4&V&^zTPLoGjSg!dsgnR3#=|r;?d{&xy*$+zyLx<~X)Zd`kuNrGo>$$+g#go?n`D)n zXZ)Fx4MB#CK#+#=dkM>K@Pl{z)@WysHH3h$dI5-Q+4!$GIsqQ@| zO#q4Z`Z$f<05kJ%B)4now2D77c736%T^mIaAal(%M>&qJ_%>C$^K&4aAaW5^)vK0N41LSg`dy$OflyhgKoSPpld{<>Rh5_)r!}xKb^_;&~Wc3qV4@i$x;9G8?(Oj|Dg&&;YT;1&65_ScDNzbJ+H03$^!sdmuFoK8*ClBv& z`xJy}d|C9YFUAd9kdk&RbnC+}SmgDGfQR~@sjWJA*JYQfMX9U)E6KUHxHS@*uq^G7Wr<(gY%+wa9JO$v8w;Qt>t*Z4xKVBd zI3AR1j)CXOmM2khAzQ^It-Ot0bT+LCYVjgfTcTsY(<*MMcLf;^?w5Iy)|4^c*Xnh! zJ+{szt~Qri+@u`2vpr^8JhfQ0>PBKIOxkg)QVt(iY?5}zsWbl?sB_2P)#lfpkJR{$ z%Ohw_){&Z78U$oo-oWbJ_?!6ZE&2jh@4=TULaFPNAxx(YXAM@S@c?l`(@Jh-iXadW3erV^2erx)vL=yCtGEEbIP)qYTmP@4kS#mz z2qN++Xe*CT{~#dD^C{M7>(aE!N9Ei6HQalkI}c*ES*FZEtoqQYdV*PYDAPZ@;BORG z_D|)-Ph0h*P+-L}<+*3UP3q1=(tL`qlhf&wfq(3QGnJI!fD*$Jt2TOvCj|~zw@9_F zvhE({~ECS*)cmG0|*5o9Q=)`-d0ph|r-!ON=(BZwAYT zq;Rs2}mfFhJp z#>L7|zDTzxFg}p1)A(UpnZi$UdB_m?Y;kA!OpVEN;Us-{x7){y>6VcuHzt_}8)Y6m zaZw>`(a$%0Ox}V%vaG+O?5hf%rrRY#=0G0D?WY_4qFQqKl%r6_FwYlzE4U`|F9+Rw z)JVV_-0zC`LNhTU7g>A+Y^CVM$QJAirceRcmkN7@&V7I%wLo^z1J&aPZ8TuI&+H`) zm?#Yxhn*RwY@Hi0%x9L;fKt_f16Ciq0sBJIfKsOc0VeTb(OyaPrWjt1@m190yWm^b z@-=D#L}}OQ{!^%^`U)7Z`f>X_hxy#~iQ@k%G~!*c?z0~FP$mU#k#!S8)o^5_IP`); z3%4ws&1T85&?^NA+dAb$-oKDp<~*@^#mo$WjK}8|iUVEVJbYQ~VI}&bW{KXVr%gVn zMz@%`%)>g8ty*v5Wmb-yO%cxY?EZ+2lHBq$#Iw_ z4Rf~ z;V`3c$AapBS=>fNL1v-;)hK<0Ed8FbsW&T|d}cS1aXa|UX3t`In^CKLo0iF3?Kfu~ zM5bT%vBdgZn|KL5F2BNCDd+~1@~5mzD?7^W!pDqH_oKfn5@YUQ>3Fl`yUb{AXZ}_@ zDYIjDl@{FZWM!hZb9WwZfbD~kpNRv_1p^pbnLLh!xM8oS(mwTmqdFtn8ayyDbn|y9 zfx^!m|7oW&Lqm$sOvan}6B?ye{u=BUduM)zT(?Fp&$oG7>Y?JyreJrzN6J@Os}G}C z=(k|Fw96N|DnHY!w)(0$$?Z>L45pO9M9AA2vf$t;r8YBA*uLNszwwDIN9w(Bc2D_K zAH0XEZ$vB&nAbDSfzGK&oTv-q@^pQ%1%9xl>XYCB()f*mQ&+KtsBESC1I8BtV^0VF z1x%f;Vgr7F0UB_H14f--*wH`qH~mv6?k4G)%`1*d-;@nenmnV1S0uXY97ijTGI}9G z_>9`f|4>v1eNCr-Ykjh`#A@jz^xaJy6R2JuIi5{h6u%(x{*aw=r~VxuI*najm+a9j zr@fxt<3fG^EiLA5!$IHKW4TJvmbYkFygZqE+6<-j4k#1;4D{fD8n3`MhWmYr`5|+sDYo}8(^c6KiUft+p9CE7S$U6AQ#L&y;At;8IpIwUz|O_P~7c)o%#c=&jQBh zUHC~RV0fWrQyQ~stTtkhFwy^^)Beq{fsRFwRLbl+macO;^&&;zF8z6?PJik~(ZbHD z2P}A394u1+u_gtW6Y0OOUiiNB-$eSaUMbOe=n&y~mo+YrI>XVlfFjU-?as*zd{Is? z8-A*--bU5x z%jf!9H+@W&n}d9_*1eoq>-LIeGR$!m>&OFAkK87U)%mq&hcGuJ%1216SZ<{Ry9Wxt zUZ7c~#pJvaRl-NOvCUKT!d#h27hte1+Ka(Iqe5iSftT_l$XjzTrHr3Pp)~-V-DN*R z=!QrviG$m3|58rSLEiS+x7n(1B*VMb5b}ZCW=0N+9Bb9Blbr?Dvt6CrCCtqqPd*=x z+cT(ZAN>!rk<(WUA2~`((N>9r2#UN~imVuxrro_lI1u>;{$lFsxIR+=Ysat86smCI zzQ>`_QbzWfWYNvul7%ZX$yaAC@Bh|#T??1C$z z>AST-4M((^E!@|9Uz@s9o6@LF+kz1JqQXx-0jEum=g4u_ftq$+uMZyZRRr17VW(3`-!|gO;yr6@Bt+K2b(qfe$I8Tw8yw)lRZJ@ z&zbsxHmHVj)UBRs->Wd6{44i+_NaS4+Ih{~y+C1Ka8E}OXHbOLN&k0ud*nvX2ikcJ z3$y9WoDSs?B{ofTkU}Qe!cnX><{i1a(Cxo0*lszORWHvD(pNsS3*D}2k}F2q6*w!q zT5cObo3J8DPVS|or_qhl#IV!UCha@~Le#aA_~E*ABaWJ5AApRml{EW| z6S*(SvF}1QQG2@UZdoJr>@Osm>UvOTJYI>MUG?`I&AKa=BMXS|^_>hQGxyhgdt0hq z!ET<-p51c9J}%RrBx4$;sHi&?6}PCUsHS^Ksi-hX zxm`+1EJ{i$@}6m^sAz@~J-^pyt+mOb+T@&5FCF>u)@*jC=#XK;5ibuRxExXlnfd{`Ibun=hM$OTs)z>2bc`~myq9711nAp0(Q>8tlgB~0`u zmbj2df0A?c{&d2W{zT1IU%Kg+@8XjA?gAN4?qBySPV|Jq$=?^}zLTHgP`a;?x$vV= zENaPNzG(g9G&BAb6V2l@DBot{*vI&u_r@h`u@L_B1F7|o<;b_Af1lU|QzD!4ucI*D z#)E6;dM@qZ#)|i?i=d>Pr&n^7MrWPqloFG>XIlIxuBBnM;ikp^;v3S7Y`Ox-!z|Dtb~b= z$$FRrnIWb!o(z=jh(2kRrA432d3@cItuN!%H6E9wz0${DzD77*9`O6u>vtv01C>qP zs@dz`q+R$D$7+=sw;nzd+oggp*YD-~Ej7Q+>x@^3_UJik-bmHA3opip{C#!V3BP7q zof`?~AP2ADR zqYgFg?_OV~^kI7?B+^pHVQ(2TIQKIT^8*=h+4m3o*Ig|74@7gYyER7}e&Gi3TOm)* z#J}l3U2&@ZcK^C{!r!;jwzI8i9%Mw{MFHmb;^WBfH`_(;^ zvSQoo!0bmh3H6oVvhbqhygY@r|3Ay5t@^~#-Hd~;;YrhfG@t%mSx6#zQls)jz0{@Z z!?NJL&+12M`*QW0Vn<_t=L-cqF|+I8;kuu@o-e5Ne0n0~lfRS9l%#LQWL62%)vYTM zr&K$$eomLK)ZhJQ=8BB*wOI41>DqbNE!lL}bNJ?AzXzsM`!%IPQhO^go7CQ*oaVuuYOk97ZXq8y`9GhMIZC_-01# z`+i-o3OJ-Wm5bKc!Yw$fE(LOzimV_umeZ znffU)yd&vd@(Ai-e$a4U^j;p8{-xx>clmtxHIyItoGb*Ogqi>0Vp_P^b{TDNUC&h% z#ro2D{i(?jo zD--oQw(ubHiPlfZgzVY20(qHCtaQ!6uY5g_*V3iZ9(dQpccn*+`S_JBP4@XKaZj9r zrPQO%-{ct{o-rx{N=V%wD20{(b%Wu2_HYHrVzr6 zM&+Tzf5lD`E7Z%c&Y0YZPnCym9|vA>GnT4lAAE^xhYE%+)}Q}6wgt_yFrCag3C)z1 z8c^#0cbq@MLcx!W94LIxLnQmw!|$Unv#-~p|JK71eDwT+KHrmYE-Oc#;NDP-fBe?N zZ_&bbbm`}Lw;p~|0zYAWLF`Y+m>?V?IFk^6jJC>?m?L;f@zZl`=XNW~{TmO$@8zI| zt4{j4h`vHqk{4rf!cao5HFaiQpE7g*Z0t0$T;;^$v9~jsDKYF@j-mP6a(?%EwbDk_ zbmu>?s(mZdOp}xJ^AW#GH$6i$dOwe}Q6EI)-AmzN!RhWD+q4F=&e{U)*={Vl&eHC;wdz`?4Rs z_TppfAJR|c6IYZZmzUi?_LCf*pAB(kIKN3$F|bw7V2h~kJe=)eITx#<%){BCGV^fO z{%q8N_XrQ)7C9Wy2R>w`9>DToNM7&YpFIcG&D}|U?Pr>B-OITvDd#J02i8sCCodo$ zIQeJe88THx<(ZXHIq!{mk77i`0 ze@MRBsXMqYJ|i96mI;|?d%w(UV8ofr$$1r~b8W}(1Z^01heuB5&RPoUKy(w;qk7Zg zk%&EhC1LAhk9Vqe@noaQ0F@M7Thi?IpzFu^rheR;@c`yfKfd6y|GSu?*G)E$9LcoD zFZ=!^lU>}#^SJlwec6BE=I`2zpWC|c@6G&(hY~q(@>Uh=O(RSWAOHAQ+6zndx&J&- zjraI#;4S>)i97MD_|o-n8FQa>{s_|tbOmbuARcE5kwM>m476k#pFowUP(Lit$)AFXwcj$Lmc*B zcefD!T zozCZqShvZLRe!qk6(>>t@lhJ^P1wVI)cQ`fo-nZkU%sER+oOyGXpbYzG5+fwd5Usb z`M&Q+>!U3Of~qa*C5x(&R!OU~+u{>j^x}x*FH_66w|;P*1XbVOl16!ucdkh5mR>$h z{-Q4Kv(*ztz1s7MU+5ao)Cl=N_2%o7GV!4*La9^)$w_V`|Huqg$@-7{VBfP+;U!O5 zk~2kS>KrWDH(m1R+!-Y&j>fWeBO3eOI`l9z5H?XyhioGyFfJ!8-6Po|RT9XRRHYcd{bR&LOfp6UCu?^ z-k@CKP~V|FQ4+uZfKYX=WXP(w&Le1G-KTkL?RRO>YxLisT;o0Yaho!6@CQ>Ww0uV_ z`hEQt+hff$jE9e$!B;BzE`}^F(QzLB7>do!p}dFopt4j?E0!JT{y_{)_V+ROxBis} zS5MO4d{RYp0)J>P=5NNWe`Q#n=-v7^in;Z#+(IS$2e^0VK~l0ey=rTa|8zZ`UVia^ zwRW@kTB49b-+%Iv*Gmb?SM4X7Urs+J1?w6@$JV`s(sEt@D{nOa2)X(WQ`qLqhjz1h zLcf^EM}9kK9UZ#Ne^j8_O&31WZhB3->E}4b`Jq^kd__XN|JTB;`JY*+6T9bW(|Y#9 zd4N|DDE6i|tM7m^-eF=a_EMQfm6r--LHgsd_t7S#s}MfZwbXsSv?ptM#+#N`@f51k zq0u_4c=Z1|YV3RB$J8yk)OY&Sgz?+)=UrX$E?fyOC6wl6lpi?rW~NxSvhw2q-)iCX z^4saL_NA4)od)A;qw2BBl`IzLO(i#$+#sD*$y-V)-g3jux7=7kfQuNTY~6P@uIdQ6 zyYEt5zuYCR3s6BYo^G6yp2w~{FN1w$UVuFxxMd&Cv)D)S^4Ul8g6#PK{9jA?31VJI z4&`}ea;VI!kVAD|l^nu(HFAjL)ypB8*C>b9yp~ui_b5dEv?^pV<3=%K{{?*FPvQ@# z_ya2bfQmn$;t#0!11kQ2jz6H|CxpaL5Q(2K5 zYe`kfTh$|{x0T38uDZ59_-C#}>q@Y#{L-SP6CQI4;OWN_3gEl-b^$y%ml3;5Zo9Z{ z9Qm%&A!CgfD4}E>A57G7Z-S0DCF-!y@y!)zLzy7Q`@@Q8{HQvvDKZ7bF)#gWva5haeQB~yKaMeXlZ`&PBTPwm^({@rTd zuJ#Y9eTUk=PwhL^{{3p-rS>0E`);-WsM;S?`;V)AkJ^7q?R(Y!Giu+b_Mcb#ezpIS z+7GDxSJnQI+W(u{532pcYCoj*-%|Twwg0Z#kEs3k)qYg%A6NS^wf~{okE{KU)qX!(nkfFRr(VO9p9&W#M+c{JP}umEy`5SFyMX#q}m}m53`}TyGKAtHmX2K@Vq( zt5ID1xGi3PpSXPD+Apr7w1IkAx^$Rzr}6sFiHm92c>TYNiTz?eT zOT@J#t|i)g{mZx$Is8{~oguE6xZWVHUyJKvaZQTr266pRT-(GYeMNmlTn~$@U0eg= z>Jryy#PvyW9Te9$#Pxo0{Xksp;+hoKz2bUKT#e#d6xU91WiqxqTrDn3TsMg8P2wsO z*Ja|mOkCH9OWxnBf19}8Ag%^+S>n1+T&Ica1LDdQ*QdlKzdNn}intaTGS&}^>rdhu z6W6S`o)*_H#WgFg30&03}b3Nj2pCbOn>5Nyc9G7IUnU11KGHR zn`e#^HuxXtF(~EO4rUDkKRg<*2a_Q8Kaa+{z%ZDTAIH(tkqUfJV>(dclmG{}emH5SRqHPZ5VfjN>B6 zoFq;#2YgR+4*H%UZ^7`-hz~4*;-4RlkKiYm1O1%GK=u^2fMFp1^BfDOHOhWL-he~k zATrTgg)HNjN8{B%{FFcLIUuqs{2GD8Z`V1F|9kc8ykqei5Cav#WARB4J^xsI5!Aei zBdEFHSiHROSiJj^WAU6zk%L7rS$r%W+;lA72XZbu7VibKpge>hU_=$~1^HJTi?@Rr z(6Jc~C@wt~Zw0|E$Kowu9Asa4EM5)zz#<4;1s_ZRtL#|35e$Oyt;gbdS09VF0qYv# z09HBrKekC{O!l$qoA|;SUls_WAOnHcn4v?H0aw# z+G~!*4}t~IT1y}7v`ZnSMz4hqcMc#mn+bJI~46^Tl z3kD+Cvl|;g(H`OfZ4IOq^xjFBCc=V@y~pBRU=9SMq}|z8t#1pTgZFvz1LOb`WL5rJ z^0BXwZ(s(@fr=q?enTI{?M7RY|4h=kaN8b17qG*{hDks0eFvMt1egXfumCzH$OCW? z^nyV!3`W5?m;`~J9E<0Id{79&pb@l!4lwac^gja!6oJ9t9E+y|IVPiQ1;1oY6i%Ou zw-_Vt!w!7Lox!p1FUR6TU>wYV1(5MqYym+~1KPnsFb3v8;BTY@l!6LS4eCJ@w1G}= z5cGjVVBqhh?059uQe1Ua$!A{z2ORi426EN9PiG45nT<7N3t3K7BDB_AjcV zxNQvLcPLGt$MBzDw;0cR$zr@1lz~dn3C6(`2)uMLUIAu6Va8&-6-U=gIBMtmR_ zDUdr!8DjX16!PJ)%M$WF8Ki} zHc}3t^t{FR7zhMOI~WBu=Mx9$x|}cklsH(B^APC$gQh=3?)1?`{{bb}ty2L`|(7zU$Y987{~Fbn3u0$2j+U&1Dk4RVcp!npG} z7J?8EKR3!buL5D0f1`1?a_lhfZjQaiJ-~4YjDqg3;134C5Eum$U>d~00`Pqm+dvM; z13^#>%8a{|V-M)~8ezc#@O>Q~s08((6|{rkBO3jOXh2>J*A z8SnZA`3R=K60jbI59+}J$Uvv5SN7q5t$vvZR@I;VJmm-SKmjNO#h?_FgSEmJz2y0L z1oVPQknz&z-2ay*$M$j^cc`oSV7TaPXf14RLB1HE7dSf{`Rhrlezc{zH)K`;)oPklaK z2|B98BF!*p}2Wy8?fH1wYZbw2FU*E52;pqwuOYriz>u zxGVXIzL`~YyZOq_d&sl@15B^LUCB>$rs6N0^bb*1A4x=X1wWh9`eDtTGe_G$m19*m zbqUzqF5F9?_^bbS;UoTnk82ymE%tPO#j&Z=$i!dCd(6>r|EKobaZL^^#lz?pec4}j zkgUJ^i<*=FNykQ;v#^3+>*pO_(Wf1^gt60msF%7({DFU6iVHtEezy)gemT1Rt3I<7 z&;9IDyrwVF-_0387X3E;30QO;#ohM=^%i80(NBPOFb1;!1D#+5SU;qX0yCiFKdDO~ zXB;_*Jn0~c+eRyHLAyaGM?n~LxX^{$#zEXRdU4z6$8DnxclJ~Ci$7h8FMwosIx_J~ zKGsaquYwBj-*Hb9E(R8W@98D3TjT-A0|$Rb{|~0XBFOnUeKM#5E#M%S2G$fdfEv&S zdO`m$kbwYG=%t_q41gJs{S4Ox&;ceu`ZRh$1oVRFue?$HSLzo?pQkLq0*L&DyaU}5 z_SvO)C2P?Ne@9%uN6zZb$r#s}KOmpOrauxdsQwdvAm`6Z@kY=>*h3%&tY4E(&;`bT z51pc4;_if-9Cxn72|B?jSOSGJ*aiAPKVdDxRuFa!gs^!C1o0n1z6gTYTn~D|6bP{T zwhY*5%O+fM++pNBU=n1K-cryC2EiN<{Sx;S=}eA0g9jZU&;kyD7_i8%D$phQX7aU% zu*q=`AfE-f;dUN}g2kq;1drMRWcSA&F`B77rZljAPLPjr@3_e3Tr zCvB;~f_o4I;CB&T!gQpFS@_k2oiy<|SkxGfrCpc_0YFparypF31(2VPAE*aiU=%EZf^{#%Yd|Ad%0PbN3-L)1I*G6# z=VdR%+rd1j<{@C!$uDs4_(D8AKwPH~j^i|Fe>r+V59kMlry>WHpaw)h3up&jpa)EX zvTQgY$fL#{knu|51r<5CPbXcV;PTg&Ra(iyO$XD<94|&QaV0uP1Lfu7zGW{ooK70wZ7yOn@mc17ctvECL^oQ^hUE z0I)z1gg^zT0ga#ybb(%Q2+UsmLcECYt9F7JPE2G^C0^Q!hlB53nqYXGrB+v7yvPl zSBe}gg32wF4VVEVS5luq{Z+&RGI;o$2j=Ct6iy$d_lwoLC~L3;@^2^ZJ7|kwF+%?C#t*cC z36R@By=pRqDAJfgbePk7{+U%pe_$HfuWR<|>@mw~xHNqc;1B(}r;yF#akZ#Ld!lwXsxLZFYEDpYc}tCvIDQLYv-v=J9vFe(d8k#P#_B2GTx;+iex7Ay_>vlIZ-DB-+XtH+g z*%jRdsj>F9IxAYcJyPeZsB5~bcJHpc>h^A|ZEC8$XWRCM<~`wUN=>55x|SVvjnQ2V zd#tT{?y8OK3U8}zx~+M4-JWRvYj^Dl*R@y;%~7jir=>LPeeF3X`EI;t@5a5mZrf8E zxx{MTQ+rqKu82fxX+K|WB+{^>Hd+_nc6UQlc(1j|+7M|z$ye7BZK~Z?Usv0>t*LHr zLvz!PIwM0^yBqsdG=#asiZ)o`1|1L~TI!nW!j=+=HsuWOJ;}GDVRvIQF|8mv%a@m! z(3SHpT3@%Ee`4Fllm1UbIk}#C*xM))Ye(&l`Z~f~)zonJu06L|;<=3?*el5=%kHqY z-xIAPmDe>`O$`mZRaxJbOr|)ZwM|h`u&3^BYj^GK)QGD#TRZOA5ve=LcWrIc9U^mO z+KtWI8|!QL)~Wmr6aMbHy2d0(a(chxoRj5OTsXpme_PVtTPO}q9eyH}DXs5Z4zHwRa4I>lm?({Q3qyH?9j zhrV)tiyhSAJDa7_*KXfSUEUG3D6Qr?+jnR4o*mMVXo=dNg4uD0Wv7^GW)ZA;N3^*K zid5a&rd@j*_MGI4__poxZM)qUiTHNyiEeAyxeX#E;@h^zM+4to8{LNgB~k%!lb!}E z(tvo^9%{c-ndZ7ntX+}Fxk8{d?5T~?^ocN9cUxVPkNif1qxD9meB+L$I$9}<%cXJNr@=C1U zzU#Imp|O$1ut!vFud}c!Y;9LLx5v8RP3Lak6}1{8wNXi1Qed4+|Gls(sg~*-|9c7& zD}j|?Vk*TsNk%5~HaG8$HtbGj9ani0vpHD_(!IOFb(U1ibEF4Is%X1woA%bzo73`D z^-vvw_-u?eY}?+vb7vh_6MbB+po!IK#ez+!aN8*-UABoKspC>zsE5Z(x9x0d*u8DH zx-4Jf(!nz^&rmFu5e3w|h^TKs^ok!2JC)}{xchjC-ExsG-c1YhObwqVd6q&Vw zuDx{E-W|0~Ve#J^wLQ58G2Y-BFFxuD71p!_ex!D__NZp8u1!koCDz{hT{}hQ z(n+;7Lay%3JLbB>PL-B4_9(Wi-U-MkeHABnYUbZfil+CLo$R-_E4v}WbD_gv~HlZ*Q zg^8J+SQxf~6*zAFtCYukfA&b3v6Z zr7p|>q_VDw+}hc&QLbUljm|kuhsM_&b$l3AG1B&3TNka}h!mv^jU#o8&9+H3*dblO zuHB6cxpv9;`tDuPdi&ZgGT-&vZ{KM5w!TPR3r+SCt8RB=^d8+_db_*h6-qkCJuv_$(A(1Tk2}>u!j%Iy|*r^J#Vue+asuu z9)?j46_LI~6-+*3RXCfZ8PQO$ELY9SVo;-pq%wlwCdS+{tWYXSBIR%`+0-m|1$Kd{ z>L8NMiE(b+NTGxq_Q+6sGsQ2q>}0$W*|nD(r(N3DfxQq);V~RogLT!8jYdPATJRNayW>>K6MtU%h!(y}s2vedn-@Jd1d>oo7}xYY*FU%pK9 z@g6e6SD$aj@II_r1kS4PUzJtk-<(xZD)b615WPL1;`M9m9fj9nc%3@9*1ILE=DtL= zDqRb3Vkzj&B_FJO9e;tNs<=BVq|6N&f3de5ew*QY{~ddEd{-k@P-Vp+tF+JZ_NtsSs@?NsoVK) zT-)9Pcr}J6KYdYKX_n>Ro)x@f1-;eqCk)?IYpIt3e@SAyke9j^4ewvwdUvm^cMyI{ zfw#R<4)Ph)Lxy*cqqpMTteU&*W+A-vbjs`8we=Oi3mIOsqc8NXtcnJ^If%YWcn4F^ z*9vdK@OC@;f~{Ghdb=5jzCL(48`rjP9A1Ut-R9`C-jx-swTnmeEx< zQqQ)otakzaR0?`?nOqJ8b-LuWQ?-fSo3pHn73?jCUt#!O^*su&#qi$e=vD1AY!{UA zmwf1hKV|r<^{c`g7kkgw_AXDrmS%xP&AChz(r*XCh(HHLSo3hnGf&ouJ3 z6!fI?@L4mqYMm)H|Q9yIdR@?Fx^4X@ttwydCM5cxqPU#*^r zo@sa^hIjP}diY7SZ+;DX#O^#ErsNmubh+XS(!LVvK{>n%!&@zVqAv=s!|;~vlIzIk z#Cp&J@6a0hB%P!1VuttT71BA2JmbQ(>r*CU!jR#uq^AIRO$vG{;T<%*i&wBGihL*q zJw5Q|4ezoQ^b8{pTy$KyBwSx5e`eto8Q$g<^rZ8Etlr4I%B=uiui=&0dMLMhonlkt z%Sw1-Yv>cZ_{_1-_hxPX`L;fDlzP&G+%odj>{8_qugXKuEb^8V^kimI-wf|fE7((j zd?E!smGCl(bh=imM^WVYM(%1)$CX=^c zPXWAn4?X3`eHX9Y&Z6*&4DZ|(?CC~cmV%yPcx@hfrjd6UxmP}?^8k6s@CsM3ClC2l z3ig!43tXbp|N0g5M37rX?p0ph@Tv^&bt~u@L|&hQo@sc!hPPn_Jxjf}T?3u@vlyz_TvZ`E%9^dODE@jod4L2I18kp0$FWNtfI!T}$w~JnYF0kbf!I zQwnd&@LsioJz~%Az$N$6GYK!>=&|QFY<1FKF1X~P(!Gg1n}rcM z9^ngJ@*HFU#=sw@XI#oe64o)7W%KqvhGuR;bpQIq|NZIK8_bz<`u&0H@qT;7f|{F zZxdd?&iB>km4;0C<^GTRihAd^SglbJ)yd(dd<1rQal1E3M=`MFJ8Yrcw^TY22q!GE z%XGfXFc+dW8Her7%GknTn>t)0fh_+w)ycK$1frB%ALzYYhkr-~W+&lyDb_MqL}J&Z zI6|5)AM{b1@VTELK6NVTSpr3dw^IF*c_~}|?%46h{UzE?x`>2L($RxF-^kCmrNmDSF|&eN&nUc*hn`vFK_hq7!5 z9*HlL`J4{JJCiVKBfjP&o_y}7?Fw!86%NlzyZD6VBuai%!|UIyd9L;u@P9yP0af63 zzaa5i*lo8ieCE%zq%B+o-G z_LREhRZf0{(k>)FO0q(tPx3=PFEq48r?0@_1^s^)!-J|G2UV^F6~9OLS8DziH~-g) zFSkV{c84W)jKiP0O7mUwzLx)h>QclEJueHdqD=EjlrKBV`3_aiG!kl;bDD)~Ap`mfgdkGS;vA5anaZ*s+xhg{~Rg4byNm)!h+aVn7L zm3gTl!>e`iT9hHzCfFhADu=&l_@m5ys7>ZY?hyk*S7()7kyVkl=+7#{Qzam@Rr}rP z_EW(mewmkQxk20c0VhAKw3~H1yG6{k6kV0;IQ*#_HU9$bt;+RwCt14u;msS~RW2S^ zD4M1AQ0XTPIh9)9!!Dj=D3>0YPFd!cBA0ooe#5VG>b{ zFW|4%38z}qKGo$mAo0rhsO=72jw{(E{{#1u%X2$hzEU}sB5ySMSE?srmpnOsNq4(T zevy+NYqu-ik`8%p*WnS*xJ$lL`OYD4@d%&ExWSeu+o{UmC6_hu?oH(7F8NCNAmbxj zKV4VCCgD4g*Bkrnc4?DT`d#vs%3&ONl}GyKT=JFdmybBw;a8H&b30qUlKth#%RKCl zxa2F@--*1)gs-#{ZjLJb$Xh(pH|~;47wO(4{2X$x{LSQAY|B?Fzk)U7GCs1yC)d9` z;*TJ=^UtfEcf+&WQ?edO#~|{WRq{dNnRLlFaIQA`#hT?_Uti~!;Mw**>hLT-cm9kg zTGih8OS}b)Co&?sA0cSMCUO}cEgHMT4)-SVh%0<@`3S$$6~5CBEcdmHFYOMn6#qeZ zHO3AfZCY)@`sKG9MuNG!h|A_-sYk?~Q^9-W?irNr4uKP%7e@{N4V z7D+sxQTH4AhTiy#{pIk-41doi8%p8;5t$@cLXl?t`K6bb-Cj0d;M#gd+CH_$Y9v)?dN3LT!>xec|z|`%Y6G zB;N|*2b(nim4Xsw+&Pw{Cn#WXj!dA>#I?uIyM(!@R1{JBUd^8CRU_ypH zw+G9{Ncd91A2Q)Da;Mki9}{oz{g3E_E@iv&h<)u6{w{6bM$X+^9w&XsM~qy`OKqg{ zHYb@XKgQvW8D74N$9Txj4qp`i1$YyNCvyX8qr5SfX0HoI-I7|YBoZ$*-(_(-hMW6g zNeojQoRCB8xnW^%dJPuy$QkvFy$&w=C7lt*p!N6YbSBS7Nj`SEOew^?J@74N;+~uInSSv9R6@iY%M3xZHNeppGxfJs}EY_;yE9G2m%lT+d zIfUT_-lci>y3%!*O3L**L!WV-=oX^uyjG*)8$eIleOk}wjX(EKK|lBP_C$%;H3@IR z@Twi2Dj~{F`3P?bUdH`eUzNiPNYk@#d zjY_N=vhI!jt;$OmpI;5vE&p4zGTjH5uE(_g+my%<)J>@A&`rzQtmMipm458)ZP)3# z(5VN3w4h%yN_7nO_-eIz;X@DU@OE*TRI7R{b+y;XdGwR8Nk1%k-eu%Jbm9-D6`r8x z2yRic0{#W3)O3C7CS3kL9dFRqN;}u{R@x(%!!QUMp1gar?$i z`pxf4J_huB_43`s?JIdQHw<&Lp0NtKW{UijHd*Xf{ab*Qa&o2$I^buXMAS1ufuE`Z z0Y8lnzqB*dOhLeJm}Un0eOlKZeNdGl;D3kKqWYm_TlZ_vAM1nad;$3;-fs3}p z&Y9TPxqK#`s<{Vb{zcBds}Jwi2NSMMpV99LrB)vv(1#Bvcv4(K+2%f|8f+%EWm=!< zCDratAMRIut1Prq#xWrxHgX~4ppz~2TIPjwKCA1;7S7d1x#_Ibr^1tY;gI3=Yi~U- z@@Zv~@)4f&{bPoAiHny!A6)=%#_*QcPY`djqfYftmGBk~Z~3_!JT(wA16hf;72dqz zNqbQnJQ_IZRo6##-`WQ+qfe(dxt>e7QJ4HdyP={dtn^%?Dref|C%9^-8TS#c=5tyv zLxY5^fHRpFt}ya1+fwv0|D|SV%aulTQ4C0W%HdBKzIz^?=TKAxtw8LJ!iyPRvtzH! zH$!CUp3FM?znU-~S4y}6!Ueye?agxf6B&(gMbuN%R9cySyjFKD(+N7nf;=Ge!i)V{ z&vW7_o22VED#O&N@MK4!h|@0$N9haVzep?wGykm43F-@NReU z%+*O>ql~}sXW<_*{9_J3=%CtX?s}Pk=(C|ywD}LY<=b^>5zWb z4u6@G?tpqeNe?R2)!LodD{*u^qT|2X6<(fA%XLTHc?IrPja~TV;Lwof`yIah+(B-) z>}u(gcG4>Pzp42@bMezQs;j)zdnrN{fdyAKiDwWLeOreMIN<_%d@BZFoiUfcCc~ep=XwBVU=2BlrJknY0k|)O_>8O_a zZo;o5Z$;kgA@4!nW#lWRbJ!(cN&htRHjnU2F8NB~b7?<~9`+R@ukp}d?UJvgU&c2T z9{PKbhdlHTuOXlIkV`#Sa>>tj>Vd4Nu`l1M56DaBe$v=M)k)Z-oJ)}xtzu^-@~}%j zL!4@({iQvm+PRENr90WH4|?`d?)JpfjJO#jbLQ$%C0_Zx&&c<5yUsIe?Ssgtkxv-8 z^iA$f`ky7_z7ZY1n!2DixsDu=*m&nc##w3mPH+#BBwQimnf&knpM?{9WL~#oRENWv zu!-JIJVQqQ7h5X*6ytGHuLhMobH~S-xRP|s`xqHN(0bk1D?P=cdp6cpp^0?4%#zj>zsuq`wZsD|%ep_YQ{_@L!?QrKSSx{#W$M zbMJb?Pnd7ew>?UO=pBaFYk1E&dhOXL|9ez1YC(j<9Q>Lmv>ngjR-4${B^5rXZ`Oix z=O<^|^+7EL2>L&%&(y7HP)|h!{U6ny)L04d2Yq0?&zYp7nt9fVAL;nyw_+x~inQ-j z@3-hT52f7O;dMNzc{7?N`Do_h^?jXLOJ=f6kJE<<7o5=H=ACdM|F1-SNcl)U&B9wW zyr&(WCC}+8Pgau1K?}t0Y;Jb?f1>p!jB_bhlBS4acQL%cPc?6g(|&^fDaDh^tK^Fg zB?;iHlyFhPzw`|=s%uqkbgjQhWx6(3;92x&s6b;wDBQrbx7tcb&jg`&%9{IFSWjpIpwP6 z!6iSjkpsh4IZ*WWu9&?YJ?kWSrpmyG*=3CC25 z94J&d&|`8?W3pM|&7aZner?V4t69{LR0_$PoAp5zWeAhoK_P>dj^Am0_t_npv?G;+ zK^-QjhkO5xR3#=y4H|Xe*y=|inPd|Dq8wLGdl)znwW->c7V)rTAO zK|Lu6>3Ot}zO7%bYR1mQYN)!HkYCMtgk+rNq(~>bo5MKsw1I!>{5Xp`uQn-{4+uXf z%|Z@pI>ye?&Dt-qv)ipbpG=Uc3K7)xBIs8M3F@Y!UQiRwsv!kUOV`m$`wM5%pPX<^ zz1Mw{Q}08%pID`2OsT2Cxt%xYlKyNEeM9TCzAx!$RDY=(o*7OUe~EtbACcxxSA zKpHRO$z^@%IQvuJ6~LQMfmaEy=oB6A^7;_QGwOM$j#jm!R@_0u`;=p!>aXnaqolVF zUccd;>F@%oQM&YvYp}w8b5^wG)+<%^`({ZxH3&=>%oqwh9 zTCz27gUdcTZJVa%J0kGf3{U!NwJneH^gOix`osagN1{G?uw!wbAZ z+hJc0ZMx{0bIEVE1;no(c<@Rb@^2DWMOz? zhIf^dkCyHSt=py6S|+^2-wi)@noh@{qt}x89h)ir(y+w;O3nL%!wdNJQxx~Kx~gw; z@O?R&|D>D$uv1Vf{Y*CW8{W6vye}v6is6M$*ZSV>jH`lanQ6-%lh_%C*OIGw18#j> ziK!r5mYGmA{!)(J@D~lACY-Q|eS^qjM(+A9LO|cLIOQ`f_MNHY{ezS5!L*-K&&>rx z>`Tw){_!=M=gRMZ|MSW|H9u_IC;USA2UFyWy zej_J~6E;alrAz)Tc}M;^I)0mH=&BwUb7ITiXbaF^=c-6z zXBY&H9&P~=HnFoESVq3Q&H_E$>@4?N!jn3ivj$J%n*;&FORl$4Zx(>h$Ui4;*`yxO zu8AzUw}OL)f2m`?l{UiEpFC=< zbUk=8`oyL|(0jqk`6BX3(B&atK;Gsd&zAb)AumKO|7w;kxm+avO5_zD@+k7qDsm~; zZsb8De+akQ$j7t?)Hq3XwAscxx!feY*w9s|?R&=XRJ|K_8m90{LD_|xCwZba;$a+N zH*=*cg21{+^KLRU(I-xcs}t0C$On-3t|AvZ#=(q{uQrYop4b>mftO33&8NUCg}0aj zFCt~|W}SX7`=s154DUvQs7>m>Gi|K$YZzY0@RFZn6%c6JC4Y&;Et}|J8iIl`i*{JX z!inTdCT+(m()NXfD;x81cdKqmpNif>ctwWinqQRbm#9@!3#w4zie7my;Gp66a;`S9 z8JETjbtsY zPwZb1`}yy=Y>$~}B%QLZm@fBPwP*f7?%BltJjRAohJT)muWl19?IC*0;msJ{lP;dj zS)q$n73@{sYrU=T+b-93tfsdVJ+eNg!|;CVmz_@gFuWp%C#yj1;k&vYDu(B~QtRs_Pt``broB%Y zBJXE2F!q1NHLTIsal+N}UwGNB!zL5XO8bBcXUTab=z-UDjplVaydd|D++L<#1e;MX z)24Fva($*Q4ncpL5~->8pkGbC1@(z4fAo%Br}Yj?8f0VMG3`{PBb2s<@qbBHNW7(A z$|KLKZq)qcah3?#@_?+5vE>cQS3F5M55MdQ8_^@rk9v)sGMi_Ps{cbS|FM^?I7u$? z3?QF3a@Tv5!L&B)HaFa&N8Sslx=HJibN43a3oiNc{kS1XJo5a=4u72;nDnR#Hq)?$ zC(n=COgvsZd4ANt22bpg_W~vi?=(AJa}@c2OTN;$ecUC#!0GRTX4Ro;3gzfofET-2 z=T9$rp*9((ot>`oQBBtbxve8lwVN46+&tG{uWJ}H*(%4230%rOLQ%EW_hX|@`V%!= zvGlyYSxl}bhpipbA}qy}e3a)$VkOCnFaR%btB$8%g=R;&=x3~Yk>+i# z!IZv3(gVXSYN*8?zP>+D-CUpt74lv{z0rG?s~z7XX$)MgLe{B}ZY@mdBQ4Q)VOP4M zHLFFB_iA*J^h?mI*`~(6D&bOIeb~474xR3Gj(wJYL=W$-G{ZYJ)^ndUD}kPU)4jSH zt1O^zs7C8+bn1!uj({Fs$}1!!kGT!@d(<9*-I{f~FXpCfrdI1IciENpL)9KFOjrF! z7+ywL^Q8ZAZ&I)2y?`7emvVM*Qa|LqfGQ)u+!j)f_bRirhw$XRfJVbR(Mgw;mhRXi zJb5pms!rSUc}JhcIwn$UDIekG@_c5-@Z?-=#7ovJXN35d!iyPRg`uhbPj$_@{z^LK zy@0?@9q(&xo;iwK-V3mdT&8;5o5%-T^5u1>h9q{#djWR%SG&`{&Pl)MS%8;wo3^9T zgtre;KG{5nsW7n;r?D9nt+i{8+u#=Xy>M@E>(DO6-fko7km!?)A00ooNe% z*Dd-C@6*~_Ur)N60vFyeyqep!J};hp&uc0Lo_x=%;ts9vVJBY8|5-_grFv@cIp} z%*AuBW0rcb1aHFdlCOhN>A z%?rVL8H9QZPiX(9k|E_Q-}8#yrQ@v;owA8ueRWl*#q6iyS$CU!q|a9yytGg0{vhq| zdVZivT_(~l^Q+6rt?EqDm%EFyVG8N5Dgbp?+Q~G}i>!}&w-c%7>0E593{TG8 zo1Evl3xGIqDJV_kwCZK;Nv&-RXxgmBvB$$(fq(YZv_=*LMEE z*3US@teaEe^;N*EAArAT_ycY}_wU?rstj`TXW_SeLhJ8zuIEAh{7S79qo!&_l5g2` zW>Y^KcpVaz(#Jz{wNMG7ZcxOdj9%NMR z9$TlqZ=Dn*iO4qe)#m3WKCAV<#qiX)>k1PXKPkUbkkO}k$^EpXH|&yc!>u;yPt^px zrB3C#)CodH&v%qBJ1HkUFC|Ns>}0F@H;j0~@CV)ZS?g8mRE|shv!MP<+P-SsY7@Qm zBzA@iFO#zCH9YtHp>7Mh#D!M~Z_4nV)!M|)pnj)R7qsxI;dOmk$D1&I>P(Ec9bU%3 z+PndHZH9N76R-M?oI4$p@WxW$Ex`+XMaP@((nmhq>Qp}GaV^S8fhYGURtmf*y!;e+ zat#a`-dQgDlGmw>!YfKa-yFP93i{-|in0{+6~n7Yfft5XWq7-sbXa=g$WlI1Ut|ud zHwE4xyqMu#>*x!piA!Bgb^i=6@YS{JmGr3{hL_Mj^ez0deFgAFQs7m>TQt0TT=wa8 zFHSpZg;()4ZQp$kPmSLgkuAsD2e04oyz1#VyhADQ)}QGo6*S&0n4`k#gdG(Y^qQ9mVh}3@_iY!(LzF|A?yqL~lg+ z-`09tmC@`(FJoT2q;m1GcQGH(_9PtAM8;aU2*zNLJGR|s#+@ZRg@xhkIUszu+p*7trlPfcxF z%13xIKX=gZ?sRzeE9%R<0eJI<=bC>C`k$AqR>iOC`y{;Bk954Q?~_`>qhYAglx5

s^ai-JH$oyQ!lRCY-oOIX^a+Hs>lU(MtDh$uEdFCi``EG|TPoCcqd9_P! znQ-<&i=ExkJyT-*LvBMbc1&7*6m;p{)kDBYu@L$^_1C}wATrp zKOb=PTJqG(J%3vauh;Mz99}@iHFnHmXBb}0@b)kUQ=7E^b9DPxH}sbFmU`9=KmREm z|6|%)+N&k&&Fqd{c=Emd3B$YF>3^-X3a9^&e4Z73PiuYdalNP(xqNTG-b0>;yx&7! ziah2a4q>zahBst*w>kPO`R%036?^cHwkoW)XenHYH z>$_(RFFC(N-h+I?Lq3dr#6v!f{E&xy33;!FT&?f+kQXyJYx9s-BX9JOw<53ckoO?3 z@Q@E94|&L^kq15GOUNw`c`ox>0S~#X@Ai4ftC7#IQjb;nBcJh*_aL9}kPjmt@sLj= zKja}_LTHwNhkP3OArJWya{KzQV)--Z>hcI* zjJ(Z5UX8rbL*9zK#zWqNyuw31j6CEapGF?^kS`&(Jmk5jQT`tCV&py#c{TERbKOtQ zU%5WDBA+pGOwk+TS2Zn6-z=N(`ru8i!ISzl4sT+W_(VR3e8fYZ$<4(f4|xIdUJrRW za(g_KoL-4Pg1pTmd?)fo5BUJ{8V~t6@(K_69P*HdJd?#|K@WKWa?3+rjy&KYk0AGX z$UBkGn{n()`8R-k#zQ`ie8NLMhkV3Cp2;)TLmu)1s9a^zhe@(A)a4|yl@Mi2P_ z@){5MIPwY)`5f|)hdlEP%6}EPw8H}AmXUk4*GhOfhF3v2waI)-i8KCF?H`_Pj~A~G zo_&9Gm!t2v`Y*1e_f<}NyvH4{TD4^%J-iZ{F}$ z8~=;GZg@qeU-i2G8ir?IKfLtK!s|~#UnZT@gyDJVD}-=HDsol-kxv=9SHBQ}H(_{Q z>F$PSr)RZ%lynWl3wfk#8hOw|zJ%QJkmtUJ`mu^!(p`+)XXLA;TkH(O^UB|LA)9uK+X*RV@|p&goWMkMKZ z#4Nm2(wBL5YUwM4w^sVZzG`@O`c}&a;kCmXGWoE@m5${3)&Y2Sd3y0C;o0@ki?;+X zXzHyOFApQ__UFYbhi6~^T+db1dzJRQpQJa+Zp_5%#p{7*_rG4eQFv9RAFg!epZj^O z#5>2X%kZvu^FoQ^((DbC#~S^*=qrYI$nd=KB@AyW1zsmS-?YAtd+8g5m!AS}8eWCr zd5y2rUq}C(g1!QHy(#c2;f)!dSG{kAH)442amvH;tBP+aA9ekMm;bAk$2U?AqsViN z{C>Bd#>9E)Ie3kR_kf$H9#vb)NAzXCp7Jt0uW?E-JnPrmF0XNa7+#s-dFktf*Oh|4 zL3l$c=$nS;dv-XX*DD%VPQ{VC{cg%_OB_Ic^+ z6Z;I$EC0sfH5#5*c`U#?n1a6CbLel^&?oh?6kf(}R<55S4ft3UA8r-tXj#{k^^Ae3=vbey7vx#mjyp_1EyCj=q5W`Ph9O zD~9Kr)%wD29uMH{1rbsnVR&UJ@H*jj8Q#33&+S{r=tK~#dA8|uRA=;uit}KK9b%_crn9kb9e#y z1ejZ2E4F@Yi%e-;1FQ)a)xp_}Yybf;xUe007 z`>?|c=(l>EcyrICJPgk(|4QKB!tjeK9<*`dkPvXHLgk;!5uwPV-Rpsv2I%@Vxr>c6dc8=o^4nlY+iUcvXh? zLB~Ez-t2eRgC%$qhS%rjeK3)icOLrwsMGr&4ln3`Sa?pqTMp0nr?q)ec>RXwl`lQ; zdJXR(Ctmx1;L1nZ$0)pvKkInC^v#KVhUYaOmras#QqWfnFJO2*Zu|Bn=3f|IM+*8n z;kBipZxG&M3i_tu%^RNAbte6M>fgN1ziXXzB&?^F>v#dY8pBJzj*Gk;dBrMnDW?eX zkdaS0@mT)vC0^&d;Vq`X8-{o2FWT-mo?sNpx=8s}fmskJ@y@~<`m5$0a(ESK|Dt#m z5>j}XZ^FI>&GX8yLUzLy;mxGLi^9wJ$J+7sz^h1sHwy2d z;d$9N2X7<=UUnhZ?-Y2&@B;tT>F|m-46n%WT;KPrkpEaw50>j+C%l^HwLUN2AiRzx z&AZa6S0VEqtdP_TsaMnR4!xjxN5xY%sV~1vtS{*oqVGk`^Q!j+@Fon;E4`KQ7E|E0 z!n5K!-fC@~*k}K}O8H1S`ruU=-j^Mo{oR^n-Z;D&!+Wd4vwr}ke59XRfS2Q2RNnzf z?#Cp)?2D+MMxN!$U%h@fr1S`{7~Z_$ZF2F_ELE)f^XvFtp+d7GoypJnJK^~Z z?~e{IsNZ{_GiMWhgYd>u;7!BpO4IRrm23K&8UGrdSGg9z^QCKjUc5?p`G)5eZ!5gU z6!i7MJ7{=e$pqP?p1AHaq+G}0%@|&Cxr%%a`Gki&vxxp-6}jYl0rEpe?v<`ec#DQ- z5l(H`t6rZD=u^?x3UA)p`zvv6Y8%sf7C%nK*bUH0pI+F8k5MGAitroB3+cdnO;U(7xv1-&D9zNqMXsZQs8ZeG&5+#VUE zW~^TB!xEp-)9C0?f7Nr}r_aJGGJ3ptnU^yDG(4|#7Q!1_gD3f44KHxw%Jz%A6}fK} zx#VXL@_7@FS3MksS7h|mIsI@=+6}57u0fURH|OBBouut?t(UJ!3n%iji|G$vrg>iR z7Q?eLHE*?gDCr2pD>J;mh%vIsb@sK-jv~a)yr{sRzSz=#an<^Z+Kqin|m4QH9W8KErmB_c&~TTd)z!z1m29{t=8_P zzI4MYIz^|$%f4ZFZHAYSUe|R|^v%K>GrX-X`}D6c^aV+HnU~Yv4DWiU9a(Als(n}z zRCtB(a!%FudCgl@!)r4r>&H}yb$9V!}GGQ9A1Utd8IcBugdTe+7Tc6aL>>5z#B;+-cfil z!>jh0P5KQ!MCR5v2hV!N+WC@QLj5zm21j4Q_x7Y76vJyXJg<5Xh8Huuh+7}uYP2(2 z^mW1uo~G^lu$!me!FB5CAiRFV^Qs5a@B**Y`oeB~N$n&33d+OqyvnTrUX9^-jpHj_ z`n>X`72b%^CzpD)QEqoS#ir_CAH1m)(lHLt%2_+T3-Ia<&nvyTn;D-Qo>xAX!kaQY zul5mv=Q~~7H=|RluWvtc5-jzg8{UxNdD%A%ZzKhMv+!EZ(D8o69q+pnh!*lyp>!KEv}$M?1Vl!~2Rm-j657I{>dOSI4_r{mUi% zB)k^GJH^&#jv`<1kmn)K=AoG#-qoKRcVAu%?~sXSwddEOFAOi|Ol`N9zD{@*hIgB> zSB-y?-jf@IchK;>uFKQ#Mhx%UZhZrZnv@bS30`k)f?VJZhcAD`C)hyhW9Zy@1ewYGYhZmwL0F_+Kt$k zS;qXY;dQ(9y(h6A6v7)aJlFNn((nCRDx~PEhUYtb?ew<8D>FQ=avOlxXn0=vG6`?W z@VxS630_6s+WC@4r(R}wOrhwF>s0dl@#XMpQqUKLS7mr!*S#KijfUr{e?k2mHK^>6 zd>(~2mV&-Hcrz*3mwh$)XL!>lx$1uHF{uYmyv6XkHmqH~VbN!Jr=MUH%5w@I<7(G) zicWYFuhaS(+`RHc-XOf3e9e2OW1r<`fa{*On1FPnuWhgI8sEUhQ`rUWMU#rFQ||!4&l6mQ%ilSK+p= zMA92jK2rZm;SHq_Zv>w2jXJ$v`P>aJ-|!OhC28C`46o7fsM>myc~RE$xyRMB@D3W@ zxVv6`LfzM?3N7i##Hi4@+P({2`jYRP3gJ~5p8J1i=DC(7K}BCRyqb+Gly6cx+TryZ zUZn(jCx$nYL<^3U@3C6-4uya~hmikp{o zU)K(=s#wSCm45^98V%2@JSO2CG`#zrc-40^6Z$`R^M+UK@GRFbTlarA(jRQn_IcH- za(I^Eo$lz9=bU!5N?#OSj^RaIJpHBOfbx-kw+CL0;eFW6OPUWFg*Rn*VK*=7Ix`2) zx=g2Iznhn|-Y%PqP>11pl}9nWUc>V$k1)J3!%G;KR3_G!PI!UKwS8W^L3mXu@TSE+ z!~2?(UQ511@4hai-^6$$q~j%s-d4E&7Qm}9Joz_{+Tf*qB(Ysq!dooS`n-6p@VYi@ z-j9qrb=^<8ZuP+{D%Cu%@)(C#kpgc4UcKR!xZ+jSz|tO4|8j4}z7%++@P<<0Mc~b( z!0U#Wu|=oX%f4ZF!4!D2@TyYaW!}PgCZ}2%hcjR-O;My+Mc)u2L zVd5V$%V8K?QA>Vq7TlC^&yVySbKhhY+=6lUd0Ybfu)cjISZvh4MB_a<;*L3=RSPaO zE^htV3T~_bef{7@jQi&(-XQVu%>9%}+INZC7snk2w`N>iI<~;A7>6x#y|AA3pSP@n zZ`Eb^da1@+YM66aKN}$5G(Assf*kAOPH@}C#m&2h!F5=C=&JPMx?Nt77|jc3!HpT` ztzUxd{nu4+YX#^lxg7J+R!wJIytUw3jLWF+@}|i^?3MNpZqB#|EE&>n@6IgOesJN- zG~SGPu>5X(l-@~jea3nD7bN88A)gIhB$u6}NTYkIlH`?$!yW9I2qS71GETwHx> z1Xpid7|jb)#ZQ!ZVTw^OU%IL96&i1q&z+FTjZ$BmavAgBtouOo;0BDtR*qh%FL=zs zZO=)(>)@u0i?gq+1N#N9%x_;ExT#C?+t&_m)3`YM2EkRnD!;yIa2>|IuE;Kq2k3A8 zecvPC=8Su_&t*MNw*xNOuJLA!qmqGvgk-r@??e47fNKV~W?Ywq#uwW!_H*61M}58E zYA(}wzYuZ9te?lhEf>Hog6q3n^*wfvDdhR8KW2_E8{m4b$RBUTl_-yn{9FUL1>-Wx zLpDqUF@*hSC-v=9eYyJ4LC8x@9@mdfgG(A0*B*~}`bI4~r2omfkF^7C!1Q%ST*kRt zDgUdmel;#`yln=zX54cPpSG*!4fSIpe+*#T#TlAGZOn<0{qn z7N0|X_vZr@$cz=^CVlQLnOp<7j!xD0)rdRhxu{NXrTg=9!{BC&i!0w*a8t%jMD;yY zd^`Hly*i<;hCQp`f@?Hh@4RDJ+$vm1lgX9rNBikg?vhAfSp2L^t`^+P0p%X;acpP) zeX&+>Q`ai@XGX${{nXDg`>B3#1J@}RcVBFh_H`@wN7Y7s^4yCb?_qE)*DJRgaX~`v z+Xdpo^lpJGJs5AF%zv&%eKsyvyKR7c+2m(O@ny`T7+)v2ZR6tl#bI!%8`Q2ZMEZ{D z7iYm8Er44EH`0?|UkL`;`Wy3ewcyqY;99{A9a4P{Md=6=YnlCVKe&#Yl#A;>C&A4b zm#Z8WA)hk&Q=|Bfxj(Z3ZpOH~BJP;y2`f-YmAz_L-2A8kT++C>ezp_bka2PS;xM=g z<6_%CxH046_8nKjEf^P<-jV|tk8jrW#@Sa3E@d3L7QHyWXYI4Lf*Ud}uHWtlS9FWU z8`p17f}1ifF5bi7HjRrLr?$YAzFOmrqTVHHZ-)odZm!KENr>ylw6&7U!#>LIw8^KK( zcO=qx%sKmRa2@>`?{4D-$DL7dL&oJQhgrz`On%gl@4K1(>nga^?HXU4T_x9Jd@?RB zKWf3HUaR`z@}m`8mvKGOJRwzlUgkQlAKc9A^4m8_eFMr(MCq0HuKV-0!{FA8^L{5b zO#DY?zHEV8x@-N#(Be>GntG@4vFFi3oS6TR5KpU-qe z`w?~EnhN0B!3`9^4T769E-oF@;EL|dZ{HDc^#yP{;Cc$+s!>=|1#r#a){KiwM=!XV zyYi=F99%~M+#JRHV$sVxO;p~B2J1A%XJZ4&70J|xba{E+@^7H<3Ytu zsPA{HzPRzA0o7kc((@4t0|tGq|`#l<@eZrQlEMEZ_-Z^=Fe-Yuz4K5Me`%B|84}=XI$KP&<$?HxaUUk9`jt@D7dKtxOs331#s)&R*ZXQ zG#?F$A13qBfTpk?E$hSheV?ZHBM}!C-zr?_xH@oMqspBgaY5oQnfccauIK*z`8Nn| z&bYXInFhCPTwM7c0k>q_c{G|A=W$u*f_K1e8W-1(R^N*H{x(fVoW5po1IESm-@V|r zjf;zS99+lSHQu;!cM;r>adG*#0dB&$J2h7{U*vp2G@e%6hWYoH#v3>8Hh}9fE_VC_ zH)h;!<0;pD!{FA8%hkT8AzwCmZ25y*GVb$HI)lUqGWTD1z;!&J>GbSM>N+^ekLuT; zJsKAmZ!@@w0=QmqV+C;I;6{vlz)wfkKFA`t(syV&KHzirWwyr+>ND;^pOf<-f%vc= zsOZOh>Yb`DBmX{{sjmUtf^mQJ^~riu^|4$#!HtcpzB0#|OZgz=LnhBv?vs%Bnfx0r zJm(#s&9vt*xZqtHPh2@|fvYs`)JR|QQmWHpm;SKo_DJ7u<5v~JH-hUkeYx!KguJT& zyN1Da80WRSAmL548Q(0pCF36H>^GO?cLege0^-{NH)Gt@P7nJ@Y>c@Z$kbQ;TJ%@O zJ=^2FpRJYrY6h2lx90zD{SfW%1y^HSuKF+vd8Nq%7oWM3{yg#{dE{Gp!^s7vn|7xcW>z?cln8uIWA3Fy~NDKjdR3 z$B?NP^;{iw5acEqpK)>PSUz*q_8%HwoW3n^GsdB5M)BhJW?aX_c&id9ucN9jj%x(h zQ2^HsZms}s6kPH@HQv|z_GPWx=fU+E7iZr(xMkz+_Vv9wGreWSSWo^}{`{*0H)0%? zczU7Su)l-i$6+C4BJ-~u+)?B9dR%sW8w8j9g~pq5oVil|kcTFZt8a(FO&OP~zHLCh zV)D59QBi{UHu9Hy1GpjM;`DWbTPr}{Fu3|(=Fk6Ga3jXWmHR5VqXlp!$6-I|SNYRh z3vSG~xb(Jy+blp|Ke(n}=Z|+1+=Ov)@g4@ZT>!TQu4OZSK35%&`cwed2(IWi`So>! zYcnpcJ&b}IFfLbnn1y`8-o8w*-r$ z%>wk*f@}J-#=Bep&3?BPTu&a3^W%PSW5%WMzkgBBIOKCCkL%|b!G(XxpC23Gh6>;+ zu-IKIfNKC(U-SogzinLpc7mHQF0Q^0gWEPPuAa<-YuTgm#&N6Qri|OIyjTt;<*4t* zrTjv`-zIJt@05=Yt{L3X0=Qmq!SVUiF%GV+0B#Z7NCDgixTONPibo-HAC}*~25|KS zaGl_KjJwJ&H}8RMw!>j?bH)XZGgr#rlkZmk)N=&frs+WuXI#{?1^JrEPMqJ z6~Hxv>nnik1vgUwHxBM-0o)?E;Nkhxu>r2F0Is3}?Wq8+0o+mnTqn4qN93<3!{C~X z%T-UNJ^60sFZCbXfa%Fu{~_-&dEB^Ih0Xmj<5Eb1f3co5Kt5;kQ72@7?Ck@R>jW2; zY5L>Fr(tkI#>I{6v*6Z@i(6l=f@^wY{&-6sgZYVZar2m3aHZw>^|gZQFfJ|~{ov+| ziz|moaBIe;Tt1u2{9S~+=tQ+Et{gVN^%)me4i%3@|6yF5{SDx1k{WMZzIB2dF)mKu zFu0?}y~?GN_n$DnyXVeWzh}V(kJ5PC9cQlee~@>WJT9F(;O2~b!0BQAmHU1eEOAj^ zbtUTWNg7`q*9>mTxVK1Xd{Lh~_Y>*s1s6P8^~KpY4zAC*Ykhs*fokT*BDe+Pa<%t$ z$Y)F*S3k-ghw`jYyW;Y{4qS(Ex$?gi@(Gi_$+sI1{`&jt{oqPZ*7)xCIe8vF%CAXq z0|ju0!EGBCm;YPfdLENM|EnI4{=ERM5nS+C)fZPz-Qc>6%T-Rpkhhuqd0u|twnTcK z%=$PBuE)3+dYnI>CbtT1$hf$2FL?ssO11yhk-kuW7cmqc*0Wl0ZN~LE&RoXV4EdbN zz48p%p4{_O)YA(te4NIYOV23eBPNg2GY_ux@w@9;g}lq;ae7K%)LM+5YRFSh(0C5G zbhBT=jcmVPY6drCT&{F=Lw?lcuk!U|^>3r#f+~%#-Ernh`9t1e^0;)Zf?F{zmpwa> z*FRC?`J{`du{@P{AJdf*A0S25PsDg&+>GPQr9F+1cRWe;{EL$}mbWB6PdzQ-Lp|N# zN}sIUQOB7}J;RW%m^`i?&VmaA)srh-M<5?Dd7Pdda7SbGR6Pmvho@*fw>x`z-d-A7 z)GivqO&HhfI4@nDkQbezdS2t?)Po0B{dO@7uFbey>6(Uo&g5gh9{diRujdH3@KlX2 z-R?bmwjiG|`Q5%AnYTshs(LcIh3eh&xdHM%lfN+1ld-O6xpsmZDS#UWH)Y(?$)*tF zXYrR#W&)G+sW9*C`}K|RXB}&LzS>)oFp&AYQeJvyd5GJN>F>)q5`{7zh4Sl>A?{5; zT2zZ*o%kdhRL|9>M#gb{Kg5M;V<2Ptn8z)~|Eem6NEs90c z-3?~N_&a?bIqee8IGI1G7iqj&yBw@~n3fik?{gydua_{!Kzx|~ReZ+saEy=7I-i&KB}nl}-j9Q8da>0{$C*pJ z<{_^)Ic`yAT#|msYfS!YC#79@-qlSIXg}-zrg2_>93=EyS!0x|7}LSmfgee!T^aKi z-B-g?IZnHlS10&o<9D-z_6~y^+pBt?>DjwKsvgpQX2DGu_i~R*oE3r0pH*-x#%0f+ zDBpp6DMns}`~Pz$&#s4c2;Ts?3xCkF<0{F3rg9#txk(PyNES-LGF&gh6`iT+^y`Zs z?y{_Kw09ceYAjqXdw8Cq-sFFcJtZZWAO4m0Ncs_O%)(u{OZuaB*oJkQW);jZ!WFZ-M;&oe9- zw_ATfeLT-l*{JFF#-TvZ4F(beIi6?eFwUD_9P^%To@bad?&%U5U+6#fMa@jwBhND| z7)SkbfqPXJ$MXzJ#$id7=DclP9Unb?*m6vB7*5?VA>6!YU!1;ma5ENfTt1iKKL56H zaq-rH+cd7jvyab@xt@>t&JMhU@Eqgi;`|T$378+BS6+W67B@GS*TYYGa44aj8~C)G zukrf*Y~muRpt3qksy4B+3c5#(KimABlP}-qEZl2d0OY&(8ZK>rkR>lrd;Tfn!o)P~ z(Uh|cy78GZ?g@@Fm-1mx&j0<3>7K^Nh5t7vcRruW<~=U)THy~O9vOjj>SXDzrn>M{#Wl6VkzdnXlE*(eVo9DiB64*1Mka z8mz%?EU&>oc$XK7pG^=>lL#&sflgo5KOrmM;CvCk!V_x^W?cA;BEIA+HNML`CF8j6tA!}-^UaZeQA=!<%)J-MeRnXt3k zq^YMF+>+_3p{IAT{dPmXV)E~!PRhmp4)4WBe1OxN0hRgX^Q@is1dX&%oyNXV33*3Nl>3l=G!GbYke6PYhWyrV}SUemLyyc?w z$DDsn7&jhqK?3g;gN5m`rHJwOf=^zicGi2mWI&)E?MVh};K4dJ_YZY)w4*I`aF}zK{BP zQ_`;`+P#iV${&2{O6A=)nF~gJgP#0qC*U~NBoRy3Y1LEe@htcO)Ax3tABxI{@vef~ zHZE5=??7IEmD*KYVu}!N@t^b0D`_|5sJuqQ`*zDvknyXt+U}ddw;BH&i;ng4KxDS| z50Lc~z>R|&GA?7@lGQISf?F`oAOC3r)3J`vrpbRoPhQM_bcif}O^#J4dnmcx0pjaM`1_L4Qj`UzLEHw>79kV!{nzrIqbwHvg^Kt ze_bM-ciksv)acRP|uNB;KkJ|s$DBdvf z87kC{a2VnH!S&s!+~p595aovKM!8Ey|6lo*$EpH6Y=l^349K zo!0{*zh1r**NAh4e9PWKaIyR?-I;~x5+CfiL9J}=2g)D&txAO5U8Occgyp zww`6X;b;4H4UeurBa-CZ~v8VXFN0d+PIkS9b&jGlN@ZnT`FWg=4GdcTP?pC{= zZR*g!2N-uyGt`3|?e8jpqx}QM6=9Ac7v}NBzd4@PNO>_GqxiJFMdN)5+Ok~iFVB&! z=__Sxw)n>h$ruyoD~G;O)px7$OowJdAU>?8Ovkcu?-XBpg2T9g8k)e0EF;~$5U1`} zy|??kuIa>wddKk@Gwur!7wY{cu3ud5rFG^onEJP=-t2h~^LxXScSZV=T2s`69LL)M z)AOE)vn6N5HGtbTu0P`BJ@IZHO?{o?HMYhF2!-vQJ14&~n`TJVMXqU#g?SCBM+ zYcYPU7@wX`Svc0eX2`cq{zUvO7wf@!67g*^TYareR*N4aT}>cuo%<1M<7!9t_{#P> z3Hfr2d=c^mlQSRXLOSR&o$H={|9nQb81zapNIPNWE6{d=cd0#IKN=)(V+!>dsfqes z>Td+!WBgr=lo!+O51i^N_V9ktvhgG4FFXb^Xx3JsZAbV?@Zr1Fo_zCO+H-{V82=Gp zzYgKNO^IkU0`lCC*ff4mRBw`8FQE(dMi0%OI`GTyQG4>)&+_X8A5JJAID5=x{DYqS zawliMrTc+0&PicHMt&B2hw1xl#0LrOV5Ry7=3fnW9sH*8`yxJR`?umlj^l0pd)3Zc zA}&biv_X7W&+EXA828GEvvEi7174nWAB=W)Bix*YyTc2|{tW$vOjlewX%F`!D&ME} z3`Bg8kcnU*KIFI`(PP}bK8N!fuHz-Q0dB>(xA>fFlm_BMj{6ZU@7H+W;d5`y)W`jZ zCFA^a4Z42OO&}?MaBIdr)9Evpa_&cLnmj#Tdh$uglap#sF8Lzlp~=(xI~JbhwGMfU z$_emZneVbJ*=JyuuGtMQ;;gnZk zvX(M=i4&MhIrk&N7bFpWa8JETr;?Ba-)3^X;MP8@ z`n>W?CGIAdO2<16uIVGndGn-@@1b!sAKJGFZo;^GBs9KwPVcTveH-9PKdSn!i@1PG z7B`}?-dAAl*J9kq&}Ybnefq=?$aNIINw@3KYuTnf0NTOlTbE{3zt<1Rd4GRC#OGVX zPb%l#zY6#}3C<4IGd|zCWL&El5q&k_&w0p8A5=YFx|3H^O;U#q8S?DSqG$)s3@v|z zZ?o`kaH?7Um=HRUc2r|cuwdLtjx(3(ZuI1*J2~|16Fby{db+_anV$6Tz#7kdm*-nQ zrRjOS`Ey=??jE-f&Xd{7t225Vv_)`>&>PNbxVv`=_qwcbw0j5PhAf;nj!ON{NPijH z^QTomo2GwB`XNu6e98%#kMEB%fLu4YG2`xy>Q%D%O~<9d3JafoU%4Ot%){-^s2zX6 z97it1qpwNQTR};kvlR0EI*HV7s>BCCUyaDd@#*{gvGL^Gt8wEyY{ z&}Dp=;W8fRhJyI8y-ngXW86hpTgb(A8rE4@r`hWqL+N^CumQmOzlzV&*VP{9PyOgf z-R*JVN{~Ox#+@e0@dXaMNn$I#sIL~>igBmVlNUH_B4u#AKfYD~*AMP!0o)|G%>wM> zdUU%0eOus)4r{)|rK1XYU0MLw2rgLw*A1@HxVU`g{%=r#zIkvp1#n!Ch6Ti1hCZ&o z0Im*PssOGXTvGwuAh;IePLWD=Y`tPz(S$>%eyFV_vDxgWn7G>AM$OB=hIHgb}jP~ZL!od z32wyVVL1Pyd=c^qlkVccUJ zXD;PiF>>0^^{5N~bQd1^f%#S1esWxoPFXx&eM)iz(shXBI>9aH;W&N_gWEQ)--}oG zfs)ujNk=dF$McCz-_(50$J34t@MFd^KDm%C*#^Rx#7okTv3|n1l=$Kc9G3SkS#sZw z_s8dq^PX$LdzX1KS;xB;33HbCba-oC#>4gKwuO%?Pp(Ik%bLzy<+&ImXFAtCc_H~! zfk|hF#dlAX{!qql8%SA?8o(_X*Wx&HnZ9<&w@vQdmksp3cOWD=-X9OXrRnPxUwk3I z^{$T=4CevU;QEZ)>v4V_XYT`1|2o2rSU59Z^k3(dC)30CEsYtME1zp)wQ5XJH z&%R5&ic5~`(Fuzuj^lcC%D9Ykkl1%~6_NV59^Eu9-M=yaUYf~qJzDc^&F8p$;CeJP zE>}L(#mH$-t0#|3Uq85dizkko1eY={E*}nq8!|2~AGW|P80Vck;yIdh2g7t!VZF9u zTzVf3`RZlA^cP%@t`)#>J$lr*-Nt#wI|^>I0B#=KwsEH+oLsOkd)~SZuIM{j?s4&! zm0>(DfU5(SG;X(e*`C_LRT_sOC*xu|`MxC=-zp6ox8&rFo*rE`sR!fZ`<6CM&nGcv$c20@o|gN65@Eh|)4&fjzu$(r zr-e@yUx@uM{P214qt&H9<7>ueb5;2ndh$Yiy3W*p$+2(j`;l_js<-x&a-T%=f&Jt- zJ`2Wuv)Dl7YjK&}iVTYPAbxE8$T~hyIrSgGr|sWW|Nn4}z>E8MUlTs$ztq2jPxw>i z{+^z^SZ=bPW*a9LWp045eCnWc&cgj#0%iO9}S_WMJ5 z=|GtHx~7fxa@{nvp>{kN=?xPf%Su1E;Frqz`Mi&q?dCCluA7>S^V%ovL_dkmaL^h? z^MUvAri|~1;`h$ErMp+jH{QovF@Di4QIa2-F|L-B`82&UvtXi623Zw3?oQTa!p z&dJ67^zTZ`DLxSyg@z>Fw1exW0__b?nlAb|5@Yxh-kqV*Sl|zNZK}! z&w_Eeo{L!Zyf zeUDK6H%Ix?Qv716a4nKS(#vc9w1QtMD~xAZ4}z~OSH1;n5V=_1-_qpjdP?`PL*4{o z9?0GFP;WVheB_6oGQfv=t}N{-$53Sx)I;vq09bO+^Cjwd`AWO0(0?tT{Qobzs$kbF z>>7Ha+Lhg}QGUdevz_`E1S z&7XEwqs>kkpPk>dlWp3`uZ;916S%YCMrLx|;5JQ9W5fkAuMX6M+$gxpC#!v}9!Gs{ z{GeU);988!W!I`FKik)niu5qP63pHEOi#+=ZlL+WxdJnvYr%~e_r-_{^=T$fw9uB2 zd+g1rw;g;KXgYSw7wR2k{KgGLdga^<(kmJR^Cv$Ge#!VjpTAyAJ%;Bwi<+mX9eqA8 z9an(qXA}$dS70Bg&-iwqml=T_H8y{yvl0AM4qlgMvdRpow;SA=aqM5@;(9&cIasvOD%bxvsf^`TeWlCl!J~)q1=ZG%%AmV2Yk_~s=vl5rXKX%)ll&DCz5dyIo$Hoo5JHJAG4 zA>TCl$DKT~PmgJN=gBs}_f%_oUmx+df33&Q?Do9W-zw|_EgRnv@jOtSHdN9NuJkn3 zI~Z|EJhBT=XOQH&!SxvDr9bJPzhSyY!Oa=>ZeL$|{_eDDzH(oy=5&qUTh9bKR0eY3 z$+aSu^A`0RUlxt$VZsJQIiV2Bv9C~y2Av`8uf=}Q$Wt{QuRbJY^weZZIdfm@sBtxs z{-F4HnRoI?xjX(P{2=)n)tirJy`3fhH058Pa2cd-h5eg-pPu3PX{pt4Opkvx&wG^o?4g7CDdx}!I&XqXh8pdbg85&>uxg7ZMqI{ZvJac#XVTe;E zXH)erhTp&^G6M;1H-Pe)zOkn=h$9t-j~kJNz= zo~`=x@wB^>`i;Na)JwVCnOQEw;7XsPdPjWjo`_@mX2JCsx9sP`q~?PR)LPt9PuIaG zpR0O5?d#3DFItBA?v!y2jx(3>)#iO$CB}GB~!(b|(ul#omXFeU2;vClS8rg_@2NU3hb;e-ZLc(?9Iw)UP-4^nmb7JpEpaW6wOXssN6*j1<7_fa}Y{v7T15e>U!Lj{XZBv>UEu{O3M?(V3cFRt5iJ z{pf{!b8l`r^J5h9HIv8X2lw%p@^FlA9o&p@tbhK+^l>~{Hu*c85c#ji(0CUb#UN|c zq>MitPg0gXZ+|eE&bTLIiCxRwGqjwek8aO>b) zdAat^`Gpm!m`l4kp46MZL#Q+U<-+YY{~kF@>+@q>An50x%%28)oIG9rkjwJe%b!kg zW2WZ-{+0_I_E9jQ!7Ksa)HjUJnsMbQTe-j$pOC*_V|b=@;cT_{6b;RJXU6>}a*g;b z8CT=M5O|JU(m2&ANKd`g5<$ zM@3^Dn00*m&eQyP0DsE`4&5ATq7Ks-v-zv0jjkvdj_Z&$3+MNz8R7i#9bp)b<3`i@ z8lOME@xx_5H^g${I;6wGo#4^~e_j>p9CIJYl~dCN8s8!(k zca5h{Hsh1Gi&E+vrK~xByey}Bd$F)m*|jTz_CyIVdveSd8}Z5LoK^C`S2fB7??x{S-0 zPcsGRV?G@;BRR z>uWzgDbxQ+Ctx{8=$>-se6RrGxp=4X&qE^`++@##7Gz(aE#t zf3=WLL*8NGFSl@BKbSF}rCqDwM~qK-yxbSC0-@d#2}0)>HsI(v9A26m-Fh< zmuWiu{vY!n*BwjUX$Kb?cY=%GT&A}l@*qY&4tdh#x#r9BkQePDm-IuvY3a(Czu1p&h$!}{Ymc>0_29Z#NJu8fE07@92nU0~%x z{j~FW0sr5v{WL(vIHo$Z+|Ge6xw!wXcYNI$l`$4{nD~Y|?-fV;Aq1GaO2b!LaOcpz zeoyYtpLIW73$zu?BtBuM>Umd`jxe#n@gU^37#z7F%7@(O^?G$)CXOtaoWwR`Snqf6 z>APC>de29v^mkHH-3*+0MV*2I;`&T~SHfDTB#0U05 z9=#h3%h}129|ylwAkXqV41U}Ady!VTSYM?lPM;al)2=dVhf+^D4z*mX`BG)UoWp#p z_T&RjfOaJPoP9I?W^hxcXDQ-BeQztb{ZTcgK802bQ60byB3$Y^jh|~gxoEe{cjR;v z0%CKSHCrlAD7lorNs9oIe&}iIRz2&c2K6mW+#^8`$+yfZqGv%FuA~J0^YuBxy-`Bo zwl^Y1HAE{<+s%AwK)59fcV!e`#&Z?a-%0%kRsT%H1$LueABT#LLC6?O{o@EXWZ{~; zaI)VMs0X=4a5Ki88gUu#yJJ1x05@mcktm;2`doNQt4T_K4KOA3!@d!g@$mV!wjNDK zOB7F_=bHlYA;;(228?Um(TMYknB)zghF+qsV)? z&Mn{EQ~bbj%)w2>L9Q2E(QB0JjN(lezf9&^Nrq#7@ElN6zjBYGr*~D@-`VR&)^mnU zS-3Uhkbc+R&<~-CB#;I;7$NbEu~TY|?!~qv%$kKi>WBZ3U|O*HogG~5MwpS?)$Uy5 z{=6rDSEN6w_w^yv*mMFH(-}s|&Cm$zUNi*N1YTD1J< z!6sj?dIy|Rl#i_A0`*`$SqImZgY(B7a%D*Kf^pvY2RVo6ueW6V_y&#lphhF@!ha5q z{XjePwHU{`AQ#$?w1*tyI_JFu#&<@%^o!V6Zj@SM<2v(gp7t8Q8u2Nk+u@z6_bWax=k{4W z(zox#j(+gV#(VRgK=UyW4b(dcuJkU|I~3{7JfEuVNcwl4-|fo5OTU%XzcW8LZZ8?{ z&l|60HhS|*-sfL4Zf|6Vy}1&N33LPed7r=ZjmPAJtS5os+#$YEj`)@)!y82STQoAg zyw5*o;X9*va@GU3Cyv`I#`AywVm(>+8?xxlf2MzQ}2xAh{j1 zNf>E$0mKZqflu=7e_c4*RSnyREZnX5UoNCmUudlLuEM;t=M@akyjrpFA2AO0%I^=m zdcpi^#HV9S?faU?={`u}15qu~_SQ@00p;&UA1D{wYkx6O*VM$Dc1+^aGp@W>-;;^A zMw)5sVSKiYOP4GBcu~%LjFWR-;pD6%{>AXMkXOD-?db7^_?vRhp}S1Za`P|ByICG4 zM^n$ZC?AHr&*WM<5yE_!_Vi!iL@W<)engIIoe|Ts6>)*SFD?)tay!)bZcWcVpYz_w zMy?ut>Wpz;jyTzmaU-RqA6(meR9|-bsE7LjO(wtF*K;S!F%%ziql_;P$M`s}sGQLF zvdf!#Rz0~l?+g;MgB5_#a^rr$$S!(Vzquda88CUSafNx< zV{-5QP@oIc08$-SX5mg5_iXXS7y4J(R}0jG?Q#{L1>-J99g&OU{jX(ifN3u$3Ya`{ zBXB?*nI}{rkB)vw)A3W6UkoSZkdkeR6n{Md;h0a2V5UB-{EsXe>FLMzsA8W80YGp!zt%_VilluA&y;+2P4@^bRV^PU_bm7Qr_1z&s>RE)I%8zP(?n9d7Lc5ij zAa^&R!S0=0D*xzw2dxy^WD%K^x?YBMlA2aMPc}8qVSe*|)oyau1FkomJfl6zeqT~H zSojh)j;Z9?FU(kc-aH|R`!Zyte!6leKMg+onA%qeze@ea--GaSu|K=691lrFXIJP? z{X7Sj{J84(o>K`hArCKc>pfAT?U4I~1ICY=ztsEtXn!C+)%flNw{6@5QTYVL_sG0m zK*m1|u4hK$AHe@|!Cq`^paiuhTp@p}z4PD~jNgd(F!8U1GS`C*kaM4K;FGGKYjC+Z zFO&VyfRCA?xpD)A4mJ$n;2spdH9qbWhM&^#@3-KRURihqQqk;ZAS6HA!Os{!;PY~0 z!xnz#FX`uCI;;AB;`0k)gw&tF{Hx(|y|G~YkKGMn^v^Q2w2qneb{$;b=T&d1g?A3+ zJXhQmBd>@jX~Y1#pw#wm+xk7ngs0UU0Jjj_+kYS^&rA1=kAT8o{j;z;%OL zE`Z~EnU{>K_v#DoKe6kSOX|O8UmVBxV7dH@IrAf9>E3segmu3aNk7 zo_%rk;0U-v>fa8yLh4`j!=wC*iEu5!Oa=>MxVo!*XPE;1z%8ogFdG_w&Fv5i{OTgdtJl@d~b`Njty{Y z#>M4d1s*=B`J%=<5a~;DN7lEm0o;Ib-g##?pOTQYuM^z1aYK>5fX`F=_6>vU_>#u^ zfY05P$<2aWF>ci7?#Sd;!L=;r&%crrQ69#5`jR{!=BKw7T=-?xcXbr6+!yz`R&agB zdF3X*r{Sl!AKaR8xB2>TpV;Z+{A?0j{Z};Jz;WhMzL-b89wTS@l%VN2{S8h(+NqxR zP!Gma3$7)`j^;e_?mY70Jo4#0^22%L8+qhqkBU!UZH%1x*zC#MynNIZ1tP~qt{2>p z<>T$*i!b(zdV@!NnBU{z){Nu-{zX0Wo;?EwejEl3s4&0P+yX|Mu zzIJd$OB!#xGrkc^D=hH+b}$I8-ndsroa}eHc0hg8w9mL+pWBz&UXFlUGR`gY98Nu3 zkk6U?pc63vu^{o|tKw$kSJnQw{AdJMZ`^Y|ebW7Eu}iskgKIIa#^bK^-pgJK|50#l z#@*|2tvVj#s6u)gEbGig@N>rd{fP0pJ#Tube+zu+*EC)JKBvC-LGQYn*B^_BCLg{;g{${d>1>OQ0^#^;@<<+(0MO zBY9fLwHDnUX~tpJj%BrPTFsVzP2ZTPS)qG!x?kK6e$Dtg$D7Ol$00BJmg-xG(i;~4 z4fc(2BO&pRQW1)8z`w3SuznvwxS=B&&imcTBoF>@LaX^9hq023rv!(W$G)pP_dMld zKZSiP^izq$>WJxqi5X7=!VP>+!_~WvhWq0)YMx9>y?WXWeq=@Y`%I7Q9}SUL&1@f| z;7Y%*+(VH)Ve!`!qL@M14(GwG{ZP3dc^u9c)}M*nY_HoRzuRZ8!Sde*s`ndrX#bBj z{HZ0>ii`W)edSGOmbVn|B+8rkFE+OJmZwB2_bKZtF~9kVhWk?#Zz?e@-~}4`p*<2> zPKl(%-fo0T{Y=9Rs5%|@&Sf|pK;hy2tmo_DFXS-3rxAX@!hh~~Q-F4fd}gsqX}Oo< z>ai{vQYm}4BJWdYzdBeBP=;FHt?|D6Wu-+ac4v4w(#h$Z60H=`lNGBeFyF zHp7{Qo}x#op1Y%b@38mwb-bEq`8y=TJNPRpXP0+e<$FN_FV)BTy90fxN2|W4dv+y0 zQr^?&6scKKezlJWU!nY9)E+yEzpd%ubFYXX@j-D8$+yfQ5hv?)H^PrRR>NnU2RL2A zOF`4FQE*e0%6$p{%f)u}7OD(o^=QpX_U#wJH$6^yW|4nU-?}G%c$7}}8^G_R)&QLp z=Ok6&E1rP)(&JShy4;M5@;XnBp)})SI$J&YoleUB1RbYq=hV{=Zp7l@)~|n2&p6}* zCjX%mG9S<(`S(#5!PP%O?Y%MLlKLJpZ9mkv!T5~3)Z=hN3)Ngl19BBGZppYyJWjh$ z=VI*@v`2s_%IqIUS{ z^50L$dawa*#JIUAT>*ca9MQ-C6_`Ksq3VfPf1jdy5BR*AEI#BK!F3sTi_f7wK(F{P ztGdB07?)jdC?EFZjS?#QqI??iO$(n(ei-uLRJE7s^)K4F0eNWhJH2*Ld`Q|~K%Vhb zJPG4rwdzT~C!RuFl-EH%XYzoa-omB=@?PdujTNL1F=PLLP<6H2*f6>kz$VW{6W+!C(x{Hx& z4@0gRHv_kgdw;~aTgT$V_?p2DoUZnz9A_@|bVEL2^4;QV1vd(=^r@=ni%t*n?>fo3 z-DYjRzZ~q~kv`u%y> z{q;Go|Bd0;obi3^ZHs&ujiqw2I`^w%MfD2(PaUao!}xB+TyW)VE#E!ZgO`i#MAlO7 zwe)(bE&MB-QN|X^Y>%rS%y;R$HN*LV{`W(15HZ`;I_zm{QG5LHQ4c`q;!&sI%2%K< z4H{wE=F%xZiv86}ivher;D~`8FHGd<}ySe_oyr zlE0fH>;FLCm=q)=#z4}_JrdL&tT+)=|5jH2Rt7yCq_6_t>~}{`L;v{-P0v%A7Vlzt z&O%;k@~3(Et?9M(jQvcalt1}4)%QY=PhcYj#bLp;Lo0vU^G#$^eWU$@6lCTcT(mp%E4H<{3 zs24cQQjo3sFYD4$v6)`4O;L4tk`B)yV5%JW4 z>oV@OQGepz%c_rY1f49jK=PEcc>Jw1bTyRr_e0ObYvRj++$6X$<93_ZF`o~En=$U6 zG#c$Mu9OOihLNsr@-CGf@Tq={|J)J_!19wOB-2aOV>^v!53$*rTAN2Qai?gupM>?- z+wD--{x?`}4XFO>eEo0GP})vh;QQ25+M?T|)HkuGcc4@zhH~F>9{N**s=qBNhqT2q z#w0U;ua^0_g>YSWYB+y=?`II}dlfQu!nmE|Bw85jPSTsw z+)e2#Z=DuI)r-$K;t%doJ2$-a$$XxtL{Xgjtz)xw_`V?iZ&(5qmw1ZgH>4__f%-PA z@m7|m(;do6D%9E$>VzOGaI~D6;v^W0VYVZ9uNo?u+{++%9kFY|ZkUCU*?pJjZ;eJF}Abqx(p731x~+`hh1wx8vUDSX*K zY#?0GgzDe&^xFhT_J5N4{H*LxRH5@-Hh#t9?KzAdMrSWYk@2V*{J?uvKhKcMMf+tx z%)RC{;ik?aX1WIvuIqgo?o&}aOBPQYmrgj-Jc5Pq5ufcmTossZ2Kl(^JAr?D7v;nFxcFSNbqM9t_^eqxx#Wi- zU*1JdJ2&uIF!?L-w_MDB^fE3%jE80K(&MUu(J~*ZgXdAx)8hoJC%RQ5K8&v&TxjWy z;|9U?<>4g#;1-O_wXc0RkDPsQTzGk2+4MigrORB#UyC`K3!g1#dYe7@t6g~J3#JmT z{ZmgbxXMpxJvh;E=2Fh*ib_pBm?h6wUwbUvQ(QR2FTH0{J*dACpT3y*J0b5f`F*fO zF7$_VXYrv;M?b0d|Cg)CkfUctN6TL+pi^b2;MO?~Um&F5A%hK7b08 z(VX$k5icd)fdA_tKWg$1K(}0M_Y=}{UM3x9;_tkFUM3wfIi{2Kwe9n2&z%w&Ukoqn z%0PU`je}b-u1S3H1x}Nx9_0AE%h4Ph-@D@aA*N#kT=JhZ-d=BeR>Uq`PB(-$hcFY{E~So+Ogi6#14|Y zt1at&s0`2N;QGF#@%+q>N1y!32%r7C$93S>5x!x*uafN1(hQs{$GxIfJKhQv%e2k|-jb&cl~@x>SF1sYmT7Rf9J4#Ht=!sJDh;^5AzsAq_+*spLSIt&jw82Zg!F5^Ls-DaO}@U z3gAY;jTOMngPX|1Nqq)4W!#hSw_Hs3gKY2ic$D5QK_0*d0P~AySw{Xv^Yb zNtDm&d(*OBms88=MNBW##j_CG%WCIp6knK_myAXei}IQIH4A>~TgnF!Z--CRgB+jV zn=tPA9(N-ZO6%8hE-AtIW!�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 Q-(PV>Q)2J*;r`$M1J2&GS^xk5 diff --git a/vendor/ocaml/bin/ocamllex b/vendor/ocaml/bin/ocamllex deleted file mode 100755 index 5fbb244f2b261f131df6ffeb8e9e0d137274f98d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256809 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

RO1gs|x_4)XCn06hTfb@(KKP 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 Ln7*Z-;@|%Zu^eK5 diff --git a/vendor/ocaml/bin/ocamlmklib b/vendor/ocaml/bin/ocamlmklib deleted file mode 100755 index 0f29b755d5c593e9c3f25318bdd3d0bcd8d8fa17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 156730 zcmeF)3B2Z4T_1juNz5GsrG$`04VgPLnamavLJ}ZI@`RZLA|OIYSOQtN37L?Pux|m9 zI75Q62oy!Z1&Rt4cdaPu->oV|EhGYk~KL3Un-29x=pYg(_ z8*aSz`Ag5c{y8r={YBT_bj{7rJN@RRtDk-2>CXt)bo9Iz-t@IkyvIH6@v+16e`!w& z4!g&_@A1#m-#7S%;FRD2!GnWIaB=X2;PT+Q;03`ef;)om2);X53N{Ca1=^0_YlAa` z#o+uv!!xKJ<*|Py9{X3~Su+RE5p(byIS0?z%)xV1$Fno^(SbPWD^A9fU?JcmKeP*j zS^W3R+6BSdpxrZ;136hKcJ!>oL+467_nL#}pEW#NGTs_g4fVBoQr1ol9vD0<5R=CR zPYITS=LEL}-yXa<`2OJC!B|bPzv8|=sY5?|Hq zN_0q^JaP`EeRX~hmVFDIed0b=M`O>UF~0r` z%cuO3D|hx(KFv=8eOnXr>>;P!v)Vg}E%w))wA%f37u5b)aZ|(etO>MPeBRkwzIkGB zpJ9(Ppv|-AnDDi6n`Mvp$JUX0}s13`+hK}eap@L z&iqF$Uxr_1f6cu;gR*Uw{MM&gJpX!-)7tP;jqD7kHvB*{H%r#f z3_Pu@pJ?`F_+_$|GUpv^(PEmoADQHpZ?(Q7^QQ!4*PK1ZUmw((I|;A)cTTqj_Wb?c zy?g1oI3U|x@5j!}*<-&R?M$Kd=L|hL>jOMBwvK+t(36j65@>YRI{>-$+{MR-iUI$f z)!u);TKl$U?YLp?9qIX9-ye{9T|fu9buRIcfxqNuIOP#T_O5mxyX>WVQ?Mq`%AZ+l z=6n9Jxw5_NU9Ej&{-5BN&(Yo$j|k-G?ZH!n@_W}XmfNaZW4J6haTvEXEB|D@H!yZb zdv9^?yYtD^Umeu`p2xG`)L?C(u}6-}hQl(hy87Xa>Dd!#WLsyS{l?CTXAHYG2J%C` zv!U+!e|ez2dS5ryWq50lW4yQavbE;;Qs?oijNchJS7qA|4s^xKyBK@ea#K)p>Ksop zr_n)f=`4E}ET)MEo3&>L#b+OSmR+S=E_$6}?rez3_5iQ8JHG4LQ}g`!{><~WblH1k z(B_DYvP~{d4)}o2KDiPT=XPCCK5fpp&9^a~cLtjHnJZfU(G@ebS3bTXW3^DZwwFG4 zH#_VTi-K5h4A{cf^5_#vc5RfYflZlchbcM@1$h)yl>AOUb3v?HKtpmi#*Nv?LqODo%SsS@(Aqw zXi##B?_lQQn8;r#7e6xCAO?rR1~J_q8^jC5Q_YKc)$vssm)&wucCThnwoT8D`%K#z zsG%Lf+Mut2cVuo>z0m89aqh%Xo-6-#uVm^Te?HtReEL@befG$?c4P2!5#}uT{3vc! z?-|~0o!#wv#bCMf@b2tkSLvhYxWGGs_pHhj89pzv@0G!2!BK(diFx-3UiV_jGDps5 z19#S)!5M*l+8x2Uf!I28c(gsiX#qKP7TLtk^5xcy+ZdP5stvN7DK=HS@qBQIcg0z5 zG=BR$%if0ul`H<87~r?|`GD_eYvi|UmxkuwH9^T(YR2|dtmK(L8kt81*1hM|Ui3)~ zo#9>20sPvlgS|oB`S;J5U9J3*S2ZDaTE$DOYFx4N%r>_%u)eG5-Mv=_^pNEo7LPk- zA*l5Xr~a__x*#doD`qbo=F1lKp;b=GW^>ODif(?;ocXgm-{+fbgmERdR~Cu(9vq6T~~80?LKJfQyaRq z{qpEnH=fsGA+Hx^uH`vr;PFmSJSTKK_X^$0_@{i=#HZr_?a*Xy59rXY|EGQLcIAPRnO5YoXIq!|+d%jpBf6uVy{;}rHuCQ++X^NJDw*G zJl<2Rxvxvdj$y6l)X-TYb6bYF;|3WgH8M^b*4W`RUL{4|2(PS7^0)ZqU}~_YSfj z*zn#m%+YgxptZ8E>tsJEbi4lOVcnhNZm+wP9qblw{euENxf9Ur(zCm@Q9ZZxmX1ED zqwm|%U)#}N{2zPwo);aS$yzJ>Gg)JU__y<)$b3tGq@#boqyJ4uzptZzs-xc>nqGCF z_l~9aPF8fQ|1AT*7+d!|(?2+9`Cc{fJ#1Kic(?xI&W@Wp`WeIiM|Arx>G&=h_%0gs zJZk74-Sn+p4;=U(*U3F)nD=hUpG$`R(xF!~y}xMhh5FV{wEERwF!Vcy{=%Vu^|JiJmd;0r4mu=I_+` z!L@;X;>|Aii5#pA+|Ouo^zvi=reSRVeTH$(vwvMczWqlJV>-j>K{Vl&e_{2kB zJoeb@-3ZK=KA$J}BQAX15>!lKq_R_<)D+0FRrO$lH zI6q^JemQ0r8QP8jf9>bHIeY2Adu3o=yDeasd$f38nX&xQZBNbHTXH@3)(5W&v_Fju zzP9{hI@PFJ!pHvNIkuU1uEgejgUrntv#;VRM{5H1iB)UI145InR_-6D;nv^MXRUm` zC1d{DgTHvtATM%UzRRbYk#qdw!yYo#z|Dail$^4|oH6^wuisBs@s`bE)yg5CzOtFj z)@Ey^?_;k%jX*XKRx>0*C$ctt6L>lAGalznG|9YvmW6<(GH5vO(YKo8{LX z;nOPCIl_dFwe z_@GvbUmQL&@E5PShljUnvgQ59@Vc8G7u*oAtNe9O7-#GBJ4UrlAHTid92Yz-VCOM` zy>&<7a~GSpZ$p63xMYsKGyP3;ErqAvvogGk|5+LLHk^{VSvIIo`q@%;iLE*Pl>wVI zyk+k~#_I#|(zAu_^Vt9K5&N&t-l`Sf>0A?3T*|Jp)mg1M`|z=`x3!-y8#jknjJ5<@ z1G$Iu15GUCx^h4-{;|B;w_{in3wEhB5En7LIG86cV|gW;z0OZ-FL`Az`{bpyx$Lda zAZ;DCcCwF-;uRVc=r|jq3QXr;flenP8gpp2~iEVWs7^}%PpX5|N$Li^?NA3kN?S17(AD7-nXT5A>NBLZK@mb7PvgvOJ zo5t+epP19X7_27Vv(BzFOIG=`npltBHDf-`6KnVESgh3+`^0IbIDd9VoaG+w3^eb| znE>fU36+An@~;5T3V>Z9J#7BW6N*cLn_*b-=-q3#}g@wd2oSQ9_* zz4myn(A(Ndr#q{)1wCfFJFRTlo^fwWy`fYwtR~+3(IhB`A6L_5_-EYP$k4>vfcVcLjN+JHs#2 zM}FO{_Gx2st(EP@_Oxf;9{$eCUEO2sxpz=^bmj5!nG=(>0U5?)cWd2aTB!`|B^;oNetlQrF}Z z{g%*bs-3%in8U-SE4w}Cb@bsK{lR>8Xyy5tcS}FJqaWGP3myHr;b*_w2Yb@pUK%+^2Rj0D z#*;uJyJWg!=_r{QPUW}{wN?%p_ALg+br!|7>~j{$BD1v*&AvKQ(aFYZhOxX>tX89gA1mot8qq;t*;Tc4FwQQY~C}Iy#&285VIXaFE3XFYJOMn(qMn{-Rc{wTYBj` zSUOIKtllT*mXGxCvF@?*aZl#7BLaKXiJYq?&%8Q6@}oYiT^>|Tv_2k}`FZv8S=}B= zz5I0tESJ-|+sjY)rx>WIrC~hlp72gP=5MRF&Fz8c^7(otU1K?=v;1lGug|>tn*>_% ztmN~o8tZ+o+#YQG?zXWw$n#=QdNZ8*RQ1(A3)))7YhT^PJ2S5H(x0D_Ls!3Mk25m~ zw4Rko<0?@>PDthRv@EG;+-WzT)BAhJemV zpo!($U` z#87-68k`g0n*>^W$C9g6jL1K4IG&ced0}4zqfeJPXdjO;&1hcoi(<(`^3wBZEU{s^VJrsSMM|Vt1?zq%T-sqW2^Z6 zU0_XpI7f>Eqq_5NSZP()<~}iV|#j8E&rI@$4AaeHkR&IUw`-X_F7-g-m(2+xLmBtj@GBv zCjQBhR&g7%!)Lw;rnIsB%h}!TEq&rg@2nh`-L22P-g)A;(thzHcO^So-EAz(pNROf z__cf57>w-~zm~t{Y4?^s@1KVUzDxCduJ=*2&(xap`M~Mu?&ovsFt;OpolmiZS#hW{ zhkp`iY+0C&zU2E@-p2Oux1DeERC3EFD)3$(u<<1UJ?3r>>^1fdw>}U@a}OG5ds=!| z=$hm2*94w%_SLgw*8TW5;c4&3uWRnd<45ktkA+`r@5~SFo4V_Br##TDXBUh;tG#=z z3HUO$UO8&(NG!?IUcIlI#!md(8XMb#r=4&4$K*aP{L9%_wb9Dt%OudoWLjU&*0KF{ zCyvFaY-oLH?O}sj(kfnKHneAQZ2xjLw|h&UxY4_u&8@G!&OXOuHm|h5?!x74X!W)+ zEI-EL*6wM2AKNc(Eq}|??k#=ph`I-To~k>;J?Q*v?!hyrqr0C&XIc!e!iLMsg3eSrhWFPtEH^JCqGy9xrdF5fjD{RC?5APzs1>@&17u~ z)&_MqR?rhJ0+Nuc?hVvd~ptkUwfxuc`_ zTV8Qf&*UEH=b8ic_tmjMYkl}?@mHL*%J1%s<@^nSwLQU_;AaC(&VOn;y8HRQZDj7n z!(7#XzG{O1(7ppzUHF{M1~!eY%l}f))&bs0ptZ5x99lh-H%nj1Yh|>u$K=u9^0z$g z-qq-D_qFm`J*_|J(E9tq9c0dT{+fEA zM^875`BQg%Yg210o9cPd&bR!<*E#Fg}YKb&<(vW zU&%9dsNb9ZFz-Lk6Q9M!r$}Md!O9bc#^TEj@AVAjz_PCuZ`EgODx#EYXF$h`?1)&lzBcEU)jlzl53s4 zCk9&O$e8Wc+0F*E_!iCPV*w`(4RW9&qmj*`!Y!G|(hd}3=W8((X; zf1?Tyd&rdQF?+^ruAH*NKK}Q*_~EY9`W)`rH$BaPA$#S6ocdW2n_9o*=V3wRM|}F4 zsyN?~HEkiV?;C^Km*HLeDjw$kV2B63Z9J^;MIC5-aW_pvU1Y`$Okt+n!R=;ZGn_P0DQ8hHA> zdothheNQKAS7*zUMr8l1PR9E>8Cys8e4yL&v5x*s=!(xhNA@50xx3qaUPoWw(QoPK zAMNO0>*!B+^ojp?cYP1+=!-h~86Exdj{dHW{;`h!osRx5p`DSF0&!8hug^1AeY;bA zE~xpZX1>q!XFGZK{`}qjd2mPH6gncOvfUeWs1rJz{lCq70^LUk?mFvRhTdoX;(JSe z2izT5e7+k4{O0tv-yMWj<9g3Ty=RTyGhZ(T`rVBqI(S)dA4J-n!Jh{0 z`sYHcE6w`n12v$%D)?ehcduuIe-nmIc4+O`{tJRu{!>G@`hT@s|D({Y{{IlV)&D1< zTm9=ow>sM~{b;qR?GBz69EC``BjCeB0&%@IkpD^0%UPGX)~-`S%N2e;w*2IJ?^z#c za*MwI3c#a=j%)ZlZ|G2Wr30%y|ITA$fEJHk!94>td0lYL zKtDG<9`$!qaDCA7$%}Qp^Ns&`LA&Q!q5D1Pp6`Z+FT<%XY-LN?tHxVfLr(b)H%OCj zt*ti~+(IB`7X@;?CD2X@YH!8PeWCg9Bjvm38$0?@9lf!mPYf+Ce3jR_582{;myOQ1 zvGe`NKpnn06KvcXtO=Yg@qJ}*Ss*U_aSkpI@K~qo3BgN);^QCR>?uAqUo!1GGuRm5 zVPEOC7oU38dcD@^9Mfwby>u2Iy$Q?o-(#TD8RCP6*B-6LWrul?|0{x%13cswPuW^E zu#h!P?YuW&W5v&!_&qA<>w%BXHC=3zH*gL&1WUm+fqRS%{5vPWYfl?{ym-je-V~I* z<ze|)v|2;AYrU@0v1ht#pG{)6IjB6@ zzZkHKEl&v8S98Xm8=8H+4F|(MHQL%pW~+-IV#-GLRF2g$`W3;Y!TkcyJ3czo<%{w9 z0IwYJ2ao+^86O)|OkS2TdH$X0rS#5}HH}?zJ1f=)%NO?azIe}(m(}|5nPvRo-}!-7 z@vXX<73Zghw`>znapt$XYhAD{(Cq({=(hHn;M{;;TFJKd+CWV^PZev=Npf0x>p;tw zb@i&z%jVi&>&Iu#{-V`-OIz3MKRP%Hk){^OM$@BCv^#=@fS&6DbzmKR?J!m+*94`9 zoE^bUf$_xwdseEwcXv6nr}Dy9GV57Hzjgkd608X{Joao1D!2461#BsKl?yht=jo3^ zSDw{go97Lo*`e(Y@Vyg}CQf8NGZ3F23p8lL zVjZ^8I6DU#yFEL^MlUw>h)eZrGQMq?Gr!Wg-rk+-Z27Who%dPi^?ZwIWb(^7moM$M zfIg`E;FgS?nX;eV&bgd_L$DZluGPO4VQ-!Nm2}1I>CcqNEPeGJ*XnZydwuo%p>J%z zJ^k9vnPZ!IwPT+%;d`M|gQEh^`^~`-frdX{kxidBug%yz|FzwL`(6wycVbFrOS478 zubz5-XQTL+GNzx6*EHiT8E+lt)7^E?@}utDIup)7-O<+Tp4K}XR|o2u4!#u6F&Qre zwVvVB7WRru>5+G_6E`wFBWlkWAA9V%IM8Ov5vP(f#@EW(90vB&ciS*dcb9CovC$r5 zx@%7xOET2AS~cDoh=;v=s~T>{@~d9OZd)Ly-buV~;9nc856B}&4XJhe%J=7FTs6G29tw>WRFf z-2v9+vto5~#%+wmLN02LvuaP9Z+q~GtD2OXvxCP3YKuMEDS+KOQI^?8qRmR>c*dpE)PkKO(q4IuH z#vs4uHU?yQFV*B!J+uAU!6eY?Sxo<~U=nEL>#o4%NzSGG32tD|onex6zT^y+{OV!S!)=H#sW z{MGJn(!8dlpBTEe;ZdRGr1n2NG?{W*bMFZ)mkzb}WT%bADOqHWr&gxA8r(qwmwvUmIF1_^&qg^yv%U zAB-1rN|vcciiR9R0~d@4SuC&Vc!?L*LU680MWBd}j{*Swnx$(7V5^KdkG| z8|cZN-l@_DBxeO7vS&HF)N60oa{SIk@!MO^G(NvF@cifFQlL)A(!}ElfpdIkurAmTXr4WPGThUz z$@tvB{ij*W(p{g8)tPswdKRhI^&Pz!TBC=3#m^S}_CnG8(D3u)C`8(x!2N)>Zz0g` z2#oo8O;G2d9h1#=y|e4Rz+JA@{b}td;+t5}yBLU{v9+q{I$LbUBbFr(U+F(P8?G!?`rN50U0|3wQ4Wl&JVP9ERN#p z{B8@>p*u!i@vjZ!hdgqs*6l0%o|7>dWuy6x0hz@^CtLJtrDC%t4O9q2+6#nfqtM968p=z)$yoA3g(k)>$iCt^Mb$*;BfHDRl9% z7k}9-j;|SH^=oALH+u1x-)#No!(7QQw|Dsb;7%%^K0VB}etvYABeVEEFwA-O)SSOF zi^sb_&HeB&=d4@v?qZFdZywf;%h=ipL9Oi`*6>^NUR7()8`kh!Q(v`qb=KNAUK&~) z#acZ0YLA@hE5_E*c=W|*41ChJwxa3QpEUF*5B=iMJ6G17QT?eyzh&szZT_^OKYi#Q znEt$g-ROI$Axw0izljO94LGP}3#8Rwb3o(pPdDd^|ewKcF8jt;yt zTpHl7yT#Z&c2t@;!r+q%wPJ3~+ z&-;p=ZTkF*__X)?^yt4I`o9}`-}9RHowMH0uJnGUr1v`-dcV)7_ctc^a84lSli>4# z_#X&1pPac~E}JVR#ro_Bxz zeoEx@_Ko@7>*Ryjlul=ZO+||ndY;%nHGI7d-mB;!x5d?=KNhg($Y5KbeRMeU$7W2o zdG`H$=FxIxj!k}_rf59R9e8Tb)x$cy?nQa^>|Yy{z9)poxjDL<-;sIeVYFp4eOIYBcFe* z-ya|5=`US)fGlu#t1J7-EIxanVkl;%V_U|WXZ+gqMgK)df4rlAGxVNyi|5Mlh&w>8J(0_60_oinn9e)vr^nW?@f0e%83;4|LY0P4mJ!n2Z zBJ|M>y%<`oYW-_MyC>9){`kOp-7V(CMNf{NKD~3QFFVvWx|M}KahO+E=#z&2>yA+h%UESI>%^I2QzH39X_nAX~UHZ0ey?eIw zCp-ENL)%ZM{`ziz|95CSpIUi88d`l-jmUlF-@H6o)2ku9XOzC+87P1J*W}Mw{+<=A zl)vYMM@-uM$&DO6e^{&h-59#!{Hkv4+0EKY`Fl~f*F9EpZ|l}>Zr12;^T&2^f9}vf zFMS)|dGp6la$eBw|4QfYg|TO){QYux`uvHn{Qb(XR{48z=!)|PyS0}zYb)jN*Sozh zZT9|7x8`|VI^Wl=-4a^dUq1A&NWa?rdG1{ncrH3Kw+1;@({uUCjK$&o0X^2r7IwC} z`m_0C-C2FdK{~6>?Qy|*fwQeSv&PQsZGoKM8EAZR=Y1sLt2=oi;D@-E@9sb{`0H7s zCe{QG4(xH4+9MzKpw&h3Isac5cwSi3zEZl|`1oL%{Z(fwdh2jfafIp!9l&6f?H>`s7$MFD~s}W4>gF zyEuwX)$^8&w+8G5wfWwFU3@RFmknfW57@yczjL&dzHGW@#&lTgWm|h?PvW@rtHwmVQu)-|-+SO~-q z?fE6wlR#5j*9ET#?4=XUuA<9EYp^re70|z9=$!+6eA^hXSBz_~IDmb0T^d;TzTgg7 z8<1xWeN@2aJweINaC%<#7Y0>B?71nZz3PcBwcw1e4^9rm)tYjL(d zjFL~@HwEIdCMe&Qiwpf51M=E<)E;`jC0G|M24(Z6jP2=lJUw%Dr}L+5GZqv3+c?l8 zPHi0cPqsR-pa1-p8+ETf$}aNO1>&ZWRWWGo6A!QswSQg4{3;tZW^CU=P`=sM*9Ly` zZN1pTpNc^}&)VEq-MlJ%mD3ETHju|3KHFnF7BlvVXB#uMLbl$1vD*=dm)fnq{O;pM zUd2r;%Xj{0WVZIy-G}#@ptYy!QjFN(S*W%5UFqU;uZz!ee14#@-`y|1-Z?aKpA|eO zVAsWgX1?Oi=8C=ZT>p(od#3HRr)u(qjNA2I*2}Z*{IjLyD;wBZIld#~%CR`AGmSnq zvN7PBvrmun$7VGpkNT>2dn$Kgvn~*O&0hY~QT{(Vyy~NBW+7vDC%%eLhF|vcHg-KBphr!Wo+C1b(&HSo zdXF2{`9k;20sV5U4#aCsQ2WJ`JoQ><*B*RT7iIISGuPWJZ}#JF!TvU98$-(nedP zI{KQ9zNn)g-qB}uw4VjE`hF|FD8YXE#phk2#h~bGy7kA0=3}j&(yiYwv{=;o5ux4v zMgQCULPo3q=Q{eW9sR0~J}Y#^TWyo;?EFxE!NYt#SM+74^*gfe4)g3T9_z;B=-D|& zA3Mw+KlDD6;rsfbKWXUQo8}jXe#6k8GW6pFQ;OTWyAY`m@7&FMWP!vfdH=SnvzMZw7x5ECuSZ&bYnj1g{C?te)Q)PU$n# zZwlNI>?r=%X1p5y*R7KO^{eFnj#cu%VU_%ETqXaT=H%Zw@Ks#@MQAnI<^e4a>jU@d zn}e1|UW!Mq+*#%>4CJU}e`m(+zL0nAE7{-G@ywE4GT##Z)zravuaf_JR>}X?Rr0@W z4*sxApAGI7jqk>CvKU+++!WNgS{lY;r}byoXK?qy0|MuF5?mZSA*eI_qKt11ULB}C ze)V#DJI)V}R(2SV@vv(p9{0maJZt9Q@eEu^j=Nhj;oObcprcuhVz*A=dZl?sMs%hdz|~`^`?@FCJoj-`DB;7t82#whr|C zy|B}F!!r6-dUsms{QKMu-i;T72LEv^E#CJe5cd;_lAS4ubvSv==40Rqp#}d%MOtp z=XQF|=;%!y{S7nh*pm9%8q{;uXMv-G_A}*ap>GV{6Z}=MCCs~mcLkpcPRT*ICivCh zQ^CE~gcOG`i9W+`ri9LukSBxbd334->voM{Ry3|PwVI-I{Ke=^a&lk zzN5E?UXAaq|MU8OPNQSYcRr8h{l1;8{tcw|eE(()Z|M(q^hY}S&pZ0lq4U4dXBF7H;`VAfZ){g$cj{fn``QMj)hg$C#vwUyo>p8eF za^!D&a7J)eATLSR^f}KKW1n@rTkZ%vSAEY}&-$D!u3>D=Se%WI3B*s|zF)QTWLyx`cja>2+Wyxa{SO_zx1-k{cK7}F z4W0kpmG_D-|KUxgC8==(1tVR`ql!Y+V<*>}_p*c1NrIcKusA z`l+Fpv)%bPRJOYhTiYJf(Z_f6Vn=W5X!X0CFZJ`Hs`c*=|5&Y)^8?GQy?vRrcPz8^ zFPB+U|FdlQ!DZHdXqmMiUS{oG%dEY7nYDkl%-WAEv-X}DYnh(jC!TzsQ_hc8_j~mZ z%G@cz5f;;GzWRQB-yL=0^e*(fESrMUgNFx?4z3Pf9K0@gXW(~Aem!`9@b7{T2Y(uT zI`~}R?mjZbb!>1_uqik_cu4SwU@7a)Nrux_c6lZ(2A+Ew9)4=`@OWmq*YN6Fd32dO zD^SyX^nR@E@4kz&mrT!F_ZB(zJmiP`@P!ZV2D%r5^?|jTD|@VI^U7Tl-jZ=J<*J)Q zAy>Q)g1h1i%2lhE&lS_M?XZrgwXJyg z*2)=+Ls;&{Q+X&~_~Tq25wvz!9*VE^+5K6({dcsNWsOYDUNNbdtf=awpQJ@?-q;UdsJ|9 z@I%2z1MdfZFX0`5?^67{;xWOMf$z6o6TCmTPlD*@7FPx@3~meF6?{1O+8o|54t+#U zeb|+Lf=DZSjrZAe?|XbI{LYnre?ZobfS-CXY|nYc(OkPON7`ii|NCrH7h2io=P7K{ z?+?hLbAN103ck!Xb84dG`5u8^zOPb?>w__W%byKd2R_w!H9h@10y@ZW7thkkEGS$?S5|5N>16Wb?&rnblYx+wGfyl_~TKW9}O?=#HVCx_7F+R_zq?q+{KeX zD_g!&aVY)s#^PYc!EktWw~{-+-vS9y*m_Ey4$=DxC1AF#?E>l*dJN$@JXQcvfSzJ z{IZk$mF)AZp9Fl-Yvj_Sk#Qh$?Vki%E4T9U^5kVD$jvMsa@ogze)Hcm&NI(E|7yP8 z&Dd1qD>D92;Jy2ZpsgP?c`L=xb88`B=LLa1lR)D$eOmc^etez>RnPJAZI;jV zc_%9G_T3wsX05FhlYZa+#7KT7fi@PS&t-mIh*Qr?Zk+@DYR+q&2{PDL=e6?p!OX1& z>}&Z$?ze4ZO$bP9ZIe&+E*Isuxs__SeD(e{2{dw7I{#$*OzFFd;;s1HnYsM|-|W-M zht=lpzS%n=Agzs0*>+XtfiC@Oku7)G=FEw=xYxTkdYJz90r-mhCSzcn~K(D;i&ldrK`eTi}1@oLuifx-Hq zU$<6w@^U=I=X{InB+%;FFv*x4y~ZXn)V@-7xyL8Lm|bJ>tnU|(&mNxzPYE6uc-}od zxF)zEcwX?*;I_aSd~@(K!TSQO>bgDmN9|kMueHOox9WRi#`_C-BdhYk&ic-8ea2(8 zA@6*i1mdFCPrXNbg896o!3d`=+O7MAxA6QR#S`Z**H8h>}9LJ6R|#hZzEfwo{zmPK8v<8Lr(3o zr|Md5etp2#8-jlk{9^Fu!O=O$4+{L=(RT*-icx0=KNdVacvYaWiw$h`H!Rkt-xW*( zZF9gDt@M6J_R_82ACOh~(esHsF*`HZ5X_2Kdv}IyYG388?7J>@0hu*kO;7HD*q3nM zV?s!p`1SUkAKMCStns`(xd&oj)Guq_@nLAe#+F`be4zHNS;4-)O@Mo_v7ehoAEZ@+oA_n-aCcQR(J&5Fwr%j{vx{>Wpy zpQA4Zeur^=png4v%^6=5l+U|{u{C2p8p{_RJ^%Ig_BO4Q%d*9O@vQ!WjD7By1e*LF zI~{!~zkdI8Ua+y}B~IQdul&J>Ude8G>_$!0%b9H%}hD>w~(-$VTI- z9LrJJ-{*EIYh`1})!Q=}`r6yp2HCZb|Mc_Qv(9}xuZ*xxYgLXlI%+>1lb~vh&vcdS zva9#0*6pnr=)FGnf0H_L z){U3r7ZYd3KC*wP+qW}wNBR?vvYs&#w!C*ptV0`dc}4`i^lm`!5PV zJ1z|R_Z4v<)0wMSu*Wl)j=pE3J#1vFJC=>}=r}%nhgyd_?ojJ+Mh~S9bpc{4{^H&D z@}NHC!Tlw#%hjsdQ_p{qf5%}~ZF??|Rlc2>G5JRX>bI{&^#Sah1kM{fpxw*K!$xU7-Wz~#*Tm;6)Sz| z6z5BqiF55~`OoS2`H7F7*2YO_ZMj&LZSGrHkr(Ge9?2!Ic=YPXnJ?e@jQ8-^gm+gU z7S6jkvwLHJ2d&>3%q#a}`L`bCk$ZMz{#f8$NvtP<=2@{OkVk7j9*ET>U?W~WwK3w8 zy!=dbtN+R)yO+!3cMkma(phn<9O~OV-qP`tkHK&i;%1Ph58?2MdPdTb*@evu*p*HI09`3XC!M1=e4-4piY;aj{WkCOPgO>%ngVzUd z3CJVAK)1P#L+{==SUl?CCxWqhI9NLV|13vc>%K z>3mpUEq~R0UI$mT*PTD6%Y1z<$ndVu1qajSF}?p!{=PeMe`;X0@vNE=^SUb!%V}_5 zdybwGxF@|YJtlZc@XX-(!EM3og7*YJAN*$Uhrvez^6H+{*O@Z!o}_C>;CVz>d;aKi zKlA^0htC7dgbuQIB*#Fak*iHiPes#XQhxobm#`MmYwc77l0OBof^-hJx=X;C|0orqC5|Duw zr^=hTdQO!d^0ZdAv7G1+R6hM$*}`^XwoHZ|&2DyXrFTY9#9ys33^b_VwE2q|EK?W057{Ow)#*h2@|&PRP_aaR_`WZ3tu zgADl@tAjQ_&R^N!`yDiU%+cG{2YIz79+QBLl>zqB!(=32ezis!+Ib$ed=_|ip3*>xZ>re~hI;#f|+2yVvx4rY+ zDL)Wsw+BA=o`Oi*y|26L-V(>U)7(KV+&`boT_Xl+Yg@o4f6sOEFo&K;hP`ZlXR|lt zUH2aw_|f*Q+_JIyG28I_8=h<&ZL;=D;^Kd`0$|OA+PxDE70ZsZ+p*V^jP29 zByMcl7Ld7pu+1~5bdAZvYksV6b(Czm`5(hO2_H)~J^Z#_?-Jz7aohJkwsfnnyd4_nyT39FCOIbOJj4z zwd@ybepFxcWBqb|&~eW}pPX$8wgzGdbr$u`p8I!0U|-c+d-pqYwdTH=1nv#I?l?Vq zrDr;sB_A)HV$MJF#$^kdZKanDlc4mn15c}ens5>vgoHioNx4)*cub47mnhIbNF?X@-6);zvh z@i|a??JwE%ux0GIJ<0s{1lsL^`_sA5>i)EkzfhkOs&}vW+v{TN9@-Yr{X4^RNA1qL zS8VLZUq1`BU#q*%eWyP4_-6HEcHw{7U>6x`a%bSIldrEB_-yPRs2Hdn{Bm4a&E4C^ zsOpig?0Cpvle@Qckj)-_`8(G4ewOTtC0h?4$>M>8^_huO&?D-K539`tX2J>D`)kt zR=$k&%lSao$%7s;HMTg*i^JGCGuPiQo{8$!ImX}K1$f;B^5Ff+Sbpdm`##{z%x??G z_)kL}8LtV{iX2Y@a_W7LUw)T}e)D8+3AP6E4*NbktevjecXHtS-#tzL*o=KQd~L84 zYz~}B`*#Kvcd_NKxEQmE-RlDl?Pm^bI3w5;@L^02yJ(^3*Z`0C^m2XA_A@~*yVc2t z(v{)e>=pa6k*uE$%(Zrwtl}k0?e=zyuNam*wu{Xvfqa(__{H}t@W}hPZi7FZa%HH*2t4Ng%#!0yXY= z#HP9v$vi6P*Xa~9ajLxQojqu6YUT5B-aQoq_Een8zSYD_JjGBeJr)27Gv8 zaA}}#at!3wc&tBdSbu24cVWhCqf;G-lX%OUIF_$xW_(H@9<4nO3~fJu=iQHA z%vZxN2dm*%$E)FYmiS)vZOo?~!#sOy%$6F{Q)9WRyTyL7a#w5&>?dzaur-iRu-Cn} zCOAHL@<6MtlLNW1rf#kXoNsGr_56#0I$9UdcTHf=#lhx44ofFFOTqbpwkuf8m`^@C z=$(1}8Ns%I><DbVf+JPYKN&Fvk{uML5HI|DJ; zG4%K*fyNIxnWq;A_YhuVG20mMO+9OS0yVEr<&$lCd)P2fU$vvZHK_gQR_C$9n)`9h zfK$_dV^BG*Ge)-@{&G+`6bJHCZqx4=)uWg#1@qWh{Rd& zx)%faQLk#Vt=HY59}qZ4TE%A9Fm^u7t<+bX^=&<%ojdorIz-@4Wx>K%AX7vDg-{>sNAa-5QK$*H{4e_SB<)}I*2 zPfOe5&N)5s9C4@evt;u3(!f44ZVXNfyxuW{;vk?k;DE@ zJTr6dRQ`CTsJqHDd*r@)aY9$ksxS0dZJSrq6(2S2?5Jt-agVA9$Jnc67ZpN!v9*MU)!^4`NSPaC$x~7K2 zV-k2DI6u%f2Zv2Z`{tabeyx{T@hcyflSlNJys9yFwz-intzs{~V*MKdAFd3l9_yav zmz=PZKZgg}j)3e||C-SFDn{h1?M=Z-Yg@vzH4raw@73>q(*N*)?6LvRj(`n#$p`V` zKRb5@Y>_K6wANm}@&Dfh@>_AM7;MZOo`s;~^*&p#wRv>?X82dq#irj1#BY{O{8=ex z>=&o8n0ZdITTS-%ySKFKgNZ>J8GL2iZwD*+K&Cx%(&no4s>S;Sa&u%r?)!t}>U16I#7p9FR>G-Cu3!gzrLOS%j{j7y*q<;z8zndHTgd_P#b!6^O@A?`t<5= z$Iv^^=sMSGEZg^eH`v%}f)4zn1z zWAHl%X!mcugVj5Lb^EMO0)9J3Y?%afwZ0{McYW`Z&`$Zt+8mH&A6XX!dRCcxT zR8Q8~#SX3B7dB_i9{%qP?B6l;C5unJk7Smw51Ww(@f?%Q2KJGERxrzN`4PK16ZENL zzLTMbtWSn9d1dn~|JkIGP1fZBS^OvKg5cPo_1F85*c~>*&)$Br?3bTb&f%fS`P(?M zkRG-LhXtR=9~~>7YVQ5R+;LgArXPzJKb8Wu!3X-q%sr#+2+Zw9q~Y_Ko}NpCvc;S| zrv>D&RgBqPb!;wSn9f!Gwe@9)+9)O~S7#*?7U zFPqx?f<0q#e`EA7WvzT+!=XHr5kIX*eoTVa<~C;R&{lIM<)rm7u1%jCdhxg{19=tW z8#jS&xq2^k4Yfz{97qDZw${;Kvu=0bQN84Drg>uRBAtU##^z1GTa(pj+OxdZ#cZ$6aKP7@Qq^ zAdv4f0{)3x^>VOofV-@<**!*Y>r1q4_n-`i*ZN_Me{o&1rX%45}xUL3asb(Sy87_S&x=aas`9&tD?AQ#RLG`iTNUlXwL z%mi*B{jq_)`j-Zm24q^p&yKCZ6~SkNvjX4uE(Uo2ZP3fX)1M1E$g)=7fAxOL#i4u$ z{D%ZyUirml?%9OgC6Z! z!6ayXePZbLeFAT5hdThzD+c}U?8-;=V|j62>K>MxR%V@(U6Coi`1o&3=5c{|IveK% zzc8OQE57y4S9H}@(Q>yK@W=Op^u~<4Xfb2sxsyDqpgC|fH2 z{M(;euQOHp>O6_bmS965j`Q4~>gv2e?wsxO18uC<`C(qXbjNh?mIj9!$FScLFLYw_)svW*ZgYyQd?tsKRn2BPRI0$tNL(u z*!k}Rdfm6|Qv3C6aUZV<*S9z?-_n&K>td0Vt?yz$uE5m$~rsw zac7{m#i-_XXS_W)wwZH}O#(LZwdd!v{Uzg$j86&Z#&4c}=Z4Q}dMU8h`}@b4n>W8< zoqnfX_l9$O*Z_CTO9T4kN)G=+usQJlrrC#9Z=Vf3x5eawK)f}y^)nD@w+62o-j!aP zFN}q|1RtE+Dg_Wm}Tqktg-8N1C8zLf{z3m z+w1q%*}gbHeYbdUN4IOw8rELE3{T77j$fZW-_`8<{)~SjnAiVv!poOQFcyRRW?q_{ zk?#$9xxTAX+s^UfLDf@V)6TB5NM0+$o>_HtW7gEnBp9=;vFc;7`~OxNXhE!jQqCF)`cEBBlsqPI+CZp#wynGR=Gbs3 z){T4mxInA=Xk#qz72p57idvF0`ouxqjP2#?$Ad}G*P{5ewJ4_SXwQy0HAvTDprO@H zTa)gIx-0CdIzBaHXKP+Pcw0SeZ1wC8eOjO{HT2U1&nm6A<3X7#8`xF#;w-KSt_#R3 zpXjcb7Vnvv+Z43%!b9GycsVEKhnj1BxHI$vg4TygXf|kj0zQcu8_m;A9-U?8Xf#PAs}N`T#g#n>9k)hX|2va9uLgAc*vFJu5-jCShu(0WFLFXzbqij?*J^N zuNY={mkfE}OKX$8v(DhUtg(SS@wneWizV8fye(jZXE-_iy#H3qT!AmO=cltqmRM9R zt;@K0w`VMdM+Wc8%ipgBe;<5v_Ni~Na0lqCHsr9@$XOTg!5ozAD>82D9BrMiWU^}# zXip5RT@%z=Af%+5=@EoCA z&1-vt(*i!ohuD;zZBDF}zwBUZ@tN=KvDW8?ZT8Xir$HMNGENHErk2>;$Bpe90&(3L zkmtPUpFQ-G^qQQLwC@?nf;L)KS{iTzuG{oS9fQ+wG@m$oM$({rihi}8OB+}mxS&>E^FGJ;4y(5TpN^4?)y&$ z@=xX@(AxX{$k61-ofJ{^Y=S2pU>ETU{>+O&?uH1tlLXZY^zJ(e#!6I!EX+Up|m|^2Dw7 zSIqgP%~R(;zmIjl>wHW0pVDD_N7wr4Gv*)E%s)6|ek}z260f%IUK@I;S#u8;pM899 z>3epxx~}yM=Zca1YVBR%`86-RBlWyvb9kJUo)_KnUl7`zdGFw|Kn?J{YN?Oe`B`gY z_^^&9YfN6%YAw@L%YU4c?kJ2$_$5=f6BKqcu$D#KB zFXyyF4*x1x?wKHm?K8nyu3U<7>x*ZDnBFUJCe(#`6u-)YzGCOh;AO{O2bD9q0C!T= z5xv@-!J~qDM{~cvt$B}NE4gj$J1d&ILoEWk*mqsP$IXE=a7{C|hNsptoa(KR8R8eV)$8<}^N`?@ z0MCZNT)kWBi;w)j9ccDB^Lnzj1mfjf13lo~*}l&Pz5}vH-7N$w?fI|a>G$yU?*cll zZ3@_J{_lf+zH~TKV7+YmZyA?-cMD%y{*crAk*(T}Ky2Dt=BvAiui`|;w!r)+hWiFh z_aBF*zv$l!EwBAP_msP#pRdnhbX9)T{@OraHlXcgxBjT1XB%4l^?Y_7#6ujm4?UZ1 z`pdn0UmW~=@EgH*{MFvQzZJawulMe~SANOu*MoEO#rw8@*t_=)`J;9p3a|xa!>vRfwnmi6ZJ!en3fE33X_brb|1U#!!PcI^E0Na z&FGl>FDEJK2Newn@sv-Eg!qw{qn%}mj>ce`}t^(R<(OY#_kij-5s!f zA<)q40{iW&7#X|s^=AgB1a!ACQ73$AZRlmRKRckG%pXV{8^1Q-3*BVXUE|WNrs!AO zd~WrN|4RDRee3_7q0b1^n07~SZXhPUdtjHgCpax&mw9#_9r{lWkKxrWER+R8waL1rI&I>l;Z@RR^A-`tOMq3P21y7>BS!BYb= zJTvIn5r`$f*;BP9fAo=Oo{jdc3B>PB0U5Qge8g9K?0eb&D(*}G+&s#=@6|f7Hvy97 zFs3x|E3M_V_ww3toWyZrt=9)moY=&1PLqvR((cOEN{giRk;{RE5RQVw(b7W80;RNd zD5fn1+5+Vxlmabxp-_54+S21opnPotrT+fE_nk)?z1BK*TIeMIotbBzdFHuh-b328 zU@?fxW8J3&^d(-j;e}4To)+R`E8W-++Ker6V?S&&cA*>l&o*P|$$CGEjqO&S9LNjU zj$H-U#^>X%O`Na|9^!0vLihbPp+0$z-^rDXKp`iQw?gO@@Gr3IAo;LJAf~St7(*_7 z=Fm?I#D+2=lxS$c=FnvhYa_Q$Aa;D;20bSou$R3+j-l&90lkR>bY$Q!z}bUt6l9tX z`0~F5cvyd{fR4GswfHpBIp2>m@Yq%j@*|<~NZ-n@Xy;3+O~H zn4fBDBLkb;%_)l>pYyS2n8RA}Irwp|b%>ws4eY#P4qlPN>mGhGAIx_)qd&HqFBwk? z$R>W)M>l^j(oYNUu?O)Bak6>j05taSpracfYubA31zXSdHTw8+)ot9TvnH~ApEG{5 zKrRFBCE0uA+eHHMna7*~VU<9h;IFG(o6iB*Z#H(O>%$N40@p_deSU`we&o{ca{Z+1 zpXK_j&-mG{k52TTthf7b6mg6_0M(vGhF|tTwhhV513aJ@bfN# zLOiUG57{%!r~G&Qcb*m|Pgx&*&yV#li1jaw^%uqZ&yV#N$NDdb^?y3ne_^cuGqFCu zSLo||ajd^YeR9zJ#lB2>ee)kVPfqj-ni3YvZG6id=CY4JC`<~RUF_E<1Z7;9pnX?p;@q3)nlXNgjSK)_;%sl!t_2;aviJj|r3qgh1e&qOfM4@CS5MxW4?E zTa(=2>;SB3HSOmMqo)90*B6W5@4sDr&IJ6zy0q^VIJ2*I{fAX!D}Krg_{MyQEeC~# zLVWB&(QXm?g$ZFu@Yf+$I|T~+gFV9@G}-itA2vQMED_M1_@k>H-y45hwoCnrqt923 zpY{q|i`b8>wM!s&fvZ)8baV)Ww16GHf7ZnM*nlsPi4L^QU)$9-JN@yvo#ZyT*v>Ze zL#|8<-@n+k)NCU@*oJQyL&mAvwm`h5yXlNieVyaF;#YWB6Wz`ge4U_U%d^piI4u{D zyFy?eV;`_Ri+$`P3j8^Ny#$Zhg3ioGPEyDS6!!Nf0e_DO#Dw-eg5BScOXy&}c~EU+ zBg_24dY!Hxs76NIPw2^Bg%9A5r2@WV4EgxU_ZNGiUF=xzt%CWTx#n~HUlC4K&a1?W z-yRkytd|o^p6#^ZuA?huL_jBMbh6kDt4-l-z!wzsfya0) zr+waqFsk^xoIAD-^Ebet0^Og>I^2`qE|?GT3&s2v`6Bw8h43#DIt6se2o!WC4$MUl zvya@O4Ke~H6aI|ma28U`-#il-@U68^wMLfNZ9X&m(Jcdm3i`6P+0MDkdX{g@0j!%6 zDC8S?g6(l%Mf$%WoPUwV*9tp?Y2gv!QQ_0V-wQl{a{qamuu0e@j0rz4{E6_m@L$5Y z39Tb+6bi!21^y=ZQ6VQe*q~-uu(c$h-^BuZ9eq;*JVv9&Zs^#I92+x!XxP45SSFky zP@e4?%sbUJ{2ZRko=#7mZx1@!I@AjVv$N)n`F4_*W+#53{J3=3CE2FmGwHBJyu@I$ zfR5;7dzwASISifHu*U!~XO68w4R0X8M_f7I&0hRNIhD1TN4^jf|IA}e^zhf@{0s#A z`9HB{S#o~TYi|Duu6ZhPB(8yQvN*EOh)-IucvzmD>4Lc)Q zqum^TKam?YkD9z?k9G?9!E&?RUX0HrCr>tav&PYf^^tut|IF98uNUhho8r^CcZAMf zxZ4{uKg%sG{N%0iw~GsMcrLOvOb-5Mznec;m-6GbiEBz+muF)W*T=Y=xokRFToRrf zgvQKy1SA{Q`R6m;care$bb-SZA5QJYQe4$KF5T z3*JqzK6A|X*pKg#jSY7QPYTGkcr(Vlllk)r=TFXhboX^({sRKB#ZLN`Pv{OmIohoO z=-6y@HN)pPqC}j~gEAuEQ}UFWbvp&h$;No5S|Cp5U@!jU*%MpwKl#nteZr7{UQ4AH z^3j`qI@Vtn>-WU^%VYf&v3{@Dm-vSMtclGOv#A}esBzw9@GL;V2G00C$%RfV$W!yF z#Rk9Ip0ju`SJT2c#P7i@PvODW%z=g+Xw*g{AE6}#;+Yg|4fG)IO%K)s#D;yvy41ww z*|f2#Pw>|>TZ1VNl@gv~y9- z#{R_W?Y7EL)>QM;cwO-72@%W?>*K9_^Q*POEqgEV?c<@@Yjcj zvpdcsQsWwiJzF8DBn5a63tS`PV;RvY#Ddtsi+|1UmJjAP4TbUW>G&C&h?CK8Q5)OY z(-h89WcLZ2oBW%WCDmNRp`#~ja2{YIbmpK3HU8lo$-DL?uJ8NIWZ+Mu$7R^Qnkz2o zgfZMhpwHr{+sI4KZq`9(WV04}!E5=+82Z^-64!_gW2?Qfx%41Tg- z)*w!1d%OJ?x6AwpulezAwUHa=oy!O88A>}JAk+6jTqZujK3jjc+T6?A9QF+3_zU}? z$7LdeG2Oa`f6piGTlR$S>qY8Q%-6(tLijJC-CB%U9FT2#oGcD;JBdr&PR?hG-CTAu z-cBc*M~!UXethYVvxhAktd}NUy+p-~j=l@Y0X_0lHl? zh;_GsZ1WAer38FVUd8FiG+Ww@l{Ah(J3rV*HpjO?zw!{~3clhD=#257mbAw_iXP?7d4L zvc6MzO!$HD2Kj{FbwQ`w1@@uE3L1rH8qPIjp)2PuF=hM?!Jo50efC~bxKSVu(CkcQ z4%Zo*gYNi{;$NScV{4SuCSLfT`Q=#udati$*AASA#TfM%Tp|0#t{9z!E4BX>_iyZJPU=Ffp1YdqW)-T5T2V?zPV*QHO zS2MgXnN&@#ZW1mRb_xrG9$~)V=N&O3z8@5bEA#CBWQp3G+vFkFz7YXGBbPPEvo3)( zb_wKv;A&N&Eanh@&*YN3zFc)fUClmZ z0n>>!z`X){BoHWj1>!X=U>h>=8+!>KA#bVBCEz1?*{}EnKbdckjjt>Q%nbzmM1l7j z!LEDwhIJ^m2C^~`R2awRxQ*=Ve#142n4UihviAZx#XF3>nb?hu|77@rjG5?F_PLq9)m$XgLr^I<|bF2rSX-LkWgb0+C{h|8$J*^KVUJ?z@}A6ucL6YKng?p@G{^MEmm zosWUqoLij&#pu`p9sd6*U)7y_<+-?3Yt z??2-c>wiXld`lm{yd^e%U#!0`*1t`Ci#;;%$-TNSL^sX`f333Uet(_%%(b-x_0RVD zKm1WE|G&ige;DgO66@csKK|prfIUu4pY`z3W{u-(TmKdMJ!bBqtY3@uZ&x2**?k7J z>5IHxjkg=aC&%^h;Pd0_FNtQpBX3z79@Euy!H@42FKaPoHZ4>ee&$jGbces@)?>`< z+2+<`zOBXj%rlwn5tH#k@%!=m%G0g=kEqXFlf@olF801#V}5M!bG-2M3)l}{@%zV* zTVLIIxj#70b`SSEx)UGPFk4Mui-YNHI&gNv&wU3q_rBEJuTx*_>TXxFkD>Pp=#HEo zr#p1+1*kcX7$?qy`h9r(;_JQ1=?xA0vF*=3a{TxgJ{H+WOemlG#PQ?b64re3`0=g6 z2ZhfHIgPCq1~f6F`YC~XuEz!6k6+Y=rjPyR>$^Rg<%0Rg`uGvu&;xu-Yko!e&Zmzb zzeq{L)zePW9O%@H4(ceSZ&J9qa$gcUyJ;74@+_B~TL+>MI3g693nW z$6|0QIcm8{?jtLnqnzu|kx%_1fmo6A$RGHe&ME!D(%Zjy{P^&fjvs%M@Oiyd{D=gE+>ihZnD%ZDj%Y1>p*vd7S`es+(>gwB7vnI07cQWiOFhBMJmo`S2o}vz6x(UpC_-0&@BU`ur^w`q%~Vo2|i~Un(GHp+I2_ znTrMA26Y=__$EHa8EgKC>%{ulgH9A3aiM?6AM%Rwzd7I67hTN1e(cz<0ROTF@g?Vn zfBtDJg`X!8zqoJxHHZs7u{hv+i}kZzTYqZiS*^X`$Go=1{9mP?p99<*`~CN*?_Yb4 z#QOKd`jfH#E$aK%rt8%AgaYG;cf4=&}02=2AHL;`(o!a`wgMQG7m(OQs5$7Uj z2lFYM9ke++R%%hsj-4#7a#)~AyzQBe`=F#y64;Zh*KV9=!m?odP0jGLlVQ~t(NTG& zkQLC4@{qvU!ofomz(6rP*0XRk0VkRwTfy^Oyo^qI%lsPMGF9OPNtFHjpDpkoX2 z*~6TJ_>3_Ma=8Wu0%txx#fO1#DmwRy&vZr~%Qb8y$B5|xfjB1x?1B&5@WC#D^=QLe z6WZ~bT{g$!j(yK$w{8`l(Qa~rLSB-q=7%A*$t~+=)kYURMuhvjthVJfcAP6<2Yy{4 zY!cWL$fu9L&>8rAtOFlDqu6}*ds4v0TV2gMT0VR}#@}xfZWGXxeD&pCt3LB76(egN_e_<4dnV$>s?DVSZBZ?6=MLY$#lAHUK^2itEIwUN&r@b}wlImmpVp~n4) zuM@fdOM>YRUpqa?YvxgG-AT1s*O#Fs!}~>YaRmKK2i}#Tpd)#D#0gC0dYN zI^vwhb%S{OxxC2HwyI`tn2$MM@G*Zsf;mQ4v+=&u9tFEnlATqXYJ} zlf@W5nrn>f*IZ-xX09>znT`26o+-NNX#0ZrQSe7nKp%Wv6)jaqX9&d4Y{It`Y-0RmHXYQs*@UiU54JGIn)nZ%^{!r^ z8e5FlZ1?$n+wT!CzCsplbTvQJ)y5B($`9-<{4gV!AMRJ1d93gI!RWppn1e6P4_#_g z@B=y%17!GmUj>(89ewVCtDIp$y!zqgA1=<|p`4lWcJyIf<$h;=CF&z?d* z(`%X9as8Ql#YyC@dzNxp_Z0&B{|wdESF@q>m8T(lLh~*Yuw|2A=Lu&Gv}*(kWAsM^ z{6wyiqf1=<0@e7CdpGt6yfXqk$Y(#8{KaY`ADS<(tUmnM#(dfPpOaoJA?;eP~oh> zM;qv_cM8M^UhKdJoNwd@{<&A!EuiNf0bQVyYaQs_iUdpQ5v^L5x_J`S_lgVCydm8G*7~V13I+ z-p65^^?4ri`#aUg*Z2?~);QPE=p*Y)^%+NhT^O>;T-yW z|BYDqJiim;c|bhmh|lvkF`m45@Y($Wdx?D&2*d#WP4DZ($KJx96r=O`DS2o8i_}MV z>z|`O@iF_*oj>jb5Bj4Yv9}mfGe*rgH9XYDM;ovYsTa9=v8y?6q5q7lFLrgH`f34v zDda3|a)7;em6YQQ{;H4>D5fX&;E&7Xzq3{QG42!1Y%#tiqQ&EUzG!Bz@huRITreN9 z#t-#{V6&CHHr^*hhY#D#pYVT6bZGEWoBtX6ipJ0v8TkG)j@S3G$^VEOgC9A*jmI=* zzF-WUw+f~wHGSxeqbGffAvF5Pq>bywl46Jy57Kl;yiea=t%#D0rF ze340kZt`p$)90CT%J|G4YGk871^to1bLQ1@EPLboQil5tbR_4{jT|H&y9Hu)s{jvU zCEYRM@L4gnj{;=#>#Dw+YLIgn+%AhvYSJC#Hvln*?m= z6kaL(qZ+i~d4oXPu5+u^P7CN|v z8^bohJbaBGu^ZXw^lqJ{In~&Pp6Edy;B$MX?pE9Uj*JQ6ehFBsI-{Dr9ToVyk?egA zSz_~(^d-Kam~Uu5lW&M2z&E~M(EVdEzp#hcPsk)c@E?VF+XSOoY|#flNlfTRVv29R zF3^5Z_<>+~fm~v3dxP;j0P6ZizsQv4a?L zwh+Hz@iULl3_4W@0`{9vmZ{C0oZ!pfq(1q=x)k;SWkFOmawny}#e^K*=+?te6ki7U zc8Bn!fc=94x>F_v#?fJyfUZ3Px>DG0^7V1sZ>E_FEa)RlQ_u74GQ~p+K_<4s-_Xzj{U6_yUwr}7~ z3byBv>5rGxUng)KV_k9r-H9J_p)(h|CIs?>m=X{2=G6jrkyD)lg>h^*9hm!oz+8(N z{XGI_52c+<`0*XSrMA7yI`k)nO9a-&ckO88e6Jf@tQyjA}VBfjXw{G^Z&Rtd;LU;1VndRZGgu?c;czgL(RY~18MlkUEJe_e8b*b+C^ zy;s;RoG%a)^6Kxt)B%XB69`;Zw1O#pD&$ zGyN8-ofC);KH{FEB&-z3Yy7oDpq$Qp_L0p$C!F1!@5hhzZD0E9b2c;I^pEGSuP=Mc zbmojBFBqplM;D`Wwost626WaScjIfAy~wimeQM(q%h~66W8|Ij`R$76bLHd{8e@IV z63R~tNr5%udFA_!b;DH9w)eI+eH*Bl6Hf2c0Jl98hPs5#TYqb>phb_tjl?T&*qYA`v98(xd!?L)(5{VUwuU2If6XARzkTC zyF(zS@hv_A_~=XlU)cUI``H)x*Yq~~)1UM_E5|Z>}_JROo*QW zA~l|Ch==)&d-u357H7u%c$}j?1^-n9(}#6Uhq>gjp7F`eVQ!))w#H)wAMvr6y;uC7 zcd^+nLFf^W4fYZnbVp`9Ht0-jh@Gv6PQZAH6L!pXUqh~<8~%E=fFDyrPC&l-13LYC z1;6i9MBnoT{5v7c zWtWB;wjvw<;om-i68{d&>m{4@Z9Jv^TJ^8fWa{f(y+gIn_uG2l^ZUQ7J~ktVb*EzE z*SP+z8e1r^XZc=FH_+U!Q;0yK}#PxqFx1CmkeW z-v86@Y?+_TZ}=0x5L@`zH(wJUK7o!rYW4>;F)_Z6J9+;TF+uhsw+7cvV#JyhVnmzR z+#*A$Z*}!;su|lN5c919Hee5Ja+4gOP2RE&w$oqW`q)U{d_rw`gUoh0Y4jgwPI4~Z zB(R^b`F7b#TsW(r5*VY+-rLh=Y^57}No4#j? z51mXubTa+$Njv=pMVCuM`z`+H!5ZdA^fSHD&-6w=^CP;M-liAxOfTe_UaVt!p>I3A zm`g6)A?3&y=41rQ?Sh@f(9xF~S*AO-(?*Wjf$nApx|<#7Zg!wMc9`DGH@&gJ^kzNu zMmFdZ$idgde)n>(`mDn^e!e+2zD)fMqW`;qO!PBZ|Kxu65?kP*z+-`{w!#fP6dUH_$S z9qeMCV|&%nESCb&&>fk?At_+5?_bu!hxo?Uq@5F(hYz<2tWCQhV9yHS#R4+z{JKnS z^wIy}T;I-`h;ci~3+7{AUE{tVXVhn%c5&3u3G(-g=*u^sV{fA>%-#p^ZI`Ek=Jeyye!81 za>vVc!}K7RlL9e#K;!tu-w&Ko$hTY|2F&$yVM={+VM6e8;XxN$A)c;iQt`I|vRW|xI2)PUDXbMk7&%|N{pG$en<+$;SCx`KYve~J-&_bzR~d--E1+ralPIo{<-vev&K%Q z*Uz1TUbcSRm)MWrB_h1XCyv-nZMNZC&Prkm|Cs{(#FxB9wohYjMxglP^zk3^h!OeM zDfA1-qkLWQq&+Dh2ifr6Dv&3%*|X<}={D8o7kth?W#cL}D8?b)@W{epPobZp896rMx5 zX5BBa7Hxd)%QgM-qN6{B^MaUOEG!oKgie9?*yzGp|8+Tt&NPgwUObk@k?#SZ4GpauYq4|4gRe- z*7)T%GW<2(-e#ON$hQlH_!?%%Gp&D*TYoktKPj1(Ysg3mtcTw$zP{hcC9`S5$$W>C zNxbZAMPFi#zH5bdiYKF*GAR&W*3JkN;>w;i**l%=ceRmyp7=PIIKNH)ubhH>_)Y%h zPX4>w$mcA`3FyT6W^?-7oL_A-r=3pkIZd6;ck+L&jeK-sPoWcS)9Fk%=hvTM4)+Z< z=V|ehi@y<@LmqM-Fm|-f*g`k}GmMxbzRAoDld%;O${SdwGJa<1H9 z-1PsnvSj1uUDJ(Kig(~Z1eMubxbCCoe?N=$@g;w-B{;O=Fpiv zNg=oYR6LyND+Km9bFI(yA}QcI&RGg`KG$Xr`o{A&A=>?d*c<0QG<=Fp`0H+Aw~*3j z-R6JxYDS!3d}q0=_MS$>#4+cZWzJ}*Z=v@>uU{;?1ajN+72m7yNnK-E+IGafSMvm)MVO z>@obo9O|=OO-|A0tfMwQ&QJR6U25(jsO>(3vx5Fbu3qBmq^rAK&3=QAe5YRFYV@Q( z;OdpGUghdbRKvqL^d)^S1|R&ne83#DTitp0yYI}vOMgmz8&`MU?pXgtjvqOkEzDzo z{79dHpRF1?J}~+hW1p3OJl20ptY25(_d9DKbD^tkjkw>2d+-Jda0|~dyFr4 zHRllhepk2iBjfCUYR*0CD_ni0tFKax&BXV$PenewRc-XNvr^4)E;c2FoIu{tzD?k| zc!Pj^=-4_U91?C4(2=r9Af8`Wz~JE=BCmG~b?P ze=a!_8soe(ev{?jGY|)SCKXSxgFV66H#BH6SPxLJ&*-MhTx+5~=N{z^g6Tlt_HI0f z$S-VWoEo1|8y{_OfvXp}dagp%xj`pq$knS|y~fqVnsx9A^*UE`|4097 zS7%(k(bf2o@hz@?k*lw9^>$ZZuNoQb2?{=>O^*MCVnm)=JjgNPgbs{IrIiL%ue(V!1_lJzHKKC;0ubY;Iq@n#~nPYxQh>rWRQ-R;=$YB!a!=jK7WvgewvM??-Sfr$ zK1cpgxl}Cg!{wvX)#6mKUfl2Wv7ub4QY(y>iZ1F#CZ}>U)oP(!XVCe|MoX2-zM1LK z+M%hjN-46>hAK+&rno}6Hd75FlG`_$%T8x=#k$)mg_ru87G64&b&?7Pr&~r2PEW1! z3FF05sm18=VmVtHtrjMVwR*wD!)T>Kw&pAjlWR2R2PGm^#z%`~7lsDK_o|4MYKsa} zm6l^*yi%RYwrnOxY09m}%$mqWs^sd$N;z_2NSZ0j2Ip=O#%E;gRCcfBnMjSjsCMf} z*c+{tiaBR89L2IX_oXvM1%eIIShBHE#q13fe0%+D$Yo0<@#Xe830|TU%KMAeN_k32 z(;O@u%oV0FvYGbn23z(;lVPG%8B=ic*?P7~oSxApmT86hWW^n)Xjs!mXPtU>tYi)d zw@B5?u8D|J*FJUvTjDmEtxZOBTB9>%Z76Nx?35!Ony$3)7t7N#_0j#=(u`ZtBaDt$ zD^o3*S}ehq0pX8DAcG><0h zZ16c6nU2twfiRhUin6_>JL7h0B)42}2WQl6r=GvV8eIMkb40g!qh4*YIIhE|Fz%Ac zr&fy-lXH<3H2hm=(Ya=qwMa_6a-t7K)1YtYLEAZ^uU*p;8@gU>)NLOd23lexLOeDi z`LR*AeQX$Ljg2UNZ0LHiQP+=+x+laYqWNYwD3`2mxFVvJvs^t+gN-J@6?HV^(^zeSiO=(caOEY%v zOJLaJ*smAurbN{6WN*xf&Uwjkxo!;2Go(SO<+9uonP){0Z<3m~kebtw8y~97n6orZ zml~&eO#+gQ%^eU@6Gu+JCb z`X{jXVnQAfTA6gSuKT;{Ax=8W2)qB&)uB95cNc7pw_F)@6#Dtu*zL`8+#}gp-XwX) zc9Yn0bT`S3&{< z@QJB1KHj)FhBl^WeRtPOH$UUL2V5=i9Ly6o(<1peqoVsOcm1LpYFdr1ijJxEiC-@OS{`?6FV*9- zcjwE)ik<>OW1N79GF~m%vJs(L2pmOitWKB z#jZt0IpGPVb)b2LcJ$a)+@qer+M3pmvysxxeoSp~#MBn0q4vyJOArp#beYK)-T6_Y z%N5oIgl*pmZAjNU1nrW8x`eu$FNi!tW~&qKDak0(f4u0nv7_YbWM9t{ijkOGSmA>VFlwJ=q&w>A+UTdpZgw0dERq@8L!lE7Cl z8kb(3`7u+sWn<~~R&NQ$b;#(c-VU_}v0A9jGz1x^65<3#?MGQXlyd;$TEkO?>`(>>V+2+ovp>nynm0V!@7az5Ofm$ zUr1fIyPPlReU~_ub~DwQp3=BknvsUz&!p1*{o#p!NVj9UM@)x5XEU=~GWxMKGvux& zda#NPgk=$7c6fGVb`xAtV{0az9$dA0A~~2!=hNfaQmwGGUY#inj#VnU|FkEbkQNR1 zar?=LuHlyyrQ^XsqJzqKFosiV>vtBa`?F|U8w{TmMnifOm6hJ$W^LW`M)%G;{G?ve ztI$5~wH>`9yL#~=UwW_%~wYCIKsh@Ikr61U~o#mNBC=-dWU&% z86;O-lXs3QBB~tah{bZT-X9S+R_gW2RA$9?ohXA-+3D52VXLTJw0dRO)MH#ee3`L& zsM!y1qE-($LX~UT>i)17olUD}GnuHb-L2c;!m*xGxPsLD>uaNV)xv(g2Ap2qU9L|q z59g|ps+Ure`Allhp46V6)Sj`_o_cCeIkl&{d_+MR%uQA^UH!Yl7srEDopAN6UQLDX ztAdrmMqZA`$X&gTyFGIYwQHG44x=6u+oW|Zb$m@yWA!F!gJU8ZjbS?OF|apM7s}<1 zm1s3s>8y1Fid}=Qb|wfi90Y?KwL|u;STi`Zdhn9Ijk_|duhVUm9z_SkH+bQP1#L*H zjElFE;pL{Q*GP?9wsk>cXSJq(X7!G-y@Q2=b-g3!@TlpdfT31WF(2dM;Mb1MpEp_z z|9TQN#nsvYVc+T&dbBHw^X_;2hee2FX*anN?ivKDc8_+lYlLbg9O{Lkzq-k>F3_{QZmWWcYUMx>iSBj7+ID@e8J--j zO`fIFxm3EAN*BA+C7~>AFQ(Gtsr1HF`tDTv-c)*dD!n3=&Zg4!RC+@yUF}YfR*zlE zN0MgQmhjylM^xv~&Bx{^Iy#@T``G->j?U+*n%~iRuBtOSI)6&lnH`-M>^e4oK}Y9> zsup&1F23p5{H~797pOX`qw}IWj?F*2qw``_&*|t)-F9sLb2~b_RXwkxvwzRA`R8xxC<2IArSdkgW$?8nZcNY*3z=8dLRH zCX+e3sz1;}r9Rrwol`Jg%1#82WV+VJWTbbsmyph%Fgrbx9O{`?D(kb&+2PEQ%!+B< zA%yoTk7OPh?(XUB>Fya2hJ@aptJCUY#635NOEpV7TupvINMnK#_i*1GO>VJx~<_9#k~asmHw&Si6adZ(Bb z%U;szrn}Z3%+w0OqXk9qQjO{vL>pMCt(SrNm|5onDg9_U)1_OB6Qb9n7@XchazeW8 zGU@zaTZ?+viM?K!u+4QPCb>`llzZ87n1Cfd6c1I+bggTnsEJ6+19MK-4RO9WQLG=E z|MMMZU3G0+b-I%40=@F#**MQF!9bJ@{efQD>tRtu(&gyd)SSmdrtA7P3O<9(Fn8LD zOy>uhr%=y|9=~^Q&$0Qx+Huz1V^PMDQy>ueXvbM^+Y@z-^uCU>K6Gnaqfd6&rTT++ zW{zHlTZ`rJy=uLv&uxPP#rmXD{OC}R=$@y-^Zu4L9%y%*au}v1xUKATE-sqO!fBpw zk@`c8@bw3}hs<+eZ#X?2E&fhGdgQcK>F&p0y*;7pc*J_Au8i%Hc`i@&;1T@JAf4d=VehUBPT-Q;-}>PIgaL_NONIC-=`Ld-Q*%yPPd2 z2l;wkSo(RXtd}G_^Br1ljp&hhHkqDH<}oVcBi`!rqZ{lx+RsasH*6GZ8n+G|C*#9cc+GQ z>zPhvUXse(o62lRWzI@v22+_#Dw9rTQiHu+fq(bBCA!DFkvDR7=atE<+*F*<_ot$# zp~=F*cz?)^H*TLZ%?A-ZhDW8t`SJ_H-jl_={u{zqVS_qn*RHY08IO3$>fRL>x2#EA_&Y!NLSpgzulZc!yr4(>UHPO5Km$XLZYmirfoMYU0I)+UfQ##rzfKC zS$gB<>vkpwjcX))p}TaqUfrf|<|Xa1K0S&@O7NQHBik~wN0()*K{clX>(M(S99?l` zptqy?%9)6nE23eY>n%s0<&UNZb5k~O zv^N-#mRew-q#^Yp@$`KCLLIv{N;k=DXc%f6N^{zqDELfJgF9@T%z`$GH%C)0EWgNR>G>i_%hgz0N#KJJlCl>aOZMwiI;ni{1eD>imI}q$)L=!(&MqC)hkp7gSL>(zlvx((;Z=$zJyp$6Zc7bpTQR^ZUcPxN z52Xes(*u)*()6-{unLw9l=7Oge1PwE>X}M=AvLgF|Mw4sS)St=sMg~;E23Hx1{4wz6{^bLDl`y6oa!w`hj(G?&I)Xwtry$XI($X~HLCi8 zgr1)D@jxCgM0&F$bfae4hh05}MKeG2{X#3&{lW0L}K(&PD!uya{EY}=reU?RC%Am z7Zk?>IhOnUnm+3ZzqS@|G8OX32~VMuB@q$RYxJtLL86|-c?}d!jZQ9SY?Ks{vV>J1 z2}LQwtbtI!!en-Tu~H4^TIPqdn<35@`0WaPRM*@Ruy1e4h*NNyZKz@)%qX{)*5{`3 z$_jEKYU<&1y2QPL9(7U?Q;PMXW_ZFjd=u={)^xqb_G~bRTQL-WGU?)K%2%glg*NiV z60Q(56FLaC7RrUH-Y({Y$lG>wC}&A~?Y1!cIi@%|8oh(rNLyc6Q|F6e-TRw%HHCEu4%(Cc%jp2@YuMUU8&))eX4x7c^{G55X=$yDL%#U$#tqlDbJ=m&yb-38_UG;qUX|yQc3>l(NEr;jr z%HY0k1#NiVP4Mn){VKu8R)CY(j^d_0-?`y@!#_nt4m?3k@SLg85c5&ig{c$TqRwHrV=o zhLLN;dHYGe&MI`o8_g?>MsHk?Ftr?(A&C=SPM%y#HmddwlYN&wO&xn=gLv z>pt{5nimD=$k5dA^ZsPsZ~Rel{Ppkpg}?aff4);gQ7DfL{qweW?BD#!e;WAGTSm@W z|Ca1Sv$J00j|@GxmLed-=`s4b;fAOY&-TbxB|M20V zrR(mSl#FI(9U1z3_lI_T_igW3^6uY!V%a0>&ijB2RazbydQHdmpS)}9z}v4#{qEH- z`OX)=H#^(R;3Gp{|C_D5F5B_abAPw;ufHhHujOBfBL|VTYmf6S69Bd z|Ek~px$z6$Atl)VM~3eF(OZ76@^78L_w@4n?*8G!mGk7x_=$03=)9ii&wu`{H@xIK z>l0i5{BK`#+wAO|$BtZh=G#AW@pW%p^nr&T-@W7V-(NaA+vWf}GW5~Cx1X`$>+gTZ zqGajQm%i@p?~#q+p?75HKfm(VZ}`98*!SVF!kyn8zVegHWJYv49vOP~q3^%@zMoq2Ij!xvzct$cBs7zM{DEP4kETJ~Ogo)8=`J6_;gq&G+iB#0tSJAB#?#EF&zjAJ3@d2 z6A~0rK@~k=XI=T?8(#F{vz~LqEziCF`8VBi*6tf#{JfXk`hv5b^U|f~ z-F(A~mtJ(!3tn>8%Wk-3&#f;y>(-^~pMUdN&k5Ib^rDyE@+D6@;)o+Yeq{bH?HR%S zj(ETk|0?~1f-euY1P=`!8BBu9f~N#m2R8;U30@uC9ei`}9l=ttEx2ExEe2l_oD<9k z7X=!gLG>t){VVa7Rq(7|1g$>>*!HYR{z^%cq)R zKN<3|7(5^l^QtNH1#u+<$W#B?!OE-icBtf$b13br^Lwc5o9pZo_pv$}dmfGP^=DW< z<(FK!v#0WDeiG>0npn*qa@sv>y_48tf89xI-CuV>?VlAlHB8UCK%2$qovr0tO$;75 z>~RLP)$BPwd~Muj+2j4OwP&sIIbqme@mY;+C$7@AlRDd0Bm3k|_FDZprSWH1#_mgP z;h*olx21orqhJ0n_uh-I?yZXvY2vFU&JWbG_xQ7t$o{$V^vtU@Z8d)4tNhlT?w&5W zbi(TbEh_iF?;BeyTlLok?+Tpjy8;d0xkK-Bgr?4K4V-1;TLN~2^S(K-&po0&J9uZn zR(6(s#z4+B!FvNdtq%vn^TVr<^OFrvhEp5=%`iu&#%}MTE7|?i0}s13`@S!zeap># z{|Mhxo4HxB`tgCM)%hdMz6?Ll{+fG724&kU`K?d0cz$Y-)7tQ3jqD7kHhgb0H%rz} z3_Pu@A8qz!_<6FHGUpv^-eQ`#AC=^lZ?(Rd`7Ht2HD{0UgM(UgC*f89&gss;p1-~K z-h1h}EFjxl@5k=U*<-&R?M$Kd=M6nM3jv-QTSq@?=*h=32{bzE9e~_=?&9M^#eo0L zYVSW^t$ls7cG58S&h-4Q?+?hlF`$FoI+u9Jz+dt+obrevd)K;;UG~zwHCPvD<jOD@M{re8e(xQ|a$9w43{MYE9mZ|V%0F4}4~*T> z-do)J?tC)!*9Wz~=kY8!GuRMl?2+TL;eHucUA;SFdhQA|vaPeveq-mvGlpH81NkA} z*--cVzdF!fzptC>GQ2&=F}}CKsop zr_n)f=`4HaET)MEo3-Z$#b+OSmR+S=E_$6}?rez3t^lugXMESQr{?+dJ(=fg>9Y5z zpv@5(Wt&`_5%2+@eR3rx&h5saeARvYgYx{JLzJBcT%!?-gjgUFIm>{8q=-OMV@B-j-YtUPWzSuc?5QT zEGRj}cPMjleB`f`iysEgP0zO4dMmjspiGJ>iD{h%WgR+yVtTO+oos7eWvXW z)X-wEA?R!1otc|eFZ8-&oI7!p=gNQGE15dt6T`j2rymUHvq#Rgn}eT@FlWK%M{%oq z&+tC$>~7a92Fsm?AIKhdl|Fh-3cM3|&#F9;;qxNs~Bb=E(VU z;Lf@yI6JUUyF0ib5L;&sk9Jq^kbs;zi)>W$*bx<%)l&2KcRgHsCwj8u{(om7)2!Cny<9&Dfrbl|1uDBlD=hy7#==i$1NP zGu;0iz^}bNxHqUf|MZO6)ygkwBBt-FtmN4_VG(@wj8= zf?CgT>JNKw43dI-#q6cSeA%Ktw8}}@Z0`9%(X9{mR{Woou{gH-t6uCip0)Q)tJoWs zX`QH}2_o(4ecg1P{K-I@m%B3pwbkxHZw%DaCj#}qGtfSn*tE3!VQ=Q`nGYs`8kCp6 z2wL9X>h`|BquS(pmuB*A0b|19#nGN0A zes%P#8_#R8kk?Bx*Ycb<@OUREo>MxW`-g62{A0dr;#2W|Ff^IF0y?yt{&C;C9XsEH z4vc>wcy2RpZTX>2?stbiHoT?hO@kh^c4tRFv!fp$n*Yvj$ygZX)KJa+Q@%@U?f6tj z|L2bWU`PK<=r$fd9QxQs{yRgnL*7c~s|Fcu%+5*7!g2)O?E|m+e{v`P{9!Ly+Ln%f z`#24r?{1h8{68w|$s9X^?SRBjdDTjqR;&{ynf;V>_P82m9_f@RWZW2OejS zop}C7@?&55=k6#UK0d6~93Osnn5&pO*S+3f2v1u(KOXwnK`t5Z39U9S2-+I`u0i(0 z8s6K6IeIP%v{v?wo$P0XZr3j#*4;_&_PR^i!EW)^KRn=*I|0ouJ-b^Q)pJX4@95Jy z`avE2B^~`Q|Lfj+FN_Y)WUZC`sjRU<{M-3I&wNXNw4;BoqyKG3f1sm(tfPM*G`;FT z?;T6;ovi3q|62!sF}Ch`rhjD6^1W{0d-SmWm~Q>$ogKGy^mB&&kL~t7wd1>V;Jb9t z^Z22^yy;uJ9yah_(aGI1%zL-w&r^r~%Ar>?y}xMhh5FV{wEERwJoJl0f6354Zs;!? z`m)#iihb9#5WZW7{)I#TlA(Xu(0}dFzjEkbHT16;`a6dH>xTZW zp}%|RUqAHUIP`BA`Zo^!w+#K8hyE=?|LsHnolWlyJU!4J6o`d5ZV$x&caHk}cQX9W zy0g4{7$2AZ_F?Xv^zOrKoi^v+-KlwQ9}}3fpPn6oJJB=7Js=*X!~FdloSyOez`dlO z3vLMP6K{68Pvl@j;C@Dvqn97^w+v(ZA2^I_p8XpG^6fu%7}J5*Ue6b@>~Hz)!6zR2 z;<3kG??zz0^!Yr&A93O9_Ml?2lrcGCn^&jl{X_Pv1LxuK!LtIfw3i;XT@$bkFMZ}q z#zh%x^vf~3$j}x8{I#F&=Io^d@3nz>?T&z5?$P3XO~&#^w>>p)Z^`xCTL@kkXnz(N zd~Ny1bgEIcgpd8jb3!xkT#3yG2ASJ3W?#isj@AY26RXyahlVCwt(+dH;nv^MXRUm` zEo1)LgTHvtATM%UzRRbYk#qdw!yYo#z^#ECl$^4|oH6^wuisBs@s`bE)yg5CzOtFj z)@Ey^jvh9FIWayVb7d?_;k%jX*X6~mf1 zzba5S?A7)L?9sE6P4 z;#0q+r{#5C?Wd!7Y42hck#5Eq3LLxLbRDps`77dF(@1&C3xv z=FbVv4CpuC^KQ!=zss&R=Va0?cI+sd$Uv9A45zg~*VaJnT6td+nmxA%DU*BK9KJGh zYJd&m={}wd&JA`1=LPgn0`2PH$Y55S?#7hnvxnBkNzJrzvR-j@21{=1hq=8$yHCu- z(poRG)>{9c8NRuoYKp9d;Hm&WIec6U#FcNa2*ib5a``lV z);DEby4XESm-*7A&ML;0XS&OtR(I8mSf~y67Ra|XaxV%rJYbE@w*~w>JHT6e+B*t= zOIQ5%X5M>18>iaO_RE5jNmnbwx_Gy9E6F9JvF7)CV_T!P<4V2_0%vW5QcC+4BB7`1kVfDRsOmsjI(w69i!T&kKf*JP70nCu=Du9 z-nygkxr@!)w<*A9Tr$Vrnf`lpErqAvvohSz|J;mw8@6O_mJRBYezufdVrx!+ZNO#? zZ`nJS@j@V8dbY5AHTM6>i2XNZZ`F$LboK-lm$IvDbyjQ6K74HKZSCjF#%m9!7jB1;v$BZ1*?h6SYF9yuk+K|OJ3Q_K6z@U zNLz=ko$RAyIeY0^Z5@u;Yd^RHy>l4v4#X3`e6qt?l*8gNCkOb?3AP6A8~2r%h`mNG z|1@&dLMvB%$d(WJd0Rl|uAprD!_?%u&^HC_qRW}TAfO9h#ot)FdtW!rjk&VPm<@DR zJxnsz%vW8NPjaiZ_Wb2=M%dEkwQOtafj+>;ue$;bPub76r9e!}CUHTF3%e>d6@#*~ zuO;6l*L~8~65HxNFjkXoKFO(kj@8qD8@U(6wD*-CeO!7Qo%OPj9p!V`#b+^F$)>*< zY#OuUKw?h+e6W^y&pNx#ELr8#T4FtR*NpkNnpnGM$6~Fv*e6aa#re}S;w<-YPoQ~c zCa-9Bfpzgz|F;I>QTHAj)PC`^1Hbv=S0D9`Hka|a!Oq}O!S+D&40ZR|i@(M7!iwEbxFwi%UfrkiW6y!q%KvC`BL?Lk+YiK_ zhh$&xkGPV>K2XbIET-aEI>l3yyY{Z*oBi(GEkVh{cUPc^r?xi`vtCE(cUO>Cx-~5`ljJ&d!fBY!> zDz+7`F(2!hH_JU&&v#@YnwGRle%o;6VLlo3pL`TI!md zqTd=?O|^5c9p><`>Dq43g&lolM}H`v9a?#Q=H1fI@94*M^jt@OX876fuECykM;w`- z#puh%pX+`;{Nj#Y46W|Y3(g8A!DoYK2Y(TWLCN~A{G9aW(CW{;yWZKcu8z*g&+N>D zJjodz^`WmlH7|eW)uG<~t@qy0&b#N)4<7n6hW_;QZTvp+51;!vApXq*-`1g5;}-_b zghsFD>G{Fg!PA0oijmvX?+D}=+`nu$-aU-@r*6%i6VM?p8a?9C$}vxlcxmJu8!QIq zj3nw_E+2<^hMP_RsntgSq$Ylrn_|8Uh&CyNI zLeSbxt{9Y#HU`E(2YZa^Ah*?_HWmVUjG>M5rqI1kF)E$wG9L4b9zM?U%Nm|G?j@70 zCDRxxR>sTuL9Tc~>&Ka)=YrDF+TH4~uh+qUsQ4^oTsbMZ^vXvs*F4+t8@KT=*XDOq zXnM@6pJM{H%#tg9_{snBKr?n;HM*=X26)kAqv^GFd>}666Fzer0=X%hCK+pNQJ>nC z!TMk+Fs~NR4IUQMS;%nz`&*k+v1si-1!Eff-8S`YxyGw=Ctxdt+akTBJ^^8@B!Go(w&J%eDKrD zHs{G4oow7QjODdrwH6)xSV_myhz|P7uBxR&ad!DEH}WkXVvpu~odLefrB->UIMmry zQ+*!zSur|X_Os_e?5`M?{pYP80;b z={O~_dY_zIKGMU-y2r}LyE3P(5A0PZa;}y<^XmM_kNU87bx<|Y`gl_2SF4}T>h^Hz z<*z$nxt!MBUVgei#XwCh4dYq&gm>C8e_Oq6ZVyJ6&(|yI8p|o2qD;Cz(5a?E}@_{>J1@igPwx17D@tNe-$n_m}bzvNw@tj@? z+FIHcnp~}Flw5pjW)f&)dwN+d|Crpbiky{fEZwcX{_g4RwZ5FaWBbK$xmcAQtxv5@ z{F5WC;x=Z7&wLY1X=D4Bv%B3}`oxdkSvfAdTc3NqtBK!A`^AskmF#GBx3MgLBI5Jn z*Y0U!Ft%U(TK<-&-CO#+e;yh5F4gn7-bc|sQ)|xW!=|JAp3fb_++zAVpJEBK;!tM} z|0K}ZGB+K4&iAprjqTxYJKyH1RB@De*Ev@Y467`YwpLBNAAauhhJ;&%n$FI+W)yz9_ZGy3&x(+-o4fZ zd>LD>9JO^MmgH%#-`7oJC;n}XjqSnH&bRzya<2&ga`shiv@-cJ3A8bp)|az&Y=7N} zV=*clT3=dw*r1lQir1J8?U@|gznsnO-qI&-^e$&}>uayG&+(YeEA6kla5)=Vy=@H3 zkFmJ5ds^Se_KRD~-}1D3OP@QU?m?fY>dtTvI{%t`@a*a6zURU`my z1R6W$rlZf*OVwB#@3B36ZRcD5l3V^zfp?`l(EDI2*H>tgXR@ zpzdb;nt0%m-?IYE7{BJuwJxuGN0V3iwpO)XpEt>rPq01-G@nzlTHZEybQFKf zD{ktU+=KmGbFlutJ~n8r4__?)ij!9Py)$Du|CYeoUBSBGCj(8+e{4Fs@Aqw><6M zwdim6weng$tvvI~#iy0g${v%)pO(MnY4?`?_F3?d?5(@gv%uY<_4k82$ei!|HT6J` zo^BZPr|$UHrq)(A)$^jAZ~2R-?97&_?wiuv^M!oReM9uOXYEHqYhv}@>FB;^?Y5D* z7Y%c5O#8D|_wVZm-iN2JbJnlPxteHm-^R0zbJawhv01X({jJ7c5mr!&(*H%t$KB?@M!A7=M&9yw$7EaqqQ|aH}t-I zAKr_1;9MT+w4JS8^^t;?KVM z01uj-?1Hv7>b+*J;c4p#f6r6zeR5ypNyeHwS{Kwi9=#gAHeUZev0(S!0c`T_>V2`@ zYd;_S-n=nC**E6rhJlBy)(7@`mn54E>+M{~seS66?OJc|$7AnO=J{NFWhXyMu66dF z8fcXxW42poI~&mATQr-G59Gr8r8Rae1d~9kT;SEN4Auv15PS9I9p{3e|9MXvTm0It zfbHa~I#mf&o?88HE&%<|q*wg0CUb6XM|9mhBv_3C<`oh{E8k^O_6j1P1&c8u)#t!~f9JNi?hD?Z1K>_6!<_qF@Nj=rg*-`deX z+|j?%(Vy(-Q~&?N0T% zpysd2e4pn}ck&+a+57tQ$d0}xbVN>NyEo`iCv-Ubf0OqFx{nRqb=J2Jz0dr`_tyLl zxI41=d^ZO8&FO2uI|!}D^`41(&l|`VQAw$n@ zwC|quj~M#%hTi>Q-p|7I?l}Eq=pQ@umkfQ)yG!srq3geLpr1VSR}B4AhyKc;f5y;1 zGrc=V9yIYfJ7CX6f%n`$3i!7ps5@4iZw=}m%y9bO8C{>=b3}W6@XFwUh_rixKMUIR z&xBT2n)S~HYCwBk@Gn8#y`ByJCJdeI(Au&67YD8Ut3tQ>f4N)#!_ck%{}{T}|EHl_ z{ToBKI@>Y*Xtk-`89XaE29b7mz=uZ#;(9|M|C6AXvoUk6U1x@tEBt(H`N{R(vk+)< zi#~k?;88;-HGG~obf~-1fmUxV?K#-emo#*S(-_{I-gDi5=dn3Ji^tyJxIj(b80;D7 z7pBLf{%#3w3R*sSv95Q%@xLf&_dGXrzX#p(J+I-*aOw+N*;4kZ@z&OmQ@$e&(&Srf z>&*o>7l_%Vfn0A7v@JpHt=PFQH2;01d>4IlM?b!!H+S@@p~Z!-@>=&HTb%E*(fKxZ zz8@E;!?$FDjXQ#MfwLvPuL+(Whzoz5gR28P*6Dgm@QR@L_{TSUicig#O#99WHV1gv zSGw)Rr=GQ5uXQ@d^x8)+oyA9Q!ZQ7P40Jj}e9-XPqt&?VFc0#7O>jnlhuq>RTdM}< zvZkq>_XljO_*oOb#|M2q@X@)Zi*51-&f%tDDcBRZ$JoHX^8&o~w6VvFhfM9wLD^eA z?adt9$QKW_P&|CnS|7^4iktksI*{+VfM1sdyJvflecKUw@}<0mc^zlt$mN`6~|hcf1uM@MfX|J6sG zP4@tun*;Xqy|;C5=J-?g+S~4_ywml#Kn$#J4d~Kp4c)Hwx=P1g(_Q;)60>bV<;ni} zfL&~PO2EFFGxprj?CWhf6!xjn)*coW{|7mnvdqZ$Rz%Q+2Tl>a9O*>B&YtKn?T6)Jo%a?Wa zs?p2l+F$D@XU_hj)p|=?*X%zwI0liX7Rg4_qfWHDgSmj78v}J<9eu+vRwsLc(nHQ- za7$o(S-_r^YVQZSoY_-(VJn&SETZ2!|F#6{0u7Hnn}fuSI^e+c{&IrzK z_%6;^uGq(i#i4&{dilE}5Ia2233?uOy>3`vjf|JfkYRqccBqvxJC@cU<3%%Mh@a-% z-5l`A=QVNBi_6i$9YMuqPsVcHe_mK=U+K`REBo0+uN?7nH8SX4X`l1v?8(=u!D?b1 zw$V5{2O7IQJH$pWHuQ)~_3JXeW0*6)(z)K%o$GA*yl0*FS?Bd4i)m!?%Q=@X?T&yx zsQciyjGdXXpWV*6oPT*RA9$|S--@ue&i+ceV)pcBN@SM4dXH=MIfK2vdj8Niw%?w9 z?bgh(&Ai&N&zbPO(3!z8f#?0UV11zB&sSvA=gl`}Y@Ywxoq_va3@dkHN@h#5MZ>S2 zdVXi4_?I%KpN)H(@%D^&4D;#s-?RLvJGah+Gf;Q5^}46^&c^kDdZvRf#dCbdb3v_V zIJJen;!=9#UF^h-OwWkgGsedrdoByKS#rdw_{Y^;2d zSv+)BZrZ%9Yk11O)+Tvm1KaSvX@+g$F&9+L^P`Q;QfT_ip7Mii^REuB4Cr%*@K+9< zRqMtT2Yc+tb3#Cu@hbx|X8kQEJgc=sjCwo7b3PzvB^%nmS>&8oER5lvKvPfT73~hN zE}s>vTQhEBBo=Z}dz@8!+I-uCPh8cc+?*RcF;H9V(Y6Hc4Eyo7xIVP=D7Vh-7mE*1 ziY;sL!Tr?xAbxG!`K^xHn4)Lpp^fQRhOf6ryy%dV!gU#YuV9OKS3KzfIflynEg6IS zn%f+Z<-JssQ}xXD=LeHOt7kF&dxJ@!k+VCfyF%}*s}*B4U%JhePvk5F_LFy8&_2i6 zoulBCy-emiHz!y1rYCxVGtmfYI{!qSc%Xm4v zs%F`z4z3H-xK?|2?jxu7G8>BijXX>2D<9jnAIX~d;br@~LyKY2-xIp!e{skEHQoBw zj=p#J`DNMiTOIvv9sPoienM!q-rDpp`FUk)(|bDl_TlH5wNI}O*dWH+vTjb!%Fkc! z{!N-UboA3gw>CUJw4Bub$Al(RPHV3IW>(Su9h_FiTxfpm3aSqOIe+IWfv7>DeaF!0&5y&0eLdf4 ztK{=ePyR~sN`A{%KCl()PQugLj2?T=EVsuqtluL}AXdGOQ!=+T@O)XVUEcY69V_{A z(#W3W>{742UCZ%17sYRHJ=6I7n!xj)k4u3%AxjgFrv%RNJ;BCcQ=obF{ONE{zairb z0{5S0Elc}98>=(#Q1vWQuL~VLA6lb_eZ|if{Psf8{Lt|8;}}HRU4i=nZQop=-5nV7 zb5Bs`p&gUWcD=Lfy}(_r)%|JhN8_7V(K{cApRu*7={j3%#v_&`4`1m&H{-7g>~~iG zCa8R5xIZ7IPd@5=U74}-p;b;R_T;s^Wh36+#^W>B+NfSNHnLSC_lxcO4z`sq{H>U~ z*VR`W^E$uw%-W}ZSK3GBe9-Fi9IErx>lx$s94h|yJj&~0z^A=|z1I)@7~d^fv*)rv zs~YI#&{uNC_*yxYbNcQG#7ZmKY-6K6#&p-7-ghd+k{ulP3v@hO zRfikHI&+(Xs^#?=Yds%(=7ZvEb%+;;OUXqq1jTQE z*)+zV<ppM zj~!@yntz)^F46Rz5n8_Hnz=6>=E$)|27bE#VfYN-S!b4w*`OwA3Ui@XV zIKE+!)vuA|Z}j3XzuEe)hPjeq?%v_^gFC5w`s6Uz`uVY8j?Ciwtzpiyr{?@Svv|A< z)ZDv=IcMFPcNc5ye9N$QQpVO!32N=mVGX}E?^U(-qG1icHT6|%*JrJbn&V8P%UT^xKD?-R2)M^k)tI!_r?E z@LLmScdqyGrv~0T=n~hf1FfFF6=ONhuguZtj!H;?Hr-CzP=eB*^JjU(A4FyZU7V9der6 zo9PPV?1jM#0{qtLD*xNM_+ZxT!=umfnD!}`X`la8d)nut?X=HF!)c$7wbNc)?eo5( zXPZ91B0lZ?K0W$xhyH&Kz3+L=`_5VKXIFYZQ_}k#4ZYvz)B86j_;6kz=ab;Gf%yJK zQ1$D)s-rqX>oUGAd+n1ue8&Zc^9-m@Hk>~68;5>j=shE?t3Um=p;vF{T|@uSp+9@* zAJO%X9_Z?w3HytF%s^i}^cM{MB}4zX^v)K0G-r!V<#c9wnrpWGQ6NVAYR~*fL%(uZlXLBgK%Mem4wiz}PB~I1n%ZgQtBGEI zGd2q+bry6jc=_8kYwI3gw)Ih(dKkN334SDn~1pK>Y=#6V#ZCIZK8u|Qd{r;0- zp8nE>2gm|Q%;K{LDu!ZKI(BBPdB$%@U-Vyf^q+L}uZP|n{+olp8~V=-{ofD$ zXNUeDhW>vI{Xcg7KMnLh5B~e#p?DmEIk8N}$n8$N7O8a6Z)Yto+xVB3_!i?7F~tR`Y5@?8vx2;J3Bs z1?}2%nzbio?0h>HTJaf^d0kL*<;c9 zEC%${JxY&Su!l^2$-F${I$Ig;mo27nX+XA~Y&yh~yybM+Q@YwZE!%sYboF!Wq_>|h zyJ~)Wcy~rt+`|in{Mt;d@_gyqy{oH;roF$9x?cSb`emY90 z`yDN&?mjjc13Bvb$-yzfrl7TDedw}fUB=~C=~#`-GqaCu?QsE_d@xpnWs|(t`j~BJ z4*Yx4+yA6sF5o}^P7J;*a0V|3ZVL8}z^+QbK8)F4b2n$5P=1g~*i(`{ltI!70HpLGkl>E~q_XRr#i;a^3Q?&syc5zZ-+20)9R=cw|7YygVRi zZGLX(7X+1W=cM8$hJ0xCwf42~;D>k5*9Ij^PUZux^2!Fj`z$~fx|PrV)_?X^Ewp_7 z8EgH{mZ{xONbinUAM1nKk5^9Jp?olYVxSr06F+%Fs}HpLD4IO2_|;R(UuVU7`D1)} zKo%W*mt#4+BDg)sk(#~}i@jRAGB`bWRv@1Ic3<1e5BsaG#FJg*u?6n~f@=fv>Ul?w z{qz~15QvfSD+4h}j({z| zW?=sx1iioF!XB~Y^Opv4g|DBloYGl&w}&ls><+|hF>u#Zek*1r+a8V0c$TyITeJSf zXtQ(rb%7e#8E79G>aOVT>F9Uo2OZ~y@6LcvVun|qzAkI#&}!)Ap=%v|S?E^RLpu7w z9o_$acvMdE_(H(FFs>9W#~O4(Eaxsn=_|At!Zp=e!VN-6}a=iTvF29xqlg`Re4xy#u-kZ z^Xh#|Fl^cXeXKK5`!XDzC(rYLK4|%8&4+EuU+4AKh8CZq$*Mc9w_&Bd&U3%_#LU@8 z2YYA9e_hrze5>6h$!04c7&K8t~&8!O;V(Zw$ye zJMc_9HLz~&s9=5=n=4z$cCWLc_^q+8*4!`JO~EP$ zZvB~|ow<_&I_a0A@_8}iYXWxAadRLRlR&#Fa5mi`>VWO92;`Pu^xMOhNuc3hHy!Q! z+Y-+D{Q_~77c%J8L-|AAxxwp#vX8y)r}Dpa)gF2^cg7zD?BXAP$u|Gdps#B_$S1ps z7f;oVc(gp*L+=Rq1#F_H?35$%-4&22hc~2#y)RZh;3Ej?TWf58jgM)@?&z9l zL!Dc5YK=T`WPi<(WllWk*Vh`pX9oJEU~iya$X*EKU!3?_ddb5>X33G;vXdS5mk(uE z`HJSNI;;J7#kFX%oY|uJEv}0}Ux)VMl{G7WEE@0=zz`k zn-|BLmqWIjn;Sq!<;s{pVp#U$+Zc$)y1=@)R18`%8FZU=n;ba9{jIK)$tmf=SS> znSXs?KfWI9sl2u0mha~9>YmU$KYHi3<$vZN)APc*_t%!6kLbc`*4zBl z`}z5i@%4e{=+6jBn);m&*!#F(YjEr^-khEf=EV$*HwAn#=7*dZ6UkQNg+MNhHwJ9C zj&}CY_M%T8=(6Fofi64T)%eR6&qH+C!v}QPbm~BtU8f9m+2+}azwE1cnqyDJOOG}W z_|R3W?fq+A{@feJ^?a_}vB6$8S!W}f&2q&DZCl{3+aBx)oGEyEV9wb6CKkH`F<1=5 ziY#)_;xC?cU#!pAnIiw_KyyE7_|^rLWB#2JkRjG*26Bam{k2y7Ezh2;?+w_e=NsMH za=wYvEZ@i~;4A%nW!qe!v13cX&awEdq(l5lcIjJ<4*Al=LmuSn@<20w>~yrRHmr~3 zPh8aw8?DR1?%?=_JBUNzB(YEUOa5ZuP*Q5` zPR8W6@_PMv>8$vXQ+7M=YGP|}%rGY3Ij^}4r@o1c#(#CnUv;dpqw=kG#0$^1fPdck z`Ehli*<13&ST5|ToRLdT$z`LqoIK}TYweSdzLx2L%FBGl6&o=q{@(s?$eQQ1de-2FQ?tR_#o};I|3&?6?Nw9 z^+TTLEuF1@TSJR^#dm2K&$4Z2*4JuVoy-%#s zQF(IzX!1n1X5BfVZ+9Sm;)Ax<`e2=`ir<|XYi!o+A&Wicg2 z&eEM3YjUo!1>ezuy<&=&FHm&(K<=KP>L$afjYp-wF~~>T>EA>re<>)w<$U#Q(D?e5 z)6qVg_$9XdqL&~1G|yJ^@@k%~czb{E%A97MO?c{D(Z_GFUOpPL8?ScvzHa*2hm5@g z*aGeQeJ@+iXUV3Qtde8AlB}|S>max6Y-7DAYv$S7#$B!RxxO{SQ$pyvZM zTWj?5t@K(eUB;!$=SAZ&UHn#idU4wn@DEM5oY&f!8E**4=G(fU^pRise5RbGkFN4X z94f!%6P;BP^wfO$O7BrY#TU=P*x-F>%m(vnV>uhf;@-w#WA@LAL!aY{`F!^9+1aW( z7BexCYfV1z)E#PFldHOq$zRF73&OKn`^eiJ(6t!Q@7%MOt;Yv*LD}5%vyBgIr?b81 z$h6-cGWoSBm;{=fi;sQy)L_eJe=BbiTC08DxxaCsGlTr8O}l)0&(v2DL`dthI}mSre1mC$98}?OdQ%>Ure-@uFZy zAl^RzyGynNY#^iRTJFeFBW0s^$@!qp85#KN`K-2UOkSNuwJOHe$z>PWB~Kh`-0<+p?!Cbz z(8v~VO^&Q-YQf%$^Gz9B6AOL&Jf4Ks$WnJ2S?+6%EPBm(4r#4?GU*ZX=LY19ZRwQn zUgs?RbK$M$xY~V0pwa!X>FB=p>=>C-PuiG`>V>UrX6te`9;gpu#Rs**2e~buGTa|0 z`FY_$8@rzt0{dIrt?}P?=jy{+d(OqT&cLl1yH~xhE+>!7_Uw#3AFR8J-WZ%0uxk=% zR|h8sy8<@BWznf;Tipv8PS3YFzKOj$6B|uk(Cz$)Q+r0pVyAU`@j4^5zvW%ZJRL1> zOV_=zK0KOu8rw%6U3;2wD?8Iu*_8*e*2pl&?z(sC?wZe>F?+n@dC#Cj4C$*g+tObM zoqQHovC_Bavf@&9RnGW57igCTe5m?X@A$;k87p2fT8@_tb!#tM>ig>5!yGvm4C71E zlWk3m7lX>RxL3^>zb2?W$${ra6#i^dTY*v$EBZf7uIGL*) zhztMNRDJIY8?=g-F}>#LB}0DL0b_9@yL449#^UuY;p<~k@p{w9ns{ksmVa#w#ZtYB zn~v7ubiC{o}xn@@!XDn zWoT!MUVjw=o;)RwAF}y3#>}QXCY!dJ4&9Te6#xCpH-TS)fKK9dJ zu%F)Q&&k;Nmcz{fetPwIDn9z+Em``0-=56v4aflF-p+NItN6KxK>XC1v6#uBn31tN zpsQlW_gOJxH~HIwV*;(>VU2v}N6ygV&#$e4_<3JFI=DI*vr+B0HnNS4Wg9zt+r+?U zy(2{byyqxIi> ztK-tp_Ox=yE1m2root|UwK~+1*81Umx3Q+T>Ve)u<#0Z8V!t`yi+t98vEidw@bOy% zcf1^HTLSiv<(y9?htAfH)z+o_vB`eVvaJF8w7d6pQ{V8ASvWppd~8?<+Vdv1_{)Fm zwNKykE@e&(X8Czi)>iUU9IHO*Ba2ULK#Om!^KmX%Nw0nM*1bvIrGZ?FHD7iIskM-MMV4JHr{rTW1S@#mU`atZo;Z z`P(z*zgnyBp2Wm6o=$g&ePfV^bApY*`e0T}JfE$XuCk-_d3U9!bhSMltu5kVKO6hL zwWZAo{bbfXGuF4yO#BrSyr&23ckbDvmdt}QUh`F7Y7gY|s$slb4*5hD8{}pokf*x> z&6s{Qb5Wp)^~KZCzB7N!Fur@}#f%MAvn5ka(6>8~U;1XnxME$s7>eu0fIap@YX@Fy ztI=EgOTWEhE3f?P`&M_a^W5;iCD<0oUFE`99LOVIP9}l5IydZ)A3WmIKWo{+M){c! z#X+O^7a%S$gl=e*)maw^`|+uFC^XFzd%T2OUz zWybQf6o{F1jZY7mj`qbw%*2FkYKGp$fDNnhx3v|2`D(s=?0pgc@)IALAN;TVt&e!* z|J#D|0_SBCXjcbS3vv#8+%k-pJD22?PB~>K(1*5W%qDczms-%|1n{-@3mKZ8A6o-^ zD;Gy*JZAIdnP>l6Z03W!kuPs-0r6xfyZKOb`O@!WtGJyMuz_D}x1SvM4IOHVtjbyS z*2G|AfM*hDYLD!Gzd3TM@Asoy8z!N(lBXWNeW3ez;^T{ZUK3C9#_C+G_)zf9%zn)t z@sdC1P+aJzPosm4TIrC3+Be^gZx2nzEde>}f~pDgV>Pjw_glGSKU*rl<(AcMa>!q{wf2OZ-Uoc+_ajWC89#J7`dkcV#aWElXkAUJTQx8jh#Q;9X9Id6 zV3Y3^=)rqb(B4bt(e6Dmt7gmpqAQQ)`D{wQOUAZvV#y8|N&vJZYkWeoBJG{%~;k^f#2RS5HEr_%6V!%JN9^`#< zAYOd6&pIDhlUw^WdOW}FH#Z;jcXP$gn)(1S7H@eeJLp$O_RF6*YAwB7y^Yz#pIJ81 zJ!VrIo7LFF#{TT_qiVyr>=q{tzqo7lp2ttI#P3~5?v?`iDt`G|iJu&Iwf$mUpJT|X z+IZ$Lb{?G%=aHV>foIBMV7_uH4mGZK%M&x_xk!gxR$lv_pYpIVU_ZG9^P7ix`o)K@ zJBBg)%(IVO>{CzdBe&IWUS0M5Ed8~gZ|(_u+12;0?XA7|JjdS}^xspGY3(~k*4*`S zTsgv9Iogx4x)+11hOrp%NesrGJMvw*5vv-vc@o!(`Iz7J&eis_{H8;zJQ=f*A8eF= zd7^JDPwW-DzF$k8oD(wIewMwJr|%5^tUSGKWKEtl{!}d0N#(B2>3U3Q@@Y=4T6iau zQ_a0b#`ZvsDYUxbyE$@xIzML>gO=|-nd6uG-xZLB*Y9nxspiZ-HFI;;y7`x7zWB0q z#CLS``$lB_O6KsguWFW^a&XP?^Wd7-J3plZ&mVR=j_ZC8!oP=F{9!-hi5>ltj{fG3 z{?X9xA@IJJM%?{JmP(!_3S(& zD4YIuY&v$B-`LDwka_ji%6NY#^WP0J$x>&Z2u;542kYE9i`xl#Q-)sbtb1S4pFZ>(hkjw`HxK>Rq2D(2JBFTb_MbKM4;%W2554D=^+yi<`9uHc zp?}QKUo`X=5B=iMyZhZ+n*xpgErEDx|JeQh#Lv$7{fW1S*Za>sHl>N*vxAQY?(b^@ zv6aVH1a&VhWh}}*=b#E)q43ompS{$`j3HDK6{6Ib5OFD)A!8qsZG4%+v-&}^o;3dYpdHGB<@!Q z>=1YMs}u7d%QInb`qr0_Q#;vvb-;%6g6|3@!Dj6(!Vi0Z%Ws@JNnL! zzHZpBuG+KhuDCEbD$w}kx$ew-cc6aXw(fJ!Y<`^@cvg{hTc8H{Y3=mDesTJAz~(yx zXZoB#v+u6pS%JIa#$jx)dQ~It0?J) zO9sE}v3I%kvLBz;%U27vzqeDY+jV>CWrs08+>x6Cw(kzCEeEGZYYdKrQqv9qe6_++{<|=;~ zPHk%Ac2DNSl)W1I`an*!y904NIdJ|@2{bi-ZD5~yK5F(~5VZR*4$WVDeAmc5J5XO` zqxi{{SX6B4EZW!l8ghSa+5bz4nZ9b$vw@tgLA#gy($U7LtuHlWuR5t%)j3gjwZCla z?L9L*a^tx&OHRd09JQ6=P&(9xn3Rq&TiW%C8TsN%4(tlV%iISd(|W~D-Kj}2q(_Zw zcLr+7x`tL8bAkAMPvH3_*ONd~TQ>%;4(z29&90)$Mr*J;*c;HlIP}f|KE7=Z*ek}h zR~*1Tx~>eYdtY#eYzWA+hCU`>^Y;cNJHzRD)n5`+4YB8zp!TXKy3~R*z7U)dh^saC zpgm&9erKd~pf?8WFBv7Dye9uUqQ`L5N*?u9@Ag#g#Aah4_L{wP(}53td9W?OvlQ@C z%(Y8{K4w+3=4&r`?OyWCY3wX|d&WBgYj97XiGzk$eN@fNW$fbF<)A{zAt>eU2GzY@6g&KH)jTH*LDYcgPzYi zKC-k~d?l~=?hY@%(0c;sf-M?5+0Hk9RgCFs&s4id%;aWsV9ZYTir0lf=~XMnI|J=c za^~qNy8m}4ex+M~dq?l-=u12LF&+Jgj`nXQS0kNyZej&cf)shXziyv`fVNU@A0YBTK9e>4X!+kWtgn{;2iC~{gKOmfp*8Zqca8i%yheU;UrjuB4}6t} z9|^4{+qk0TVIgqe|7g(i$V>6al{?GaB>@{s_P@!v-4}BIzLNc89nUP;CG*F_zZyS_ z|0mYS|C4Lv|EV?d|MV*O!!ms~xLY*77|Y3ga8qzgQ0HoC7>k|OpIx89w*(IjoZm@s zS@4vg&hX1JzCCz-@TTBxK`*zrUZz|oj>Gp@LtfyR*i{yJKx8@c-r}vU+#*hop1SDo_^k$X2buT z|Kf~;+_{_OXr*yj?(gjE7U7f77Y;@9M*>?=hXehaYBrCwBUdJo-=PjderFW;5&cDyy;N5sWczCc7tks9(hdu5L&%1L6ANu*N zGv-g8F+VrryYCXTLvi=~b-vSR?}9%IeK>3PS37+_bC~t{PN((nTMn_ldPcmY)8pS| zYV}^%(N8~2cKAKDR`1yzy|tsie1;v{Q(rrRdan8`aBR?irhG`~n}hcTe;sTO^WNY+ z!CwYjauD_eza0E!aQ}7rzB9Nn&`Q?H8P_?S)&Fkxd@Q&p__p9(!H)&M6!>o9{ekb3 zoZCsDT^%e1-f4VZib>Nm)BE8&wpn`3pB^j(zT*%RpPzj;qtAC@X-^7;E!45IQ zXK(u%*=Ndj-y5^9rQh1o7j^Vy9sSgfes)KTciGkZ&cEgSU#;&iY;=tIPQN_#zJFzB z>sNQQ4<2o7zNDj1=;+fsdRyq_d|%H0)%t!;qhrkXl>Vsi59n+?wWEI}8(ZIhyQBX@ zNB^ge{;#1|@_m;7tM&bF8y#c5$E8uCbH~Ng@=PbDYSL^%VH#)|AukS+pynm##^-nwc?vDPJj(%H5e_u!cNa+0U^S(o^ zcZ^xSxAXNJ+#EUbw<|b1ctjvCN!Ro_&lY2!b-ZgW2A-?F=d9;_PfxNo7m%xOO`yUiK|J$GUiZB0G3pVwFJ&50UfN7;R-Z1Y*Y>}zfLhRnD03p@I@&}G9|jM;uTY~2{S z>}_p(en+eQcKyj6eO2h?YihM5chsrVyU_2lYz@u|9ur(1TpzqVcw_LcKrM*L zZwCK9_(y1n%ymQd}nlrv+Psvw}wjj}4Zx?wn*eZDp5d(tO~~((v$8TMdtA zmb(tGzLiIpxkm(QnvdR(wFBLEY4(!odF$RHr|w>U$PZum;BKIME?5Yx)m+(QOS@;hf=P(IUI7u`*6q=zqQC6tEGBp9;-KJNvt(FmOHhznt8RMMykfDCe2L(dD|A0 z{N?!7*2O`+Q`Md^f7nRwm_K#K*wFGU=Nn#n^sNu|?)a$8vrpR^95o${pIf(gySie)H+dSXi(wzZpC*LG*KrYlD{tcLeVV zJ`#LM4)4DVeMC-u*qeTWNGp4d_u2D+BmOe{&XxW^K-OZwPrVqn=e*)*u3eWSZ8H7; zeYU9!t!(r26t?LP1Z2^9Ahsn1pJ$snHBs_>kH9bASEdkPyb>- z2N~|-SvuK;XA&Ga^y#KGz*aTO4>kLLs$c73`y|lR_LyInW}csy4D0getcv3UhdKM? z(7b$zFMcs>^G#0WlD>jC*LbzPoK!B4&sgoRluz~oezsf~XJm;!wuHb7~?8X=TS3G7e?KYGQFHa;LlV%TDrFvd^=A67WT@kxP$8#=*$7e-db|+{(+Vl9!brH?w%iWgq+b z&4150&ph+|tND62V^fW<$@s&8_wMyUTR&*>R*IqL)?C2OivxQmfyQV0wDS3)_`DjB zH^xU+J;%$pSw7e2ov6IecW-Q(wYE}B`h5oyBl(#G+E|P}llj#`oO)hz>m2CUa$f69 zkioV(ua&EMUw(Bwvbm`ZMY}s#{Gbi5SUhm%M)tm?V!F_Q; zFbOm^t5vOR7UzOJHC}B`mN*`4jrfjg5@@Tf5#PVKN2^ZS`*nNfcLYZU8h=q}@-=p= zFEOq=Uddwdd%*)3pMZqhAI|66$Ex}I&e)gwTUAO1{n0-qJw030nR()^I_&_0V zWK}-cS>O3BWIR?I^3LZ;ATD}Me)*(E=K|j$XouSOFE*LGW007Lp?eI<=Sjw5;;uO} z5EpIMo;vTF!c(!YzI2dHms%>+d7WgA4t<{+as@}VhzPFLB zP|wHS7N131nIWfk*;93`HXj`D^?AX!20s^kA~-e&`Qd@zJNmZZ{xRy@;C;cfgVzNb zyV$_i{IkhZTlZ!>3AAkiTeQ;q&Dl%0{y;!hrSZYqw{8Xd z{w4wL!Nz`W7JabxtzW^u55~SRuyJg@pF3Flj#|OK?~Q%4z{Xi?HGi=7_20Ag=i}wE zZ#l4Wx%Gp!&+}+PNZQ!>y(0Fl1UAm%A-8?LdETJw9p61z_nf=2#_i{3XXKQ?JA`pP z-^g0&4z15(bK#u?8b9gP>K;8Yey#?59pfX*XBa;4k9_wQKh1mYn77|N+xyS{i z@{@Hi_VH&zNZOcvPs;p(fSvYf2V^mi6cb4Y! zqBA-PjtbCvad)6wm!B+&251tWxL-3~HUkCpCn-2uuM~}2;z}EC^V#i|O zo_4ki?t1p{>EEV~oOR>n_{GGTv5)NU@AmD^9QpKZ2=Hm&5x!&7yZhv};PdNTAok?3 zo&Hu1oxWpS%l=El&yGui{(VIp$aLl^7VPm1rlarKXb&6N>W*dOYIK|&zQe7<9e22O zIHQMChq?f<6@T&WdwEbF^5FiG*X3$e?WyO#%HMIARok8mWR-8{WK910K>hZ$s6K$5 zlfZdn2ef~$uN56H0Z zC4&s|$XE>6QL)mOPI10+nK;*;mjAqtpP%^XX>FW@)|QJ^+2+2L6?t(k8!X_4)tvwZ|nHUAIoFan(vG^2jq)M z`DKs2e4ul0z$f*N&wAyg@7)d7$>paU)w6hg#&oES`niYuY#|UMzC1dh`$@smgKGo& zUl_bHxHI^s;H?39y*|t?J3{-zl9B>ucq&y3gz2n)bT$$8?#m&jlIo|6Fh=Z64G6f93DHBM+no)*8>M z88NTB@_soD?rhJ|ErEN|`_dDGX9iyryg0Zccw_M1;Aetg5B?zdXh2@wllnSS=G~KY zEe4)PbhYP?KKC>Ke`oldVZ7QsKXCwi-gW?cUV8w0_8!2VD-K}Kc?YoPv~JJt#C)av ztnc<*l0E(N-2DpfyLzr0s|(NKdM7!480*zY-&b9@mp(GQL$0NkesB@a|XV%X^5QTW?P9d|9jgo&_M@;#TieXnelM z*c6~WcP0TDXmP5%nXBhi=^;;RWgE+h{$S6ZPXls`L=&`P91X%-5drB*4ktsu(jC;^$GzR+B`>98tv0u3 z&6r*833A&z&zsuWqTW@J_TB;8KGF3HgI;^+rH|dO4b+|e<}1$XUn7eRWVC(FkM+yhg8#NA1|dgdxZ0Yk z*y=AEWp+@Md+wg)=`F@!pcdS}o5yD6}*>aD%|ow-_b z-%JAc23~iZ9=*~toy?MtmrgO~pLyf51mo?tiAS^Y@j|{c<+g_r~t|*~W1#b<@X_jn5cl z8*5cR=*n5WtCcTf{c=8#b;h8FOpPth^87G%&dl}qi)W&Gb&m13cL82^fjoGBGL|3u z#=Z|YC-XZ4GXB$0N5<;{wIaupfSh{YfPHm662Rxj@6 zx@YPP95t-hX7dq51tLcMxs%BlMlJlE^_=$Y-^(4I-4T@`E# z#MHZkyXh5ycLef06YTR&{E>iOb7uzhYHtqO^I>i!8~H)!@c}#OpnuFZ`uNb=W^A56 z>V(g1{0~8EBiUMSqZ%NC9o|X#qjt)VBQpl;6%VqiHqCq2*&NtgHA(jc!8O6B12MWY z*b3PJas#7wL3Ho(9#Y~(k?|NqsTANz=d|d6GiUE5nPG#R(;w7G9 zC??MEd_W#ruKE~Vn>jWw1@c*7yEx0Y9P9~dt?WYge5YoP4Q<_^YhJyvNmE~~J>>pb z-ebk~8w2%e?}Gw9JT15~&^*hXGmv8-x5i`rLx%P98@@|2{{Ps!6L>w(vQGT8Cv8qF z4hU^p#5U(--%8uig|&IZNm|-cD0ZbSDR|Q6q=XhI6xz}S5?UOqLUmj~#I2&@Ur-rw z22gZd(La9$L>Zk?VL%yC>o%5gH2>fC&2xpjkMDbOlD3F`=I-a$d%u?7b=~*#yk`sB z=#&R|!ne5Lv3%W>_No9Mtv#ouZ$Ez*y5D-7AIf?$IF$AB_)yk6OMI{V*5=bpH_qN_ zv!&YfR9md-Zm}O%?uwOx{p76+)(7GV_PX~bg5!fLy1v|67Knv8d9yumzRl^&=T8Rm zXeyv@M_|u+!P-C!OD8$A!RA1j3l62tC!ZbE&b<26U_(ImN4nglpN;aj_)z0k?apZH zI!EO3spM}=8%N}=k8HdH9_6C(^36D3jolL9R6LB8yy>*rNk18T0tL@X^-oA!jyl`q z;B_`|{>0OIxrK}04R!}72d%H{!O_}aDj>st_Fdbxm!wuoZ>xvhV(F}vU;NkYn^;@0Cc608>i4JR0KP#x1))}K)41X`E7~+Baq}%XojPem@ zv%x~_EPq;i?Hgt1qal+&pL!H*UFbR66y4K-_{dke+2-q>^q&$qM@n%s*R`DwV+X5? zXLXwo`p%vETpsEl7dVe{lI+8&TOIbdIp>TPKl~O~zAp-#33v61Kn`pT*fi7Cn^P;+ zldEQ{+OtJn&!&35)H?F{V?92dFFw;FkIN?Wb%%_)8^uV>tb>v{u6EuZAK=+}!^MVx zT|b|5BX;Z-=k37*0h{Ws(pKuOdT!bi0h#z(-PNgvd)B8ep2Xpk(LshYjvH7O;J9k- z9RVK>mP_-^(i^)fqi7`4o(ilsO6!R zq3w+S*MNMv^l{P9eYcNJ&$h<(*~(yyGAU;3kR+qj%A ze&n>XBd5s|r^;#a=F4ezS58}tqlMO^&H#?sw=vidu;&+&hb8w7>5K8x0zOns_+NAM zD|`1>!?@3;E!L|7e9D78fg+cb+Aq(=<`05)PrAeVgs!<@5Gdr4D}G8}&VS3;I61pA zHwctg4sQ5Cmw1p*20!G%bbtr*iX6hnAn-o0IZ)OHd{vA&OZ~aN%;K+noKIfKRhKUE zD#zH_#zwr9;$D1l{oeyVToY72);-HFF(H=@`KZhUWVilIq;FkuM84c!9UN?KUDm7* z@CEL@`q@wVpB<20Hdr$gu)$jL0bl%Q=hlENVnv41+RHco|6w4$#anT(GGo?E1|_fW zv-z4^h^{}%`h)3W(;o-;8)p-L4#pY#@idAv&nb4x$-e#WEoE0Q&`2SJuWb8ta4;Xp zv`0+ZSe0J6cw8Vho(<%FCa697|08hz#&N*TR?m*~<=c4y*<{iEl{Q{+lS{Kf<>cJM zXuJP#O6G2tAiS%pTBVl*x`o|n{&sj3> zPrK09F_$@G|Jc}7YgXo`LT@w6CVl^MX)_mw7YbpliW9jANl0exN41(4NvfK9q z{1H(I~b>)aqOve@};#6-)y@%w#}w?Z_|hO6TANM zuHVnKe(sL4**z{_uL&w==r5bfu9i>vWS(8@Q0jeQZQAVN|JK0%nXWEbeCqp1X8HQe zF>%1>DA{aaANi*T9 zpdV-M8D%Cgwnrz$I-lw3xilzSjM;N?Kn`1R%#=<=vKmy)7^GeEg?4uq<%L_tIqdjcz&%npZy23i%sn0kN8v^D`(VrTo=??-j=qt zI5y8Gb%8y2I6EL0HU|n_Y*J4IY}^#$CQ~09*sH!JxHKTsob~KjA8ZdE2u=@ty>~jW z_Sb{H9BcaLf)29G)z`oJev8GU`40GZAzobh#b)iYp?^ozvzy&=rE2!`V=BO@arsj9 zDBnv5Uh&4yV}seC^zKgknxOO!(st*FIShhv&ntc?rN?@Ds_&fXv-?nUYDxB-9muE2 zU~{10&{&&O?>J&%xlneMo%o33&WJgOcQ7w4t! zVXryMr5pvzv8y zrvL5v+{`}rF3oUtGkajmzuOpA6*j-r#w`Y|zH4JvBfDP3jb%xsKMXjIj3{{Tz&rsP?XGqQ-POR!4E}!bmKHM|3IQGmJ zD|di6xTnNO8*lD3yyOZT{`^hdv7gTvo7y{8e?xFZfS(@>$RcMZsPTzzT&%6@zk~kI zjM-DM>_79TG6&8B`D`C0pY5aM|5?TlMZVaMlJDJXl>9FoqI`MX%6Ipj5&U^4$NgWi zb0$6>jMDoT-TH;{CbvfE{mV{{b2>^dUgd|g!%ojRe7bMhCHL#u;y#`T#A%^+i8nd5 zZ)w->=gD7Xe0Ok7K>xw=#QxUbl3)6snt68eDjbmG1dD@KmVfuXzsLG7#D?Xm**w$LWDNp$#pXcapJ$lDm#c!w&OSEy9b_^VV(VPi z&1b9FE!0-B2EjO6_hgP;zZocOp9($|C~U8vTW9-p2l?INtX{vJyS|%y{XA>h^=K%aqz^93)3aR_XK^pw`ELjJI6-`l~4Vgc6Oab@>&`8 zjLW0lnUgbvV3choXTJURg1qnNV(l-R$H~Fb-vxtUK06L3hd<8Op~&I?>Oeip-pPZ^ zk2;_7Z4f+MU)(q2xaWhVMT2rp@1H2e=kDIG8QY*+OjDopomi<9MgDWYt;26MuoN z`4On$XH&e?S+-_HAP=o$3m>-xigv|vU?4?~i?bN0^^ffO;!|h9{Hj3N6R@w=b*oKZnY<^2s@7=TzWKw&&P6u}+x@%;N!vb)!tRfFFZEsWo!8&13#m-h3``6;o^2p*BAVaK1TE)&}(V&;QjKW2f_f zdVrIX=e$k@b^gh|Cpg^mI-9-tbiUj3DhEnu>!+NgvwWS;w%u8GurpG!`gulvn`cw$ zk2)jP4FY*2PW>D!uEnile`MN~M_-rrqnSr^;keBk_w>?0sr+a;7Wd-!e;h(Ci5Y!( zkT;|D^7X-B5cG2qKW#4JlpXEaF(wD;nhq3wxzpyPd!p_Ndn%9Dr0r}iRFAc-9yYdm z_N0GuATJgD7YCkIO5cvBW~^*rSLKVdI1%g&$Sa@dE>3Ihri`r)TE46yZyaCFN%4w;f#&O=_ZfPvWpM&D0o;E@L!>WUnc})jN@f-H&3Via!F}* z_W3w1^Y{=e#a-v@+u!DnedN%=cDA;1(>?HDw9LxB6@;A1W?=dBqKV=F0YV?>Ha$ zqwrx6;GT@)6ZaJl_etv)yTzY<_OyP9jlvdp#TNrMhygn*25eO1hqI=>J@5=ZHn=*l z#+_}C_krnvT=JF&=It$>>|>AdTLZHE48Uya;xNqvGQ@!|txfihJA+f1V*`2kIIipC zQs14tAz*`NI63`szpG`ez?a(dQ<)Y1i6~Y2)yy;9Yt7`-R|dg6C(S{Kkbl zKwY^ZhBZgdRKN#gP_nnD-R8NzdA^d#u0fz&5}4Z&)Lg}2kTIowUTsYu7c+tN{L|Ma zM=Z6AujA8Zqa3>|sGMS}`^Ov`@T`zG&`4Pu$k&C&luYsz?e=cnoBmY5#v=mum7kl^ zmOtX5(953Et6h647UE{C^h~F%=*xrcLB)Wc-|F(=-n7LO5A@+>5GeGLyE8a7z=e0A z-GP`nH?Ih82%IH+lEoM2O<%70nrJ&$Hl3OA{~hQr4ORwhAX~vTw7fX$bQBkSo{tN@ zw_J#E%f&tE^Nr2Q-N7@0K_EZz0iGjt%XwvQaB{#0@xV>l*~Y|N`O6Nr);i;Tdq%~E zZT8Xi4?)Wb87Bs8lS^#w^TzfS0baKTQhd z3+wg_M;`N-sjk*%yIh$F=)@u-}ba02nK=iQS19- zt=(**r((sXW!)Hk?4`@SkAr{g`o^aMYm{13_7n%6aq^ViWW${Sz0S9IEe>#au-w7Z zbWj|WoWAbzg>Cc{ciQ9ju=k$en&7p8qJLX(vQCOKaYt~UP6}D|J*msnW*4}Z-LE?X z=fBNEe)4-ofI}$1Yi>=(*i-krd-yd$$rFcv3i|o~q>R~%Z-u=t39bv+Rov549J$xb z;js8M&o_0S+lnhroi}AqfG2v%YyBm=;%vTr7`0|a<`2e+{p*6m-Jh*Pd)ZHyvNs^p zbE)LxcwgY&#)aI$MR7ctcCEFh)>RDoQZ|l?FD~TgsJ&}4PQF6-k2KGysq}H&=EjEf z6*=g9fOEG{j9NcxjJ$=6ThrR-SyBDjv~hn#u%l_GIXrK>Q+pOD^7qEz$vP>x81?gV zS&>E^~^QKQ9o2YlE`Mea|@YCvy-e?R|e#`s9e69C|_^Ue4E^K;eTm z^eAr$_+0&?bW*I}5y%I{{I0+~E58;6Y-5Xc)h4@iIft!mcZFj9ion+p6n%WQx?Yz) zeRM4jO1?hc+P;0&r?2$aInp2H%SSR!9^Ptyan3JgA$k6@`5d#?MNdUy}j9@YUwsz3I<3bME0hoNa5>?vjb1&J^C-Gd7=H^Vu_> zT}MX2?&z5c=CiBidlVm~W0W1E_?U>^h4Arc`@d*`c8H<-dcJ3Z7`D#@XSrgD)V_62)2^j=DxF{ zxI5$`u#0^=13s<|oPixp+g#mc<`nw31xs~O=>I^czc1gJC1Y_=@>{#=&cH#;3{JFMi;{qo&m*!#d$;Xm0icfb=&5z=9 zF7w5udK902rp;NVYaE}MI>4WIY-J(&xPJfAhvcJsRgTrORC_ikKX7NP`e_~(clGQg zi%ie2lBw^URo}T>5+3HeADkt{KF?_J^?Aa%d0KFBV9koaSiM`SYu!+O^ystCnOBpw zF2I*_4fKF_XZw!HK3@Z}N8U{a2ix=55qtRh)fuOgyww4_jsLq5HppI>979(o4&aA_qnI!a(}!& zhtXB>k^4&mb=jbAFT2%?yPALc_*e7UdB6uQH+D6fZutDZeXk9EHux{WxBkz4`+g<( zzCYWy@2m4eZoe2jBVTym@OS(6y(Rys-N%D#|31h+0D4CLan&CSel0lWANK9LKKQQS z4f)2%2ZPTAFU!}o{o8VEoDNOHn-TjJP?nq0ba$&9qoRvzgcD8 z^A7*kkiR8R)&@9{KV;yvWRO!Bq^-33*lnNncrR>Do33^({>uk*${T{q0{5D-XMZ(} zl{LG9K{v)uz8h!%AW&*tyX@d288^I^mQ(c0Z9cd9@qaM=^1ju7Px_|@a!k29 zct(H|UwdGevNt$6V3%=r9T~9En0DF7hO*IJ!LBod$A=91*=~ z_k_%mk3*%-xb@_02XkG2G@7ADV(3eN=6C;eh;`Ly+*0^{bJ7VsXZtl1dbIZE9r6cB! z>*kIhF~?5&PUy{DnlU-BBj7u~uI<`5zpiVG6W^>6=kn9|bT^K-oq;^ZyIdIriku{G zU9dig8AH@_P(CaT#Pt4dj$D0vtX~z-q09ukH8N3qbnT&=+zo-)`FR_5&UN6gvmnRV zIvKEAjEs|kFL3v;O(C;vz~z&o+Zy`M4bmO%)%R}auBmg&H)|{R=*3}sR_Si<8F$0S zVmp7nDL6i0qhc;o2kt zrrOq5%*dM#=;eFyj!%ACCob%f8#qzOwO6V83kTM24CtWi-SHpC)|?brL)Jv#nV{Sg zkV~GJeQh?AKN-vhWU}$Hz&d+t-ufqJy*w_T*eRxTng6=XJ2T|*={p0mN}t~;YUQ2O z^ozF)4Sm|3`gsAHVnDuq_M9A?7RVEPJ-cg9MXB>vbJJbldTW<=eKPb{ zbbWI5S9bmBuD`15({Fxt*JqRdny!Cb*I(Q9*=~Ma*XNJ^`mVpE>u>1#M|J&;T|d?E z9N4!j!1Kj{A|BPpp)+H@@^JY(If~^e{p@{8uYXFf?{@^-^{4gvn|l4H_WGyy`e*d| zXZHGM_4-fi^`GABKO=oPSbRB`(@nqllk;+7eUL4~Qn`&=d+c?N-yh5c?k?x`fxw;R zK72;tEGzow2JLg@oy~KFTyS>il(!%4_1~4ga(A#L_`$%sUka2x!BpU$Qs~?ed{8IF z^W}FsopQt70d!WaeSC1u0?^v}!mMxm?@ZsFfERkTZx7trXLtQKr{*i3b_BR74*BxB zU^3{>?akN~!Ny=`aB9%%5vz*=#rbe%oWYWjLMPe^6(Zf6kF&{cPYYSyR5S*?w}SgF&D;-&+HG&jezk{raHZZ{!jiikrP@lTB9f zLf=H!pGr+epC@)YtJVQNRtC5;M?RifzMO?ov7_(pLGf;HagP5RgN4fZ#;nELn*)Wu z*`VarS=*Db4T1AFZvN!V$%j$%c$?}lYM$?SxF%@NGT-hDiH_lhKI>)dhD7`Hgugf@JN6p)RMKCpHo~`rw>fS1yt*`QquXS(D=c_yFk;o4` zDY&{Qmh@k|t1=U?NzJB;-IlZ!cLOdI_E=MEE2rDFlNP45Yu!7g z$NtS0q!@4a(&L@d$E7zD~-`2YQT z+=WWvZ}tGa%L7He$rHZ!x!Q04lZN|G z%>0?b3xZb!Zw-Dt`1Rm(f$zin4C)hRFGH>wMmqQRhP9 zD6Uh%d~tNn#Aj7d@u)nT?+$p*i1p$&?hbIbJu~-H>8LxBj!}Es^CUNFpIY8JqZ0uh zDmO=+#r|G7Ip5xGnP(6EWY5RXqRh8;(NDJ0j(c}B?kwEa%oWd}_7jk?q zDjg*U|IT~yL9g;?`{bF@x8-nr@_g*e8Rye{aXGS)Lte!NZ!c};THZ$G;Nj|c^&#jO zmFMzqx{<+$L&OVIPWS%7IDa&AHIzJrlcUmi&c@|f z8=G-=h&#nKX?yke(*w<2@Jtp3K8!EI! zF>2SyF`vo#>ivOl?x;%xb5{q>->R1N&Ng%b)uC6E1vhf_{67d;a5|Y(8uc9tg;;c$>3tK0g1l zE8lSmmiTxVFa_ImXmACLfI* z8Hnd}P&(Kl@5>JQKx~{Vde!1`IBh;{2wHvR>(q$x*^CvhWfS`!ZEol&8|UL{GV98& z^21qb_x?-9%w4f8P`gk1ZQrjn)~^pWPS&po%J0hOQSqysdPCM<7C7t1_5{k}z*#;w zgXFb$PAkuznP7MDl)&9t_hOm{&KJL@1M?+Id@F9`!2Yl4eCglnI6h;2eOog|4!!Ov zyw+JHqt0~cG+#Q8PTQK=OHS>@-}<0@z~3kv@nuabr?0awqxGThGkN%?|C*p5zy8^y z7jQMvVM%H_$v8Ra%V_mmUS$f#hAQ_29}9}ZeQB4U zr>D(F`_=Z7OGfDsr}BN&`Rn^tJX%{k-j+7G{k7vbaAuTI9FW;^(3go5{+0eq)AlZ3 zdz=~b_~O6uzDzRA<<)ig_k8-?Iuk9|OVd}1Ycbv#{8KPWm$`}q*=5Ikap?OgE`2}U z&lS6IewrU;Q|(ie-TIHqcHSAT*l5d-HGv$evoTJ8&8y`~t4A!Hk@W$6uqPnYTKzr` z#_O3O)+++CiyO8r4{$E8`r~AlFQevmXP&^iKb)i5)B2EKc^KvjuG|3=y>&PRcSUhk zzLEod-<%KruL_O}6#YSfYlX~up3==v>ubDxA2eg~Y`(Sa{#x7Gn(af*>D?Hxg}=Av zo2)+&{8I40gZsjX-*sWrRe^I@u`;IkOygc7i>>ZmF*UzEX!k5m-`SfEE(yfJSly}i zc+S)ww&PG~pU?J`j@@aC7yj+Pq1S(Y(@*ojd;hU%7fwjKz`w#&+J%*A7wUdECu6Pd z>w5ibd;M*_K6~5!=QjN`hqgMO_$bJuf_Gdvu>)Sg9ek?C!9~I1U`?&~kAa_bHoAm81Kdwppi-BU?{Zi{nuH0?qraQE?{38p> zCOY8uz!{kelCfR~+&(^zoAa#i&t>R9{P9?K)F5s4wCm-QQu)$fZ+_Hzv9Z=ZF~qgH zbZMU*hzYbZDo%$YL);&(40-l&Ww;9#BEwnn44DqJix)fZ|rO1M&7c3jrP0yE)B%l{jf9G z7xZO&Zq;4ro|*2}h|4vByP56e-r2SB&sXDYqUTTY?!qSbfjOn_$Emd4TN8m&2A!1r3h(f1?A7=4&p4_6N7BcwK3=}7 zH-AU3|FT~H%JeJtWZ>lXyce>~-O%c~A>(cT8R^?wx~I}Vrs@B~KR$H*7kd2<_xf+` z^>0fbf8Gn6akV~uINFwZT$lbg<@cDqLskE#UjM4}aaHdb>av%-^_d?vhm(Ez@X)Tu z^~W+++{s(Ittnf}7ChdcwRD*)pC;3`-d;7Z-TIq4edfxa^E!R@moED4E1Awn$#`%IJog2JA_>EvTb7uz6&Bj6M2Ltb1 zpAA|be>(?SpZ~@6ZOvHaLh)05JhF`)@bl66iQx0UzHi^Na|tZ^jeYx`6u8^?3nl;3 z$Zzvt_uoFWfAilww0~`{e`2rytAD*eZ>BpvCwKL!UA?KRPw(opQnQ8KcV%z+j^kJM z`Y%b}8L{5{3({}Tz}db27yjy@w*OH2d|w`@#YFwgfK2iK)~u-*EF?!OH|0KA{Ty|# z8z*1=+(4}4JozVoH1|~gnCw-*y>H)^kL}y{?ZN+-FDia0m-&Z3x&QAhoYL*#Gkm-o z$0=DgK9@gKLGEe2@dq=Wp`rd`QnN)KZ|;26C*#%!9?I8e@{QIuH-0YtHebK7>({+i zT(Fm~p26zNyZS|4eN}2Y$$nxdqwa#@aZR_@I*_~H@_YO5$0efg(8p{qA{^_H%_sH~2g-Ed-0{sgJ>;=n zskQc7OZKY3=aN>o`I&&64S~MDrJ~O-z+35X=2r&fOa_WMGEWFvAJRQAhnxPKJGS`f z+eANq*reo&8}cK6kQ)3{n6fkIZDItCy8I5+g69T;H2V! z`-=79>dv2_zkT++rPqIbuRqu8Uy*+MY`QT0R{mM( zw|D0g(-#9{?h&Mn9Gx;yMw+#TBPj`I_AcgN8oyq^n~W!!m_ z7rw?oPvx0D8T#ze_8IWxz&>Z!K4(wP$yxTg&o>3`AUvEAn0NQL`qLfx*_Z9)vY8I| zw0&f-Po7Q(bU6#&;pDUXo1H5H>)31DUbe~e8u#8vM(wkfz4&cyWJk*jzPAP5A1=sb zaq?jLo_XvAoVZ_{TX(qI&)$WC@7CJSW}MQ?=knjUcggn$>;So8&5a$j-xMf(!vk5c zB~aLEujj*5*T&1mfr2--%mwz<99g)=x$&}v?#BgkvcHx+WEsb^brqNX7+;nIRk!xi ziRV5iyE8Tw@P~f3u)Ad2L*JbN`^&yG57=REtuOn;`*}zF^YKw!;<=wg>=du90sm(L zdJZQy#J_T*a)GSk|Aw^jQ$FxnZo6-lS~qUZ(ySrxj-bxDF?kXShJ{{t!2`kGU@9p2 zxV6q5uqu$lO1r;okPmp-7}#U&ALV}ZzR1VQ$u^gai=o&|2UiAUi>ElbC)j^WQ1+8+ z4K9@Xf{Kwj`rJFq0=!HHZSGYL;*?BfE^v=b1xE#~9sCkwJhisS7k-rj1AZ+DooGuP@i$R_^l~x%QDe8}#M!)!wfpPF~R1&Nj9`5}aJr$URg} zDtE*mXNp*eWBbfvug?VXv*6jJ=*zF_i{r{b{)ng2-U;No({2iG4ZbV*nZVyu+!1^r zctR9DIk=AE6gJ6C^5o4#pcp?XpiAEB*IB(SZGK%493QlE_VC?#cP7AjA>VlAlQS|M z$Z@sv;5l|$Q0GCuv&Y^#pC_grH-@=u{)Oq7r|-dlU2Mh$7s)&!@LuutS&L6LI`>-w zvYfj?pj;KS@hMr>k=5_BPjMb{%OFQ*&f|ZNvSp^x1!2U~M<`khqMRXxZYrhh5@Rlzlw_-Eyd>@S4OAmqD%f3RmUH)a@)_wMH^Y-#X;P#5I z5N>}Xek%*Piw^frC~hB4-oEG%xV`c#gxgo|r*_D#XYi)L^V<8zlECKz_o=cqaOW)~ z4$sWGg*=PMD}7H&dwJk_zK~~`_x$Og|4d=;vVd%D?+jOkZ}rt({o>T#t)_xnvpr*M zSr>Q@V+$Dzd3SK9dCpG-3Xbq+jI67Jh43-mt-C9A%o%UW@QHoo;9J|Ay8jI2!$jbWToa>ka(RF`+-(TX3EcN= z<~y!m(yiT|_JaXE_LB3`-W*@pH5<_9^IWw(JH^xIKz87h{BMX1woV4(=JOGIrUG^Q zKC?CbOb@>vK#sorVJn}>Cl}ZB$v^L_=IEN8M;E^7VjJ7n1$4Et`?h;GU#RWJEkNG2 zhait_l_zZAGh53ZIkqAYr|Ytq?c0Ns198H)xt+baiZ9s}ll#-AZ#r<^27z)_Fm7Ex zXYsi{5L1O7@)dUXKVMB`jBNSD_7?=ZgI^2e37Zr)nJ*dIVlVFUR84l(_z`Pu9H||N>o|gx+0ln5e5bOpS_z z_;FXjmR9GA^l>8|_%BY#F8}a$sQ!uRDEsIy``CroyMop({Me6A_qwxsP4j$U3(nUE z_5rSNzdVpLa~Z6=l%CZA|Jr>!(;s)1#0|*Aky2-lzEwdhj}D-FR~Fb?`mH0wK4)$^ zD0{W7lNa)ooj9p;VlSE3XLI>Cn?6*0p46=o<2Gk-Xr28p%YM4+%oy99u`Q{U!SMeF zKSSiR&;FM`Oq*^PVbhI=V3Ry3p2gMqSspmcIIXeb)Ls9I&gMbd%2h#|6PX_QY^A5} zy1BIFNHfj#@*BM$9*A17oVTjdR2ar(*#b2qfPvod{oAV27u3GCBf7T8;P@~SK# z=ccZHb!vGt)vdA5{A)7qtULF8UE)jT+CaO{4|&C}9K*Tw?O6Z3O=KQ$X215C2g@0+uMANZLK`2O0A4N^ZCi0Nm8xxn1( z=9%+#he6h~`@~>lkf~w$%!B!NN4oYe#!fj}cJE9d|JA>`o9BbEBcU6sb;ka*_j887 z)$9LU`s}Z>O(&V+%RconT}`e&j@6zcbbH76RDPbY&Q#g+`tE1$tZnz27sFFBFJ|UT zXT{3=r}KjvY_MMWK=-q0`Z#-K`p2ZM{vU+DvY~XEBkRXAXH0DE(JtLpdsZ2*x@@kx z*0J^MfG))|@z~($!L2dO^Yn>Hnl|?{G<*jmE8!yPBPwg5`mI zApiB{+v~Gf?t16vMQ;9aKrWezF~0T3&Kogy&WN$8W~}wC-T~;A8)f5_-Fkk_ zb!~R`_uiZ_dvW5doe<#A*lbYmR?}%O3FuRs<3D+q2IlFsmmE6leTCmMftb-Feu}YH z=F#a_ZpcMkm&}vXCbPB2TKoA-zqs5U!YeL(Cxbm@EB`!Cjc4gY_TDjKZ~*nf34Xy&l zYgcO*+$Gj4<8)UnT7AVg|M|<_vTM{>@z>@=whVoLjz)@oyES5vGkm{x3XbLizO?+| z-PrAc99R?h%+6lVxylo3=wBXG{G1`BY<1q>kd6I!&=nbP?;$?UHe+u_uxnf-Ngjj#61 z1bDS)p}fkQL*;c(lzHFcv**3CB6y^D#h3GezrB&qpH^3Kk>O#!@!_~&uYr`>`=;zI z?#a5l>5p1}Pcv`*o11>iI~^N>Oh4uilMC{(JxjQd7v~0I#y)3P4sQ$O>efJRikW;{ z*7co3+_vysCu2Gg>u-$W;$tHHso?0KJ@1q0vw?hPWKW>5XEwk~wb@^?|9wyP^31hz z?NQ|MR8ahSM)J!%fAFK^R~Ck!aZXK}o>tzK>DPWXvXy`A7V~;emz~y51Tk^=TyA4h z&uFn{2Y*UFdHAya_@;ew+SVy`-su0PC@6mIW%IQ`$#`Mfs{(c%iVb{h_1rr`&sm+! z6H=GH)=uvu%4I=4v$m#I9#iz!< zIsQ~Ut(zRP?pvC5Y^=D;{Wk76FwZ|WZ41on%ca`)t&!(^xU<>foE7km$NF5dGHt%v z-|8m+aCE<=(M@jYRgcrn)>b#Yhok$ghoPHYbo194{#39hQ1Cw+u*EY$?o=Kap9}C- zb5&bk?{3v<-tUU$~U?CZP~+Ddi1}&>F-FN&Q`~N=;`3+qM*GGvg9FL z7U#d4@k;||RblgYjF89Xvw~{^+(5;w&R#3S-*j*NW>YJJ52Iw@L8-WT=UEl-2N&NJ zxwyfbJgDaZyT3bgY}gPezmRzHb7PRHAwHeo$4qm`p>;TZbGJ@DimP$*Z|=tR?f=o< z@1pKapWe4+vUI*QW33HK(`Q4;cwhJRAbDbp{`B1 zxdHvwlRe*hGV<$`!(6yGZT!iP_H)GI^vOCk;2Yg^%KI~dcO0?*{&aQ*fpXRUYIs+^ zKW*Gh1-Ay51(Sij-#ccnJXPM`*+#E1I=?q#SVo(%?x!eTKb0 z?NnN!HUD3}V|<2c3PRIm`6 zMr+eG8GlDmwp%yKPI+ygQhMjorni+5 zmBV)^Ie9{W^9_NLU#Wh`bLg|_xAPzF&A+EN|4qIA9lic5d;J%uk1zV!_2l0C$Gi6y zJ~$KgTw{}G1&-D3XSFrzTIc-8Ejko^dpt|NFAC+-TRPG_H^jTmWzRHY=LXJ3aqND< zvEN}ZU*l;WcwZ=a+cH*X!~Cf6R*$pQ%B%Hk;NK`&=5RD_4nO1Oa5HYsIjgzW#-lS{ zHrBZiKLsDt0ef)$s(}98LBhM)S*Ux=yg6faHpq5Hjc*F*H>NlP?v8Of#pD|Tx=spq z1>}@XH>F)`+$q-v{Aa8Fj=*_lmp+^se1Du17w7K!fIa4%FZE?X`O=O*znioEs6hP6 zC)_H0GC!YBugiS-#MbhMFXrgPpEb|w>cy$~Qftfic75yn>$4VDWNEXtczAW%c=&T7%L+IHJqr7sDfX3JtJCh=Z|@J!Bllg0DVN?i1}4{!D-;xh6-Kb@h`{39!mZRX_IfP zm3Kq>*7MDNa-1u#r~HCY{10> z!Oa2Nok#ato&R=DPVEZnEY#dwZwwCwc8hU8&nqXNn7QeIzcq#@e(Qf!f(zJHr!!7+K2?9Jt@e!_V!(r2#vy4%lM+2?0K4 zf{Ld(`|b?1j}7S1b`Ox_Z(Fc~Jaf+3k7hyH#Rl@(A@7QlMQP*2IQ#J1w~;J1)|ntj zo{ASfwE61Zt}{?M$scoc7&|W@M=rN(=$sD7vxg2Gl)TrZE$@w+7uS}f@*5`y z{*Io!tNw}U$Jf+R4?u76S~@cYy9iF z`lPO&N_}>~UPaDo%K>Na$6}m2_>;jPP|8mJ;Nz_DcTDOw#v3wLzSO#98SBUSi5V+@ zYu)0E$%W#Oj(^D46w6n6U2Fd`FFy7)KuiOjK=4BUUDTibG6@;}tg zSx-*uqp!;r7v|V}Zcuir^^Kcnr+&rIm_C`>xYsW`#8SU}IIio5Bg)Dp6 zh--FQSGpFb?Rg|FR|TW=l3jYW>AtfYD>-$K6c;6DBI|&ig_op#QD80mlrw`Lj}m7c z2lkWr4zt8>A>Iup36 z^MJp~OM51}{*u)CYV&mJtM%EeuhwUSzFMCx`s(VJkME0*_L*Z}dxw61&xreIY-Cw&vaY}Yp5_lca1fjM^laky5COTFi7%Nu7+eCaP8X%1~YNh76fwcfsQ zHseL^(B(Nt*OowGH~Y=;XF4DY`fEm=W&2tmHm1)%TzsPOkKW~h9F+sDkNkX5H_jIM zzz%0ZT+Ca4O~9@z19m$r&bAs)w*-8phYjRF`9Uw4tt|TRR(FnkJ}=l2Xj}V&;O4Gx zZQZ%_+Rrz!T^+EMZHoitzWvqEE^CxSi5q$NZDTV?U+KqAo*Wg-c5^sb7pxDop`U}F zYGSmI9PG=(d+pQ4SLLo)iwA#|QGQz^ChWqk*x7?u_Ewy6VEmLoo2<$scZt1ZRldw8 zuQ(;oyTHNZ$+`LDnJ0s8ZTTP<*wvnyaqTP{`ZlGJGKwcM@!Pk9&r1XT%i)A`pLm=X zu&JLT(-~tUYzdTFGhg16?u}V5E)zliyz4)^zt~f8sXU;IUNUeZN9rt>?#e4RlW%S1 z6`5qTxkV0?54EN*pS1&NZ8l3d&}3m6BC)U^9rP z{pObkHw9#neOy4k_`25@1$@{Lko%|Mm~ZCXH^%Mzj~U02`>n>lJ!ASC1AAdZK0l=z z%9NjESucM7F6-%P$I1TN>~Z%Qr=!(v-y1VucQgM=|F(=BzJS5;DLO$ z<08w3U+XaDOkNs@{ndf}d^5+-iX|VG2X)TrYh&!QqrJv&4aodL^vtHNclk7jviai7 zDV`PdD5Llhhl&&Zbl_%HApglHkKR7_EjPZ$YAEhE`6mtzoa@RPwp2{miD!D~v>zYhbxmNr^sY;LeLybx*7A3GK&G|!l}vJ= z?5{O_`Q#NZM`f7(3n;SmT~JKTx#6S~~FV=gjSs2gP~iV7*I; zO}#sKPj3C3PM<7$?AIRk?o{s%-W3)F{KkPY6BG~n>^>*pi&)h8sP|!a8@J%~NVoy}DNesCl9=QVBnieq#5Exp#$XT4H3%%yGoU>uje z$8~!vXV|q+j@iP`b;0_;UPaza4qN+q!?Spp_q_)G*1gED-GO|OyYigkfwRP?Is^P~_x{9)y<#(J zFMjEJPxe$krF-D-J7sw6IRC#sV2k)%9Jp(i2bH6^-W({}I3V-B9tZcNZ=GDj#m2xo zBp%YFF)9T zA9UJ7pSfcLg$(wBJ7TtLTd(hY)jXT)-eB*_fP5S(=3#Xp56R*S|H>Eq!CX-9Tw-tR zO~FNhy|o7aI1?+f*97G446G%mzh*_o?7uU3Z|)yHvzJ}$WfQ+zo7hU$!61LhyF54| zmg0|n%et|*r~boWMGWxwFa1p{zvo|E;A%1;LtMx+HWQGgPab>mpREVR=}2?fCSU&1TWjP#eR4o4TT6~SDLKZpTREOV{!J-1Ob2}Ax3y(Y z$&!;|DaOuJ`B&T&=ci?k9QAz2^iY?z_Absz(w+}^F<+cHSI!h$#HDOk>$43fY?qhf zrG0duXycST^W=GdAkRK>=(EmP?RN(3F=o%#c6*99d%n{7==&3shkh2n<=e+HuHEOu zy5fW1_%Mc#KML&m*Tly{^W%-3Z+$-ce75;<-@igW`u@a)k@<1{7(V9956|+-4`=KN z0Y2+4(QofrYt6%|z`a)c+dbwt1@6e%pyayqoOyR;yLTbF<+yv&^GGTE?r!qsc~vq!S?k%|uHThD`4Cal*Zn5Wbd7t)dT0Fkfc&)qKiEjdLiwkY4))v2{{Q=oo&Wjj*{k4K zjJ}edu`|gBag+;X-@%@-{>_%kn>zEAgI}rd9PEwR!+X>uZo`-c`)Ez=58TPa?jFVAw?X$9dhO~B&*~+lj zn7y8xoBTKATn?^?i24+oGU-@30>C;%d!?z`K&4L$Plz@VSpXaTMSB z+$t6;12W}TU#|V+_U+JDDi`W=G&u@;c5B2Cy6)Fbq2IYFTgWdNt^MTu_t?)?_N&L) zUC)KJS%VA37#@^-nQ-jC`E5P@?$zS^NnO9}!YO~*wcyktNFIezFnzXTPD)yFIlb4d~fxq`w-dmv$yooV@$yrxn$s| zd~jZBJ^QSe6E)VC!7qgzGVR$ADEV{y!)HP5Wh;4=cl7%@pm~0s9N?p5l0)9#H*&0d zYS5RHp@-Pe@3*}9%qv!9r@vpir0M^8`uGRjOawp4Cbe#jwfHgt8pAITl>#Y*Ku z?U^s9@N{I*>fez*Zu$TIC==Ur1G?QCV&AS$cQ`Lc>9m$k=TnUHnEpYWSA3sZR6UD zgW6AjtucN{ur$~aTpv`v*#F9=Zyz2?_Kj)RS&MV>~Q!>P;xWc`kxfvz1T|a7`P8^m`_-O5*r}mwYw)0WX zCv7p($A!MUa4uE^;(<@OQ=gmeN}HbQ+gozZOPfyfeSZAx(ffnBU~{0f?TWc` z3-oRX`1M{p1*~D?!F2Hz zU-Q|+Cb?J7oHU2`>3sQU57c`N9;bui%z3~?%W1pbeQ+r2o%@BX=Vv|N#`)|%tUIw? zb9BbbUh~R)ciQ62kCP+E`#I$qW{+oPtsj~iFW_YA2VH|8wXe61~e&d*%6FKF7&YuaoO+ghi;q}S(z!XNtOg>{pG!ge;{ zuQ=xioD=YITR_g%z`ZaNxCgw~kyY=i)jvLCRe=aC|it2$*Xy1X4HJi$H_Pu?V53NN)H+GsqWm} zX^Y`puq9Ah|MYP~u6_7Y#E}eRVxowpy%kGwwHNo(0XvP!H@?y<&ld9BFa2VrR2~h6 zz5RO0EiUL4XL=R=@?GrdReJ{*=YPd>R9v!cD3d+Af_h()6AFFfo_F;wV&6F4cVw>e zicI#l{d5oLuXic)@`O!g^L1&{!Pk24l;3qO<+s9K`^YK|OIC*F^~ZZD`|O87FcHv6 zuKMLc`(DZ>Yuy!Vg2jPieV?~mGA7R^1H~FSSA2+*81k9k);IoHM>ih%Mwaz`jx#jO zU3Rs$4@{&ChX3C$@4U48`p8yhf;t;tKOFheSbIj;Wi5Y=)2pT%r~Kusb^NUyJ34K1 zz^_$-HS}K|9G(A8OFa(DG6(e38nTuIR|NQBi^2}$?6CfZz-Kr9iKSQU`Z$B958 z!&vd+y+C0XnPn&Yto6P!9at|W@)P%RL;u2{bkN!IXbpMd1?2IwVrXx1YrbTYp>LjE z_R~QgJH@W#>X$FCPFpc&%v|f!{#@SA6Zy_Hou>plfMxRnpBefryi;^+lwE0q`O{@vqm1&c?m5u@oqsr8;Q@?mi|h8z9jXnERK2A2fR z&zS++t!bY-^jI?yDE9^RjH%i@pK)Gek4u{@G2q)hfuhYOb7I3DV{IO@M;`FIxUxbap|JbxAFvku#QuEGY$umwKzR24d z&{6#DNZbCcfqaHRpbUop-+#8xPn)0g^K&M^g*;LZ0>%Cd0&D56wfHv2#-#zjjPaxH zHEYe=*V{qO{7fN1h7x~2-8}X)3mVTdCF|K)jmJewT`5~{L_r`EX9^IwS zem+zjL=5^PYe|e4Y);zly8p-RfZRh({*f zWYgW>KbJA~TeBu$W33SaUFUCUe9-RH)=QT*Y)I1?-5WcK&IIAiY*@I!yuem46DsUHl;`D}nA z^5}SX*7B$N_ogq#)qhR;e6RjDq`y1;ulmT_p4sZWDC2E^Td)80^y$SVS$OpC5VW>@ zG0*>+XWM7fKPGkQx94XvR?pV5={qu3vT@(OCt6E}y8K$4_K)Q67uZv>)b^_F-x#n# z{7%Rpqe*pOuI%61$gsD@Pw)M$gw@@;@{J!)=*G&2Bh#;#{ii72oi(9n$o-16&GDng z2WcyV;s3w%e$w*!C%wO$@aC@1M`xq#y{;R_v$@G`ZX)&Co{SUI$D?(=Hd!+MEI(M- zj^XaZ-I&jv<>xnNtj&|Vdi|Sv{hhu3Rq5lg<@@~JnoYg_*QC$3ig)?Byt9j+pUw}5 z*F2uB_qj_w-PJ2o^TVC=)7{^kaKD#tZ|h`K|C@XLJ9_;a(xpH zR{HEYw%OzFlNhUbTIX+o7+cz`dqOwHr_#5m8>=|l`*#oS-`m>pnQpAkk9EJ@jp2~4 z;zn-&bT=n&&8-UPH23Y@oOjRu+zpv)^Y^9cxBOhv?OoIDU6;D#uIc91c5~~Sxd-#Z zs&th-?cB#Q*XsP`ZY{a?oZQIy;mpaMjR6ke>+_H9xKFHQtGf7o9|EV^&i*k z@5>Ksw(I}8*Z*AlbPNJEvf<+yBeSw9u1FAAO(TpTF;<7*p(m5G75%1?gW(UW^^ zuYYl`e?hN5lRiC<4e(RXl;@_6=jV0xOS*bCH6Pubf0kdKu-E5vYqibEhhOUEijQ}v ze@r(omfw*+za18S->;oA9q7w>XPB?;n4Dv$v9ej4ZsY8Dc2IWgj2>gp>c);p{eq0u zTJH|_*Iilt;-UKGWA(|zfw~=&6ULq&kgLtM{unO$WBf6;HK@J(?~j%3?YgqR9V;JZ z8hPc%wq}fccxE%^zBl%aX3TwT43}k}``Fl^8C%+oJ*OF~XH09KSlZjJ^9(iSeYJFW z5ATopOwu3owFF~l2etRaZfwwu)t!8LGq$W-*N#nfWAd@&Ro#v)@78T;)~y&ZwsORn zX9kBlFIuxBP}d&z>%Y3I@9OHksquJ3;C}dn{6dFzo#WE|@{HO4 zs;+)bSHGdF-;}zQ^Mkqj$zh-R-q_bZf38pem}dUsUVn4fr_=c;u1?ALW7F@CugrMe zA9BgOd&Itp;2-mk8@t!aowzHmpD{iUb+_CWQ^|GHP}j;uSd?z2~Q`zq!;yZ)}O{wnLf`fc5K)$i!~rLXEA@5Xn?M?(W9F zyQ|;c)y4NayZ&8WJ#K%WkFu-c{hi(Z@964^f9dJh-`}kpmv=wb%~$=Nt}p&)2l7{W zVjx$a9{lHAX3p86 zL%y~gl6`q_M1G3Fnv(+ZHU>`(o)K&bo*TR%z}Jg|9l^_jR|WFnuHe4F9rAs_yMm7f zzZd*r@VVg6g9ih-%O-m8&4!s^R1O?$ZtFbz=9@cbo_$~Lxi7cx+vf4zoZQBp7{Sv5 ze-psHHQn{C5gUDZELYY9m9LM6PbE{n%5XXUgkkGT_SPCT8_Rxe>z4=aq&lO{uJQ8s zaQ5S&_R&N3hF~Iia?W7gE7r}&{e1b_m+vee6_9Bkz1CFB#N_l~QP9R^oc=5u-W>yt zl!e?Y?h5khww@j~DTjJTjgwV(l^F4L|6TRC;l1o@0q)~f!O6iH!LtKCUKm^&xT{_l z+!eezcuVm1fIM8C7PMUAuYYKdk%>8mxJqi7FVpDTRDAMcW$-ImT_yJ)~wC)L(YA9=={h-`bOpaQOQ>PEe*V< z;f$^F_pCtP^mH9~7_DIW- z3zhrgCU3-`?ubM6yNz}2b$8Z%dUV?V(rYR=-R+}nnOlIpXJ(C`pFNmg)_rgR>u|I= zP{zp=tM=X2v%(#7Zt(fQ!Co0WH`pD#CHQdgiQx0W{|SysP%a2Q9QLmQr zgZBl$8vOt4-Fdv{S6v@|lF4$%P=P>(1R*o`-q~k>kU)R{$v3%^gh>Jc;tXUV0q$TX zFcJh@l8^-_0v4=oT9=|le^k_JTm89VEf#U9TivB@2(5}*H>g{qt>yQ6e&@WeCx`EM z7D%;!{LUkjf zPxhmGpYZXik0)6^bI7l?Uq6cc^;xf&8uzm0$^I(>b>JPQaz}5~Q@y{KTMXF926WZf zcgBXQD|+yuJ)41Vbd--p_x9j>xa{$}y=4!*f8X}(@9bgM-?u$GI(y{&GqI=YkZaEGo7>}4Za+XC~?2!1dE=shLa5_q>Dvp@f0V=q4I zWILnR1>`IR_VYp9O9x+$CF@vw<&s?XutDtf6~D7HW)IukQRJ}!%{FW9hwB4=m=mA6 zW5~AWhTwC9#|QZ6@eXuyK$q{<#M8KZ!dJ1Q=do>#95KiDKwzGnGXpWH`^i|WmIHDp zfhMwxs8y zwGYf$6IZs8%{DqKW_8{_lQUW}`}eDj(ZSC?CiLPx6ifoT>t0yO_}1XA8T0Nc_VxKE z+a5J1e%k`_&7Y`FpRq?Q$XrB7VQ z^Sq^F5{MlhG401{L2T)o1e(~|C$@M??r5hqcCwq?g8?1pM*G-eu52rNi@)ge!!s+_ zbg@Uhu(je_vG6Qe3fOH{iNNuW7{);^du`o{YWy)z(pT_7HGA2|~zPv881)=Z9zLVb94y>8Gn7S5B8RFDFGWW-JDUr)7+XeUm`rKU!M}>_?CC&Dkqw zs@C3;vDj>B^Tnsm#pXvMr0fbg{4u^WV9#&HMmE>GGJW%W%hH++Wbj4Y zE7oKKe?e@o3^oLdftbsc`tSFIT+6q$`hH)0D^L8G_gO-{u=$3-X8`)d(>YK#Y$B`T zYK{HQv@tu`S8<#7IRdY9#qZMtjeYi$#cuxfF`)hUx6%!A8ERCwUMD^&t1+ z?R~<2Jz9*GgL+rGA!B*f+s_XE_H`jveGOa{n(g!IsQB4R_QiqwkA8Mly^VZN&ze0Y zcU{K49ZR9jiJAKS$r!;eHRlevE)YvGK#Nn|hxmUg{Np_N<6O~MnpyvBcp#{lj6I+E zs)@5$6^|Huzu+lf(HftP<(^OOxIXu_UU}4uU-48;kO^WW*7mIrb_eXxUY@&6Zyh}Q zpk&Lxn%Whx+HR;)9ubhhaav(nJm;@R<6=!FP9a_c8x>!6j5FhJh8+vEJPLLCNfN$*8>TJ=w zC9tm5Jo{(Ov%ls?UF;jr*h1ziZ~Rm*Xtm@W#MnM{Y)o&RBYW8;=d~AYuO4m;?CI^6 z4|727e@Y<4{HpZ!EC=$se5!gw)5#t&RTJ{HEnxFGfw;ME z_;O`1+DKpdekfx!e)jQ^zLG;vFUvms7X)G`w|J}8ix*GD#F&kmnA{YwQNwR<*?fA& zZ05^ypteRmWmEAU&8Atry^mrbt} z%B%?=68?*R$>Nj4MB$H~vn1xq4?H zmw45OIkwtQcFk?inC-_SZ$tQe*3#(uxlR|E@YvwwzCd-F$$*X(5DxL2NP zZ-x)CpS>EN*e^C?Y^$EguCw>H#{Y%sHS|Tn3lVAT`lik}vGeYjfh{olX>Zk*x;`nmKhV^MR_BV{cuEGkWY-)Y&3UJ@pFB3mYsnK!drL1K zpvPYR*7#7y&gAO@waG_0(MsOiGyY^C$L!O4&-&R2?ccM+oSkf;U#s_AI{JBfUm39F zo`63UXL~{LCk(`h}ovhiB-j|Vm`*ryf~Z}^u9&hw8a zSq0B>WA_7Hcq@MWo#AX-SMRlsUfC5(owq7>dYh1Z8hN^Y@76Z9}nitb; zLB;C+jJ2w{l3UNDE87}b&PvJo?2OH+J$vace>Svv?=;3Mfq1avj=&!N(9xg!(?g3n z+sLDjp3=#7=cL}n%4YfbO#b|x8m{M^d!0?1JB^L(>2o;J@~*MB_h+=iJte)qEd!bK2qHzeNW9ecbI8KledzGug{QoxwW)d=(RC zPW$kM|RHA?c7)V1CWe;>Y}C-N4#*;#p5hf-c8VdCj*6ie zu^;_+WxumGegrg6@u2f?a9&V%6ghk?pYUqpQn9%* zW9!R7f6wtvt2*O%>9j_tx~sW)XR&m?ExfCN=dZ@r+XJ?0_Xl4R@ZU3gOF)k^siu2f zWpCZlVp?*@eOchUT8-XU1!8e5dG5E8h1Z_S0r|(;-`5rXSve-J&$0N?DNZAQ#nxKo z*m?a>cV16!d;9vQLvvo`4eD-FZ(=#db6e)v+{;-X`dIwd`+Ib}v%D|LpJweuzvu9* z*X%vk_Z;ei{bI5ju#0^Mx^ae6S^d3Qxvf3+*B)bS^ov~eaI`)5+n9z=D|?)Q%B{7< zK<(Asyt7ocIHz)KpJ$&s)yNq0x|})u^^UEU*nT*;C7_?&$|2kOyI~>pQZUM>T3wel zU<3Pi2jrXkKX-N(Ne zecpZgpNEMb-tnAf>Qn6frOsad@UQgu_Kr2;{IDB8``F^op7pkfZP~&Xy!@V(M{|4{ z@4d=}y?}>(WWPMPE0A9?ITr8g3Gn{MjyJ=#nDBcspj*D_X4kQFe|h5_?acJ_{2l8( z%O`J3@63zSb-}uzo?{t)ip}i$wFq-Q=y@>MAE5dF z>%-c<%()*91a*GcS>p_+@%oMCYuzt$RcD$__SBiYGULi~`AQxi<$7luqwOJwJTX>Z z2>vdA3aXK|8g9B?3e_a`qIQ@Ay602uivV9 zTzZiAy8riNjHk}V)ftOR)yB$E*5#pc*T?Ys%!~Dgz<$pc@-GQC1!8hTPPEn@hsVu=l5n!OO98!XFPqdr z?YCCz_h#%FR(z+-;IqbFt!y!-n_P3`X=RVRmQB{|XHU(s*&IJg4qNbw%L@XsHS)z; zUdXsQn5DC1FJyg7K(Vg(IMB)7aqRh`Pjfi_rc(f0H4@sD?v|Je#A$cw=Qver#UM}AND);6|(S0E-IX!k(T-!ahd z4$X#I_j5mfp|yWF(Dx1WD+l`8fxcp(FB<5l4fI(9{m9Vjx9oE%^#1*6eqo@eKN4D= z1lPPf9PC#^9~}69XJn2%XMabqVHnH* z?o;<+|j4^ly&n!c%iUoH=}OFesbL@3NKOUlHD_L-DX?9~+A=!$-V2 zeD?DTUp+64-66GCZ@-?MdbaDGKfU_wd%DohWIw-cnBP3mCGUbZ?@qG+$*mV-^v2fH z<2mIn(D=q3i9(SMO&+N)gI|3{(w znEqyH^7}gZ+03zdA=n+*2VeIGM}B9$;(tcB?yUcO*6r!-{mv!}ue*qDvhnE4Hg)i& zjko6L{FD44tX|$nL)+)hEFXV9bG^?$9J-hB-Jz>C$^51!L+pG1exdnCe$|uDFlg^f z^tl%gwEgpV#KONJ)5rNE`Q=7_$no#T2=*-nJI}-ey=Sz(;!VbN?cZE6 zhey4WPu7#NR`aFT{O{!t#FcDz7XODb&z|yuyzOmWZtl){zgG1|C*GZn*R%1=@S1bR z$yXbn%r7tWGR?gsbA6un5A-#mD~2VX4;u!)KhKxo#kV`_<Ea*F9Le*nV;QcQ?lUVsuhldwSb%A35$#cG&+w`#b!f+2-Q%Bi@j?J}0jj z=!+W7FEX^9Ip6#KF!uh@k?*$E`*;S*kE+S4L7zp~<$US;`y5@*joyCq7d8Ipw%*-u z{?gX3wEpteyCbc?sP)&S=Yv?egT6Die{cS6E-|R{I?33c%Yw??NAh>}%Wu_Nt&#Jz ztjViA^xI?p+{{<5^)>&f%vU_BzoM;+?O*5b=Pz5T=ZF2)KbG~1WA)GP)<2YWwz!Y= z6{}vx*N3Nk+1vKA`O7ok*TIF2PaezuEtz8%THF>o9`jWL<$L+S7MNEPwZ6acy)6Bn zHuiqc{*vwe8eRV1*yz%AQ=`vLPp)S_emO_`{Egnw=vx}?o!t5>8ePw;S2p^b^wwY1 z=!)@bqpiV#U?otW;-K|o`(6+{JNV-S@pIGPA@FHm7RZJBKyx39^Q(i`1mbsZVD1Zo z^Ml3U^+ECO$arUf2gH;e#$rka`}Ai7_FKb4p7ZBk;}@Ci;k$btzrA+^4fKdb#e>Y#Mz5uT= z{q)ek5RAT%3vAle#vhMNe$llUu!44W1S_7ncSv2(Axq3%)S; zvf!(NZwr1P_^IHd!N-ID8Jr%uj}MlE3xbv4WdYyVwivKOeB|x)U|i$ptTn!$7y>S7)>I&Ex0avH0y(PrYAg`W6CbNe+Ae=IIlM&qSZN z982HP>}BVP>?g|^8hv+$_-}1<;7rK~fl>>TDWdE^z;@fBH6Wfku zQ~4o|p4-Q&i=N*z^jQ2yi@Ce*MC|jNKbF4Ahv%SrQEPI;KX)X3e3(}wN89hNKi2-< zUv)|EXiLp|7FCYb(x+pSJGpGiaC+yvuQd0k7`!GBhc^U=15NCo8Mx<94-N%t&K)iW zdxDz-cg5=i?=a-NE+Fgfz+Pug^DHzzDJZ>Sfw$z{k}*HE?ZLX~=*TncOEYGxz5gh1 z-+ET<2zItH+2rkNbY5xK{w)Ks^h_ZCMGf<0(Ob_!{N$PQEMylyB^J?aU$nS zgT-K$ym_&&e6oMc=ZVOv*ps7)UD-3w$K$n$f8u|la(bJ}w-fQH>Y;oZV?5p^vud)= zEnmxqKL6|)` z4kOa&(#*LBJfE%&?hPVl?X&P{p|x2&;^VoCr}Xh_H8|LCX?l(ROQxeEYvipD#LRPa zU*OL1InsXXE3NmAwGh;^xMbql8;CPmY&Z6f#17*-1G4iK;6wgSu}n?ndk?uPz$>Pw z2IY%6ZGYfS)bNyS{x1f65Km`rDbVn(3rdzfTFEMXc&uF+cn1-ug8{qovPa`9edOaO zpG_s7JeVh^^2khH@5CwTJxRO$AZ#j zZk`-*JRUjhaSkpF?3o1GjYqn*bCa*)*FM{`OB^o_#(Y*B$<->i@?pqCS)uH_1-IXd|5ynSrCB+%62*9Mb7t3B-863Dl<60lAGy5Qa*rcLifdDiNzkwJd>O5Y0t zv3h1uaXXapql4Q5@!1pH9LUM*1D`Km8_-8aol|ky5$p_33SJ#pw})NgE?1Wa=GBh9 z^1d8cyE^bpH%GtN@~`K)CUl+A)r`ryBVfN6UlfRU#fn~yu8L#jOdN|>Zp@QcwYn=~ ze*JWpZ!uX4w6df3+kC~Gyorf4ax32Uv8&%FW_Z{+*2&h)@u%naJs$by>EpY+*^hSb zu=9qX^tp%d(Ni&7$oLt-pTq#`VloM|x~CqHl6p+o2syXM8Pkg~o&n<0?mmD&UXFXH%BejP-Q`HPP^X#Cj>~PnR z-`k=d+2Wj+k0)x=?+-Rb)HFxVV%0RAPY%?z9A6a3BR{noS6<9NTs3h{WRb_$#Xwzr zJQMt6*MkAO#8Ev|{mHwyh~X8%av(-82-Ka%ZvJTMN?QrkQRR``y@7_Gj^0o6_RvFT z-EHian~Irz_OAh|~j{ZE=9RIcjo)a1#ew8iaCwBa@hL5eq#}+ck zb0>=Jo>qWoPrMg`G2VQAxbx^PAyGVqH%8P1KSHhWs!`Ju1#%|3kUh8{7#p*w$Upl4lRTzmUH z?0?3LJ@Q6>#q8>gwSMlJ(5pf5R2+2)sn;^#Y?)eT?B()aak&N^9|S~xF| zw=IF#R=weIuK3BXvWM?gLmM+zLpKEE+CS@TEwnYV_5?QvblS5n&>jd%H#yGoeL>l( zj_j|z*SU6fPY>*|4sy6Hs5&d#)h$c{Z8H7;kvR47V^i5eKZqsWi$TSWuC0Oi^!(z6 z-@KX^v(fHj#ms#{ulk~sF0#m#d-B9&IpEXPff$&(EvPv3JlAAi6L+?0;;!upt_{Zb z1$veOt#Vwx(#OVoTVFB4Z;cH=_APB(IWHOZYrTH{cz=~!agb|s>gHX+`atcOutAe`Q%O<+;+!vHxV&eWhEqG19pVtR`=408!clxcDueWAQ zH#@3M=_XIjE(T=z>_=XX_uB7%mkei?%v$Fgy58^4&iJN)y<)%~I@wBB*{Y`9btM-+ zS>zheddDBXH)D&lwG!|Z_#y}9)T+Mf{o;(-qHPb>1v`SB0i7UjY<^pSM@;AO{K*OO ztcL%RKx3=8`3~TH!STdXyx8`MKrH!oDEMd~uCEKs?+rekc&d+$!EM181!a?%(DlZ^ zn0(FL+k=$JC7+dk++X`{&szT;V;}y?L59;f{O2|=CLaqb{<|{P{QV95mCx4(>@3J_ zou}gI>s(E%!3%>=Bsi;W{NFP!`Cl9P>oZ^UJ43Vcl0d8TN$%H8XO5hie$N+u8hc)G zoO{$v<=q(6gm{XH-hI>CjHj=Aboo;<)YOLpe(Vm^jr2gE%Uiag!##`}n-&$kmZ|8?MeZJ4g zoc-djANP0`y)Aq2RgTD6&0N(^$-XLceXO1}&`%ub|DE5>$KThb-wDsuT3miRJap5c z=6<}_9dakzU12XBTX)w%ifm^`>q`5iw1i8KyMi6(+B#$=ZANFJU%+m zKQ++bGtloI=zloSZyM;A5A>A-{nUZpFwp*NLT~RM4)iY%^!o?;y#xKgK)-pQUmaS_ zJ)`ABo}Qe!Iye29U&tEXI(zbn#?#lWF{pX{hSqy`L3_v4dwQvu#J? zBZJ)QTHo7d{`@xo^wxV`n)l4pzqs{fS3PqsZ}Sz?s~TPX3mScG>-V(Y=K*q`-}>@r zU!zykUmWmHbGKa+h|iy<7(O@syInwO-W#5nIeAbge3lDw1@!>81REQlcov^Ma7J)* z@TA6L?>wG!kAvrPX7IR!L2dSUW#}g~e$SiI%Z5y^edc51J;DBf9P9k%kH$|v&|N$S zLW>t(adlU}E~vQNn=u_~U|S%py?*T@0bgMpZsr)P5@7I?LlKpmma4aivx>;<1i`26HR!{glqk3AOz=E!85nEg_0qtkwC z3&Bzl*QWYBOZGN;PkQuKjaK{Us~fGR(bqJ(>@{~~a7yro0R4hSiywQQ8Hl0SixZiZ zEAlGN?hv_P?>zy3zag;Sn4j_)x2FG&4xjM9Hh6vDeb_qRoozae`CPnYzd0aJ{M=K2 zmVgw$*odhnf5vi0&&|QRf|6yPKYDZQdu5<@Hm0{$KH(9Y;$;V&?$3o_Qy^CO*;P8o zFc!Pzz&id~XV)!(K5D1)YR5WxD}iY@gSvO@)yg(^i@j_h)4F(*Yp;IHU#;sa{`B&1N3b(s z6X20YHpsm?5<|H&Cr)^(Ug@;%?0XKOkJUddJnXF6qF26l2W%qm>=tjj_)BitiU+K@ zfB7OFv)0+XvE#{b?fxrY`BLYD?xlb}zU~S%-<=fCV?yK64hB8nuXcQ5w;Yfue_5Ko z&sQ8@lR0ryH)_1*$uwWIH9Ey;v5hZIFV7nP#jy8ZZCK~yJ%Kw2kGNI5GMwf?9hNR< z;*J3Sg@JZ%U@soeYq7DuEzr~p+vpNYwD{m5Pi}e{-U~_w-!yx~i;PL2q5Hbu8hRmM zi};Ld&VuvFM>;F+Xy?X$zM|%YWjl#oouJC&+&oKmCJtKK6-Zrn%~1_C&w1GbB?rat7aVuqHhs>MwiYv$RFudhXM)Z}7bEt1cd zk|B@cN>9}dd-}TA5_(;rjq`n6@YwrzQ7`ht-@fnbN4($D>PPMILEq=lyNEd6ILueg z_^z;OLCrYp;#4yD4#m^gi&zw&m~0HxyS(eg{gOcI>&P9;5BfF*^!ff~R*jR(C%kN? z^LIL%$tjy>)u0%er$arkt?HrjZGNmtd{vWA&RDB@y4g5})!oK#Z6#n&*^6EZoP~PV z=wp1oC=8pwX!=>V3{Ww$Rt- z&po8J%Fcd|Iz13n{jihVSL(CD9)8&4JmEv%60pfSU2$XjJ>NXNJ&&3yo79|GYgY#B zq(e>8$tQHJ(YYt+?P2d?Ab;luWS|cQ{Lzc=azGZmIS|V$0zTkVJG&e0418mJl8=&K zK9I)_xn=wPfp%7~A@J-id#e`tb4x(?MZqi{e&He8cL8|Gr#GY${I^*`T`PzWq@~3QhLz{m=dhy;KkokGRYXUyt%~$fD ze0>|U`3nNP{OLar*PhpA9zQ<&<-xnL^I*KS^{eT{hmG=4IjZ+)Hg5~qR%eNRC|>*T z3Df~TGTBCtCT8O6e5tL&fhMQyx2~?_4WIKNC(g%mKn@pz zX#0OE@#WJ>AP(Zb7*rhS7Bl%Aiwnvw1B*-3;u}3 zEZZ{u5I^nv#bfv>Hlr;2=$YrI^*-OT{B)i)ej3xm*QG|A>wT5mg`navFZY!THfVib z&Ha4*Eg5vnEm?hTtH#yRYQQ$U&MccEV*2v{e%1FB-i>bx+*Rh;Z_h1({TBr_uddCb z#Zi5iuk~(W{?5Sn7~}5%xC_a=Iw7c@H$4fO7T{^R_t760zW zZ_kVJGre?cGQMs2dF4+%`m(_t`q^z=Y&=u&u)BEmHLr%s9zHGvx5u70 z<>#LnPWSNF9?vCy%FTP)&w2Z`vcY=&J%DVeSgp^VGaAkB-)MiA9NC~&dl~O(KPRr( zzASXV|G90yb7a5wsDA%xZJiA@&&My0Z{lZ9*)I-gy)zAH`t-$L^R@3uZGB^UH7w4W zT2%X0!(zhcw*{J8IW8Nr`N(1q#AoCMm90r~wt_e9F?Q|=$R zcmFtV>}AU>f$syza3<_E77unB-x;`L{Q1|_^n7#%wQGaYXCA-2Y55W9G~SiR_lNHD zcurgI&*Hr~sC?pAK8tp7EBD%>K@yjF_~&=5@T7gw>nBXB2+5!=<#?`L3)=Yhbu@_2s6TLN~~`i_iu2KY4c)R?vs&|B}KVuDZo z{bdBGo8o8VJpK)Bjc;II-B+WJE|R|o!*5^x8xNZ@=6}UxYsU7h2EF_}q18*pz3$V~GpAMUEM;6dQNw@L^of(! z%dqF>;1dD=pAxWLI~Z7J!*#*BU|Yae&3Q|#KUwFk?CSGs?nB{;3DaD>uiIDkPj2N9 zU(bt24(+==5a+iBnmqCEuV?sIHu6D!M<2wu*BNq64;_b1q*W}+S2+@sKE`}BPY0RK zz8tDEYvR$b**lLvOKW%VV#aKdcRjszFUtcTw7Roi&&}7ZhUvMUW%%y?4SPjaC1KoI6#+rW*pszbVy*UsMw%E`2IyZP1gF16$ z_Ung2Ule$b(W@rdE`Ro#x0heH2I@mj6`Cc~IdpNMSa)!PsaQA4l zWa1Y)vDMdErU!j6xFDcg>}JiW`JHX;?DTvupPaqkCpPy!(XY|5B`Ce>e3oyX2U__i zzihI9F*rGRT0j<-9< zebM#h!Ot|Eaw^u=N(S4+T+R0NV7~04v&Q#itmf5Z&qIIl^ka8Fn!f7-x|f4~PHnKO ze8X3BYU$&F_|sSCFvIEnY#)2BHIY^}sEfM;F{kSp!T*W?^UlWjY+(~!4+i8tC(w>2 z?{7{(-nJv+*5ti5^l0Dzjy&_nW1o0vW#24$9^S_zPfWu)Z6)uvP-Wjj#;d^@ff#w` zI21fJP}kzMG0;wAzjIXkA2r?mxBL72(O>7X*Y9q&zw96Dx3|~XDx2ML>cYBao-H-+ zZqdxsVV(}PJL)KZ$*S=^8H-8P>?6B1bys}-`1Z`ttI3aNjed8D_Jm+Dpku77K5q1? zdmE3p?vJOgPKvzOM(n|0p3Tlt*^r zx&AH^KhGPj*7a&&DG+0OGUnfs=G1BLmo+t0`i|ufz3u}snxxusfh1-kn(eVBm9vIy^ay-otJV z)U?=&5s1-gfmqb}DF4-%_?F$}|Cn2Hj+R^NecVf4>8W=p{%92k^(Hr4gYgc?)Y|77 z`KY*gcOPx3JX`DY@u<+6_}w0qJ@l3h^W@Q2dp(~3VmVLPl+P^sjWXPeZTL!^MS9Y-yNFI=EO^0Wv9MP%Ck+Ix7s^#XES#2^hWa$T`|#D-H^Ey*oUubvgZF!)}(uJf8adv{ml3(FYf9G18c_4-eYI1J+-Yp zZdh}Neo>I=so!LZp%_#yD;^a`vFhU}4tT`3kEz&KtmMR4j4p3uy7sg&T`NI<9@TmI zOuoI9SMe`!dXeIda-8`Xg3CR7n?8J$tv5+4|2*6wwE7l zFF)8`ez2V%Ww-rhHy_Gwdf81j>qHC4QzaQldGN!*1_JoFTCGbuiiRZeERuXuYSW( z)}0UgH97Py`|Myt40B#iOOSS?-x-J(@KFssK0I`|OZ@yo+Z@Q5e9qf<_A&Nl>sn0x z4t5{YkA$X^{&ONnESCa4ntMVw=etjHpVQ5`|IIzIn>#18nlt~TVV)o6&mHE~uKA6_ zy!tf1X_!~5<`;)~^<#c%n6DTw5A*5?|K?%7eBCn4m%m$wc|Mb~ZJ4jvZXf1-R=~d_ z^K4iO$WSllcMkJUYV*4WIp?wY8^qYiwF>^XCoo zYLl%`%Y5&{Vw*pI;9qL<7Yy@ij-00t^UkXIXAJYssrd_sdFR^vGlzNS(fqT9d1u`G zvxj--*8D}oy!TP_&l%>=YV*$><~OwY=XLWLPS3Zq{N!Lu;CxpOD%KZ=QH@_8)U)D} z%#H7(6(i?Ljo%UM56EKo z{+Bgb*SG$L*58=^wycwn@1{2Y^48zn`deE6iq^j}z59B9Q0M1WnUf3edk?lX=g9MZ zb;g=I%i4iqZC~cxi*l$I@Vq)aX!GdLYc$>HTSM2o17FB?Hv8wEdQ$t=^w#xw^!0o+ z26eCB(0X?ux}JwijdmZH-`e`^t>4-D-K~F0>(6Wb`K^C?>!02F=eFK6mE1||FKhjt z)?d;3=ePc<)?d^57q30R}d`|nEU2&etzEgMEU2*nKyqZ_V``Tvg!Y{zIk^1ed(QN&u20(rk)cO z(|NMoi_Z@{cibC)ndgqVz1`ezWv<`f$4Q;NVNRXR+tbhY<6iFi$h|(OJM)dvQSX-g za`)7G#DR=&2;BGXMKWuR9KLDq9Q+{1eceA>7ee#jn!er@*nu8DgL`i>f2?)q$(-Q)UtM|n=8pVxZzVEwYz?`i#syrbCv zlD2Q&GgdzE-PC&Tn&?-w{#C7)JM*8{dbvZtruFI={kqn_zV&Zt{hM0?-Y z?$+Pi`nR1tam$&{Mt^bPFe`V|MZ~X(U|7WfL>ehd4>)+M-uW$XkTmOx% ze^2YbsrBF7`fqLhx3&IXxBlO@{ySU$U9JC~)_-5?zdyZq8)rpx4vf{qn{tNa>-roD z^|dp|)b!l%Pp`Jo&V;(qpC71Eo39Vf3Mww- z^Oruc<*&N>qLcqtKY!P?`7h3Vy(f5H@jFw~8gviv>5hObI;`<;OHe*Mknw2K<1#nT zCUUikM{m!UJWTfR`Hsk9zq{eVfDg|Jtlc?d&3lElyJoCyZfkFzv8FEVyL-l(99p|) zSlgF5c{(eQt35&0T+LnH&5?0$WE2njzK*UvWc566>3HlBd-sV}^|Xz};mvRL!~%d)rpL%(&P-`3Gteu%B?dixCB&XU&qh4;&k!pqKu2ItB5 z49?8i0b4f(n*%of!_Fr3I|lll1N{{P{f`FvD+l@?5A;9j=>A;0Zz?BpE4E94yz;?2 z*876ngZ?>hY;WCX_KMkZK;FT?=Z~tHTAO4}lP`04e*;h z*d53XyZ&+B{Z`Y^*_Cl|atO0ydJxwxy1y8{ON*=i>LQ zS`6+Eoqsw%AwkyE9|5{5_-M{n)lfr+PV>PPWkdaO#}p=MO~(Kjnr_`QVGs2e+lK+*B^v zP0s6r^4Z;9e3j$Tw|^dZ$g+$7@W-LQr|D zp8fnNK6~czvWt(!i;sULtNJkp;z!RoFQ;!0)Q-=3VpjBWqv^`mMAPrU*hz;NjlT73 z6(jbM+1uOmm5f>P$xyT6tckOlW^3igzKTc5m=zDc%kSvFe2GEDTW_x7cuU4=(Rty= z@tm>SV$*8dQ|FIOVqpKQb9vdYhc0oVyKJf69A9SLP4sA&9OF+ZnJI@Gb^oWACoOeE)Z6vdNvQZ4dZRa>x}Ev94NR7g=@Bd4|`ylwUa$ z1G>q@E7#`Ljps8P$T?bU>)$_Qle@cYVxRobRr==Hc2;PRZTrLV|E^oO@G|- z%_h(Avgvr@bawcATaFbcpF5X> zAhWLt_B=BvdGb5Tqk}waB~S1EA&*VkwSn5K{Pp}*_v*9Odz)XMc`+<`y-oJeZy$T@ zdr?5IHMYDfI2h20&pjkQ=&J3ipI$b*oH=~rc1u9!@#LxMr=H`z+{#NYzx<}F^kle} z6XPoyO}}<|ASOlc8R(UPK2d)AD{gx;)+z^e9_W62P&s7(Jwd&bWw^En?-PTnkE)0K zlL*t_(|$+RoG*8fR=Ij-#`e1R#M9Wb=A3~RSM6}XrjdW7)qpyohfMq7g21!Zx$oEc zc7EU;n5>Ec9`#c(AfsYXzSygVZV#-xpVX>5(wSQhCV?i#=E%kOe^b2JHO5O!#LL~? zub0oB1^gC^qxt=`tc$IK9E=WQETp2I>q;fK;1kk zxGL;6Gjf&!GRqfo#IcuWZ(q;$RXy`ft9xKW#=XsW+1>L$BQ*KG z$0D1JRnz!u5C3bvaH!7>n1Bwb(e9Y^XS7IE|0r zCvitD2KI`XIrU{uuil;-+!{P3P~#O_aTaef)a+w|T9X?!d1k=JlC5UQR*&|3ZqTU} zuNZwiz*G59*W_r$S2F2hM?H(2gYAL&3j?{~U&WkEYj{fj0~zy`&*n-to$M`{CuK~g z{ba5LyC2|#v!|cm z7}}gV^zzLYcb2nO_Fk6pra=DG$S^GlJQ>Ezno|=+op=j`3-7Ebip&3QYgE z=)-eKus*<}@n2o^GV#~*?ClwA=LGyFx1LY;XH5Q?LBHqT&`~%2K1?3z?ced(WzL;W zw`UH&$f$g{XHReQYQV=KE&s%vYzsI%gSDej#b^Z~Hp8i(@{r-Xe@Ie3ZK%bs333_=uLYIF3-bQcFR}A!P2l}}K z?RQ1{{ogpycMS9^26{5k3j_Th+Mk2(?SEot|6RkMn_nI1s|Wh&1O0@7{`uk0!GB=* zbMS8**0&7wTk_}H`*_?j&|fgnw+-|w2im{w+RJWBwEBEx zpeEckUzNF{)$F0r&Q8_vN@(wjML)Td;l0t?nZZKq$w!l^$8&LDUGv$>xcBq>^Ox)P z^m_(+{P#(JH#O0pv+p11w}*BFFndR&&1lnV3kcx$`of zm`E#qeQwHc&xe;qpB%7d7BAoUVQtJKy7Fxdk8Ayg)}P&a?@jW~4vkJ@a<2@;42;E2 zjEvpiXk+%;b4B2uzdRrlk7iHr=fi0`-+V6ApWFIPtzT;W=GJd*{r1-HZ2j)mKc)5Z zMBe$WmtVA6)yt>;qSimR^?WuzY5irb_da7@eDu$6{Z*~Mru8pu{fk=vlGb}quuo41 zdo{T-es=IRDHP9DzaO?EJ>N2%Vt@MQwJ{syO^)P*ZF05}$g}ay!Nx!h+#hJ>PY>k# zlt#0ua;e9|KJ}o9vw7{UN4hDG{d5<|p{x4yGhPnV=H>wZBU|q~Cn%nhp&$7VWbR=ghphoV?>DCf-dkqb z<8#bBd-&xullqVY?bETLd|1tXW489Tgq+4^DSaO&wc@^!C%&;kOw5U&e2IbHI={(~ zuT6n{Vr-AN*dt%|^f?tDt!!gMje9%Gwx?y?m`-xZCzpKnLjKWeo<6qOEB;%9^?~-* zBi&RUp1uyx42`e%b8~2X^y$T>*89D^zj){6qI{&wxO^#@=K6T@q4FjkWaH%%dyb{2 zuRpTt9uQCR^rf3W6>GIXuXR4Nv-f@0d7Nd-$=O#v*K?5_&Vf>;t7Bevv zQ!>OBV~zXg3DpUhx;Viodl}1OC0ZjoBgJ zeCT7`k1O8ighykqnDDV|@BOsbv)r2ajr~0T_He_FN##d%c&h~)()nTkgcLkb%FNOVRy#8KDG&{{X-w)>Vyt&;09(Yqe za~B=*5$_-94~G_u;<4wiGly3UYo7dbBfn_t*A4V-1MS}!vaf7@f9SGVyv0jhsk5rD zzGmr1KQ0hY@zB(P+VOt;^-*w98~=-p<>s5yk9od7^ZZ;6)Hhll*l=zj4~v0%(YuHJ znSC~_1kU@rL%a8v0(Fna_v2*rd-#L@8?uI{|Mw{9WaEK=9j^+?j$XGvPe=#dWLy%I zjbwjglYL#r_AdpqZ2o`3S2o-Cp0C0om%> z+Izz@=7el}>Ml5#vG?xnLHThwW3|s_%^I1v2AhJSGhF+*%-b@?zd68XO!gxKHprbA zF9&Q>w>PK%cp!!w0?l`u?+fk?@)g+h-xnimmK?swh34PdD?R472J~sYz5O2Fk=mo) z#JAs5cJM2vPV*-2-xA_A>G>uPFKr(*d)#%$RcSkp=_ z`xd7&N9JbT7v!-2UqvZh6|a36I~&&PZeS@JF+e=OF{7; z?cV;*@Z%frZF8x7Yl=ahtif@*ujok}vT=A+nZ^=A9K73CGa$9GG95JcfZOwRHfcJaD+nPJUGkjMY!CPYt~< zI>wq{OPve%t(OdUftY-M;}>sn>Yo|x=3nne$Z5Rg^{jv{cb@vFykt17=YN;^%18Y@ zlVqPBPa4BFvS#o?)uo!5SJMX@= z{*uhsI(yz9duok;YDtZ2{KC5$R2|j%kTdp)sq@RnAM9k=S9(f*&5>7g^cA1{J?5mp z)y018w`0G!ls~@~y02fqKiaSRozkB6XFPiT#n9sGJ(SFt{fHmU!&9vJQgbiMT)*#( zf&QDk_tQg;cdv!kSH9%a-<93-kSEUc*n`%a)0@9IAWL(vu+_W!e~6*(o^N-Vr1f?0xs^ffO|V)Fxuvs$k`#^vXWGp@Vjtc=-oFt{ra z7rxiL=j9~O@QCSNMB0tP_JBR|wzG}VVk;(mtvs-~?j`l(8az4@&QDMOMS;4%EVv@LDtKY=l7Orm z0x>q{_%nSiGlvf zf&Qt1{^^1KPXqlk1O2lD{c{8T^8@`01O1Bw{YwM=%N-qer!^p#AIf~yc|B7SqG?;n z|MC3i@ThS)eK6P;)H}qlG`Z=fasAcC+sjNOZQn=QJ~mZ+YTrk* zhKJpgKy${mirs$+581O~_g}N72GdO&S-%ycx1(aj&fjjb$nJTTLfiX0Gxn~_yk<|u zmn>~oeBC|Pog;SzOs!zF(va8Su2^d_Wt*y?ETX@ zdwcnRb_|}FF!iUu$J~8Kv*|D9*hJP9fxVXp@~l2QM=EB2+4k0FrOjD$51bZg_{RNW z_&;XsJ0$2j>Rtv$ijA=cZhydAL8l zc2+>IcNqKn+*M8=HRv_(+^!7#a_y{@j>8#in*ur>9XWN^Kc>k%*1dRUx{ z_GbG-YMY)-jklf;_1(%W-o+E(T{;2Y<)iSf#1QqwR-XyRoK*e#tgWdrwWZGLS+ynm zd_GM#jo;P`$lKQB^}gGqtps?sH=a5(@|&q?!?QmqJv*|{Ki78-^sdlH%lYoC_q9;E z=-wId>8xNSaHjB{7n~OG+nr<$#ET)O@TSO z***z0y7mVAwLaQd-xWI3_XKpcuT`e!d=gr#cWLs;^v?Z>K+f+C{QT#g>Dg~TKJPb^ zK(jw#o7#@w`k_Ev_}a@vTO<4R!RvzC1D}z_S{%-4ec8|FvY(%;LFG8Z>2txp-tM=B zzBKTil7@a|K(_YQz-MYY*n4i!%Rtk$*w*+hpK4qj+!6MbzwF-h0v$LU2JK-gIjCcLfz6e)%^*eTTs(cx)gSqdd0u z^2YVkhjsa5hd5Tu`r3Vb<}3Go?b1_w$*jHfd4}B_RNeCD(tuqW`jx>3MA};e`M*Ap zgMPm=w;0ep<^XTy{An4pp<+m;obL%nnPa{`T^)2gkMBq?e&R+~<(1ve78{&9K3pEq zk5?X-0(-699qbF-H#Y?*wJ|xy_{!f|-~avD@cm!dr*~h)=G4$*&MIC9vnKBBDVx>T zO2GE20ds8Nr<}RR_@ec9%l)C90rIr6dlpY$=j6_^#aW`ebh4W-mAee5_gj6|yVOLQ zyGgBzpBO{GMvnK7Cnp*5a%ULDX%c8R1_uJV>AEE#qvrTib9B+eF8s6Bjx zCot`lfKC0H8jPFMf8&>3X9SZ#8~MJW#p9h>Q=bcgI(f>vBkw_CH3>8|qPd^>3`@b* zKt7!V&m?m_E)0E9aB(+(SsP!G{;D>9VfvS}vGaCAAU>7b3?K2q*ef11{Pj2*i1O2ptK7XJu80e=D^fLzf!hwF~KtF4spFPkQ4fJyc`nd!BypCRt zk9}VIp8<%4^Zwjm5~$7R2iF8I3dHPXfqVEB!GYjla47Ju^v2+egS!HCbvW=`dq?n< z!9NYYCiuGG8-jlsd`s}{!FL4T9lS62_rV8(9|?Xu`03#1f?o=LCHRftqrq#oOD?J~eE=9`HLy?`-^ZPNHj){=vZe-^T*>@dZEMK0o|;FAcA? zUY_;8$)6K7$2L8G=`Y{Sv3KM_yF>Kuj-ov)`Kvj1c%B_x7X9w*M<&Vog}~jdIdATI zf47HuG1B^ZcZT_Wf!|MBO}{-*GdqHvZJchpZ!x{+!~THG4Z%vlwn?Bl*LwqU#G;o& ze&s|w?CazDJF%f`7T2ovIy8C-w*M}BE^S#e#a^-@4vdbp%=GP?9 zCe#1_?K{N{q02A%_k1DajzCP<%)WzxI-3OAWcvRjd)Kw`1L=EvP4nrx;OsVLmmDkw zWS87s8IN(GZ(G2oUM@a1R$R;fJ((+Cil1#D){{V!C#e0-3q5M5-zVN11M7t+g}`lnaBF>nU>Rr#FnOGti&NGs5$sYDZkeq@S~<#`MPEjBRIP{?S#^i_ z9W-?!{&FqG;%dAnI2eedx%C16M_8tqd9b*|Xzxlre-YM(s5y*<#_r->ch z8zddm?^fiN9PNSN>_FV;X3xa|of;n|25I#6zM7Nwsy+Tx9-R&HYF%vl_0`bopw{WD z^>rD$kFLo;?8w1e=YChl`2G1DcB=`E?Q)`S=ob$%>kcTN_hhd2Y|mJYtp+tNAI$?f zhXQ_zhxi$@vDSM%8!|7??)11Yt<4M5``y5U>4B~GRE?B9bq|nVb7hzN>9WXBTcdCD zbiVL2)VUg6rGHjjMnBkJ@hN_}2YD2SYdf2qvGP+aHV6D$AJqQJL+K)?&qK&*9f^0J z_r=h4_SB2U7q*b84xINbK}>o`4TM~~%kchQYK`obKy zOP%h&K|X}8jx3O^0gE=N9Nue@P9F&gY3$A#f1D@gGo?( zGF;nJvej70G3U>Y@axJz9atkvU7Q|h{9g&IRei9T?cyV6?nKX$ijkiwl+M>>p0Dy> zXF{&sj|tUUUQfyx$eaY4`d|-zC67L~kab^R4?cax!x-kB)8Zo==q%pFjQL#W+8r?R zv&H>K2Y&IAFLv5zPGc*%O94H#Ppswq!r;2d8K3W)Gml5i_!gEm8|b8KB`96&Cr?b} zrR>EE*734~jpgqwe(NQd9yWe%4B$)U;9$nf0bcg;t=DOuJ>uX@>}&g1GKQOjj|ck$ zvBppSB+z<$@$d;x>0%fDdJePE@4BnQ-o}cfS|07QcOhV-7_rM7UUSacT(RhF+!PwW8oDt&_Vw#qL$43KkI2nU=~n_g{oTgTEkRhOt@3(BDESZr zeyb__FAX&H#;4Ul{PzYm*VhxCIy3yaDYlO1Wn1R?>)xV6e9)R0_x6s5HN`Ki?`4R$aa{u{(7}9fhP&wf{ ze!MpZn%cZPP%qAWR7}4ww->C7i&&AhFSsC3lYBMr+&dEsfqIjJPXvbocGTws^}t5F zWU3eTmW`)nEDm+|Jg(9G9`eUM{OR{pEa;due`n_T;m>KVrmxS)8#69H>@8j9_)+#c z3onnMH7|$t8Fo{~a_(&39G*v|uk}kZUJB@}_*x(1>pOh$b@%k~WkVld^x;4+2O3(= zZVkkf{EEM^ob_||YNIbJnPaPZ{BSVJdSd3}TTSDY6MF9os@B=?l;CKxe=O_T(RkjU z_0jHLf90vye>{GDbL1Y6jb9(W^1o_Tj?1R<`GL%7NAu;&v%VUL>sy18TRH0G*4&H2 zr=D(E_o=egkvwH-s#m>KKGeSRJl2jhVN9}t!Y^oUF6S-=$kMWz^+&SsR_!UQqarsuh^z|lA_P=t*{yO*c_OV2tJj`YL z+ILUK6aV_%qwU#O&zG{#vs(>WBTJLpD}r%tN9J}0^sfeFRqXd>tRC2E@8<{3*TJC9 zgR?L`U(U)LePp?FE)VAA-?KqYveWw+ALczrH zk?UOJRj1%g?+V1_E%A>nmjoMvrJ&BjfsEOHb{J>v_4j_y+smKYtDgJk6&+n);SO}c~+O6t!kKk6*KGG1M$}6 zx9au&jQIoj|tb)0mQ}p zJYkv;?F@;=S8Bz3%@SSFNj&JHr|{(mvWpyN0(R+VbW?M#`v}CxfVRG2-J_2=_?!*U z*o|`d44*h7pY`MpzoW0K3$I64{J|bP&I@=81qO9PCwi6&mYb@3(*j7%5}5W zxyA?US*H8@3o&Qp_8@^PK9h6DySVU)lY45jP+%a7?qdX%Xykn!{p2v}hlg%-#I?4= zS;3egEEu`d&)-Sk9=ac%Ji4|g&3|9>QU0rm<}*y3e@CLv5{>>P(r^3Zx!pbS<0Ek& zEFHvU`am7-(dH-hGeyV~H=n(E*O)GBFR-4PpQfMdam;5GdE_{^;gh3*!nd7WM0*}R z{i2EGXvKm(>V)o1g}OaM{Rf2T>;0r7(tp?A^tbQWioiei5?7vY_(fbV4QrS~A6H^W z2A>v7249bnuUwbvil691hIn@B;@O_a3FjAk$gxMf_Vr2b*+mzABZIDe z%UW!*o?c;&I38H!p)LQTJO1_O&OCRu<~9womx@LwwdBe(i))|Yp2W_J)swoclLO>p zEN4j<5cuJBbyu(V)petHk!N3U z-LhPH9zxT5T*)a{@23L`{pfPVALbuZuJk4}&!u>MT%ny;Ul$hs4r$(c_>KiV)Pd_> z=AV_WLxtwbGhsV{!MX8R0ej0;JM^C~%omVhFMz`Y zI!GcT_2j*cL7oSMN??%3Ndjx&Q(tN~C{zMt7lFJ{Ti$P1NGW@s?>ZTC1nfi~4j0`c z@QkCcsWV{RQv~WZTcFoY5wOoZwt5A67+;?!kRSI0SL?tgIx2xdZqP$+9Tz>$`vq~G zAW#Q%4++Ex==;wI*rNYHlMVD@mvN2|W5zaiDuH|ZfGzl(zr;q&_(8l3a?SjJK>sk< z?+ZrmM*lWA{xFAc^90^!sKrV-V>=?(srxk1=w+ZAIs9T^(=>XHl^$%wnobhUSSsK< zJs`2QXNztp4Cz_U6<^VPdwO5^VWE8Es7}S$E>GkKzFund> zU59kVp96%M0)F$ev-sO1Y*EA8vWE9C@z9^w!>4B=pB{HU;I9_QFZS@IZXO+Z9^btl z+pXr=Z+V`0+u0+R$dF%r=J&JcoxcdNSL{cfpV?0I+kSOor*2)7|8@C{>+A9r_n*RB zo7)%@Ih+{gY=>tGb(<_iJB|-OSsUl8hE`=ry@Vvd|Y&JEjf-kRe1MT#fa#Os~ssN43M z@_xAd;9NnD_4vejfzDpReN1lhGlV?uA&@8Xc7kxIfG%Qoo^)ILJiyNr1=h?E(1#v; zwIAr3C*Y6u-RJYh%QMg6R=u%I^VEx8S>OKHn03V#{t_GKlKU<8z4w!**FNXRBhGvl z-5d77|Au@~$NdD(v@;+yIJ=ezJVzcc_>38@;fb}*yC?rYGxQD58qTk|0%vosFXtP* z#Q8QLV1H4$;s<=*@9f9F>mEIWh0k0iF#LG~zoSg#BWJ(p?>R+wdtI@`_`ZDSp57yN zd`Fgnzw8M{lfOJO_^j{qo_z5RI!TCeV1xWH$Spo2Lu~krZ`d6Ym`6V5PvqKnYUc2p z^*krMHp(LtpCQkeet9^96t#@PRU9ODOkbL12gIt)7`5O}7{?QxpJ7{Xdx>#>`2M7%GO&+b`=|h&GPVnn*uJ^is)?XWN}sc+NRG(0P1=&fClH`Fef+{|&xA zeP92cL_bgTO6lk9!x!wv|KIxP?|@{<5%r`V*d**nh))dcLwMAmzc1dY-kT(gUcT#j zuwa|${;cNE4S%{|{cjN;Kj5?0{FiiL_lRN_9q6)-y}Hoxh@itcA^yMX-x@lN|0j|q z2K?ZRvmcj=@A$Yz{TGxu=Z4&Q-K)x+^TS%t4V5`+mF*3-n44YZI0IP6ca+w-X_$k@ ze)@<0ts?pi@3z8opTN7N@X+hE*VU~3V&OSX)?QSz_PoM#J&}8D&07Bdr13A>J-+bZ zgPG;Z845kCTzSqzvsdt$XUTqAyQ!|&MW=h2GXz=YxVk3JOL zKc-wCU9P;xA@_)K-L_nN%5`?R+ULg=n)8@-i_4Wbpm!=)`>|J{dCo9@aJfFQT%TO7 zJg1rO6_CX)gMQ{*N6(A2p^;mrrk$_rb^`SQS29v-&IA@V$< z$cyRtoF_l{;QU~pVSl){KQei@#g6Zs+4zNz+yndOoUD3mLBP(H(JH){A1raf#>?(9XS6xks-LZHN;1jj9 z|GDSQx8D+7>-Tu~Jo~s+Y(tvIU*LXq4?7-WBzEHb-xeEZkz?c9s%|qh&)67sYjsY$ zXQ@XgXB2Yi!*8Eu(B3OiAN7rL&~kS@>a;%O7&vdvCHXSXxg@{n^)rVnYvGeaKX=I?eCKdu zo=u(fII$Uy(Q$J%&v6rTJd=r)X90s)vFTVR!_?SV{eoY>K06NL!*BX}p}@db`q{oZ zhK=QGt7is1i|;Z2j)h+0-gU_NpP@O&^na<>{x`(R-l4A4H`g`ptN#tLc6x@~+hTS7 ze5H<#A)k+Yh8rsNu5@LPmqh|+82i}oitq;odV}|Xc#iRY;XRK|fP7W%v5O4D-*3W0 zj^Xq2VY=@TSZf~VB0R6-IWSl7*$%xxK-cf|{UqyzZz?XCOTid(F?dPM+7~V@P04B{0x6mc7GT_xr}&1MW@NCiZjF9`L?tw+E;t z7;8Uc2k>5N#Ai~wzRu69cDh>ichnX4wp?r66Y)H_H}!Rl55MVeKyS!BiS}a>qLG0 zjOKno;NLQ+@sL2T^A1v#D?Mgiv4>d;=yznAY(_a`I+4SNPUPspPUP4Zoyf5tI*}s} zoyf7DI+3GBoyf6=JCUQ7O>)cuYE}u+#T;(i;O0dq37T%E@d?yUdTZ zuj5|B?@rzykh3iNHTKm!(Xp?{8StJW#w;J-1F}4HD|z&R_}LZT@|yT=68$I7SvL9~ zWhL5D7F|O{rqY!`zbq0sJIHmn--%$K(XPJ4U>Vj72>H2+OsDUV?dlryQdiTM!+UZ~ z@$XSK6@lWu-~Da%H`qaWn0m2BM^$9Fw>O;ZlHtdWhr*h6UVyxMJ|9ld5+>_CN`~#eY5&pj0-+#yTyc4vF*N zSb0s%LF^}r zn3uY}8*3J2+wI*bTeoMM^ty&zz5kkI>-K7t&HaAgUahZt-F|D8$GW}UbPmu5u4!F8 zbB*fuW|MBIZmApFLv3WRXPHX(jC;dpA^aQ==xKh3XrjE1XKB+tweTFV_Y35S`=tf! z?LmQePX=}C6X=uJ7jci*?X4)A>nv3x`rADZ^SZicV(brm1o3k=^SKA(vmx8S?<^l} zWchZ_#Vn71-RNh1EBROl?z3#HLtTFA_FT+Q)Gzfd^&>mfM&{nS=luSG|Nb79vx5C` zfN;3LvyS+A*X|M6Yo6Eb+TWpky6*c0Y8!Qk9QoS_{H}w4r_KA2J+?r={*C%M5Z0Og zqGE3(LP+G`^ZXK{R{D^m5VoZu;q>`8;6yK+(i#`q85KJVM`?H^1=g z7k+P1crlhu3UAY}_D}kqHh;dczFW%gxtac=XrDXyj(_%nD|6Pt6&bFU;~wz2jVqrK zx$-%bD|O?_=V{(e$p?eaZQRFvo-SV;Co;=K$9VYv>yGjViH`Yytmv5k9Yx3dZzDS9 z{{f<7{@3XD;P5r(|JK5@U*!MCg%|UGZQ(_KKVNv!=MNQL^!vQRi@v|6@S^`OE4&!P zio%O=@H>GUtES|O?_s#kD%aj}?bDT-Q)>oS5MzI+e06S-xl_M~7jyVK(J_BFijM2A z6&>^TS=!j(UU;$QhZkP-cmKkRKJQt0(eJs17k%Hn z@S^`y3NOa+$C}>-yea(N-varI&;A`ma&F$|iX8jZybl&0=dpR`79RWAyfX`r?~KfQ zN#U{I%{#jA_}_&6VE*$_Jog%zNhRfdUmeBm1iK=?aFoga^109A6c%ulEmEZJFp8 z+tWqI*bWdKW7|t~)IVQzjBP8?F}6)bk7sPr*3J6cn&@_&zAZY&_Epg_HvcV7%YRVw zF}CwX$JkygI@&u`bd2pd(ez+^CJz;!bIw`!)WVCtE-Jj}?+%3*ecndAxb6XkMh4&U z&pvQPmMimIk>P4N?!j2!iDLZM{B>R5J|#NF^FGlrmUBhN-g>p@nE#VR$NWE6bj<%z zqNDvMizb$s|AE4b`QNSZVjkxdUi5cn;YFXP6<+lF_xe8|#%}cer{YEZ-z@aTs1v^M ztl>IK;7lM-49*1ZbDmC>f6ftd$B2%(I81cR!~UXU4t5tElZ$zJeG9pmzkhEb7xTJV z3%R(DzxRh`|A@tXeohNHVz=C$E#%_og0I{*dIrbO1*;1$el9pjytr={$`%8gd^Zz& zWwV;~SN(p}PW)W)vcij>EA|vG+VOtj`#1*nxR3UF%9>o;DD!{@8Qa1Rd8WpT1^CeL zq0t3R&7gT!LIdb&1A?!CVruY2#OIl5z zhYIABL7em->wQMr&X9P%*KPS*@6$%|O+4i9aN!sMy=Mvxa*924bEPj|BA=)`y#f7F z(fE3x0@Cfs-&(T$rK0hVeMPTL6IgSC1epWmn!Xwkyw0)D5)V-KN?=$9ebm`>T+=5$ zYo-ef{KxKz!7lzc+4Op9$ng4?jbS}|`=qe0Rjk;ZBH%j%yX+z7{^dar@wf6H--#dl zCx><2+9z+Pg!P@~ZAj}_d#ct}y8cagrtoutx-)lL%^dx*KwuoAe+wage1Ur*YV7B-h0IF z#+SO9wex#PLtOZPPjxvYf0>VM^2;3Obk48qTxpKcD&OqwoKN(*XUEHD_UCeeSom9# zJU{6PMmMpbqpo+*)h^Dl^oo6}q@R&rbm3#-84oKHX2Tx64tx zJ=Sd=&lXV0^z9JkLXVr=r6JdvNc zmb!Mbc7^1q+pA=NI&i;Q_pI#`rU;y!^M&mM^fJiNpg>IqgoOg}MVn1$YP%exV}XDz z{(qV1fAYaQJMVt@GnQWRo*|d^llYqaBp0tPx#-b7^{Irop8IZnS*bPHMgME0fZB0? zRtO5*Wz4uUI!<@MjqOY>LJEp80s+6gPIT&A!Was8drN+tr}bT1G4V?P?Nh z(G;(1m!E;H;q)&%M}fJpL|bPKmA6dg7nnrGGQJkgv-( zb?Y=Ab?fQpPS+D3`z*?jrLXCEd|?lB9(&I~qo4iDwGzCi$v?f)l>exce-A?^1D~<6 zK0cG9sNX)Ln}M&sw;cb*6ZZvj#LRi>@A&&fBSVih#nrF5iNX@0?(D%H_R+msz&G-T zET{x*IDYPjg>H1wW7rrJ&_5t76ebB#Z-MgD8QTj4Y&Ct>ZR(FE-Qn+dP z;RgAB@rj{n-noB^lsNZq)qT!=JAbCiMkoHX%8l#6vt+vT4GMDwbYtJKwDN@*@Ppiv zJ9@_N#pJaq5AFP_w3g9Izx`}gH*~~2wTh)~|Fx3Oy~TQJ-;F)a|8C?bcPUQ|y3yZ_ zd|mvxFI(l0e0B3)jr@jukFJYnMi=?3ThI9s^FNmTz+ORjd_I|G5A*EsxyIG@sAW_B zqt5)E%YL#B`fZ6&x5wCYHUI^U;J!@Arr7r&d_(}&S#){`f{KP=RJJd4_$t;9_I zd3QKZP12-iJo|?{;P-}nFC|9<0=?t+`J;7TSA%Z*f2H(LPi(Ni*aPIzeD*Xwgx%Qx z@coS5PxrHt6E=1phGerY55xe!5*Ymgy)>3Rm-Q$eU4LhbKXvC1x>pDrJ8$FFKloo) zcRvf*gRyVOgXi*@+U@6>x_v=EQ0s|8Q*Yc)b3P~C7vuRnAujJFd?e=aj2ry}LOc(e zV#RLm-|^fBt)2(;HStsL_$;Ph>h=O>7d?>WiGk-r<`b9CskncTb$xk{@O`^F@H~vN z*lYFtoT+)&VY=?|;og=HV&omJn|(SSd1~s{e)+@RZQ762u&$@*1@}4c34T}P+1Blu z&-s9jMFM>~C{SB!&ClARlRXq|5RZLtvWH&sO^=~tj-b?c9qU;9Yx1cnpJTDnuBPqg z$KqqmC(jw`Rte-a)~DNka{TC+E6`J8@z1@=yAuBnJQ(yf?b_VwO*kT81{j6O+M2{e)sfycO@Rf>xrQ$hmM)O---MR$?=|lzLa8@ z`?u+ywS5Ab6odIYpJ+O`HZ!Rx~R=i&^@Wp?Q+)?JNw45 z#xq6ik^MAZSAU;KyiI+94(DmL?s=AwJNmWm{Re;Q-hc21dERRl3JheaPyGJH?=IN% zJ^7v|Oc%QC0qmlOJ=v|jvGknnQNN98k6zrE_UPA*X^&cr#U6W#n$Tylf1|GaJstaj zdEnlI*QASm>|X8HecrpgPqV(xkEZ>F?YjNNzF>~u7d%vm=LY+nVPDvzD+OeTKRzqH zN8_{7`;r(~)9sni{BNo&vdneTi^w@gW9h|K zeiL(@-^5dwcYLYKJF=a|gX~!2p_jVdTirfyiGyCL1b*I>e&`YEdcNCwcrS1!VeAd;)%6_N>_6Bj&CplK{v!-*980ozkLQ|~MHP;j?d#)~4=b^3- z$%FlhXBIVOZ|8j9Pdx0Si?d<20B=x;`56#h39%n|_Q4}Z=&s8VGS1sf-S-L$1xCL> z{7uhB=Fv?Kd8X9mka+9zN4#~pbG-h(hq(EC^6tr_e$LlD`LmysbWi`!5yrCjy7l8d z9s02$azZYsO^$hqcy+lawz}Lq$K>?_#glbX%WierK0V3$9>M#-{l$KRZ=d46ti)%y zmgs2eJL2NZM30}BmF^i{udo_FPY^$TPV7*geM7F^E2Y@w{(ZW~R-b^c#5OEA4|#7p z=E!#)$Pb@W`F+1ZVXi+J@}iUdWuNhlzoRlB*te!w`z1qO z@!hqcU!gtMw6@7la$vvQKb3e4{GTtx&%0yM@3Ryi(Anwd*0I!`c-((uvDfNsSs~r7 zTkN%E;@6$G*sps|;Uj$dk@J??bM^Pjx*dsu+IAbmbgda{jV6!5-ul#teb{Y$*rVUc zA-xpq5Ow9xrc)%#JYet46R>}@P^XJMQCDl$*VUSHgE{I7VlDecV}Cqt;RAiwWUJd} z4F03fF=YSgjc#?KiyHAPB7V*na*gi`1qQhpi*Ed-K9#_*o>skq?FwNH!%gs*Y%TYTi4@t@3`2t9eRQu?-h{s`OBX0J+%Q%=P~cJQ8w4n zbMSeF&D3>3=o6+3_;7E`iSyxiWXHLobM=3{Z`nKd_3h}M9m`(6r}b^W>dCum)A`Ez z?RQwt&u*VB@%;Dqc5|eMbGAtrXKLLUOuh#NuAIf3V|)&IzZ@g4^99aP&eQzdYTCE> zhfdB7Y+C0B+UVq&)ao5{dC`Yos|EbUFJh~Ejt~=IZxPdlZS0f3VSzQ-hGWTmVr35d z*!W-@8=7vkQJ1%vbMiAJ)cM!R+VzPo`auk>{2(9X;zJUQ>st9w4T;O2yZ!8m`vjY& zt*c+Wi9#!XtP5GMtIMHvHSHnds@p^49zH!^3DEf2Be?%7-7~PEv^4tLDi7$x?@C~7 z=y)pGa4bGwn)2-2jitxfQ`BgR;G9*upDMWC%#F1!=$KpdwK`u`NT#m7%f+udU+4$U zmV724OP#o`6!6{Wbg%9g3J(+Lb^MwpYz)7M4ZrY-+{Skf{KKzVLiDRC=k#e^uEg96X90l}a1s86&{EyxeK%C)5z#u7I^RKhkwwuSvV zTPwt`v(@yxYuArC_vE7z$hmzQYcGzsPxujiI$CsHj#|}&^>YOB+jMSmzU92olhXyS zr$2{JKBpWwJ`i=L^oMXu@Rx?D5I zSyLAybNEku`5eN3a+~?|8fSUtBa3h70{G9r3($w0gZKdLnBXrF>f&+Uvkmz0;&)z_ zt;ADJ%sA@0cpPv(7LIXOr7_>Nu9%ev=0I=ZpT*@_;{md(ypzTLt3>m&C$0^>-tE4jw*YlV&-(1asEhuIx|WD$KEH1?y=O*U z{Qn@WkFJ$kPj2Xiuc#NW$^BP#kKR6kdEQsM&7bQ_T>LvKdIp8L0{do2Xo?%Y&l2xD z{9&I-RpVN0B0o{+M4p~7y23Q^2mvf9XEfrPaHq z=t5Xif@>$Bg zNe&!)lW$Gu4!)5`_YLQ9C2(~g5Ob?%ZBvc#kGXiJLGw(VC9JQ0_C0%$+Fhf3I?vbE z&2`Mh^|I$&d`tJ_xlceh zeYU>2__lOb(!;1m{(Dz0zEd+t4!$cs*YD}NF>~>K*>f&#(EWJiqHf=fC8x1wKL~#Q zu*T0}<&Iv==ODfel(|7&t8(wXB~^{jJm=*{5@KIcpC2dNoXum2t(9M#*FGC~$M)G% zcQ&xU$6`O`_D03zSbvh@nw64*;&QCyXh>+X37^{jcY|)`exo_(vl1QkYpUy*u(?9mOu$cSNN>*+urpV{#uA~< zZ)(cgPS1udB^&e6t=_mFeyf1JAAYBM^!5qlnf<`|cWdF#(fuT0L+=rC=NQ=s_;+`n zf4^7!)R*45E#;`y`PZ}ucqUWtO5k@&)~A-(sC%y1hM$%5Bu71)_ABz_eOtl)DAcb1 zoy~e?XsypNVzqAe12wG#{(nnsi+*eBWBPTfK>q(Ar`)f9OttViNSt;1%zHHNGxRm( z5Wk7V=QF;?cpPITzT@e(XYsqv-{r+t_LqDRBl-A~a^T*)J>>(LA)!vU>x8eaftEMQ z``oT1!{`?{3!3_=srT^(R00D%t?c3_asF9Cm97liZi z({q44*5%!KtTfMXZ;%7>S(k(5;@9cIMqLeUgIZMrwD$uv1H0I3+6&CD&$)!XxdQb) zTIeP&_k8XJ;&uP6);+OPBggAK0^grQ=IMUAFf7#hfX=$yMxBnMU9P(A1^fXqSM6+! zHI7BHLtX|2a!Akf^HcNyz=t{IzS}sQt4iy6_lUZh;vw(EUI~nTVUp0TZRfDkS_XP1 z3*G7=27K~<^1tgW7OzjBkJ#@UVxRh%<=(EdJx#Woa!JhVvsV{s{oTH$M@{-SoTfavzWG@!$p7H**ji#eZKp= zu5duZJ~YM7I(+cE9yB?x(=(QwIJf9!FJ`@!cnteFo@W7Z5Zel&oo&wRrW`qjN-_+5 z9ZN3o1ylmVF}Jf@*Z*U&Pk&n1Sof9JlaoqdI3L8}=M?_c(Zrwk0qZ$yyFI(8EBf5K z#8e6BvLDp7NiUz5{x*5EKal60q*Wh~KYS+#$n}JK+mpI6y%#yJ-p7uqlD?^e^<#Hf zsLLZYAqP3Xx$c!@cO*v}P2_HN0-}WtAiO=BqS8=1^oMDr^Ef>5VU*Hk5-wB%h zp=Ni~)a+>S>vH1rEazlH``@iUE9L)mf%yJM@j+8-=)a35Z+(TwdrMP(T!S1hJ>dN@ zL-(E39@}@;b1$s#|N{>COT^PY!}L1C^iRTvWL{G~VG zd#`y9cH(=#)^X0D+wwm1>TEeyWGs)L>r+S8TNl036em65ec)It@yLzWqpQ_=VyXo8 zYA0)!OD^XYI<9T1Gr6LE$PWmWK+kuwc7^2V+kYq^V&?vzx@T>lK%R)9Deulx-aq&P z&*vEDmG>xo&O!A09P8D+{l#Xt_N*KK*MwLIAjZ<_Ea)Z{;^O>?KJ#xs6N|k$x~F&7 zCyq(d<(f>ciDOv$o#)lM=lMY%=?D9zR5YFsuKko?XKJ!TjgA)T>@?*I`sa!Fo*9C_r^F6= z>+G;MDq%cwNFB+;3)RXLMve#NNtojXx~!AFVJ^O>R-zgG!dU7^UkwVxFd&S#ZhZE>?bUrHFzjzr?pcRV-j~pvY4l6h zLmirO>2*1m&SU0dbGhJmJZvEgkgfY0h{&=x8J3HmGd#z7-uF09$#tK=xj+q?@_;_q zrqVs5Um)gIy+^KcY}kR1?Mh&vOD?ti8Hp8|uhZw+W;^&yPBI@I*&pL2fgjyw?3*wQa{<$KE0V z9_NBiY*eB5I{2Sge z0{&5#oEP$2mv{WB%RBk4>uX}G%RBlvMsA%~au(~*D(B>Ry0AX^rKiU88Qd>@69wMm zH&f9}H|<+$Z2zeZ@h%h?tmTaCWG(BuS&J<8+&lP?_dut9*mgI%$j`rp{EX$B}*RG0Cx8|xcC>)@wp z@&!%q?oGKSchP6xQ%m1B)uUBj>iTA>bmn@Kw+&stCc8~>HOY@xe>cS&&+xcU@Tcw^ z@cH1+AndWhB0Hcf`;)WhB) z#@=rA4o3`iXPs-6-}%US-8FX8$%li^nT=^yK$cdJbOh>sIlTE8e-u`TE4aNb8B8Tu@uyckZv^^y}KmSs$O3 z?7d20uzoD(-~F`CHFU2*%cYUMUFpg||74-5pQ9e~SP2aK)wB-Tx^ui+`Qf6cZcjL_ z)spf10{+6U1cu{lwI5eVu1;6C`;mBaU(#Q$134iM_ThM(vFW-pOfp@3)BdHB{2F0 zo*DNv`C<9g+(iF)SW%Z!}p$N?O@>z=<2;3 z_q@;LI2ZT5Wm|n7;7st@$~`q5ub4RN?kO=HU1H1ov)ekYkREE|I!>pJIk?-9(! zv)r=n>a(BL^$DEWJg>(qmX*>qMTqfGvyB~3w|lp#KglPtzw)S z>CAT@WIjHzCo_MBc-smK1nTL}InUK0%6kFNa`#x=)A{-Db({gj65j#%PM&E?~+n!rl*3nzemwU%_r8#Pi4V8U^*+92#43~TC4yAj1&3#IK;a36!J>;d^e4r!i z!7qHMvx^;k?A8uF;9jGK-V>GXrwinMjsX9jY@0gO<%N1UzSX*C|MUtmZr=5&(V#F_ zm@2f3wQ29RvsX#?CPFuPZFTOlN9y9kkGiwMar@sYIUn{A9;5=(%ku@!4|23npr`CB zd1;D!y!?1@hkk5`oREvUn8&)O$m>HCPu3|`+x{AsOkF=yKRzRK<}(I`Lj-EW7!dje z`gu=*o=5fwpw*LbKLf?PCsW`B`~rra@$sE&J(@Ytxe9;nbHyK-p+2T=Y)GN z=aIOYo}IaF*k|CA*R=A99vl|xddz3y49z=F?6ILX@~rDb9v@vZomVDt;EY7%q4 zTC(03*ml0^bdKeWK)I zkadzb_8M_JNAcc1#yHWL^FNk-fsU-FRUMn`Hk}p7*X5*JyUs_`S=?lYzRG7I{!{{k zx|27bOFFh2d-R^*199eh-JNyswjSNqeM86Ft^f4XV5z}?uACK>z^F$4d)FDa?YU9tAx*f66$$n^erdt<%+DLug4yx#%Y5Zem5Y(-@KMB(`?F(CPfJ?6J@D{`dN(`4w72 z?>tPs!@CUkTj`$XW}l$jkvKS?9xj6SGv?+B^cDQA#Ya!%H}$stxwp>~_ahXy{_)wAw14Y{i8 zm!rk6J9GV+FrUTN<8zW{$$dTXukSeQ)Kf|GZxg3w8Bu)fWR=!?T`I*CS)m zi9Y-qPkqF9ck1K4Vt1W|-Q=A$do-+R+BZI{nfE<4sJo9c@qRLz?ACu^%iC&iI<%wRA=#_~+ zHqp;b^z#DUv_F<=AMpMVf8NXc4Bkx5@fl328vh*&9h~|3J)}wZfMhvypD(4XiQgmm zyQRppfA)pj`<=gLlm1G!>aYN|j z{Cq*^ul4nnm@0u`zsIW6?@85&w!8G*(|U%w)YZ4{GgCX+_0fI2!a^q=!WT=BaGkt1`&Pfx^}a(3{& z{0##4tAzg%=w0fGJilv*T?X@i5vB{wlfSo>d+LKM_L<}N5V?2nqJx+=rcLrf{_I1y zdrC`3a)8h5^BrJlkQaDd!D#~Xj}VBRT0oOW|2`(UVV<0LpH#YMP#f0p_X&Fojouy-IyXIs9w2FXEZ9tmaH1FHQRv{rHn(aZJQZ z+|D=W+>pSTLjP0(!}X+>$$upup9Rqwx|cX(9h3~ zR04ya_aM&<^iC42mwWsr{`?M)KKqMaVj{juU}U}7-#WeMz!ty9lnT^Ym*@1^2#UkQwA+r0g_ht*M1%B>X7yFR7@YjCmcEnfvO^$32nHVcEVUt0w zqa5p;n}rByM0xb!|6#&JSw|Lsw-t5}sMkv2Bw@AiHsK=S%fb(YA%SN-_YCVJHf)p6 zDFQLi78pL`$RU2S{wjfi|GNmz1v*T}IK1xjnrC1aIs8RGIikO~r*_!*n82`)z7ji6 z%*pyMaRb(1`w-z_0t0!+gMQm$9$WOQpE1~FV3!)kSTl_-+pCL#xGMqw(1R>`UoJ54 z(>=lZ1p@gwDfA%o_*e4CmPKSk^i#$>1|JB%+4XY$D#??dn2X1Y zW>9zRq1Wqn)qVD9p?I9l`0`kRL0y`BA!h5Cp?hd@aANxOmQ7HO(Rdv$dz-pQ1=Y>_oR`#(R~dCy?Np7r|Zsw z^MWq&l66vBeB|9}ionQc2YSdMapIrneQv^Ia3*ap;0L(rpKI3Kp!`kNJu#5$se;!b z!@vjo8TT2!BE#BBz(3?pN1;YF^54<#9qkC22W#T*H~abG{fpoD*6Dh$>r@ZF zKX$wV!N&oCGlc%Of0gculX z*Joaj?pcSA=Lw8Kfjpv%D|62m@Si!>$2s<_=a9uVJuOoswqK#^knmt(hOme5GEG*x zGOCgP-ldoMlWOMig}Im4%+XWKom?}=XB6g6shQ&)ow-vr=Vy4VH~FaqVshV*uN=>5 zHM;HZ={0lq_l%l3`@5=U&i=kabKUxDy|1j%YhTZ-nd59DN3W`x<6WD%)m`{AUGn75 zdS6|m7k{V&`u!e-o!8XJI+thF%(3Qd@wvWM*G_ZBGtGO9-fp$WUMIbAkG)=W(;izT zU5r727~?)VO0@S;-ec@t&mF4!yvLp^9y#?o;(dessB~piBmW(>$=o?LbI#*`)Xcee z-dHo|o_v$$I?XTV0RFn~-dv;C{`|k1Is0>N&7A#t%X;|p)*8L;*Yj%TybsRr!e;zD zTG#7utFhypyuD_Qy1qkvuJ7!^4|<6~FLJhxzB~7hyg&4cZUWD*rn&LtyRR$RWB9qr zJwBU``<1=o-g;Nb6}(E|>a%>Z?(5e1dCWP`BUHj9q22Qs-2mHlI+$yx1D~)(Ph}nK z?>c^bpKH?38Fspqf{_`X!Y7q20=eE+2XjrclG*Z2%-vhm&q z8#A=N$%dBH+8_q!iafqgg2aEM@HgR5f!vbo_oq2(HYCs!I|~e-BRlAx*ty=Fkol3g zNBx>M;b766!3MOU+k3qK_M0p3^O2?&>>KL%0oAI~l~IlS_paYPX8uCW=e^B47d5K{ z`qg_yq9Y^HaqqAb5d68Gn6?)ftUp%pzUNBLoX_|yCf1__WXO9v*%ucXbhMMbyvT6IG|77ZK2|d1 zpX=QTng5sk$K2;y#QbxPF~~pfs67I4PcGM7gCX&~e=bt;E76Q<s$eL@W?foGNbAAcA;yNC-} z`q}l;?FirhRx=>lF<~dKA)l4N=ohFn1O1)Yz#nYHymq=)u8(=GQnk)n*9-pvagnoL zfj(y77qxH>*xPk^i++*YtUIsgyra)-$MZAA%l5Mzb&9dz6JwDO^N$R^vYvb|6d3&i z@iNA;W>D*v3FM3Wtlwt@zA#q_4CLwAkIS(fZzVoC^qQC#;*CAiNq(^vZP3r;!*xL) zz&}uzx9kJ^i#+xT=;EAQAARI0>l16lmrnfQyFb>q+DG_V*RPz7b!(lorgh|%bv_?- z+p)hh%G&I2JDcp4vD%#8V6&6_l7qS&b+UHydaRATjt|EO`$-|sss+NH!fJufjL?i< z>DfhoO@AlRmnZt8iGEw6U!CZeCVEMtpPcB&BzktDAC&0-*1vN^|8Ge2eSeN3XCn&|x!y_@K$zfUyZkFn=C2e3<>rlfT@{$tG=`V~1}x70oI^u(r` zubV^H@prD9gToU2XwjQWZhL{4!Qa2IW)0WK8~oy$HP~a!(i-f=SpM|)Q6A?Wa;*QB zcrpK1CHkX@eruv%AsRd6$U2WpGJA{ma}Qba!nMDwq1R9NpV1h3<}$~>WpSM^pck3{ zcgMQEzC<)K+X_*ZoE}-`W|cW~0Ol4aJ==@MKl{H`q0!0vE!Q2(JhlAtUq|io-Kgzb z_p3DL`tMZMVDqKo$2=dC=))4dIMI71x+l>SMaLL!`^#uP9n()l$GU%AG`aTtrJ`f6 zd{}h!_vAz$ndrepZzr1EI7jp;^xnlLdA#V)cgfg~y$bI!MUEc*`t57h@c!@#H34Vg zcLnHACi+vN;eWbZKU1z3m+K|v`q^^*oUSV+|K|fo*L}Y5FD=(El-aOHpC3;Gt@BG8M^|(FJzfJVd68)n@e>>6FB>KyV{(Pc8ndplW zeL!gNfcd(YqzOKhaw!dh;30M-%v{$Qftlj!pk{iZ~}HqmD$`qV_9 zkm%zQy&}=WiGF6H4^8xeiQX&G{fT~HqW|{$b?f)jM1L*OpGow)5`9jhPfGN$i9RgR z`-|q;f1cpy{4Pmm>qP%sqW^m9x-tDK(bp&XibQ`n(Qi-mn-l%oM87i8Cnx&2L_Z_Z z2PJw@q92>+-4ne-qI(kkutYy7(K8Y~G0}JYZr%L;A<@51^i7GrA<^GV^p%PJQlc+O z^v4o?VWQua=r<*Lb)sLM=och@g^!*b3 z&)=?Fi$5m%mPCI$(O*gQrxX4DM87%FuSoRqiGEh1pOEN*MDLd9IflakwXNvEN zMrMm3b8(WnDA8|D^eYqn{6rs>=))8J$MGoG%;>A8W zCDAWT^wSf4uxM;A3_5o!yvGIJ=7mSx$Pbn|V*Jf7Ms+-@%qBD|O7tIpHfrynpy!gpJ2>!8E4(KJ-r~Z0V&MIoc+uWpZ&{cA zWum{A=r1MuLy0~w(XUDL%M!gpH2JLLBiAE}uk_f1%N%{m+%v-5B{z?*Gfz_!jw-xo z7CCsm;>CD3OZ1&LtvmnQME@YsUr6)^6a8+{__`$c@XW$HI`Fnk>ozMgOM}d}embga zS>U}@yco}_L?55%;Y1&t=zT=v?}@?24oPNiqPI=-mWiH}=s*5sU7v4G^bbYj!|B0? z>kIFU!242K_n}0em*`g{`bCLelISB7y?3JLCwfYve{XYZCpbM87-HuS@iq zi9R*a%SDsN*Myw?Tj4!jJm$_WbL_A8|9D-0-;n6jM6>2~LEk`<**?(^FKf;TYku*g zQ9Z{MAKn;zxVFrhr>O~_5HI%lxrsg{(JK>uc%laqy{qWlZ@o!oMxy`p!_hS#2yxw9 zcxMLQR}1f4@v!l(a=oa?@IC%JicFrPCacTb>Y(!_g%|63MB#lT$PE;pYpkgWI~Lvr zL2lc^i*=n`cpndPcl=;9=1&CPjfEHMdwJnG<_{Km;(14zi}ihV;e96PeR1It4|%&J z=s2p(nWw1<2N&Ld7WvNw`8~^=dB|^Dc%LtF@a|uDmj>Qc@nY}Yal>d1J|!9ax~#|& z+bx=lvR4<`F9m&{ExgME@4~`+XW*S%cwY{@Qw#4sfj3lm9}*9LK3(SU=TT)Y)_Pvy zeYnV99OUo({%CAh7M?B>ZZ16HME})6{)#eZ9`YY4ybFsQytftJ6(Z2_^)iQ#r)nKV}Y*dAJL*VtMbu)`h%=?5SbGv>h1KsRxf8M__@R;*CMNfS?%vt`O;>CF1SY%?J zUXWytC^BD>U2NP^uD>XLaCXlwGB=mGpOvfgfXuJIJ?g*LNo2w|#Ebr1lIRP|np=y$ zzv)UW#CLX*eL7i zE$j8q!xLUtWXYp-o=|vyD)N6R*GB7z}o;YhK|^3qC)f@LVg_{`UI2 zVx#8wEAqNb_+pte5BX0O-hYd*t+y23X2I6Ug?FRm&})Cu`|L6|Q3P`jDC?MeT$!6x z<{lX4wkdPJ54QjQ%~Ahjt{ex~&C7anetD6lKKA{6g-5?3KRwtxqs&nc%O6#E#ESgP zAirywGf&GV%r89rvyOi&ye-RGeM{kO9rV7U z@a_z9OA9aBdQ##2Gsx{$c&^ifiyys3Km9nN$gHzBzA+lhoh_t7Flot>9+ z3XeFEpHt>^nef6gM{LZ^4ReQd*3lQI7nz5Zx$VmJ z(LrWmks(&}cuwSmt;?Ky4ZE8Zp8E*iZP$$YKCkG7_x-}_54_6?4_}?14-_80nfLm_ zTM&3JExcIYqY7__Ah&U>E4*C;@8ZJS zE%4r1c)JJQs|wHc#qNs2+cU@=TzHQPyqycrHD>MRh3C4#`|DMsKBJGCKCbA{Wx_RO z4!z6`gt>Q>x!Hw>u44)>)_ZZ``D{RLUg7ynfcK9pNBuZ7=)0xx4leee7VLky%$bLd zj}~5x`K^T)`{VhA7yDzs!i)VexA0>~3_$zXSBk=13wj522)c7OA=b#444(bpyV zO3~-b=LVY}OzY20^l6EHZlaG!^gfB+D$x@Yee+jG{e4mJ_o~8M9(bP< zFXsBAMdo=y=2?aJ{J?u?TDRsa>+1QvX!7;Ku;v|w$KOBkd3H!zw{N0%O7z1L{m(D2 zYxn1g{%WG%FB-p24nDlD@Jg z@nY^jR%Bim)_ow!oL^+(xp7kAy*jL0k=8w>$h;uP>{EDW2i^{a_ZsoYlYJ36VP=^# zj~H&dd^FbA2OZxnyf*~irwi}3Mel!%{PX*A(haz`I$zX!E;8#=S!RKU;Xw=DQ2; z%|X}Mh4+cTJE`#gQ#@+@sWPX_ge7IpJZ$Y-c%KeBb`&rAIJ3x{6l5k8-X($evrE@q z_x(g)BO0GRAJ%-N@GcF!*Qa%-Ci;Z3=CZKnh{F3);0>g8dls252AN-de$=O^>mB07 z_*W-WSA+wm*>QbIY2m!kQ-)-qnG(b>Uqj z9y$L`nbT#$-`_X6DwSQfr-!B?{*OfK&&VmcUz8 zcs~og=M~=11MkSf`$ga#RCpH$-XjYy?xn58i+%9WME~RB(R}IlIXXWHPO#yh4;6h=itJ-Bk=Y}y0%O7#Iok^Va;zoJ?i6~fp=Bm z{Uh)$DZGCM-UWrXCh%TYc>FS&Yj$$sO$@wa3vW{3J+1I22j1esn-X|?6yDUpn^Sn3 z1l|J+Z(883`P688k4nR`I+<=C|TkRtP^ zkk5S!&wWT=%`ZInAH0VY9`R#)M!C)`_H>zW>nBHJCm+b%uUxkXGM_Ip)63kZ<+^2% zIk(7o9rn*Gy#EQlA17YS*U?2L_S%7k_wb@0UAq)s?6sMN_lO`jvGBGDykCD}G{$WM z@7ltPz4oEPV{ej+-Xbq@!kfz6*5WZYJItM;xfs*)5`B20pOolDqS4tC{F`5R_JJI1 zmDb%q(UTJWmyeI?jeGlBg%|VvvBHac`^>_N`98An*xUH)T9co?G8gyw!^Mkv*}TY* zbJlMaa`?-Stt~rKJY2Eu1eO_6!S+O}Q*gPT09+&8&%i3t~DK)%- z!ed|9uU(U_e$o7GFZL{BQ^9}ZVYTl0y=woyBELUQ?EYO&es>a@-;v~MIqm_!SI>23 zx%zip`MVPE{d=U?zz5bd;_qzU{-5jq&gLzm;f24!bA^6Em)}ocqrvY`qJzJ+@>YSo z9wg9rLxtW|SO4vREp*TCX?{t%_!|K81^n(6$XAcR;P0T!5hxcj+X=+QAck!OVnfF& zf!{%%EfC{b0zPxk8srBA>xSM%z$gB$1cSfP^Na%Yy-_$+s zdV)S!C@|;&em|U^91>W+tX$cb^et=pg;@gnRIZV~yEaExx!3i2_QkM(PW;aLm}jqe z9{TV=Bact>gdTy|=wr)!p8deQ=_YyfKfY#tlqaX%=+E-hiF%MPe3~H;6M2V6JmecW zeh$KQd%9@sBEy-miNKl@1o{A)_{af#WLe8NM{w*h7ulD%*7c~9p>JB{pxqkck_ zYP(qA?7*MgL#*9WK$afcO<=#F%et*gtdVo~AYIYN{89lOJkMEE2@Lw1cMJMTA*|J9 zKk+N~B|78ZWc#PyE0&38zn`M}$--;_K6dRJe86V~7}*QRFJv-?=-9zmhISUG5zBDVk^Bb`rmRAm$zce=C7eXCuqgJFGF^u~47r z4}C@r*vsU}^Q@&m_7m_MIe3c%{HJeNM?Uuvs3n8*1zpGBL%KY z1$5z867R$ z=USxu5`A!@XD6D!PZ!tIN0Hto(e!?t-z(AdpXYbi{a2^lMbjVqhk57&5`AEz_fGU< z1I-!ey(lwlpO2gu_Mu6J{%j|M&UP{}UgBBY!J4?|n*57>&2!=r!hmpwKzz`Vze+TN z{bQZ+`N0{*xl#8F_IXTBdIZj`I$7ewX3j~pvsCl!S=WVF=~12!j5@vcml$Fl^Im73 zGn_pCtKT#)fa0c@p!59?G z!(T?!P0paL8``?*<)JcfUzm?R&k>Crd;4p0hUWwJDuKawH~1gd5Cb+j`-zV}B9HK> z4fDf==5q-$hYQmLYCye_;j#*%4_5k7rm^|M|?7k9(<(#@y+>zk5BaSB7q*Lgvo+qSg3mjxxk_9s)qbK zPWIJ!#Mv$nz4iF9zP7~fQd{P(^`i02?`WFl6A&2B2 z8a>3w6`uV>H-5q=|IDGs=TWW$a>P2T06Wy${RKTNpw~9walWvQvy!;EM}~WR_Imo$ z>yg<~@Y*K%C6Zwdd3v~=Jo!S_`-A5hK4w3li6Op^trR^?peH=XIf_m6#@xoZ?K`ox zlbIwL=K~$t-=~R(&*(fx;91DM{h@y3)wKQVWPi=lI^cYeC-kF_eAqAQWWP8!4-m*b zXV`#1->{Z`Stu~r|E#gEt8`zNqikosG%=B5 zbZ#P$FJ!3U0Rr}r!B6KHT?+*UIYy7;#Yc2w!+ZJ^-M4zjK$e;xDg0ib*U*D6{Q`bL zN8h1YW8bIi9(nR-Ut+D9Z;F{3UnX>V?mk?ywvp>gE{JEM;Jjg%0bO_QP8J{FJLeT~ zkn0uYN-c}=`++<#&sy?vnm}ENpK*pjZ#g%sbkBRxb^?B)mpRtV5#ZS;`hhv>Z=iR9fPddF z-z$<25a;yc=p#R$f&auq9`O}D*6*09M90y)>^piHiIaKigC7iP3CO{00l$#PF1bK%NFWB*E)iT$^1__$a*rP5xJQosL6d)a zX+WSxL!kG9X3F5V?43$b_ULFV}U&3>j|R%p-0y#}9k&l2Bf9zE?n$eJ?* z278A6LI2Tf>`9*)K95;9U0@6d^x&Z2Jy7YM;qweVX9`@i{vq*v?nM1F#AjGPdxw6X zEYR;0rHy;`B<~o}27aKIYb7u^AHYI^c!_U+AVTL}zwLr4A7 zn9zuF*3Ubc{g|tJ>?{(YfqLcWiTB!{gsR(M9}>EayBShu`EKc}A9P(iwGd23rUIQa|!Z{m2LY$G+K3G@}z+ z)GEuN+dRh^{iHU;-sxKU34P>)nl#**oNWsP{CJ|yPiVgr_&MzJI6mLEFKh7cL3){IU(ye(=gh|5kU-1_2n^=? z1$-i(OAF|^c>-%V@2I_P+edt6jvlcLd5fQoSBS>mLV#{}TBcKbA)c{f)5=(B$6Pu@)9H~ta}F_91FKi3|a z9Mf{~>hi~0YX2-D>L*v|CzhwBxoG>eBIC1dEVU<}ww?X%r1m@`mI$$Dtq&gi#x zKd}d*?%AU0U(QzdDp%yVqNDB^$^N`j&q&sKUEEtdi-*db{XmxYQ~Y30FwY(_-A#;I zHnPX|(DiCj{7qnQV>3Rh7Kldw83Kcx;!mgbur6}9N?^yM6S&fb*Os}VLkaKjsam%m@9BLd5*l|AA>mYo4WM~JbM=j*xgUS zhkk(^VGllf;ge7Lhk+g2Wxey)tNYo)z5)YX_%RgjeMZ6uoQ2cm5j{a3wiV_HI|+LV z=vpisB0NhtMtG5Mim+Pv4`FxV8U>BN`0`mPUaG5e!Thyt=D*%%{u^!PuWK{^%{KGb zx0okS)PdN@1$2)<-+xQ%sDF%`{L%YfhupVY$dRA#w6Q-Z8P}OSqw~93L*GZ+eWJx) zd&b~5vfmT46Fux1~@wxJIa&`Uhi1O|Su z5|ATj0{LQKpJ&r;0&$-qaGp^^1~IT6-W>vZPZ7|K zZQt|$IahE!o8~04Hn+}mpLpD}hWc$Upr0J@?*&7;5(o3xpw5g~BZ;lC46!~%VEt@i z58+2j4t#P-Y}APLUoF?mbtP}uWptza#|^q)R`k4B*Rkrpu|YRE!N;SLZesmO!YAB8LYcbJl42x zxZfByiDRX}cQy3b^99ZbY%dlVbA)L^&I`WM_jUPkO!TH>;y%Y@Iefqu>=S!k{84te z$l@z-J#@Qv55G$HYXtT(eZhIuBOEGF$76(-3iRM)fm-8VJiDXM)Qk1|3dq)-Q8{m} zF@1oaj}REI6ka5tk3nqbs0T*huSWBYzXmzxo;`}+#Ou8SO}-*MBhb1X>D}k(>bR$; zd9Tei&iPoXb@);V49>s<1oBHhh=-maZ`>pAymKFA7Kuh~P`JM^AS@IZ#K&AEF!0ZN z2p!mjH&O8OIn&rXG05@0iVgVq#69snQJ5yo7SPQc`WfgX9tN_j1or{5><#9J1oD#4 z#~I=g$IFF7ga-@H5b&Ft`5A*Q@&%tY^aJ;s3+U&bSkQ5s`UHFUHd%1|w(Z#b{M%MC zO9X5T2$o~7ao;Ck6FK@T>my(Axmt(wMxAB}^c917a_7%p@a&J*@(h|OoGK6(ad5@1 zb5DHkEzgU!_TOMv>;696dvm~N)OPiw-t;Ta?w@MYvA@_ae-nI$yU%#$vM+}P`o()P z_YV67u;0a}O+YzpR<#*%0?BdpOhd=F@~jgvSd~Q~vFG%Eziz|23c&fw^j(1z*z&I_ke{0 z;|QTi56{|e^lz;6Z z)i}koKzbO*>)!x)Uh>_9c}Eu>&kggQR(Sp5G1w36!C%$vaeAL~VP7+L z6Y!rszp1dRfZSvuz6%VAMko8*&)(B?f2e>x#wvk$u{BX(4m~~}ch)^?@r$z(J_CR7 zfq@Oq%Xq+ z?%HduXFbFHJZtTJPSTc~b!&8J`|7KB=)w6#0e^6$@m1r?lE4~!(E3^PnZAafcpvi9 zx4(IJr26rV;?CxWvA$3;n=&U>zSNwbIq1O&e#EmgmB92@*|gzX(# z`{(%kn(;-(7sGZ?Vgk00rM_^-LWBB=f@aY#O$iAaD z|GT|0pPm`KsL83isI%$JIGb1IXZw}u)u@`SnrY9U+R=6grv)jwam~}^Y^Z%Q{rWmL zbNzbXkvaR^4{>dL$NQatyZnT1PF>o!G2rKHd~`qY_uupEyU6cmYQKHt`umPtV4rjM zuL;J!bAl@acZWNIKbH@z_1`U@iQKh0Z?De2{~!PFao|p?yjFdBH`aUqpsrrjvzogi z*d07AaP~CkP@OrK&Y``|j5DUy`XPBXXRW>s&dYPk_8RA|eA$#W=f(N!pO=T_J7~Uh zMxJeFZ&koIbKb}1jh$QXv5kQk)<>uBkM`^?g&e#J3@!lo4B9qQ9n=^rS z_FOlP&m%wX6W~Yuejm%f;6trOy1E z;%rR?n)>m6IXKu9s5$Qm=aszLSEFi8BU5{-=GZwjP>1wBEbk_JogcRBUmt7;$XIhu zHTIk_sP`iIuSJLb&YC?(XH3@n%bmlo{kz_oHFhS;U*EiSUin7G{#*X{o<0Bg!##Vh z2yT_Xhjjbk{9s4c>Su|adG<2|4(dEzlxMsw547EZyNj>%W@-CM;pSQQ(hy68YOD(Pm)Uc*TJ@@a8wnoYE=l#Kp4bn~w>b#$m zXYc);fpbt}=V5Cw6|4-@n)Bp7IxFCh^FfY1=Z{?76A#I=cjPEIAh1X8T=VB8LGe(s ze(%xBx-a@%mMlHK4~nn)ok_pvCw_b*>vPj5jfAP#YD`54w2Nj%JVN;)t((Zq-luqz=n}JhCBQmD?S8mJ@oN z!=2qT8?8U=*jIA))${s1SI))DA9m&G-?GtJ!+HJv%;`MysbaUjF<}2+^RBc1kZ#=9 z?H%FwH}>Q5px}-Hd7S@y?8$T4!}XdV)8kxhO5d(;USR#C1=dd-SQqzy#2^mJ54^4o z_+2rH7u1$J<-#E0kKgq#%(EtsIIZ)khVa9#<~=Ge)=v-QY**m!IX}=|6yU+PgSI<( zUhtHF?sEfc@~}EMFSzrL!@fF`UUT<6dHgh|>t1=@(T(|>|NY+h@0(2J8Q7Ljy4lji zAy(fRd>M*^PV3^Z&s~5+dL9?_eSCeAGn09ZkM|BH#q+kFEZsM>f5#txb^k{5_;*TA zR$Whu<*9%3`NLD7TT`*hZr?{crnwR?YE;7mFj{7^rK1vOuL<#7MZw{n*@a_#&pntA(o z1@dv5^ra8yeSPf5omV^)IEN!(`&uX zzjMYmo@WA${$+t$vFAyFeBfP^GwlTdJ?;qdWX}u8isSs?iGlU9b9A292Frt`fwh@H zV;9$&e9d@BGmqOgUh`sdXB`@dflU6Fa^ru0WM`h~7T4j zINSIBSyI^(ms(PXj}0Qe*B+kB_KxQH(arN?n&*vq*8U;qL@YJV|MGYI_pp!6-2cSD zO!_MWclI{}{EC}APA`l6dFhV{b_P|SdEEQEKC(D@VPtQTzQ)hWSWGoOH{;Sx{=pf` zU9E4;n126{XN@ma>-_!S_$wc)g0lj)@MJ&U>~%)zB=eBK`^_Hv-M{wK-H3O2+!MXz z>KtC0=UWGSG%p`jclB=xtnB6_P}nQz6Cl=Z6pEys!1Q z?RxJ?`f#){`&wUbn?FQq$1nW1J$vxCEd1f&)q&i;HbyIV<`s&%m=5@Xd(C;NXY)4= ziYvK(O!SMV&V*Qw$Q;><`KG<`Ph?C7K3mS{`}Pm!&W}4#E8BfPO81u|KWXjLSv$AU z@wn!>-NXOV_q*AH7k-IBU-{$G&t|>l_n{eA4EjR@y6~{PC;Q>=Uw!X8dgDub<7f27 z5ABV&WXz`bivF0OZ2$fDu5RlC8MiUF&uu(!>dCcvd_~sU@pCg)55?UD8S}%>Mm6`b z@6PQpe_S_@n_tbmI+W)_(yt8E>5WpS#ryJ%?W?gGGp_Sdd2%0^Kd9^b=fykI`W?Ie zPF>HYdG_^dyM9C0%cXgDhu&SHKf3Gh-1Yo6FCP6px?b%XKRBRE9DI54H}>rL<>1)- z2PcjT{^Q$w_U!l1d-nWY@Grr`{w2SU4sfVFAY9Q?JczUMeD{uDc_6d8>wR|_yO;Il z(*yEsue;;G{N;B#?R6f>xs&uOx_(`H^4>e&%r7QdnS(o-K7YmA5zXFDC!Vt7+>`Nc za;DD9TDrY8^MQ=nsrwFR74Mt7wVBM3$&WAN{{CHmO0O4h)yaLjwW_PCqpAn*Q9Apa zt?K3<-u2~I)tjCl>QK|45!^l4FZJyG`|aSYfUUf$$F*V&2kKBBE(*2knW@v$=CFW>z8qgp%1-ET1N+Xb3(?I z>xy?KbK2R#V}mmS9P-)SB^Lhj-@0?tU&k$b+k-k2c^vb6NP02Uy=4Btd>89C24era zjPc<-nj?Qo=GgfN#cBBAOU>CwzMZqryR4nVLB&yfsZ>v`9A4zQol`IFICJG6UF6(n z&V=5Yo&|K-g5ra-Q5lD%~EzkbiXHqU$} zw>hv*{^-D-n`V)(?Vjn3?crbTBhO~L_hu2oPk%2y#H_LLlaX_lS~-4oDchUhe6Edi zss7Z_A%R?lig8})SQCifJuVi{d}8P3vEz)>tIu$3ca*+tZO(IF#`pZ{K${Kv>lbDY z5BM&>*XMadz(2m=hP~47Eb!?TnN%AWRV6VDikKVFp&OYrE*@utYEy8c|n}Z=vtl_Kd zO{(YHcXsMsL%!-|l;ToXkJ`*SRgJOX=RTNxlq&c&A;`* z&|S&~zvPXrJH{5CD~IRgc@&6Aj@YQX^r$@3?_D%WKY9933+Vr;o_=R{6qNqiJePhk z;AnNAT^KA0u6bAAV(hQ)A?MQ1;P(yaenRk~;1`1r2A>T6I{1FDG|Fxf+%eb~xCieP zN2)gXO-G%XJdSf^-nW@}Mv=#}JeT}*p2frWp>tMyS4PNvC_nnT7h6s;J@E|J8oQOh zRSWoIPvyiOT=#2Wb>~-mukcA+`*(YAH66J=SCuO|t+jVr{qAj9=EdA{Q$C!YdAuI7 zNN&W^w{uSB_}bd3yOSOI*G!0U)a^^R_nv5D7}8z$1YhLh!2ug<7a2owrQRzZdis3f zeBE{AoR0O2(BX`Udv&0dUo~H6g1!ycQJ=W;E93FM7og_o+_*@cczSry`g79+}DZ&VNYeMgduSXM^@mmZPeR3-g?-^BQ-u-&(B7{1L&u0y%ne z@S5PA!N-HY4lWN4h=NgYTyT2ugy4C>8-m{q{xJAXur$uB4(=Lk4$cmq5d2K=`rucC z-w!?${9W+f;HHR8!>gDd5QzDx1lQ(P%+rCG-P>C2IX%zz9KFCE9Loihwb#!Q_8ybH zL-}mEw!glq_T1(pBVJj?yixx901)|$O+tqwH)Rn4&Fx%A_K{;JRZ z-FcTTmiGNnao8sg9O8j)aX4#wHtPLGR%>H8D&z7|+~vRhbyl6bV;2!yaZ>vDQZe7J zdmf6J{<~gB{bg&C{=414`tQC7{WzU3@BLb?vvZH=UZ|F%dha`PAjML#lz-t6KrN_@41^)o95Z}?r-b;`0Gh$ zorT%xpLDiPScI*X19#GNP&viH%p!Em#{vC)Ut62~I%4z0>%nHr`AOHKzV_YVUX$bc zPTUkbx60Ug(5rjvb*E-|+|+61ti30zF8h4WHu5c>TQe_LrOR3y_vY&uw|CZm^}gq3 z_fcniKE+q(lU~pGneRQ)_kq58kJ0Cyyd^#r-=(uS$B))>-ttsy{HS|zYxK?cP0`i> zz4o3K@a5i}FALQG-zVkmK8xTOFZb?ru-`ws^Z9t+YvCh%ZSBo=wyRd#x;uFh{txZD z-?iL#%0BF?yQuiD`jU&P#pyh&8##0z-G7n#=^6#aMO&-tM17nZT?^G}`8LGS1NOm} zw$Ax->tHINzv|t$LDle?dFJD3osYg@`RW^xe4VNN^Q_GVLp5xT&iXDO!>&1C zG1BXfZ+~XmFXPqS8sBQ|!aV0ko3W4nUH+265gEGOb8=d;=FSSH1OBqv#>76q%ZB*d zfA7APmESggy6C@8(8hmq#^QhAg!mtrwNX&^9B zqXS>=)uXz;_VZKijRHJ4bKB<8#}0kCr4KKB@I0T+2Tjm9m3>=+^1pP@%TC3i4vlfb zPkz_$7#|@FzTMujq}j1myJn(W@k^y@X5X4JgNmYP7gK)Y<)F;`?Jdv0%vMXfU~w%)ph&l zv-G)}hU(qplYLvb%nB)F2h1A}z|KOP!C%mF{{A5?7CAGW~yIRoqBXnEtG_d>t6 z+>6rzzxEHz!zx&(lGs2j7e0u*N3&69Rf3ok{NoFn`}*6p&Rj?D7}npx$eF zyhaWxE;#`DAJgd-fy-J=8-uksI*6Dy>{WB;= z@-aWQ$@X0XaXvYdZ4I83xluq?D_`tqL(d1kdB5|&xVx$b_Z#1%2W8FohM#|*5xgS6 z!v#@ZdEpD2^k|!cT4SUAGpky!ywT4#zvxlZa)Bpf=S*yLiuEb6tH#Bk7f0D2<+*A@ zja5!7e!lp7duoV%jo!uja$;m#U!Hmc_#(!qMQ{0Dv8~R$#@|}&$5k@8nw5^Mh9gZwu6@`$;VJsZsBC{_KijcTNA!Y5mIbI1aU?{=OEUJk#UvG))I` zKnKouN2hgulA)_&V87PdZyEbuu*iLMp490So1crtwmHBpAH8=xlRZ8d1$@+STt1Nf z+lFIjuGVlQzwQ(My>OBK*;n!Mi9U7?@1FV8=WQrQ{!X|Yy(o4U%F!eq)@6V3z~(3z z;-Mewi?2hh@-E)`uEU=u_w5}nXXZehFIgbY@*Ai1zGcT9B~Ns(59+-nXD^M;I!}1_ zu2>y7YwXtAg?U~Q(D&C}J&<9G%+U9vZ>8ygUyHc|4vU;PeidO@IveF9pL}ofN#idW zTs!xkOSbqg&g4rIhv(Kuw#Xk9;OvslNAZ@g)>|L#$7^w8{fNN+mksQ1{c80@d>lvB zSjp9WwHUwa8{p>#?Cy)-FCW-n{`B?ii{ChTMRZq;rK|ENC$(1gnuN?DJEU)Z%k{k8m&M8}?JTD8h)@Skft|(uv(^s`P zWam}agPrxUQFoL(=0SlQ$+P;!*{frx?j~`FadptYx5V(JE(YJAcM9AW**=cN-a13C z$t3+yI!AdX+un6`*Lct4hThg^HgIF#)&RHkk>TfSdv^FZ3d)W>o-01<-q+&Ost(#b z@Ih|aIXqzJbx~5eu9#X|czk_i>i)FXIy=P^y=tPq_tl-}^1&W@Mu9jhcKc=n>l*|9 z{QM&PdBX&Mrm}xaP`;LZ{_e|nrhM_`ve;>JeRSqVL8iyKo=xBK-+lv?ZNA{V|Bg8@ zbE~>F@0!O2y92Fq@yVRVUR~|12I7dvfw?(XYnTX4RTF@H7gtJZ`i3XIo?5 zJ;h_c{(NupqvHSdC@G#xckQhlh+Umc;xS8CJ1>*s`Hky2p1RY-qVdhm#_IzdzrFKGd^q;=aPct8vooZ5zw|jS9<8%O-#enOGw4X6EY|8}ju zA1Y7pTx6d7?r&0_+=;)rNIibnK1om1T#ajTQ{7zg@UD(m{^Qk|DLzJdUKVKm`mAqP z`!xDI%juAv-&%y7TsPOSGv66$eORBp?R~o~V>ROb<(s;Jx*z4We#huL2j}mOk0pnL zLj$#Ay{~`ndv@;6)ZD3u1;+>Cue+OFdPaeodr$PYcQ=2nWqRx~@QXWgm%5KoI6l8kr?`-BhmohXZl# z>$l$TF4F&_qr2k5UD-D8%!o^!eds#st5{l{zqd%8_I@Tj)ZPro{LXhzeRu)Bmr;@? z=Jq|{cLwax-PX19q&C}cKXU4ZuKj~ne&`(dcWc$c@5i_H9MCZeGCgjSYyIY9Uk{1Y zOmJ%O$l(0Io|gr`6nr%Jdhq?=MoZ@Y-Q2sTm&cF9Naa{vvptl5od0=q{?v2rv-Zg* zA7bs-{mRUV^$%iisP6kQZ;mYebi407^G~c~mj!YnhL6q@L*LI&HGbOrhl|+DhtFo; zd_H_^5qjJmbX85&S^A@W*z0?`>Yo1}--o?8Yxn-~BKGpvzDcoX>1t=MpZD8mUEV(t zTk`Hct^8NLjWU0p-(zy752%UR}E zeSc2pc@#LuTL1f#U%0Fq{ABdtsNN6u*Ey;h#AW+kcSy$MmIbBfPZz1D{X02*JyAF2 zLVTZ!zT&g^F2828UTb`7x#n}b*8bd*rK@o*?x}9hK6XDHyOn3XS}*&fJd0V|9JF@6 z(C})VzRKy4ozE=7POiFZ*lA;(&xiHd>l?~_5B#Zb67i^k)qyp9)*3$D8MVent+|`| zRP{i|(6?yc)*+EAeSKTrhqX4zR-Ko=EoVX9hRSga;&OiE@y{~ZzMHI#0!t$&q&(Zd<>q zW~_fG>)uhVUf;N*fUdSSN*>>>JYS|e`Tf(kb=TT0KE#QSKX2lqqyBz54kpF(i6)-n zOFS)KpKtWGezyAgRr`zY%F`DXvA^X7-(?3!zq5$iD4XsDTzs*yDVBqSQBYinvGUs5 zlE0xk*CN#NE4QP--ue8gIw#|P zvQHhnJ$~Z1YD0|1(}5V(q&obo7^pfTxay($(JWyfGRPi8vc z$NoVp_jiksbH}TPzmKe%gwmO*@wZ&*?AMch-NQV8AtJs{? zYa`2d;OjRVU-?kF@m9J^ekj&|*oXba>py1CBwqVA`S`7CVdI|`VPh(~VOyY%)!Mf^ zTk4R%&Ip-Jf%-CE=UEJLhAVsjxwp60Dkge>J-_>~=U;kzR%edPkgZjjmxB|60|H|@ zzSGlDcCG#EgthWXZXX+rg7boV2V#6&aDH$>z~&i&#-^NH-s!bg|IJdq(`SD>zb4~| z@2#h*{au;U#KPArBIG>u_d3VczdO%*#WP9w_vYD4_xI;nUr6^4=Gja4zskH}r;XHfk{-1f)`?}lTnS1xUXYU%E z7@QoO8K|jEfx7?S=sx}V+nYvii05UIQMcszDsKCp)IFQCkA8N(|0`O7lK!=c?c-A~*u|KA9G$-E#kd}hm>n4j3iR5E9EdW^Lz{`cztkB~3+ z#=p}Wzp*#o-5a0V8{fY-KBhOmRmN?c|CIlyju^_{Kgn3m)k+)J`!Zi+{QOGB_$Q~g zU;MAkyd0Fi3p4h8RO2UQ%syS@{*XXU`D1+3A9?1>ysOw+3hb=bk-} z4Zi$ed-i-k_{seLgpLlL9(*wPLU5BG?%8uxaKGTO!Se&PU%dF4i2uIl#Djb1;*!XH zu#+vW{5&aMGRwlheZ{MDS!>_RzBb3-%$Tfqfxh$|p651y$7k$3X=I#9{|>`XX43h8 zVjQS@LhWo1xJ@e{pxe&8>`BQt@aChAzvEy0n?kq88>S|ot zKldFn_xFhXPS)I}!2PBE<$6WH#@{^Umyb#}=4NO5Liupc9o{qMWR$fV1^l?>1V7l> z9Ms--{P){GmEl-7zxiPQt+L-8QE|}QzIWB-!GU{6{=OH*&b55=&pvCX1@ggOI~H?| z^EiGt;Yurg?u(Vdxk0Nh!?8Rcv>&y6KR!OJ3nuyVqn2MR-~8>@^|s96y6QxZ)Pyr= zO-*QOMNZ{g-mB(~?KM6+SQDs!t@hNM^M30rsyFYKnLs-`81ieB`SOb|D+2EjwaFKL z9~zLE3j8?+-^5^zZ%ezeIpeBf>-?h2{)(Ai^J){XmFMy=?vHiy$6osFb%*jnj0Z*t zZzV%lU*@35;HPBl?aQo)44(K-pZndI?;8X5-;KZgLmcJ+=UU0|OAOls+%6Bw$EY6bo6pDFF2cv#MTT$mxLf7q_L;*E zd*v(N`*YTz=BuwbYFs+#zC%y5?j14r|B*Q$W3_A^pHo-R83YsY5pj)~KEqPv{V49D-UejIer&vyA@ z|4(HDpK#augu^>!%^quOf~mm#Xu|x;3G=Ha%p@B2N+|J>iNtNi-==FZ5u!SjO3 zhZ@Ecxs8EZ@^==@?F^pV^`6y!aUpJb5Nqke&2;=LeQPt$aBr^67pH0(hwPcF`$2us zb4WI}HOiiPVNWBoCNj0Ea`>U>bAbNxQ*?AO??#HOhM^}Qkb`e%E4=GO&N!KD4mvewGcwQ)e# zr2S?8(1AUz-bwq1>>oCuYtsI*?|=B-k6$cD49ri`HRQ{Yi`cL3j*49W-1Y5{J9?3F z$1Fl_Tl6`5&fEb(egBKY-Fk80{;qSy{+*+@&UM`-qs%+o*6)(_p}TdyTyD-jXL3_u zub!@Bqsx8atX~j_w({V-P|?4i$Pp7fp&I42R~ZA)nFS3y~Vj6-{Ps9jPi_c{<3kmUQVXF zb$j@7_pJL_WqrW@Apx6s#CP9z>AlB1dgwfgOo$23nc92b@W1az>0^^lK5Y!_^>^ObJ#K>D(nT-K2D<`{uA0LuJ2<>JsJPVQ z=D@d!8aXl0#6VuoN}eCb#}Bf66rb2|$BzAKr)u?nc?P+u=j!Ftvs~9)9>@OQG=1N; zIezksotZ!zss(a#yQiA6A$9l?4RT#oqQU~<*qK5CrudP94lf-hCuD^qFU`*0*%)cp|?wW4_-zJ8zLC;<{uiwu+0cGooX$HMTVJfTzlb_{^yvV1s=&)&@~OUdK`Uz7gB1 zz@Cl4mf#V=O9ON7?E0^!_x}%_O3%-#(Xz2JbLR%mH+YW}Z^Z>p)x!guSl49CH;r$t zZrqpu>}X`f>JF7-GGbNNWcg7(;PuQXcLwaK+>G*UpY?57A9_b*X>6;wT$XX^H>Y0Q zb7i~uW}`i)JG%GRgJNgWyH!kOho7aZ^ss%m=&7?MPfLT_We#6_vBsa`hCZCNTs*kr zg4_@nXLal9qwb4LjdPN2K|abhzS*ugiZ^^eBntIscl|>0w!)#GCrJPyAJn zEr0B1`&e&rY5bb}c_)74eMko1Cq<_26uQ+Khz&n&p6Of`d2yYSLCH+w(EiGq+*chH zXY7~1p1+tspX2YgK;6rIac!PVo9BmjKJdHGsX6{RFJia1&Cescy?AZ?=c9WJ2SfWF z+3n+3?W3E2TK{b0fZer$xYq|80ycm=nYr)cTa4on%R*2qlVq~Aw}$z(IhYBwqk}bp zdx3pC%>>%IU@9mdm*)AObtdMOfqdbT4}9JfoET_T5B=Oc zDjZjQ(~-+?%n>{Gw|vnB)iDH+uqfH+7f^HsFuiz8Lz8? zs$U$4qhC{G!I|38=@nnSQ$~5NJN(gEr>AVPMZX@G#V2|Et2sVaK9}Sf`W!whb3?%C z(EQL`M8|qt-6~@$^N;9|ZY(3#$0QbfofBLcIP?7W{j2VL>z~m*Z%&UBGWQNNc3N9Y z!VG`=@SW42n{UiMKG{De(8><`)8m=BdMTgeL*r)~hkVnsGSKL8{?vx&s)fomxnqOJ zc6Fc*>yDvIJ@T*g;?Edw?6_Zyr@FD;Sk7@;=Tm%qt{S1QYJ{A|H+suQejFOmW&e2t zcY#`CQ+!Zy)!k=pQ_!B@OEMmU96fEqT3(ANp-FEK4 z8ZL@UTvsmeVJx;<$0uD-JQmkt$FW-B$KxU_FXse@1?q=ia>)jn$4ADy%vrB`kOTWP zdsd8}=HlzyRafqYdLLHq&C`Egr=Q)@F9v(~N?(7^6Bh7Ee04t9)o|axqxf*MZjCQb z?DVRo@&)%*>-ZKsJ$+r1?mNEVihX+8zG|^*MGkLP%GkD6R@YT z2iEY@Un^h9^L1sQ)-K3|Ge+NZfGhE6n}eZ!=GZEJ`#PVJ33)1=)^VZPhr|BQbmq#h zop}cSJvE!_+*fW#nRgznKP~H%{4Y)_4^`jz2aOCpPmdnw;+&w~#p1;IGX~b`E|hC` z-$w$Cu4hKR?h7>`wz?O|{&t|@_srn84ARP%XJtQb@n`@3fo8q(L8ln_L2hFpcT;&M zk)eB6psBl*&tBfGlWlo^c5LDq2SYsnbk^IP+K<&r!R-V_{!p%?& z7iN7@t>CM;#dp=BIlNb`w{(c?g)!q7FL$I{NYWFvzhQ|Gj0guywcK zj6mG0gYvKL8h8GkGtaL6+QRwbqu9ayR56PakJ|!vJd^2jj0Zleix-89I_JfQ+T=f5 zWM16KsC6=OTz3Xr?vwd!v0rz#yQ%8HJpC`}^z*5FPy_BvzL0Bk=*-&p(s_KBd$G6t zk20o9e{F%2N&Ktv;_PSQ8(YN}Kc)h{x3N?nezwQ)bmYX2=b>}3EAtxOw+HJ2`ulPF ziTg_t>SI-8`*Sz+I41YjZRLf3YckKDA2-@}@=Fk#wyDEa{?7gUuKu3i$QWOe9M=6& z-wbj{uiSXoKP7uSZw~0(7P$X3bH=rYdV3y|2j55P$zDE@tuxi$pDQ!ZmzQ<*q<+-k zD4=ggpjOl>zs#|5iib41`>}pJb0;?I^#9yItZex{dilUwKc=IiPpxha=zGP$p6!{Z z@6v&_(x>PD9iz`PeZ}jkdDhywEpt;>oAdYXG;%HfIHG&M=;p^OruV+Q{(CM5$C-5w`s==q^S=$tt*I$*RRoD6* zvnG13&-asDC6qBYUl0HNI40dm%ep;Z$R2mgk)583S53P+`ZaHkOx;P&fb)M)(3jnr zIZ%ghPEP2&ZBXBCqdd!t`T7>Zwef*LUmrbh>Gb$ktTV^{j$mEjoZ_V7yDae;ryFzh zx^7(c^s0=j4jvboK7WtQoL0Q(|8K8@hj%gIQhitLPvzN}eo)rs-1oORG4=B)2YvqA zeExEmhZT_<%BP&rTlrKceSPxz)=rOnS3WbfH=pjDHh=4S`J2wzng5k+>fZ-Hoq21& zI~OCpC>W(x#;sXbf$*#bl`w4a_YOy(~1GPV>9<_9slxE{NrLrFmy+rk+|?*e4pBl zi|>=Wak?=NTl3&t{rbSUaz|MEje)iPnY&B$(1~mC+~(u@%G>Ru`2P!ed;31-?VI7N z&D+A=TfXm+vDVHVH8*vQGf}njv8>~EIxt7C{pxk-o4J1` zhTaSIs@GPRIQ!>It-qt=Y(<`{*1dan1ZutBALZ}sGDlZ&^r~)L9KAea_503&`aQE- z`^|y1er-Q5ve!4)-b+7DuHUtfT>JKHxxRZhF0S!h939y`tDU;HeV=IN)NFBFxjQ6t z_>lL0?a6z;UesD!Q);mUZQ|{q5F1C%uvOQ3DzGuxX3!FVayBd=< zu03L@J!IDh8v?puQ-F`TZ;fmJbH}RafQ?;W<7?aV4G%Mc=G*0jKn(Jt*ER><{q>D8 zlV|PdU`-&W{g~z29Z>Q6j;L?Um3h7-=>Inj-kk*TN4};5_T{X&U7F{<9lrH-(}8nP z3-5^%wN!ffE0;sM4#>QElxOc=vVFg=eEv6-#@@fb<$Ve2kUW1b4n~1-`BUpd_4?lU z=&mgv#l1WzAH@!{!LC4Kr{*|B?}~tJ9P^1z9MzqDVxBcVk(Z;A$JKAgaGfc>%L8BV z!WK^3TK?=*{@cO9_AH*%VO3=6+1j!t`Foy0$v&-neqJYE^KJji$hy~@)ui^Y;Qhgcfj>(+H@&lF&l$l~ zusWc>3w0bD9lrDVAa;JMTjNcE+^Qk*vnzga(#^N`$2T&@WbBh~J?`{%9`Hw3)mf`g zofYV_mp*#g90hch-485aSG;07Jn$?wIWRZreS&lRh))xLeV4Sp;+(#EkMNgn{)(+Q zx+Kr-Img!rJHPAf6kqNVX9oBD;B%ih<9;5BGd({_Z=W|lTVEc~aZpfx^6PgxzbZH7 zSEk1`wlqDRGl5q5IWW(ar;1;1|HiKWK==2Vf48$yK9r4Rkz;pVz@FCT>(q?NxU1xb zeq+z-Ri4`QI)id;kG4Bld%?L!9+e)y_TYrBmJ4&%>i#lrdHPTnL*=4k;5U9W``P>M z2S4@)bZeUfoE2}aO}PVk_`RO~%Hwp_)QJ4vCHQdU$cuF*(9RC3e$?@^leBjH^o%vW z)LBpy8lS6nTHnlBW9#>0v(7`st*5KC^U%)DZ07loV|FeMz+N0yjQVYX zcTE4>$wONc#b@8wKkm4g@61&#_4j@vd;2wuBfM&}L2=a2w>U~~TSuPp9O-n%DEwJU-oHQ$eebo#OM7Jh$J* z=Vn~>Reab>zV(w2eOoIscSG2U+QFY^W-@GS`x)876G>s2G49H>S4u3DtCYVqJaU)=2d(+JLYZ*6Jz_Ul-U^SSDo zof8ACe0TO*d!JgsSGtCLHAjEx?Q_!Bq;vD>ACaBUEMRA`_dq|MZ$0%*hbD}1j_Y0! zzu5jPHsxZ{o#3ol!&#l{AN5&l&&Oh)?-zd;D?6XuU83i+;RvTyqwdc3p5K`9RPbN< zZ&p?f*Ew)*E)JZpOMUw*KSAAW-UzQycc8}Ma)upwC50oS_% zO^oK*g!(;&y)ijn!y`Kn3PikW{LkyB1{SMJ41L))?)rU6#mrNFiwP&Vx;RiP`22i= zQzP}e66?6w7p_{H*B4jv)Q_`2K7J80{XH#LEgvmko1?d_0bCj5vF`Iek6-BOvUtRU zTG8lJ)AmEo4&fX1y-}Rk8K~G=z8zSe=hHF0R_SRhSBc}3ye*$S$ zmnEZ~hGgt@w|keUPkgvL$gT|9yZp-?=k|~zPj1vb%kfttW4}C32XgH0nF{2I&idIx z&1_F>?HWHX3aokGXuE>Xeg2GbZjE;b%P(7V@aFX1vws(YI00-v3IxwH%ZBnjx^(=mtA-_akW45Z^$@qj?bysK>Xq=PH|E)#cBJ##6xj^n!FVRn&YtVW{-2rW{WzMoDIohd4NrAv5~*6yi-|pFKrEll z@4fg)N5!kwthMp{Z5I!JhT^eD9!rO~@Cs$Wc;oBWqmTZUqfG6sL-xu2U1yh`;)xue zwbpNWs@k`|?8(!c-}w3;rn|;j`1?*jzlY-D!#5%`bQa|4n_1(F*l|Ed-9sz8IX+gc zwQHX1?(4@!_dj&Hx8_+qll0GKZAiblEkS)>^0PQG$7l8{_SUzW=X;wYK9mmg>OpUB z#o#`sUt^>0XMOGUOt*b~&T#&ZiJgwpnc?1dws5C0q;^w)khOrOSf#Y(35v+rNBZ>TP( zvL;VM^>S|Joja(yz!AOEfoFBHKG+Z}?Z5|c_mf=}_>MUt;Om-z-`CeZyz!&`UZ`B) zMEu|B;;-)p_Hp0$VKKV?^?KBG`2xD!$)Jwq;n~5qKpZuXQ}1&z`#p==!28Oe@~2mm z%Yx!*lxIBP=Zg5D28thYnHv8YhP?K9!Z$l~*|RaQ=kxiqI)31>YRY{1!`64BSbdf) zcEr%PLB~RQ{a!Y!>(X^y^7{Qn>gxL>rXOUlxXTYQJ0BHO&f7X+^gelcK2O{s}`PshaGJk_1kuFFyD)4ylKP#z;T zzKi64AsbsF)7p@~vQcMPep@|leb>9GbX0AteR=th_~_2A`)E4P@<*p8A3qL1`78Go zD_^g?o_yULUB!ofh|@{y{P@q#5BaWoUY=(hYB=-U>Ztd^+RSJBxDCnCBj(k?(m-DO zy6h)Yy6Oy(*IK)LG^SV24?P`vvFmZIZp7oRQu9aWu9ACv(c=!~3)!6=@bO;_A5~wY z%+sxo#Hm)xZrPa1+>+R!@~vGj|J0Nk(OUo6Y5nJ?{p`#HTICpjC5zuZ zQ9hJgd-{H|y)S@{B2?P+U~k5!A}BzL38d0rck-5xk!;wv8b3SzkGeEsNu z2hGP-16Z25%F!Wt=DUV_oVDEh^B#>nxwd}l?9^IYJC%F7@V4IoznR+0Z|e`>*s1)=H#>T#^?RxAiM4+`_#|& zK)!KUIy{3|ugdq_|JTC4X9Qmg{>^#}_|#t1QOMKcZ2kL8CFrE4;+j3kod@lWXz_a@COr8$9@Lf5t zx;6Kq{64YGdEaL`hPc1!0Qcm`Yq(M;eB}?lt*`2ruly{(Dvqkfim~Mxhd1kNx93Jp zvojU2N&k?|^2=IVgY^Dn^s-sCWStGoKKd&b_V~Lt5SP}M!3UYu!BkLOln(n^9qTjR z5V%i(KK7k+|7{jOL-KDi7)_8{n)$kO*{-|j=5Yq^^_{2Y__sZ9pYngw-djxATk+Tj z@{JSU`0~z%Jm|}pop~-)y~~I7QJ@y8KJX|OK07CTd{_7Fddv8vt}7n7WV?JSj@f#4 zuq_~KzV&gwZ~j}wM)}|OQ9a!{>wGL9#K{kQ;-h@=4C-T7pwU-z?HRr}^K!=TI`87# z6r31nRbOhSp1WwqoziLh9BRY<4ZTgdf?ZI<`R|Fb)XRLik)R~r_mKX8YJ@%$9 zKL^EtIxcSJJ8SYG4!-b9+Y;0nZ{svq=S;m-trR!qn>uQ_Suu}4^t3f$ulU$19aXdX zx-eGrGl5n%)K2-x#=-O0pr>psZ}u(Z_ig9V$tS*5 zO-A$@xg@hLaQ3uzTxY}@%zg9B{VaU1j86+*(5>+wrUud; zclx#-oGU)mdRyaoty=JBmG$>4$u0|8u5XuMaen)*zeD=c*{=<9cg%X#PMr&Rz`xkV zRr_0?D)&Qc^!`-zim7ypnO-`@ImFq|?;~gB1AU$s%h8=WZbn_dGJVA{#L=p(*L$Jj z$<#Qni{XfWI9Z)da#=d$pPs6>rFjPDZdafU-N|j;?2ODpcQPAojZ9}^=sm@DQw$Udn#9C#Djn9<)^p`Ri8t-Su>9v zwX4py1vr;0-1hHIV^6?+gCiYzrOR`TAxogy&wDW+qa?H$DfLseS7da z#G8E^yM1z7`}ibIO{{!jli!tpdk@WCdfR>UXvI@2|z&4Khy0&Jn>YT5YQ~T(3FKp@NYn^@&1 zRb7&+^~y6lwT|B-;;gY4i(}6?FaPBhwgv8i?Sb5RxB35ti)&RthRv$c@|&F_V@ICK zhWzuJu64oEpzL`rd*Uy>5A5W2q^FBNIG769<?qbJzoC!hIrOk~u|(ZSllx!4}ylU&OuPQ{`w z=kE2JjXCr?{o?|4cWUtR;7!4YgTD;E7x-^l93S{^WN4)aue--Hb9IgHJI5z^!h`W$ zGR7JGe3b`&R&B_mx;D?ZnwJ}P0N-T9d~Ebpy~@{ga6mv_BTpyLX&;^V$<}e}%gFUY zGS0-144>tL&a1ecduOuO$0&1X#N8x5=qpadHN*)n?i%H|V7ItnPweyA5DS0HhBG$F z#@!aMfnz>aUiooo!2Yt}rum-p%-+s`EdSO9>Od>*a8h||YlOczDLZ<0HU?9{U*!FV zOL_n|ckldG8!b0Wx(D&7HMz37+ZVnR!-=@XQv-86_5MV z+0yJ4n>@7f7-#Evo_z7<`K<2m^li)Y5rI63iyr#uwkAevxOC5{8)y4oQS9tkms{ZL zahj7udBTnT#itnM14sNlG0-Zm zvRC|_nBd6PI~E_}V#oge{p4LP?`H?+2QLU-8EE9?Ngm24+@BO1{3;uA%MZ<-wnoGw zuHv@h+L<}JHbs~F%Q`;T83p!P-#m{kyohI8z?UV#Y%s)4)ib~AJXB2P_zi5%Ha=C1 znHqC3pACDrM6l%_H)7NH%MbS3yp?Ziw7*8@*639C<%^t(TWfXlv0_?C=e_6AS$XFR z|4S!d?vs7<<-R=&{Iqv%z_;~5dlvWzmG^#a+&7zwOM0dQdc@w>HTOL;_un4gn)Uil z6id~JZ&j^wZGLXw&BuTDTU^%$?cW=BH>weN*%qkdcKtRPYu2ky$rQ(xH+~H9e{u+L zUer%p5AF|bKK|X;_sf1Z>|GTs4JzMlF4ksV{;Zd;BS=s>2LQt+nWQqKQYiMj>_xG%+dM4d34%G55L+N&deS; zFCXMwO;wHX1?&}%TC|@J{4HPfIHTv#KrPVqn0(jTkGrZd?^APC&-7dzh=UC=_hZ{O zPi%CRU;3&)eMl5r8;5F-cRo1R8j=2tdag8gvtGljpP+Y2s2X(xu z)5;k)u#d+C<*(%sgtz4iec5AJNJi?Wfav2W?dde|pl{Z%=-$@rUeUDoCU z-L+14ot?hle6z+*>vQoWt|6Yz>SDk}#o!!xFWnIK9x{(TxgE+$#lWxr`8d1NH2+Ssu&cjqD>MOV4y5zx48LUEnx zk6ygxKbg9FS{eTJWpMteEd#R5DTbLqTNg|P zhX#DsKHL4iNsjDY6^MaNeLtoZnd?J*=ICr=QcoHkp6NUx&}PQ}ocq~>@AmRxCeZ5V zfbzwDdip$w$^L#Gw`ER#w+Hs_%kSQIOvpD~>@5xY_SjG#_%8mP3AvGnzC13()7A?f zTZpyBzU?2K!Li+*ne^J(0e|pb=cKJ)Ic2BT^!&Lv;42$^sde>PYtGs7zOpQTtoH_CGHB<)ZfD zPCcy;d_2OV< zH^-Km=d=9O8e5N#zwTjiurF3J8l806KNDzWJ5c zF29|z+MjLX)|U~>LNaQJ|Az)rh_CPDckQ0tYvpgt6CdP6FK2i>uU@@8xLz4ly;$c*@l)&WLwc=OoNU*+c{Rg#z}fk6(!9M@Z+y2;?L0Z_ z^VJSN_{{gdzkJ|N)qa~p92}6CE2i@2g3cd)mOpr;OC!hTd}obJ*>v73ezy4IPQ<6U zp0Wsge32*ZSMuL`tXPY)%IWs3@r|$6@PXUnMNgOB+0=_oucr0Of~rG#_}&la>}|{Q zkpbSsP`r_`CLVP}zxO5k^7qsjaF(p^>>%!^b#WI@?BZz@@I?&do*p^6>^FW!w+{!E z9~_g>s>aAZGqUur4ajc~)&*kMoeXEEbYK18UB#NZPljtKym%-_%1H>IvvQ1IQsgw zWsWZTEC0BZ)7Az)emXk!&*}Q-HvH7L!YJ!(k$Ya&`PRPgGqpFDQ+Y0bJcF~jJJ7^w zZfihi&3jg#7e<+Tk&N;4JA35Sl{2Al<4|igUuUP~v1)Kr>o>h?%=e9s>+XLL%w@_~O9r(Q1f_TX7uY~cN+u_6C-9utt+9Ee|x zbXi*+(B0M_o5u#bI?mKCA9r@Jw!2$%?uzqKp7~VwD7hCzPEFfy{K9UZcqoQvR*XGdtq%&(rsk=xytRUt;$=6>-f5 zl>`2?oKI!^^>B_Ox?UPxo-04)gIKaO*1ID8)`0HafkyB4U|k>v@%~IUu#2y%uYrPMT`|Q4&|`#)3#1V9*SqS zPPYf^0`=1OLp<^;{<@3qpJ#sY@yK8*ScpS9a5Ra-iV=rZOOxV!RTrnY`f=iyF1A42 zua3O=_HH4Ai|gvUJFK(|xQxw^wqha&Y0bPt*po#z1Ha66==rWgQ_Wa)$5~A4Txh+K&EO<-9g3Z z`JWP_{Mb`9UF-J#Y1V6vUsYG?q2$DSN~gzq$=NUFR_=%S*+mR=))~cdtIz(oMb5lB zEx%eBHlN+-B3JtG`t#wzxVV_kGrjU&d^lTmzWCYR0c`j00D9jLz52_#{uk1>{>kkq z;2*hP%=*6G1w(c6#tC{V7P-`l|Ki+Ps2p$2vz$~uJ@a>EfS1|8dG&J;8GN<(-Y>-m zoVrK*_d%T#dEkHPB~Rz(pz^~<{IvPx%NtTdID1oLM;z0EnsH7lUb%v80U6Kb`$G5k zo1=feoV_LM`QQMo#c-?JHPWsE?RrP+S%hrYfs)ZvUImOm4ius)S0Mw-qz_KdS_Km@Cx`B zm%P?lQ(u<^?SBuHZ*o+1C2lofU!NCe8Lz(RX0%FuFZ3;*?-k}nEU%JchB698*yQ8yu#VUW~~{~ud;zguudFcqv0a1Z4ReTN0^5L~mXp5D>r zSUt&u*yvD;m3Or-U*z8z`FgKZ4T_P^ntqZ^{?qZB(c!F=P2BN^jn<~P$iJ(z$?w*t z`0%nJupiu`OLA)XM4lbr5{CqMUKfau?52SJ-->>=${**VU4QpH>wKs>#uI(-iM&|K zS7$g=dv(eczn$aS^WFg)L$T4qH~YkcZ~FZET+Ya<;7$SEI1r;;_Vc+jbA`%h#WBhn zfBX9HmAN$my?odlh`;WZi}TDcu@|?$9Yt&x7nK+Hq*}9=j*8=ZiDN3`)q!<-tg}UC zHjt|=0Xtg*{IcPhemVCnk9hFBe^Bp1W3^Fn8>>NMHjVYhY#Zy1`CzO!=8Li3xO~zZ zmtT70@=b4C{^^Z@zIt|d80*a)*p2nZ2X$k;@rrJ&H@;0b)*Cwu^y!V|!B}rBPsVy< zHDRnbc0P^u#{R6=SZ^$!#(HD5XskCL1;%<~^u2V|8GxH=gdsdgDX7vEEpH zlGhur?Z$dz=ij>C*cmg{8*k{wdgG1VSZ{o2H`W^;){XVXhj(MW@e$ovZ+v7o)*Bzy zjrGPycVoTrG2K{ieCKYgH}-QU|MkZ1A7j1oUAwW~*j-^=Z|u%6)*IiW8|#hl*^Twa z?f~+7#_!9YvC&sGT4$$n zUbRp)cmJM_{W5+@r=#wbx_|0iR{g2V*8Yt${zm>hj(xG}#iPG(*H`VAA8NJL!Ty#` z$9=jzx9Ivh*VR`Yimk8X!}8-k}{dF#@{)>ahck=h{ zdNsi>9Lodd;Z(pUNy|t;ay+(ctAIv?Rvhp zI`Da$AI#}6-||>Gj_&52N$W$k_8;Gy(@`>KcCyE(=d1Jg)lR0?9@NQf>iY7r_+Hb^ z*EucS_-JEr4=m|)m#%ZVz17#=%5n8&YjY?6gsv|=#eL=Cf^NNPSkB59eVf}`X8hAv z%<)n&Z|nB6SG@fG<#RH%_J~fV&fG(~ah;!j-BrC-{hSi{@`;Tb2Os;_IU99;E3T^D zx<~3Rs2VR`YQ21@cf;wOZ>RNa-ZbNr@`pTCFZ$yAjBd}#y*BM6%5BwI*{J$|dSuA;W85!uZ~69|j>rw~!?))AD9#@-Aah|SQ@Q0sU(fbVru;2#sz1B8M?DcRfAE zPwx8iq2_D+#BRO%s=MmX@77iWk{=zq4Gzo6@D|1-OB z)j^G4)XiVk^>6HYwZvYwu`Mti~TejVe+rBinzkI|Q4l6fRE7iZETmOZwuYE6U#;uRy z`>QX^*(lx~+Q~k?*I(9+f3fSu)ar6}?vVef2LH;R^E%n*G_tqPbLIPSe?BK)y5G>r z_jONY{UgKn+DcC)U8#{)dpXl*Y(d&&%T`Bzmt7?o+~zM z?BBCnd)L6)x^C^ay0u;DYu`cL+HZGjyPLJ8-P$L*HTO{MyZkeAF@36Adug-wwQlXx znL9qPrt$f{!QBGCG=IQK~V zykF?jHU-xFKjUy`jlLZLeK_0RJg?95hHgIHct8JqPx11t`R76q%R(~Ob)7e2gRA_T z`!fjd1JJA=8@w+>;q{#0$^dsO0^g7CA6UCl=5HN1A2@q#fHOIfw-W+9t_)@Z4WIVe zvpL`wJEsTQHT_-q-&tOhefYegAy)B-_0T{oZpCoN@yylZIG7Y3<+b*y3+=qX{WN2c#zwpL-4A~34`wW+)mr7A zfBfa2|G%bnMf7tf_&zwoG+3y_C=RP&IPjd%ObqH_Xoaj{dw@DJ(a77?e)?3&B}m2`wj|lKzG@#JH^j2?krrk zy5`=IQ)Az(@lo3p;IP)MjXI=^)?VOZKW5=iY1X_8&Lm!Z?nr`!{!wF3%ch z*46YOLCeu&Gv4|S|MLyp$-!*`IcjTRRmO5vy3{AmX3}f+;%r5*GniCUi`BDGZ4T*q z_bDg;{Y-3Y6Jv{i*p2vvlK=9UMJ8b8636PG&Q%J;sN2W3kkpn`e&imjr+L%*#KX zZhTM5wYdlE_YC6WIS=NpeDmX#=y*;H%LDVrJn+;%PB)&XlYci0JoowIr@d7V>=_qu z;b$s3G#uS2xO?!~aOmFqwga73?<$-DexIJgvUh91#@fKS*JgvG103Mx^3-3QcYE+% zy7<2(m#GOW=-S+^&7{}tr_=mQaDC|H%lbf4Rt0``(b!i%>h5#lY$m-n zGydmQ_k_J00$hN7IJI|8AjZB--KC-VYHNJBG&n1evx5Wg>m0T5-{0~c=I@b#Zx6iH z*x6bc)OW>0^1LqKQ{5My^DEjt?E4=0Qovt0CGc}h#bB&vG6+AjHCl{v$D+7A0_qif>8D(kYYM=L?abK5txs<=+ymC%Ih@Hy(vFrGr z5j#$tt^Idfv7`WHSwfW?OMmN1>Lta0hyz*B)Tp94?MuGjIWqhx>13gi2=EXl7sq^*OQj5V^(jypx}+dQZT@j8PufmZ(LOQ&bGv^}Vw znaZwO^vt$;J9Djx&jK zXNLStz*oICGydn?`H0#vU-jO4LdI1a_v)VM0(R%_iRO$GZRByVm7Rj z*^-%Lk^muuf*8&)lL-M?gd`$pESw+%#HzTophA#{)}<{HP zPy*bLY$clsLx z@;3s_8XM}{M#h@EXuS9MD<|%eBf(PxjlDmWDdniJ1LO$^ktGd=E`YkY6s9+k0N$@|Ylc=Mun4xPJ0>5m5Z>DT7*^Q_zn;=2>g zL*1`!54LZs*00YdX!iO1-%Q!P)_nc^lAJVO z|9#2cJYV-l)^<6NtIa?T@Rs(yGIpjwW6y(a{@?Rwz@DL6ZDqgntep<(*Aog?UUnO{6NrWW1orE-6iC21e!QnQ_Gd*9y1qTvemZv+BDaXwU18i|H3Y6pIxne zxr6%dZt?UvlmBmr!#nJ6$9q0|tf_7C(io3<@eI_gp_$jSIBDc~e-iuVqw|fdX>zeI zz#}eVKgQZQ66assMV#fdao&?L)R)HDJMm5s>z!yG>V8x#Y`e{{PaF zd*p+%?wRn*OZMhD@p(vm$2^LcMo06~cfv6*YuT3<@6?sCEbsET8Q`scIZ!Wr_?2Dc za6Bt`HMPTT?-FeF4yC4#1@vfiq95~b{ki~+y>HAH!G9dQIG+^`=Kb$Af%yGu?DCo7 z?%*8(-}qtg*Ou%(f7<)?C3{bs_I_i@-s7gd-(0eHaN7H=C3|wimfxQ3-I=xL1>)ZP zd6&IC5RZ_b+mkzW?fvPKlEh2W??mUb6uCRmktfE>=;UtH`r;Er4Yko4K`-wgJG|?oJrel*SbNo+d^cw9ocZU=S4M_s1XQjcEU?*`Vc*rk zdZ2CHH(TfVm6?Oawm#opvRK(#>-rYoL;p8-l9I)ledbCXJHH#qTfw)EAMW1WzZSS- z+*8{8+0uQvk<(TC>UHln`_6;ENIu=-kN<7E;CIePe)gCD?K|-I{IBBw z-5vOQFRbGKy>0j}ik*BGOTPa8Hnh%@*o5TV?^tYR>`baBcaXW-81w39LE>>+;MsC8 zFrU+~<#cc)*a);fCtDxZ*!c%BV#6eDWAXn7o=v9512uD5a4L|0`aOU6%H|V+mOtWm z?(f@cZOPrd4*oDYTUQ$x)2e5zQ+n?TE)9(7=NrBChYx=gd9BNNEE+F-M+0*;zZu~D z<9CC%HtwC|$c1?8*|rgAeg4bmxW39pb#W|UpT>7_uC4DlPg|Y6^8U%Y$t!Lf0biHd zeJ1N{7S|^R?j8+abF^V0tvQy@Q^UORl;g{$Juw4$rQ=92J_Fg~XH#Na9_OX?Nyp)! zHoP$7>X&yhX5*^^ab~|*p&?s)Q!v`bK0J2^R|cgWX~;MmuxleA%N(4&p5gjb+S*wf zdejuZHv+9R_W1Cp$>~OVZDaBO%2Z(wDWk$2|e{weE2ZNiEbF_$_1IWdmUk|8@l7nmtudMVrJk(m8;4bX z@trPytp|LY`!%=aiqQP8vSohe)B;ue@r8!>ai@bw; z()V!GwEAf7SJ^(dvAO@tvax!$i*M_5yjR$b*BNmZ**)GX?}>QQwNpH6YipE^Y#nP< zUd{wPzxKyFXE{Z2g4)VPI<5>xJ6hMvXnQXC zWq+jQ&sg_#q90>I_n5!tb|dS1gUXxxGRpOiPOdwg9rmsc)`RW%4rYJ1e9L^9-$$*% z`tY8pJT)|#!~Ib zfjwjT(E?xeWB&PDpL#YrZ(jVo;y^$a8^yM3bd55sUl`Qy(v9n@p1pm?KN^1e)aSe| z=^JZ$f9A`45|i!DOtx2^nex#!p1IoHxHra)0otv*W9w(pS7!d?z-Nz73O+md@<1Nd z5`Mg`A2Cy_;wg9RK+}An>sStb&hQzCtfPV4cwZ$SudzLRtq-xQUufjAHBM*ctJjW4 zUFxs8$a+ueY7MQ@$B!{~>Okz+#kcXyb#FKEq*pBIT@S{XiV>Y?jH|D)8s(31Yi^H) zM{PH5mB(JP)KF#3`SD#H><{Mr>;Q2%+J|Y9dG@8lYH6}uyH(ljcM&Yo_%(q zm79^avFf?pnCQwg*H0H(a`bHA7q z#CQA*Q@_dRxH)5I&*gf??nFAt8FgBxgRaV0Rzu`Dd(9VF=A*2Anb+Q)duM=eJ^$$W zJ)R9~{4NbYYiDg*b|0{bZ2lb$=;sI9=ooFQj#bZ~F~+sI{)}gWoZ2+TnjPbrZM?-{ zw4*ZVV*?!v^T$rH z(bKn^Iz#WSIX3mzq`x-UGlA@fayI>2=$<>?M;{a19=srUMerHH*96}g{FmTu!9`Jg zEO=7ztl*=APYgEg1UbVgaoLT&-RcmhWjaQ?d$t=pbH0dU-@oSZ+^v3h$y|SHT+Gx)_0DzdwzkmilruH3 z%4d7K^#|SDpLx#2?cvhL=DEJcul2UuIH{{KPL(s};e5^tzGd>x*Dm$8OwPM&m-~A= zdE}mtpFST}-ZdFNoX;DUu;r%UX~8|g-wZrwzCZYx;E#g$&NJmia5}g*_^jZYf*%Ne zHQ2j1&#d6t!7G9<2>xO4mf$CX-wQ6uC3ie{O7OzqZv>wid`0jtf{>hh{&@ba2Zw{5 z>I>bn=h$xe=Fcv2#{18h4bH*oK<;{9U6t{nV194lIThgP^A}&o==*c9+cIYV(ZDmx zeKp1b9~*ZY2l70pS}$bbU*!{jN1ys!LC;^ls%LVo@wev-A3v?vH}oCP{p24%*(Wz_ zqhoFx9q02dj9+|qx^P1hw zS;4P9j|KeNE`P0&F^1!r-fgbfwOy`8pXNGut7A9MRCyn3fAp*OL21nEE1sUIdCYff zA6=_rP(A8@l}+b!Hux~t<&LmE)=>31H`Yfx(5k!n-BF(25BNHs-xc=QvFc77^FEL3 zZflu+V=XW9bDs11JLa5U4~Nh0*}2d3t%|)Ei__ee-PV=&3i{TAW%poX+`K(heSU9m zu8$7-SNYgym)tC?C;p!f#IE0`k9Ol>clY#sMbmRR)*(5oYSMQ)?B5@V@!o*$(RTIn zaK+1a{`9Q}&Ck3>M}2G=>%rbwzYj-^`c9oq3jwyMuop{6gR}_x?Tk^ZY^nJNJ1~ zOl}LBXZbxn&FL`aU*k3Azvq@+=-9JAAm3b^EB~sD4+ZmkiM)ATjdJC9l#6zhdv)gX z_>cUa_h|M7%lyW>%&xH}M|onk9&9I5j<>Uk3^lc#4DT5`$>7s=GWt8a+xa42JIOfT z_;@~UC)4w7C*Ry-+sWwnxZC;Wv*mU&o4y}S1V8Sa8(ftowtyN`eFf}VZ%3!m7tbti899>^7$p9r2C+#7s$@KwRy zKpfbxtaixl9oO@&27CYXov$*)gHN8H^VqJEbtbg@uPn0JQ(1i;;^&`r_W(WoYF&L< zoKa`=;%5`O`Zek&W0_xMs{f;byU1A)BYIcaM9*kb?UjS-z}xW{NBZcYk6y7|rjMWe z;=@DLw=Xj0`sVp#FMZ-!yT|y=eb^tmV?lE`mnS~wBafWQJKr)ZYvWc1Eh zl^=Gf(d~Tm9mr1cao)F+A%5o@A3km;lTYU>6VED{&dN@HI!mkg#j^LqyYn1vPVpWK zk@-+I`{SUVo<4MzUbtl~pE@{zqvuls@Q zk+wGOq+@O1o5!HOki|wh;cw$%?%vV6_s}&CTk(6~UE;dzeOT}b!Dj|v5wMvKytR{m z+dV&=Av)#Fc$A?g*ysLc$8KbyUk^rk}?e)7@!d*Xe9KkT_6I6C!em5=m} zHnDfvnPj7w&TVAB95%LOb=>Dj_3z6b{p*4IhW_TMG3h(YZezSZGR7Fs<&n$A-O6L@ zGI{4yM`s2Z^V%10wusqnQ@F*gQvuE5`j>KV=jQ!bDQ~JiL{B-R0 zOo=^uaX%I~TMvJYZaquY$xVS8WwRKMHrogB;dz!yU)B&sYUq}=T&zZ zf9cri?jcW&Hb(3xf3&}6i@khXRzK+Fcc)sRPhQy02Q{;-R?zG=*Of_D{g~&P-D1(7 zfrvAE^^N`6jDcP;sh@bovNh|Bh|zdfdasqHXJdcp@bgtIE~~?>_lm9G@n_4Pp!Tv) zELuagb+lj1N1Az^ZDe0N9>_2Gd>`Y%ZtJC)$B)10YY*SqG}krS)mXDnJR2Le!oRV` zM*o({EwB90&ENHD?7kvz%+VNsz8(#>i@)fTCtvE(b7wPXJnk9B;?(#x9(>%+?#fxl z>#kbGi@v<`oYaQ#=NPreSumd0#`t?HjbUReAM!NjMcl@?IumN4XM+s2&;Ic|n1kFn zp9cc8T~`}Nf_eSa7P3wU%VatOHlX1;*<9 zSb+AUf=>;;H299--vz%K{CRLVMr@{McXLE`$31U*vqlz~a&FF_-SDZsk&m3Q78^Ty z`90QP_t4Wf+J zWBlnw)IZ-W$+kZ>|TQIN2}l+-CAezTWHXA#)?pR`K7JJvBVqz`y3F ze49&TtYr=AH@^DJe{=a^N9QLq*2ooy`Xdg&AGYJggSYdIj5WOUmUmCa&{*Kzt^d`x zN)MY(1lsTAJ`}6Ye_=MyKY{$9{qLO3ziu}FJG1#mWvg}s%_qyi&)cB%+ zd^x!xvPRop|34o*e@W)`naw8yjjV<5=_~8Y|MbEC9^CUYA7wx7Pqvq(o+|5A`8VxG z-pAx0g{mDJq0`tPMq}LZ@V!2Y|H6_ceS$xa$4R3$2 zy|2%ly=2!9wtiRsF}Th%eZ*I1Uj6#k723P9SD!~8>6cf}8I3>2Xq*>v&@`5p&vgF! z?`-L0hx@bo-JjxRE`II}V}4dHdyGdPet426e|W~dZ=3emSbJVQ&^y<3xEH(sq0_$K zZL#M&N_%4R0fW5qlHKtY6RrII>i^jC)4OqH|I4h6_WhHI#&fbXpEjepb2h(W;_+R+ zn0ZHI=aoTaTs+9FZHFehBNH8e{?l)7*?2JH#@Ms1a=vHUKb*D7@j0=1JDPFxbZ{8c zReHRY_tlfU+8|D!pS3Y2pFYuCKk&V9Msxc_bHhOMxU8wm+&CgUf5W2??e>+ZwT=gL~f-yNFK?tdJgM!j>}?U5lC`q3Bj!r3`fCF|z}9>7*5ALy2KSbA=SaN4=L7f1;ot>9-#g{3bZFc=Xxx{#2hO_M z8RgxW`PIStl6Aaj-F5Viw3$w}ZheQ^I-!$3`VR%}1bGoRdg#~KS-NqZU-R{OjPS~v zSou!nndyNIV)pESZoPZ)@c|piMyK%!J)iig+3y;gF0hzJU)PuUw2baVc=iVWF7Ki9 z7%Zb-rLS_nej7QXFU#cczw4VBw+=Eq=Ucy{v^L7y&R=w7?Fp9U=%TFmvn(3)>VQvL zUUkmJ2CY2k9~UgsyPoxBdRhyr7>zrOzjCWJf6ILIe8#g(-C%r**?G>*Bmj z&c3W`=+x1i|JG@}=ZoGkPuu(az|U;mRpcL>knWuCV%i$$`skB0H}}UHp4!j8$Btd|vPi&Fw+&ip^o1;e%qjtmg60dBlz_bg^?S(CFVyy`WttW4k(1)wk@)-5&78 zyX8{?&xWUG4W1u-bmku$d~)zP!IuWszcKwsrH8j<{A0me19>9%Z19^I|IxH&{lcvI za~<}s4IUTJukm$RURzi8(A*U43yuWxbnDc&hV5yUH{S8qE3b8WG;3sOXM)P?eRgfu z*k1Yar&Yf7Wwoik_Xc0Fi~3eqhgQh3$Hwi>+I)Yst+Ls(7QA9+&obMW=^SOwd8$M0 z?j}B^uN*mCmiz5=j&UFPm)Sn%e3{O!-4;96-wj*nJQAFb|LAM0u~t8JlGob$-Ra*F z9p57x|N88_c(<>Q)zR}L#`IkosDE_lQ|q<0zKnHB_Im~T`FV2A*r;ctd(Ih{zZ34y znnnhj>(3Z#a=OosgTdV2RX(AoxAHbK?%kf@Ik{uKHMaA+r8b~l=1X%k($&t&oZGo< zeSWWt;i`A6_3X{*>Bqx&ezQSr>1sammFnW(^f;KcBf;K4?Tq`4S(bPG{K4Pn+-Mv5 zz>e0^iH!FI?EU1D`;QDcZ+?7!>N~UV3)HY) z6C<_ScZW5LX=1u;z4Y}N{jz+}v88wGcY4`>N#OZ&OCa`74>Y*VD?hmwk z1Mz1c@ZtS~Gl87#3$)sg_QF7|Xx}i@iajz%8THZkNk;-SP#ef$!{-lj$R|gWzn*(G z@PRMt2AyVo?$;ezBX=|4k9;i430`P!F3FhgRkY}8`zpH1a<+EL^QdS08hzm2xh!(k zsMw0fGXrhzN6*~2*E1z9<9Tfj^UZx+yLWpB`TVM8#N>SLp!1=vZOiQm@-!td(oj3A(XV1^w zvUkktI1xU%_(###obz||uXc$OAMxf#xbI{az3e(){d`bc)w7wgT(1SY$tm3+-abG0 z&K9)V`?!oN-}z){pJ+JTXuae7FdtzF-bZ!Q# z;&CQ>;*G}{XXkn_#x2vuXNTLR<_p{erHX8h7j_9*|X^y3S_2U0<8%<oPwp zqjdOB1kPE0eEcrw4E<&xA7ZQFtzDz9UE>?RdG4BnQKz#yo^A5zxh)Wf=8^0pfyTee zpy#_IL;bfluF7~-J}Yk?o9Z2HEX|m+QLdPQ&lS$9vDmN$n&ZukSDhF1wF&(wUmO6< z19iBzcs8wN?ZQB_PoJ3VM(0lY?B5;u{;=opM8=x;5Vm-~)A|k~hi_V}Y@IJO>?)l( z8?OuaBvyZ(-(J%l!MMymtQW(>@va(L5m!<*x~9-&f9f?#sNoy{n-U zyBB8Nnekq0Z6R->y*Tp&!}@RJJ6X?6>tbI0c)mQke==Z8?fi+*qor>igUZm0N9pvJ z1dWf{|AWX)x1g(y|1`4sQ`<**7iHbtovp9Ua%ArA(qBIHzGpJ`nUh}hY&x6Yhy1y` zF#Trme)&DiX9wR9{9tfzF7h}->vMjzd0 z0=&>#WuN@FKbf(HhVFHfG-t!P*WS3*E$oTei@tdnW!;#)BZ0Fj25dqv_RxL2Fw)(V z`Pm7zxwcuK+eU8Vr#?aa)S2^_U^8f~T$V8&?_>7`d1Nl0efZ=W@5w+b&pjFUZdE_%P6YIM|0`Xl=jc|w zOXA_D_@AA6w3X-QO5`66)`Q;9r!%g<_W3r(Z<$;&>B_Inzl+Sq9iOH~#7a98xL53n z9b3Ck=X_sGUKh|MexDwoXEPbbPoBo&+}cwUa)GDv(a+`cyZdy^_g_2hqZ2RBY_i4a zNI*WAt3h*9<@p4I`rxt)DxRqiOy^H^-$w|^0VH>VeujX?8kVSD4mhQ{gkjOCh- z>daVNoO$-_5N?TMOBxUCV+R7-_|o z-)tz|`ZjczhK>zt;1dJ-UK1P-_qso*9%s!*geVJ@*FUcG5;#>C~p!zR_Y@ z%IMs8G45AqY)&i2<9eoxxRWC$aQ|JNebQ_}v$% z5l#KnHnC>MJjbo2vrG2m|Gt2{(#iWOIi=kU4ZW*$-jlso1a!KaHRtz4Kv(`a(!2b* zn4is>Gg+D+&)hld{0B0>aGIxk#9L z=|iWr(axu2t>x8P@(JpS8&v*M2)|7Y#JumbuuE z{@tIoF$e!KpWV%`3*-cjaq9OiKej?vrk__cT3iukiGo}9$aI8J?s3#@4SxBRIxHwZ_SHd?Dg~SO0JyN-39iK zPQ5$8y!(fy`H`u=YU=rg?uMyz|sr=cVsLHTE74&>x8Z zccg!Gl5|b_YXkYxe0S`&TFd{*wQp}+e{$wv-T4dLk&B-WF4E6==cx2?DXDd6m<2#&vy8p@&-DJ?clMK2q2(&S# z>IJVx&hbF~Xy#+S+5O(JVG*m0Hv-LPC~cH0{^FvMBM#1Zb0tq2|3{tXqt4A?|798H zarG|u_|N6Jb6xgo_mR+y^V6B1$iC)#0k(A?&qvPa{XGfY$Md6^>mM2L>EeJ4eO!9b z9F6-^Ts8M68u#b>WT2jYA<)Kni|zYnUu~WV+-vU$?h2YW>&JuoIr58B&)-JIn)$84 zodFv(xqH7%HcZlb-i+;CoIN!)x1s#q+X#&|^4q&DkYje2hursHp;H{yhWc-9?8|t( zC-_U==LN=UM4b80M|-ac>{+AllIXM7IEsOFb%&o`eAfq>wZ^Y9y?c%_FP+K6FE?_G zPAtUWo`8L4gRxdT-_%C)c|2ol&0XoOwYKK;G2ub_4rV_0=}}qJ8jH)qG{$1I8!x-n zHM`mW@}T-XqvkfK?fR^4FQ3U5YyR^~%&*A)+4SyU_w8Jscr*rd??gxDqaqV6d2FA{ zT+bTYJ|J}J%g#@vNNDPJ7+2P4+c4 z%vTT-wzx;snY&4?-xIKnjF%4Mmt`#O-81LYICoyg`N7$IW0)`VN4@^eM6=4LF(x5h zJV&c@F7wvxiWRkIen$u^F7cINZ$u_So?q)vX*Vx6L>Z*LYsu%64;AEiTCr1+_ z<0l0l7-e^)f1gSC>odMHXgtXPKDh%c!`h9(Rl!=&y3g?3U0_^ZchH`A@aXi*AQtYT zWqVm(#ISek{h6yh{%U7}(H3iS`_LZ`dMDOTG1h9Q{tW^8^YQhX&|f?8;ob6g@8bKF zwanG6b@IjWra+@hd+b)Xs9ARj+CxF_mG6gq=Bc$}&6uBkCb{bUs7>T+^>;3loYq7AZjD`; zy`4b+NW*S&8b|&8fyS1#z&YWov6yZIT5VP@d>r}6zx%ecL#3^(6weyXWaK0x*PlPoH%d%LEBhXw!ZOn_wEGo9BDFrkd3~- zRBQBY293!)uVTPPwzKKFfbIDHRh}(lp03JTW3-bG7l(Ey@L{CMbm0Sgs*5eP-G23| zV`ucjfS+Qnb^lPt55#ou;;uvEOlhYA`(qBRHHZA{9jgxM(a1+L*N=WPV5^wT<4m?# z<2@0e`H94Llyf+1t((?I?QCsW2eE^3+_}0K*PoF22OZe@EXwDNKzq?vw}^%FA?~di z_IWm{1AA;{+t*GukH5Q%X6|qAfy>2G1!y6(RTJ63e=M`sVif zv9}rUueEFJIY-v@f!cq1@T%Z5gU=7XICyjLHNm$BWUz;C8ePWx=sJH69(Z7GPc7AU z_r6-w^F>{po_cdOoeJj9+3K;!_MTNWcQ}x1e%6l7X)WDC7aerY`RFI}WUv;L-`F}H zyvD6P&kn6?_WRDjj@qP0vk_>m$M*bi2l9I(;3NI}gUz6H&OG^ZIyJQxh%Z_8SH)MJ z?a$+@R^~plnY^=sT2=dOlG{TEmfv0W4zJi_ z$9A&S6M6I8Hg}bAGBjk@mJAm*kSjj+*!J2$ZIh{4Q@xv7 zzq#yB&DukiJ)U{G=J)&2tZfEt5g&~&r-HkKX9a9f3;6k`#>8*gcWh|XSnIKJt=|^# zA3wBS)TVtpLC)9!rBPG$WlzT1=nI}}1GRPJ!1B7w);SxRKYTswbAQ-M7axqpr*&pYN6gQ0z?6bEKXzUX&c4_z<`^wSRzKap1&F#A?_NjTfVaHX0{IaX( znjLHv)6Jkc$Z&B#qQi4Ipwm6kd+5Sx9Uni)S_?+mboE@F&DfoR{|{r3J$G-+T>Os4 zsr2;g(UC`Xb>bnvw#W@$zBN7@8Ebq(i@*BW-!WT8xokNS=*ij$G;+k|n&8@iF6~rM zI_JD`t1WEDOWt<8V*Bp$vTNk6Z|vHweldEeGWa;kI3N9LeB|AY50{3g@xL|WPYYTL z8J;^Y8yU-oJRh3IY}^tZ8hAGLne=WgjXLo2R$I>x&yUu@7C%ZV-EY9Tdi9ELU?pVwCa8TdrKvN&A%g08b$sIlX(n@zW<54c1?j-ppuXU2)B3Eu4 z@wqHGumV{=SA*4AKh9^bb;|#1f@=d~P{*~My<)C4pK>hr+Nk^H%&(5&eJ=3j>R>I< zMtBW+_qkS6%htRMyBHaZBcnGnuysV{LC_uCdD= zThP;2`ubMB3$u43(EPbvc8h~`zTq9^$-QO`ZVS|Ub9hb0W1ZZZIl8NY`pY+KhXU<% zV9pNm{aG1y`1yhO(ZQbT$nYG`++KUtxoq!D_UW=Wey>y8>;by!oBL$H{>=A!*P{`0 zzP&b(dvmRyTa4AQI_IM?ofic1RGY{oul8hkPR24l`w^tkjrZdMx_h3*baPs}J$-8; z!vzmoIU4tt)r-IHXCC9rCf*Cvp9r-475DE#M?c%?FlJ}RefJveVvjl#$CSn5{r6Y~ zH&5#u>9rRHDmDP4OxkyHjQiP;e`|p~&AhSa zw`Psscq_mC9a&Su_1XM}+5AN2zUM(F2YSu9LtlR?v+wlIi9I~}%LDZ6b$8qvh#~*j z*POHaaL^d*$IqQ);b${hWQujy^mzEa5opavb4dmsG~Rbch$Wx-`S*tNP`i2u*l(;a z$yg)L8lT9V`$WcQS7SEDpIw_l*U0m18RLnD58@&ZX9MqWXsvnv>xvzG zC6}#N1>`nH;s|UOPjq}g6v)@%z&<(j_Wky88IQO=bA02P8tL4=CT5kTW)4_Pvj&Za zeA7S9$N2Z0uvd=QE}v}u*Hb>n=Ls5(4zk5{GZ3q_fN$&{<5V6t)7Lnn6QAb&!i>d9 zyERxvJK961wv4{dm3fZDe*SmFsF~(R4jY5~^C}Oz!k^ryLFmvwe6tLu5*(6VEsRS)x+SrY@b)>_dw_wg3J@Yy*fhi{F6@#z0NmTLY`AeOD`Rra7A zWmQk}byfD)g1N1wo8L>z@;A3nuIBdqW$BaG#*xnPzE~Bj^R;bR{2Sw);yC7G6>aU2 zW3@4l@92}~8=3QX?M3eC$|7>kjv%-k<-wL%nPIolIxo z`rrw{Jl^i6%A4<<*=Dakui~|T!4CZUcG%~~cJe*nyPx4A{%T2GjpvyEdxK^5=q&fW z<7F9xTwfNryU6!0^oj}mLi7CKqXUgjxujPUQ*(ONh33AoHrhqD7-^NUYQOgtI%9Tw z$6>3yjn7Q`=&a4*uu_J0bPxe zJ7RnxGXTxSN?yu7Q_|VNk|G0MfY|f7Bf;|)b87^afxktww zSW~C`=Ck?eJ0C~TJ-(6aaol*%b@_b34mzM?{;_esZvKSen&kcF^z7aUv=;^9 zFveI8eD+uiwCZnO*eFgTPxG=YHb+A{2b;z{K-);;l% zNAvd&$gS=C+YHVI&Oy(Q^AL55-@mv1=>eH+{Kx>m`_S2Vd%%}_gP#vRKKL7f9LXPA z?;K`dbsL4+Z$Y}fQ48s0YI_7-neTO&ZX&j%< z-k7%!&wNiT*q0s}pYq(3wT?4<(0NcZo+09;oeIc45%AmJ;o7@cymC4W4BVgjvwx$1cA$Mq+K=Gp_x&%|c-*tQn%yR|dgdp7HQcyDPmOe67&`B#U1QgqvqpyRChM2^ zFXYeNR7PX=BUvj=NFMPinO~INy^kL~S~b0qz4 zrhYg3o9TNejA#75$a6PzZyYx^jo(v4D;{D|+sXfctn;-ox-w()Yp0$qwP!u!H|Gy1 z@@p9#U1a`x{?1^!$f+(l{Mljs@U(wJ`tp5m_VI|fcd)kxADcP5I)A}zerx9QoWDA@tjg)Nq33Vq zU9^P%t7g9ZTK*2}@ofBf=A+HumH8<1A5QbehaW#QlldhxnIE6|%R}ec==a#PL%~>c zqmI*|pV#0G(^`G|@%+Mo95_?fQS(j`52T%QnO#M@* zUOm`<<zW$OKI4ZilDHqBo<_4iHvXH5P5Q~$=P|Lm#%{Hg!KsejYde{p)x zk*5WkeBKc}DYzkpY5W~Y_BH9{NF9TCsK&MYpMBnwt$U}uF;E9$XzV@hF_ERdX3Ys@Bo*(*lf&Y)Iau~=mf zIUtXFBVC+<{*HIkKYF4kOI*Z>KkSnC$Hsv7PTw4y%~-75LEe4KhrTsK=EVX2$AzCi zbN;bz#LoTD+&AWPADN57Yq}+u7^gnGU%im+#Kt?SY)#oJIHC+BAP+ z=3?c2w`ZIke=X~tp>sRfaA82!lS0Fmkw#p}URIZ~EI(?bvA|E>i9q|!e12pv-E+VB zRXf#+vm-9-eR6Es?(EF%5g+$|?Rc+@t%-$354j&4xy#Npz0P!Hi1YD)e{)@YBO_ew%#6F)$I7}?fJyd-DhHOSPw1@%E#{SndXh7hd z3ZB-?CuD!Sn)#jS`|bbTYv$(o@tmnn_;z>jjzA193*0TwU9x{?*1Z>MHwCS^51VMW ztGPMP^LD|*j^~Gtz3kiwv=;?q4ZDZUn_Km19@a(8%Cor|cAmUr_H6Wg?#-H7u*WyN z&Yxy&ekMm5J&*3C)`xxa9v>VE_;5#r?)2Hh8RAdv8^1>&yEdYeFFM8P&d7E?`D%Vw z=5&7eE_9v=9slS(5zupKYPoUHuLo%4p|L<~{Z~^6`~_#1jr>#(QNOq^*=kJ=?hmxu z{({MN@0x7?h-uEAW%Mtc_Ur45GN()a=W+SS8SO`9E-rUZJp5^_&t`ly$kxKv<`Vr! zXK~Cq+9Sa|fgEY}JsbEb2IlT{@ym}!7C(<-^Cu@>bm9{)a`^q%m*}`U>*7R@c+}R` z?aQ)ue6}YBYM1?Zs^1#=Yo_(eD*fhcy>-2wb$j$UC-|?O#^!RnG0pkSe=^0^oDJsI z(K?H3fqdT>9185QGhg#BzULP67bhO_I{JM!^P_3#*(YVkhW_JYq6a(n}V` zbR7@yTpEz4#__)_eDk=d6||QHZwR!~pWTL@yq9mY-+ZelP~&3S+_K|DAVzOZ{_OGX z6_F_?`4Pf9-GgFj&pXtq0L?2yBgg3;6azUH1G1~1Zy*j=O=C8w1M<+?dsLvQ1AFx1 zGjE)oJ?opZ_1mU(exfhrnoa9L^IiGk&VI6v2WV<@W5%vq0&_N-Umx5Pu)B8c=3J|J zHqgVrn}d5}fLQ-tV*R-E2Lt;r3)nL15Uct=t~>9`*2RR66Ty`fiY z9~)aoy=Sx5+FcemK31>qIq2u}--w*~**ThZcB-9G?=rdSkX*7pF0%e=da~)@ll6~( z2s*ajQMZ0>p(g#@NWVYu3}xeqKwN%$IydxxV8G|o0sq+X39(~-H}RE>3xmeT`Eowh zYh}>o9wO&ek)v+!4&D*m74-i5#A#10iWfR@81Jo53Jp1*oL>A|w`VhE58ueEpZsIn z=T83diM`gfPs_TyfsN|{ee4#8`u-`=wVm(t+>UX-EOMS4uz~KzqVo0Q8sGkA^znV} zn^NSiN0uF)Qnho7B~-LsD{L+IsZo>Mg^j_jZV?fs$M?p|5tAK${dc)vNA{)S*PI3BQv4tFyhpSgn$ zw0u=#a)alM=fTsv4Buy+2VZr4_6|Jr7~B;-*9Wy*KDW-{)}NUXV|TuO#QSHC$NBi6 zKvRcr2&{|gNOMW%n%Kw@TD>~CEs#%h=b`t=$&9s)#s9bJ>gtU51$3}WU3e$Je<;`p zwBv!?E%W!qS;x;7`q?55daeGm3;5k}`z$T!?>9*E4A#iJFt{$DL;L#NmFy$`Y`{-) ztnro4@`v|iplvMvzh&Ryj2kC$^nT{A`IY z8#Q|IUJ=kK{%jE2x%|?o-Oq{qWp@qP;EgBUy!-`yY+j2#%iJTUpS-xqRhqOP3hHJx(CJMXy*JCi-&6K z-<|3H;>@?R^-E^-Uz#~vzbyT3Y!yrS6-zZM4r)MaeE22)=+K`Gw3~wUfW9w}KDij{ zL|p94t%e^@NY9-?@uIu3>3V%2f6kFc{#PuKe=O@{lOg}?u0MFbGCa%9uRP1wGTrLY z`+`~;fd@VLbg`4o^t^c&dgk`A>(+q2wF!J7SIvG^WU5(qnt$~)Z;gJe&Uq_zKi$&wT%sOGPj|%;2m-q*Hc zckdNf2YlDq*I1z=zjHdiJv!(s|JjU>2I9uH%Yxei^4N#>M4*27if??E5yR#l4X7Vy zvwZ&ipnO@EcRkzelbG<&SZ@AVazoy-+Lj-5 zjWv6KePo;t@X5FNU4gq)1Hu0X<4xi}OD#IM# zznJ*ay$hf7ATIo1Z{v*bJ6G7lH~arG`^%o~WU^5k-@STH*t#r+wOgzjNBrW-Hgesc zZ;9U4hxvD9&Ytg1zuof)?e~O+zhnHIU9~pag!W&BmalgQZwuIH7Yb+qiiKhTWj>IY-TSQ9^#dF%h*WV|d6Y!O5JKO7oy7-MyH=IX-!zujhk z^b_rmgm$-e^P{0%RyRL3$r$YsSN=BVts6D6Q{9NCx#JE_$G+kWA+^i(D28zL+_dHt}v$WKTrC|81)^@+<8#5Vo`s^XypHi z74{ws9ed~g(lh$|li^?Xo`IJ?d}YVxG+tJR>WQao`Mg*W|1C83`7AzH z1?1TK*=_cIZkxTI-)8T>XKz`&U_8}H8eZ2>#fljb~Td(qJTQYMX`T4oPfWZoIH4t_awc=;~AbdCGJGVP0l z*#BzgYii?cUE zE{+6`3r+?f7L5Dz@t*A0#<#~1x}BRZ3yj5we}@8o{BCIY)wmtan0@Z*%0hoO`1GK8 z`Mq86k^lRH4R0Fw|6rH=f4GAGk9Nub$1C{Xu>(Ip)znV;k{`KtPd_Gja&T+#oZusZ z&ER8$*9G?nUlRO4@T0-c1b$CO&AcdRyv6NLVxOAvS+KR!yY)}Ax82=3%K4w6U3K@M zI~}<9zB4Fa>qHII|L&=ih+NbUy54C|T|&!`KiffnYxU1}N%t4Kqgb& z5?x0le?6d&p4KZ})yt;?;oYvzt8<=<3wO|YO=Mpih%boMiD@jx?07+7Jten@*?TRK z>FoN|b3Jv`?BVCLddd1^*oc&2*4aDF!f^?_!Y zFYX_$K19{xSxE0Am-ulc>*8?Ae$aP5Ykaac+Q7bLHn2zj#P7OkOvX>;zLRgyq?ZSL z5*P26d=lgOfxq{sc;WN8q3@#PiXr@9{yf7~`5yd>f-i^;-zTxnnS#m}1OBS7(nsMgHD9YixN&7Vxr@EOHk->F*B2iI3Im{EH)5-yL?hmdH$g$4;OM}`cFWv+6&L|(NQ%*dC$>OV=pp%3D zm|ERT&zHu9-PZSVXmxn7tyOI7K zfn5JeAWtU(HvPBcI3(xtp5Y^&nh)0YwXe$lNdNkYzWX0H+kboRIr6&y?=#1*7Q|S5 z?dvZJ(5Z=Up6KLTo7?p4*woszf6rj!i}SKN>U>`2^oi%VeriT{Q|97`t~R<;*rumX zj^y^<==+A?PlM;=AGrF({DFtN^Y=nk+~ z8ns|9_w=I`p9A@O=sqTpvt@d|KJu2Wf7yz4e;42~`cEI$$C%VE@n9d@^^I5e)x7n~ zr~c7Xe{kxLP5rg$`6oYQyeYo@Sa4hZ&aOWV{5@=+8N4-kPX3O(pAE#AY;n9jQ19mI z$XuMv*=DYp^TV9&R|aw*ju*z)?(50bs|U8BaSpG_%Tl^?K3|qGx}yPE>f?JuLr-IB z|C)ep#?5ojK;z^dvfp@p&@?Camf*rbLw|knq~K9mbO*hE9HK)k*$N*Xu$tZ8Esh87 z8Zlw#=|HYd1@4cpN`a{{KKJf1cXx;{`+NW3w?`)V+M5D;Zw=@mUmVHT-x!d6GC+ry z3}dw9mj*vReb+WJu1@{jUq0NBIFNHFkOMOGVzDRE#Qcgd>z9F@bDAtIoWk510i@Mdr}s0?u?qxFNvnYcZmw|@LoCL`E^?>Rx& z<)h;t3O!w|$>vA?#g|QNurGdOk;zZ-@GfTUWWYc6e}81=zeVoQv6;{AE3IpCOU5ca z^r5{t5U=Xm$XKh*eTLG#H`oliR+`pL{bKV*Any47?qsw4GzRsP-L;{0er4947^thY z^!(tD_XNIP9&|q`Uc}D3$lC(@&N^EwR}9!>-8rEfoNqR|x7c}EAhxXwwjK)ZpVq~C znOt#DLu8O8KI}GsW(1D&=T5N@`|43^^pMZbu5Wjy+$r0EfAjq;EpkpbU9IcJLoe3j zeAT!$z{i^dt#akys>RBdKdsR#hBY+vSRI}AD@R=W%n=LcQER+M8|Je3v20)d*sN~G z{iNkV^M8{$-D=i*@A05Dx0Z41Sk2l$7?9oEku9h89u<&ZzZ!SvWrSFd^JU|ELc@N# zHiP=mGdSi|yq%@y(7a>)CDVMQc|z9yYJwxDWNieRcX5pm^gk{T2WJdj&zQYy1AA!I zc4HzQhXePG_=~MNklWI`ujLZ${O)G2IN}i-Je4h1cJCW z(OuEJ(?##9dmR0<0(!Li&JX$MTzu98aUS=qp%FJU>_T&EK=0@mKKc#^Jtyjo56-3c zB6}wTbmZ}!yiu0CG*0v#3DDmjXvYKhuKe_zn%Ay3W~|{WjhNDUZPJV7p@1D@ z+#7E_S@=!{8vT0%vQGtMw{FO=KGN)@pX}Q!{{mVWN(S38^Y^znzTy?}wd+amT-n7-7J2Pyei+nZVoSPpGP6qsF zeCnrX;0GqL?D6maX;%ewpeKtRj}ORMc4p8ls|WSOXFWTrySAyPBY_$qd#rD3hl1M0 z1~laGg{h6jXy@oNeQOgP`gu;zW{o^No>y$)2Y+g_nDV{0km+7`*5s%%$!EuSzAw)F z%HXPH`L z%3QsWT_4Q1lg$UQ9__hc7d)+l+9U_n(_F9(#H}%|ee*cdS-YEe{`i@d^^<`{$KGI- z4(A>HD8J7cF&Sm&Yo>P|%G$iPx6`#b$!;y^#efd7#FLLl0{Tu5eed!)9e#GTcLw+| zr@JL$>+-nx8>**rJ=R2SO2;{)DhKCol%Lw##qx#!d+evQ5LgT4Gv zN19sQ8*BzXgUA6|@zD298Eb8f$5>xG#iKRHE^&WB(DOt8c6FHTg-z>BIM~2oKXbwux4zccfeXLzwAMX$EWwpO{FQXgpqS|^(bg5CT z@iTrn>=TpPvz@+qzUWSPm!2mzIi9DpnUjr&AI?B+@43=z>ZW%u+qOGX=;Xn9Q4eHz zck?&&$|pOliSuUQTwWX8GmVd>*VMDz(CvNi!l3otS|sluOm#KpXd~+y+0MFFIpVWS z&dZm`A=CLHN8fvcJ>;;lwpD)ZJe0lp8B{a&HSyo>9+>A=ELzh$@scm*es1D?^eh^$ z!X?9AhKqRl-jUu*gX2N(8ot^Se`k2y>ln{{LBje@V?6bDEn~HKGSJHNvW(I5^Y&qV z9*eEd0;_*MMwdFQ&Sjqm-6uB(eg2G}2ko(mo!XlMzN=?;%e$D8uWw%XgAOklPY6CJ z3Fr6t8IauVe0ps5KP2!O_fR0tbg%NMXAC9#&=+iY^vnh_)wFZ3@nc@&FU(r~_{)gX zl`|W!ivD?=vb4Bc?n>{z@-F&G3H0;R^Wn}QViq}2=RJSU`{96(@*+p-+C4><999;Z z%5qm}@(c2QbR^l@|L))&0Uh|{;?R;kw%R+qWKYiR9a*x+j^0V^b{CCv zHjH!rjPtc&zL_z9#O9u1d`-sgXX|3rcmLMLxS#EFF;$1lV(PptlS6)G($Dr=gZX)L zhpKI@_SOcu1$mWI{CZFe{oHgUW6wVMR7dhQmn$~g$t}Mg=JFq^-16&TE`OQ5a#*?y zSB^*C3qyATaoW%1?j7g;UXgMBjkEce&gQSpoc=$X4o-j0Fv{?ECCKfwf=dFeH969q z2%URP{@Ew5e=+@D(sdcD7wy~g@8RjuSo@aHkl*>MGQT(Th&%VYGURrDb4LHX%$?z* zF-Ct?`nes)Lt{v#EQg@%5-#6`gZRP)?vOelX zQ$6_pBEMggZc#5}s(Zb6F+IEJVAI#+_ogmNPp`fDVhooBrG3ftyIAI8{G80oH>YRE z4cWJTAkddqzR5uIi_`DzT#+#v_p9DrJ^HkF_`MxA))%#czCJ!`n!8J_Upe(h(v!z$ zv3qgky*2o);MuX^WdWPCf0{9x+FO}yLgU_f)kH&wbE#Lqc*;kHb@|a3{5P%-mEUzS zx8L6%^2{*5X6ieC>@>e|>TjBQ^@`pZbjHck*mpE|QgC$wcSri~P*7=T{Ve37^oJ~@ z8F!t});9ue)t$>%cyxeA+{HocEHp|Td|E_3x%yYT~G4^REUX}pnM>%Q2b zI~btd2sD1Plip_rT75>pN+16psywk+rni2HoA1f?rLTYNxh=@@LVxGtS9|T_A%_f~ z_1Ds$4mJX9q!s7R&kSSF?dD58Ul?oz+AV>()_BoZoe!to?AQpj+R4Yc-PO<5xV)e> zmivuB>)ysHowy@Wa_T-x_cI;CF|e2=)d)ly?bx?%K-kv(y>yeL-iRjq`PPG8yxA^3?jcH`;N* zY|nEIk2_%Gac^69SB&fYuz)yYYU&5A?~|ds2`0i%}1~YG%IX{bas2`h@R_ zB{b@3&Ug8ewYeoa%PFsExbOl#@RtvzO1<4frtJFV3R_C9V}8*RRES{v+`dNug3fpi<80p?8(djPrrS9S}#41e=xnTsHv{~_a$ro%-R2Lv7P(! z#qWlV&g{+88M`6lp6w@2YmXV${@S$m*kSES)7s;PwI@$&Hx6qbJgq%`SbNH}=KF%` z{g7$Rcg$V8Wm;ov*Pc49`R=xB8`GM*v}-4)HQzN@6EpW!?+^FXvawu~)6eVX#mk4W zHP6ndSv0*m(hesdY<}8g!$!un>(sP%a#%Y(tvzj6yLDRg{3-95Y3=l|cH6Xe>#+9p zY0YO@yzXxPs&#jWSR9yod*=4_X!ND?o@4I4N#E~^`VQakh_0OW=|gv9>b)13doR&n zGxcI+t}gUXp85}&`rD@dxl{kVsrQ```n#t71yldRssG5SzkBNc`qaN<>hGEQkC}RT zB<~dgo7m~kKQ=DyYd<^D`8@KH(3Rh_Ya`Ie6Tgi>Gaug{&AqQ}1e&?`#En2R7x#@o zGrug@2sCr~*a$T9D}s$cGlz{pGnTiFKr{Dlvk_=1mvgoILGelbI~x}Thl6{AU&}+s zx_1@6$+H@IW}rsPBQEorqp$U34E)vKIQ8xVbLU1+p1yVQlxgnFS>KrYr%k;xVO`DZ zOMm+`XQ%aNP5q5i|Cgzk?MDMm{@LPwx;+WFBmMLDKJeb2a4(+o>f9MI7iaazSL|c`0D~Z#vmR?12pO(rab6=+^yWX?73WZ{i5KS;M#x< z;2eQ>MYUO5e1@OX@{L@4jfwk$?P^vH`0VG7dURl2{lV$LS#)30b8*05a$4W$4+Zii z-kP3mmG{vZi?{fbX|FM5+u?vM*2&%ow2j68w{k+yW*|S}T|dbbC-Qr)GF;ds4__Iu z$DIRWeqA6QWd8H~jEM~KB;)GfKv4PUK%B@CPxYa(RV|XqHnpYkgP+#XoDAq-pYJ;H z9}3hp+4PDr8(uxlH`4QytWh^Uja)e~=NEqZ@yzv%Q|Fvvy?Im%}~5 zMxc?&r%^_EE2}cZ8Nar%`2SW7vh!e|-r3oDkURA3Z%xo6W~F&JYi3zZxO?i)*^JeP zdqeKnYRsmN>qB|08_UP4TCu;XPCTQ@oYx6?^38vCZv@)L;{RK9gl02PQ)|;Yp8KaU zAKXp%1#&8v>w)^XFR-TF8t~oOmn$@$SN8>I$k&fGOK)?HciC8e*{}B1(20PZ{>|3L z>cY$q2O59yG`8wV9b6aC&!5MKS3c+jvX2GgtF?~kJv7XZW^CeQc_4?6)s^AmUgAGL*(26sq@gdZxbTM^HxBFg z8o$!^-h4s!_$h80Kk@QW4Cz`A#CDX)_N#-^?9KRzfoF%tuI8IP%?~+WoBW_}{Ecgu z`r!jQGV1GzjJ012FL~x@UYa>Moj)a?)$Ywa%jf!=Gk->k=wy2BY(QT>6TW;}3(4aB zwEXDQS8I)&XNJgK%?53><$~#RJGu`I-A4L%1b)8zE5SStugULSWci%!-#YysM$ZDh zY|`_QUh&rC&)$=QXJv3l`o||AY6z{^^{lEVO>VtI)%PPA9}b!)u@=+KpyO*YzIIx- zr@mF+TK+FKhXU*LRqhoTi@~#F7hkOR?>#=6v3gQ(_}Ik0W&F zptnA$J2iVY12JX?UG^XQ|8jRH;F_LwefXI<0||n*#w3I)=FFT)GD}zzNGOZ&4l|Q5 zKv0&1ED*pGU;@hGLJca5#9gb#YO$>q_pMe-tF_eHR=cREwPLAz?V@e9Hnj_-+BX01 z=RMDNa_8YaXU;&ldR_nf$~X7^`+a}QeLv58<}3lll-AS?pb~h=qpo?_RG`1 z9pKVEY-gK({e<`J!H0sIf@1+)-SgbE=~*TFZ5dCRFVC>^HOkd~QLq+l1oT)_`^P!@ z?+xg`Bp7vxjrso>n8)p!-~}<Kzy{tQ!Lr)yxtg)gP(ch@}hGWrhUQ(!?-n%ne4y})_GZ90FG`FSsXr9-9+kgG1LZfT zTq4&P&c`!0u6gLJ-`_h%fA_p6cQ+e66D~_#yTsBucbzt_Vy%e1d(0jD;wY3`|M$TC z??B?Aykz@UJ#Joy888#mdiWO-X{mX@7}z9 z@|0YK%=N%J@%GtSJoX3pG{?okn7!KUny(l4uE*;@aC0!~>s@Yt&s%F;I?jJRhqzuF z@WFTvoi*#6qska_p!q{4yUUHO`vctQB;$^tJgt}G{Gi+u91i4~Ic3!InDoW*mOvia zcYVMIVm<12)kb6C=jhl7*gT6B?(pK0! z#>&`r zAB-_A7kYcYkb7tF#9$+kYxb~(zwEL0T~qTgfA*cOxDb1jgx;3&!x^3qLPa z4r}SNo&T+6YuA$JnY;+HWm%_M`b54oZ_V-9c+UPp`ady^lh?d`M%ws@&%S`}KI4ra z2x^ag+FNqB?%6BSFVZ|?|ET-oj00cY7{!fMbCX`Vd3$hg&^&hz@bs+i9p%n3Hul9~ z?6ZF}-~*h^8SB}j@7jQGak(p?^VtEN_4(P(-jlO-{%nw+bln(S7Tglhfg_zag?w{> zZ}G&7U7oY6c*#pLo!#|--}-few#AJ+a@GRHeK-0=Jo)5wFy~;r@zCBM^sZnN{z~sq z`Q5X{$5#dPH&=Qu{F#iI@7z{iY~2qRW?V6UeIPDm;xWG;=o`<|vGno8ja}n8yb7WbtO{BcLXH@I6z_Wfsf>%G7J%+zwe@wb0};7pLW8IZLWki|dZ%2(v_HGf_n zG*86SIkL|l#oG2qJIsyug)=Ch?5i9)?Jq~XaBTlkY2%aQb>?%J-(7EB9@~$feYJr+ zyzS!~cAN-C8NU!2wRM!$Jsmqg`z{OEzZtM|Z%{k6VT{+)(g*KA?g=@DpZ8|mm_qLz2@j`9?;9*a*1AT zI@rqJy&tYfTfX2}+v+>E02z;t0Bthv&*!b*h2~lIy5JjvpPbr%n3~M(@&}J&0bbUe zm{8e%k{@rtuWdD3-M4CZTR=|lTx%{3*m-`SPyPi{o1fd}-Y9Q5?<~+g)ec~tq(8CS{zozcJv{eM<0%y?fpnN)2rb8k;H!| z?$2CG-nxsL2WuG{ZQ$>ZhWnGVf6Uq1G3M>6d@#m#Sd|YSZ61i#>0l8khXUvFaBw8x z2f(9n_gJHNw*uVyOt?7hlff7#_rfAjwAt@I+z7mbKR2M;`LmzAbJ_o#tndCbm;1Nt z*EYJ8t>@I%z53Mje;{~&@U$%W{NOK73vqH^u~*$((LOMZ%MrF&Q#(i7-A(509b>OQ z{v5mgWSt7AuWnp-x~DfY&u-5o?-q2wJs_jwX)fjUUQ*9(GR7vhjn7P+jt0sP%-%Vy zx6kvt&+~EpUs|!gc3zh~^LUTX0vr~BvRM9qi`Q=b_`K}lgX&Z73)r$Z*c`aw%ob(4 z_1CXh@A>CFpWpeRdC+$6kk-9-^!fR8K%Zyt`c&)NFAv18cei{nH|C*O<891YQ zV}HXWOMLi++{U0>)a9t{{HzD%ASZAVo9#Hs(R1NM)`OKZ@?t$Gzvj%U_>4JJo7MFN z8@vm7rjL2Uett3EXW5uL&AHv&Yhpqc`^93rGlK(+XXX6#dsej9gSp+#3i*oMn%jo! z+%|sMF1FS?E9Vkl@>cnOE#t~6Ue4c~7aJc;UgYu5$fJ26p4SD<2l2tjx$WnqoXBOM}U%U6ilcv7f zoSMw50($6B_wHJs`ksGB12TU%|KQFa^pkB5|CNtekolT`4ft9ABYX0{6t;X;u-zP9 z1^d~`W;UE3kmWoZ$5Vg&9eFs3AD_xu1vlz(!`1ui$1;ls+u!`HW7l7?KV|DKh_YoAAToFNWWzruLcpcyL)juKrrk zoT}g1q`WNn+rjDJ3j;nWA3hv8myb192I6W>WxOrz&{%#S0$;hO*oW6k13Kq^7-jPJ z-oUw91nja`t}O!PwtyTtLZ7zxKl`-b642@QYHp@xzd81+FA8vWSCCDI+>^@(r~X4z z*H3byYjB_E+Ep1l5GZoL_f>vv&oUlkjQ(}T>>t1ON*DiqAYjv_!6kth@W=5$&du8$ zTVzhrx4-qZY2T88`p@%aJzx*}PX%=2YY%u+4jb8kdecHyy{Df2^Uq`M`d8 zB1gn)yL&BD%YEeYk^Sx#HT&wv&h5(>dE*^aURP&)GoX_l_VAxJpOjnoleH0C6TCEj zsm|Ne@7^*j5-@MRGuw$I7}{t|b4 z@Zt}1<1}nj%8|&Rf9>0iT?+mhxTStd8 zLpB>fZjjCA8v(x03CJdkA1b5uDp|ifeV-ctkFuVdzI<>_$i(Zq0H?O=ANv-8()q=* zx7DwH^|it6AyS*jTo1&74bKbeAF{O7;wxv_b}SG_>u(5*DTe~<4hKg9IVm^mXZEwn zJy0FB$(%NRFHeU~aur%r`~D^KZ1?Zs ztl>j(!5d%x~$#)**)chRsKYxLkE5`V^>sQ_P z>zUu2*4ayb_u;Ltp37mUv!vM9{MNQs%#Q|a@U=f9Gp*ka2@k*Z~AoK5Rj`J3amRE90}OUFWcEs znbwRt#(u{aS)=IlL2GtwMi77EI=2Hq@|<0~?5$q*RX*GF%~?y9wPGzs)@k#r&yR{R zarQjRpW3}|J@v?ak-k!{t#Q61GIrvO3t94Ke&*%JD&ITvhl6wRy%^!eq@L6ETQ4%F zlz(e>ylS!o&sDx}4y>|+eGir$Y%gDSjQx%;GOm<=Yj(VPvIC!0c96GSJlObP+0oo? zJjVWR?0C&&hyAPUAa6T65p^Coj>-4dPi-@G~g%Ig9;%DDrL(-XDmvH7w@~TO=ILn4nD8Tc%PdiA2!;L4<7b*&u3*1 z`$m0yX{~q}_Z(M@iyMB*>7eub(l(FBXRqKPMlTL73EbTm2llLz!G=}iWWPSLdnb&X z*E2^R|GXh<*jR4t-#_)o&jIAUF>BRtO1;YO_Gao#PFVXngZ%pWii}%(IB1?dIqg1& z@VP#4ZnXJIyU$%QFwf_3!&I-OHg3M-+RCAT&5H9N*LqfQk=Mqo6HjNl`p7Du%EiaJ zRXjSribvmz$id@Optuv-#$m6)l#QH}b36YzefQfHLH$D4 zdBI%neC#8U%g1xM^RaW4>v=HBocBk0{?6Fg_kJ_C|Kv>Gyg%;Wjl2^xdGr3c${X`D zq92g2`sX6=aMn9}@=U(o6v%mfXO1p>Jtxfb)&8J&g}cGHu|7-WyPQ54>na^MTgNv?gL0i+l6{LE+kJ^G}6z?+XjY0T|aKHrQCyvqX@uy2)r z)-rC7nE3q*k56rH$Go%PWK6NH?=fxjsrmN#LC(@^jNkde8aCcC!8?(k%eXA{@j(95 z<-P55v(P&t-{Hca&VbL>Z9gMzx)pQuniCIt{amfG5tu8Nr>2dIch3t0F|fbS0y4^d z)pMYBX4%r$&ggo8iH$A9W4^g#8h<{(k(|%pM$X~P9SQbK zz?I9;_H=l**g&V8@HBW?R}sy}K&?UGj) z2d4vad}fpn0wMA9@wM$n5hq>K^ig zx$F7pctG!bJzM$tXkh(Iv)*|kYhJrAs!Qw+2JE+AZqNcHLL{O~QE^wG-(;3u(iU-JQplB+FUD>%ovk#)Bn`&qrC!BWFM^$$`F~$Pu}; z5s10-t@d?~Uz^%@r~c!Bz4A~Vxm)a2%zrSDN9M`@)~PMWtZfeWj^z7GgZhz7XWO}y zyJ}~r=d^jMW}lkRx?jC7kSlV}nWy6k(>tZJP4{|WU2Xh8+MW;eSbu$BZV}Lf%MF1s zC3sd~EqNybwz2ti!2bsWyx6qex}K@Ct?PL?+q(Mf zY`W{?E5fZgFt@`R+|Ra#PrIf*T+0|V7xzzX{n2LmHSXc3-e+kp?=!KHSJu)c7VbVZ zKd%S;g8w2=#FSl%HS{-r@^-g6`>c>l^tYB@eYW%&(!5^J9KWsNGuL~4*5U5?_}GB` z#_X4$#^oIQ-D~WpyI;c``N%z31WNhgA>YYVdS1yn9gIGtv$F3@yL;6Nzv56C-Uq%g z0lGG|y^BD(Ef{S**IW=IkS|5;ai^5GJZD!ZoYD9HYA+kbuRL)QH~jgmv1-l#+Sb*c z^|Tv%c7nXUA{cF?3%W*Ky>ga3@_P@_FNTK$cijK${bHoZ@1E1+Y4^FZnYMiL-sybc zEBD%NjN z1h)qE)8$-PPySs2d!G=PlNXDCY;sQqWc4{Ne)Jq4#;x5L`sV3mTXT(U_H5 zy0qtK-W^7twWCe;(WkKKyk%?abMxFcd{^JF!`CwL#g9+KR=igEgr3c54gShKLGKy9 z;zRovfnuzBoVzOm{6=0rC)J;Pe0%WNKpbue#1wD(`D9fr@iw=LH=p6%vqu(QqpZ<~ zwTH}Ac8X*3%)aA6p^`gCf2RuMwdB01NX>A(DxMn6!%4-ESCS@;(uytlP{)< zc10WZDSnd=J|o#lAEUkzO#Nkz?1JzOtm%S9}URzw}aUJ!2oYQ z=9^=If+yL^_}nbo14Tsn#F!E#2ii z5DwyGuXx)({+@1n?Ty*XJ1W&feto*5x=#G%WNkTRQHp);fRXdb^sCQ3B8JwnTajyP z0h@4_pKKK4&A_}pjj=Yct$AVZPlTiK=4SJQ9EHyDjLF^Yz_wL$cVxV0qul78b9-6F zJ`gw~{Gon$a5PZ0p#o{&QcP$hzhU9?pe##$y5hnsYAXZ^y{J zBH*WUmAA+qrMl*FFVCDDdvw4?y2Oc1;wzul14WFjxg{{yeDWMK#|}QaHSpfSj-B#* zyU(Y6_c1R2 zGb@~tl~wK%X_?C24ruZbS8cJ^81;j^4S#i%dbC+*JZ){?33@Fb=Tp|Uvhhlg|nqKpxz96r)lrx19pq&B2a4IC26yN)bY^t z*@ut2+1hgQ*}LbX{xB~l^K(G%s&inyxw&n|*e2(d@ob2*Sk~T~(-ueT`RaIp&-i-? zY9n53sx7UrpT?c#V}UaF1G{bw>+<$M;C>nB-8JSFYu$}%y!niNd+Fl?zhlXL#Nh=A9Rm;5h#o0 z|F?9mrM($cfBnf`bM=q*MZpULb2yOiIe9$5mv7Dw*yNdgWxy}s`J%S(vcNiWy1(z^ z_Oh3qY$2Pi>dtL(+WMNdyRLTxdDgkR$j48+^7v@{`u45qd#2*B(;Z>WTAEotFpJcn^|Wx6Ru1HQ9TE(bxRn!UTVk&ke}?W4_`OCm#I0~^`Of7{t926S5s_8klM1dBl7 z3wd`oU)Td=%58Z~9-lhvOYwXl$LmCkNx-6uUWnoantM zI3BRI`<+kw_2vG>!GWOr- ztIuN3gx)iJ%bz{dxblgUj(39!(#FL&AFHcle4i0Z#XNu6 zBM(jl_>S){d}v+2##osnPy9xn>>!KG=Jm*v%-wS3i&1vEOFm?{+tgdOJ@D_dJ}cw) ziYxmR?^xFb@&_+|1Lv9_*unl)UlTFDDrYXuxOm_~X8q|iTA$(e`aV_bHiGueH$GiI z=YhLDO7nQTcSYmw5=ETkNcmJJ8|jp9Yk@uDRoP=)`KD*n8gO3Z78zoEC}7u4>u~A1 zG?$#nHb$m`=c=*uGCp6oYD}!>>*ix(Kdzbg%d?!ue(mEk_KtUy{JAPH$3Odn=KXee z5+3;3)3rSle7l>^CG;wIl0mQdi;H-#I>+?Nf$>a@?Ta!;-sq>Z-Pd<#y&^7r!v~8% zA%~5|+ulsOd6r{w=Ce&dV>*9iYy`b4_=-*D&QHx&eR)gwSAm7>IXZ$Y=*!1PG*RxlSu!FyP&+4C!bH;nwJFPRr&e|t#tL$Sd`|Kb6 zgzH8y`ZV1Sv)#V&jMpZYn8|6LsLW$%nd+A(X%@v^B+ zj+`0uN1spp-Vy8RB#$h%o(OO|8OWjQf-GHrZy)Y>$qjPEl&n?XlVZF-%Ohsxxt=!P z(bbrpPMe>^q+@Elo)I`(3VrtBDz`rr@P{$6htAuN_pv|`JGSC49`aaUxjtxKH&)gk z4c3CcI(+?wOnIa9jFhvz-w6rtm7|`2l9ho+U65}-w4>>Tp8Qr8Zn?>JovOR zY%PZ>Z`Io4(;oG9axc%E+*0syzWDnkf$Wf9z}E^{WA1FGFMfQijPo6EJCvx$b67mY?|F1>vUU+D^jjk?#)dk(g42Qhd?5!EybcBI+et>x@q;0w zI!F7ofq%q(5h!w__Ih{ZU%ANkj`JmZ`W{d}AIO-t^VjFR{qBj{s?Gn-rhL%G&-w7~ zV$2yK<7i;LzZ2Bw@Qc&On}4jO&*!~GpcpI9@+Z6c>Fa$!_PD-ryCdVb2I555cK5;N zv_>oy_d&<#QM|K|(RUXzJ6F4V=RG`gPTa+4Z=Heb@4*B1ab*DfDgzrzads zt<0RP_&#DxtgdcPla zzH!!n*{uKUS^v}0e?;W)|04rFct#+16nUZDv#USqJ2I2^@#*777LH>0AM$r`+Q<2y zq(92|v04AyXZ^34_1`+{zj4;TIsI~ww`^*@tIer#Qd^_$I&E-I@df`VY}dXscx^D+ za5y@}Y{cj@^3D&A2io?wjZfR;w~b%h;?p+1ZM!Gi#$Ov}YZUv$f#3gY{?_E!|DE*h z@BI5`{eO~vd3VhZWo)$juJrNm{2SAM#L&NOnrBOOt)+eWOwJ|g_biU`KW>}xKgl1i zTebcVwi*A8ZN}f1ap&yoqO|fpD}DE;SkCW)j`<_GYQE*AX7nLJl_}%!-vkxUkN8Z6syr^UpMK**@4et#r#A>)nCpt`Q9f+J%`e#!#;L@!EfAmU#jIA?=#kp z_SF7E(J|)grL+E{(#O*?WL)?0vvm(mANTpXKmK12l>bNRvuVEW_h##UD}6T4*ZuNr z-Or{kuGWpddvC_+sW1Op`g|a#)b*?Pe0}eP>h-A>WBse9`iZH@vj08#;mp&i$K0=; z@6OyKrnO@6t?7?({=D?%3fmg5y=i~_5HIfmH zOmw|3;2ZPi)K8yk_ddIv&HwPh`|WBxK5be@e%F0>)`>kikDF?8^cO+bEwXOR;k~o| zzsm==asJn5{eM2||7`l=av+(s1=CtFuom~m{{?CD|K8xhv~H2MHRIfW z|L9(3PNO>@th=00PX`>JWqXE*ER)r(e)eSF58IkNGr?0fS9-SI~Zia)`bia*kAm8(*{C_O-#=7?rE7rU-YsS0L z`a{8$f!M%L=lrKS}Aq?Y%C4w1nRFuTFoA(}n4i_1t02pWM4O z_QH&r+nna) zDNuXgQu{1hZsPbm6SvC!o%{gsDEFsl{kx}rWkke7KJ~ZmyU%{*4ViDg8e{8k|EH}n z`rjOM{LL93bvu$|h&vy6o{Zm$~y==wUC$1R# zKlvpql{v=k_cQL?SN9L5U!56#$XBL6KkvAFQO55~&35;|{(!&K9ryV_pI)`KmAxnJ z8zaLQh+Eg_<23f=kbZ4=d)heTa_uDN5oz1oHN7{RfB2a1J8$nd@9MvjZ+e}d^~IDM zeV_LE$9`WIQulr5Q>T9UZcP0nsc{tB*G%&5lkesJck&DQ%KJNp@fT#=+VMG`Jd)Perb~P-D!I#QpjRo`;CS1?+@@2%Wux!QP!Jh{a?);XRm$l3G8!L zzBS`G`FGB8wx-XN6KU&rZ|}fVFPiG=`Pr#IKa=az_}`f7AD!x}ruvCfef6w<^3?y~sqX&2IrS^& z_|!i+)z?q;sj0qhs-HL2&!6hP$8^5+b7t#bGWBnr>X%NncRGH1#Z>zoroTDWubS%D zO!a%F`WvSD8>jmFruuJ9^}DC~T~qy+ruti_`rT74H|hK8ss7rj?peKO>i^xT{<*3C z`KkWJsea#7|I?{%96SCC)A+AV^>0k|Z%y?tZ!`XHr}5qu-#_(#aH{|MtlqO{%O3t} z?mNSc@5g8U8R_${BG2C&JSF&shi`pv)o)~tVvlnpc6-u#Lh45Zj}Ej~;pjB(8Dqco zcsO_Zi$GZ{|G)LM2sw5raGn+Gt`6KWqa3+O4ta|}SuFp*vmE!r+O&>bXY2A{UvM}$ z5-=I)9&NrQeKxRFdne#8e?Jh!mCLp6nTG~A|LK7I3xe~5PYw_EYiiFuX^SE5*7BvopVljM@*CUfD>rw}c|kej$H$)-;ESiV@=k+4g10GAGKPU*ty5^Dzrj>YKx9Hzv6D?vTS^zgq6$eO2)6;N}3wHwE^| z!=82dz&16`bXrr}w9S)U|7w#j7uJGtE!nHq&h^nFPUBv-yC0lK?_GRbc_YWZ?>NiG z$$Dr&7Ct>Q&azx*!{}FBj!xs>HpIJjEi&hR7`f52$}U`-^KtFyU%K`OtNeWaY+rR) zPpc`R^sLv9^~3mkdd1Rw zZ8$ph|Ha_nxvZ{b?dVbf4O4Kjc%N_O} z4?K^)F?;dAasIcd8(Z_%Ume)<7qZ709`_tf|Dl01)qU3Y{B-X(WiOlOd!1W;*@?e> zj|s}({fo~xM;U5sOPiN z@7#%D&UxrKzju%E^1}PucA?9j@;#mQ$X9&WvligSrrQJYd3R)AkeXd;zNpRXX^WFm ze!JDfPI5K_dcJ)ZdgNH+Ew;F-y?@h7-s`7Y9yvGoecFoW6gzgZ`#W~QCn9!jch4fb z+54T7d_3m4zb|77`&Pw#7d`c!mUBM$dUD+TpC|Kmal4S_}Dr9 zS9zW_zwS)`U|?_PEd5Mw^%=8I`I+qFkMG_EZ|m8+$|vUdtNOOf=kJ;HxF?#|Y>_YP zLGzg&GM+fqwYPTJe>gZ2u%AzR$Khc;f3od+qm%vh?W@vW59qR&F8Kjh1SN`neUXh1o%3hodd8j{@cWIy8-gznz9sm9 z;3orq{%hecu07+MX^TUKm!^D; zJ#8`+I?JhfG3V3wj2}J=A2$9-)>K~gZBUd_UG!LE{*Hi6`vP1?o9d67GtM7>BeEO! zoosSW$UmDNXJsv*hy3?U@>4DKc&^lj^|WzRP6TuLugchH2VeZnUHHPedG;i4l|RV& zTf306ldWX@=q_Z)OL8^>rFM3_xk}!TorApYJDhz-0zP+VJ4Z56E_#Q4THwxneL%&^n9FbHoP2%%J|Q3fPPjJDTbt*H^?*%l!Q2n^b8WWeWq^T`3Z^Uqsv%b0zK0{kmWn=JfC zf4?YwTz?{5`5oBz@?br%*52!<_UPYNXKZ7d$4zcjKRs6kM+5tRet2hghU~M3E$rLM z|4&(d=EE5$_xGEEuMB=D_{YHqg8ven7b6b_PYGTeyejyT;G2UV2;LuD62+GVR|ltp z+k(4-FAu&c_^v>~fz3As^!~m0f^Ye{z7T7^z*XrUyzTkPv+Ut}^45axZEpYl>}^h~ zS-K%C^{v!}N8uL#xyxuS>(U-R?TfwRzD6~}VH{~t^o%+GV6^5`Xx z-s`4z^&U*$x`aHytnNyAjox`i+qx|PjYqpdBQ|BmuJO8nx_P!$R^?)5p z{kI!?fBGExkU!dcHh=!3UC8H4eqH6WRr&YgtQGrz9NF?N)dQaOFHe6xkbg@3aW*~k z-1;Yz{N3c%DEpPsc`y(U+}z>+G>zuYm{((b${qqlk z&e7+;@F2>QZx;q@foG$f5@(-1`;6AVF>uCyF}g2E?G9Iaj+pNmJ1=dezM1=M9^d+y zZs)USLL6&zn#((e&f|f4>p8pi`%c*abm4CeuK#S}iX*P+K7gyWN}rK*;^T3Ozj0$~ zHjc5yflfZE&e2c5bQV9cRryGD+sjTmZwlD^&!e;Q8k2(=r>oEV6KRioe)%kWYU5h= z&G){4vN6?;_w799jjJ>LE7{zbm$Mis^qKSAdd}3g<`n_E_62m09P5+j>%Z6~NAWHX z`kD)Ao_R-TE|2^_umgWwDwDi%-@p6__x?%;XF*S~fSdq=*9v-e2gT=2E~ zLQY*j)nf93z_Y6U@B8?#N9P3@Pj#lY-u<#3oEMNw*29AFz5I^!H-etW&b=*TdjdB4 z9*eFaLrz#n$7cp&*7e4251Ko4kG9c+fAx^>-6b3Z2rbJ ze(>2~J;0@Y;Hz>V^A!ObmD)n)Z)PF;YA;#V;bshHdF@WPYO1@RTwjM>5BN-e{MHWg zo<*KS&AkiLKNQgYucLd6rL|WC>@fdt&NBaR zSIqOvn5&J$oHrkpHyi2uce|AL)T}+5yu(>jKal;qGubz0tXv!C(HA~9npf)Yh*;)t z^X+*0V(`2`&i`H(%;QbZdeC_P`>es8E_=)4(zK29ea{8o`Fhekhi}UGdeF1+A9j#Q z51H2mIY*lj#cWi35_5IysFjJo8-f6AIM9_H!c2R`dubAbP@2+j)*2hFjbwXM^( zmD}Y1VdRf?ydY!bH{R?#9`LPr=f@#FEZ#57_+!_nKX1dM zXVt!E2mE$#)`}mDa&adY=lNYT+QV<;v5UO_5_x01J$KfFG2Xb2e!3}rep1STon(Go zu=S3;_5Ck&T^ZoOk86Q-#&N;nkHSGNq&kxm=0`5+p80IRxA`%SGygvN8R^%jWbo;K zO@oi{s;qLRzjMtQKEsin<%rvVo4A?pnJ6!QQBDMvS8mmHa+te1ZTUHm55E6BdPX1L zkTEiv1D&hC>B*0IoOy@A!5a3=bME;WtAFNagU!~9HyM2O%z*9xBb>(Ecy7kl18bFX zv7eo49LR7k@UJiL&x@_E@n4v^CkO71HwS$1!CB1cs~?Z2J^I+cFV>ftTIN)?FJpL7 zYI zE^Pc?kz4M3GWTug=5}plt-@#9tr3S+w)2xX@CV@W$CG{5^EKa=&wASX0%g?aUGWnh zwv~6)bvR?a-!C;E$jj>kxkl!v1$6#Nl#O|ODr4(`_0E?)j|h6k>~*Kq_WA_p>I$8u zP1e@7|D6T3i9U0qE;;^xvSvId=IJ5VIJs>19w4{!BdQfwL z;6TpE!yY_*W92FyYnkJZ^McOTetgD%Lpz-Q*<#?|@x(w-#u(7C9*BWb9ig?-$Hy{G z&YsAb`*@Vaw!K+X?rb-|laKQwwIAl=XJ^lPu#=D1CY$Qx@~DsZZNuYiKF+V7IP>q6 zb04#d&rSqvdrH7B51qI)@8rU|@t`@5*O=qaOP^nq`k(ycLBvhZ@rNyQYk&HW58NA@ z!99W8b0@IJ9(w<#;&SZ$|d68)z$I9AB zTcN*m<1^j9^LM$A%<*32a(x>tBW2WdzBwn z`TSW~%jX}r3!mHXu3HP}lrQu>ZfaNOdis1nt{1zmr?0stR_lTFivB9!n4^<^@lxLu zTomxzBf{TVl2h~ecDz2@lQm>?oDIIFBMuR>ES+n7jF0Du&PQf&JQHMY1UtQV<;UN5 z_1?wSg8{#s7mT|3b$*ud;n$B3C%&zJkEOjHILpf00`}W4CTceDnR^TWwSX;b-g+P3 zI>%S0Z_ORSTZ69)aM|u0e?kOYkooyJo^xVrV_tq@((eOH^UPUqj#=Ne#_+Ab=);R{ zwvca)uP@+gE%4W$nmDqxT&*of&qig;%jzBPidFg+**Dksr+2AOZ00^0^@;ZIG+U3AM&j{87@w1N)?33R(;qvIoCVTBE4}0+V zGu!Z3%N!q_7nEmpcRpl@F1eFmn@&vf#P*V@ji2{M zz7ZFB&o}G4lus6p<(B3dztAlf`y*?oSd8a)@3dcj@Vh*~(X*!<ple6}*0Utd#`0U`V!MlTh5d3QJ`@#PX_-$k6H~Q*- z`O+8{gICP5si?UA7B3{6*IIoWcL{bJ*Ljy~s(0eK@Q-BYY?xS46(E zk?PD@5wCe%-=GLH68-8QPUChd&0kJS@7MCAKJ| zPu+cM(-_{53;3Zq-}824;^hqSwRe5%>tp9fxjt~_>q~2%5zO_A+tJ7z*Nu6-Q>^gs zzE!chau>0(&(~tMi@MZx*QISMCt@DpZ~E$QcJRaFCf|w=-^%^bxBRJ`2x_>QNdVKVa_t)}np4Pf6`F?zsx~Db*bMm5dz32F{Uq_N_hl3-5_2WHS z9_HEogc%R#XFb4q6%Y6I*?2V9=RC-}DUi3?xU90HpE>R4m#f0D>-f-fSuU@V|B{T$ ze(|~}I1sRjoU3PY9-pz=vK^NX4DX}mjKk#t|2;7>dCrFsxAMKtoY;Ippy=blS9m-*8^?DE zJnBa>#qZCi!OwKrYfX8O*E#W)AN;@SnPm^1Pl-HdeSYT2T@Uy`IT=(o+kIbxymJ1} z<=yV7yX5b_uU+C*-NtKInoC~J65G``1#+IRo)%qme^zG4t7lKvlhN_oNLR!xOXteL zI6Y6_rA=i1;&hh8Wz5f>D>){1jqjCd%Yl8td4VDphXR}xyxSjTj&~j(%9qCk;{Ivj zJm$Q8>p|naeNKPEG8Q;JGkAXRir@{wTZ69+zAgBN!M_gvB)BL<9~rBSM{9v~_V#XiX7pW<{=)+`znh=iTis+^N0)U+0=Di8$Y8@_ z2OH)*{d`9A)!t*f*o(t2W#3L5p0x`(a)_*7nQ=IN4tsm|^Bevr&S7t#VcmOj7klxw zZ#&yFy^OI~tctra`F&koPBQs&C9W=d5#h^=k%nD`H(9pOp5Pf9vVn zO9s7i2(RlWUd}mw?yQkl&-nEjmvhx`4Q_I&dHC$J_|v+hf%3up{IdZZ@;a zzf;xzBk9lc{nR<=`PCit_&m0qo~T{=laHPgeWTrnGqzzt%1-eTkM3jF_}R(cFM?=h-QK3t`<`90U^Ou0)u8~BP1e(>M8wdIL+{Z?B(ec1Q5 z%_GZs!jFT$&A^5aX{`12Du~GQ9f?nU!ONtFWklc(Kmcv zJ^b`z@#}Uu(l}Hn|Kt3kK_^>$&22rXFWA`Fj=IEfl`i~F1Z2NBvgrk~A06=FT7XCA zM!9UTM!6}FkDlu{4zjv_l$j+TCKDHa>G^tb+Qv2m9N4ysgY|5i=M^3|g-88C|DytY z$zA0uYoKe6r``Rv1INEL*w!B#kw5k*_N1?ZF$L)#&Eamn`3L)OFxM5%VHZHpAz7+9^j*#2s&5W=I>l1cm7qn zmY>+kr(_=u=+B=`IP*R%|M_6Fi5$T1_V6PI$fytI_m}na+_C@V=diy%dBr*Gq2rb3 zu$~R}d}j9W3-B?!}0@W=0UkxB1-uk&U8vv!z2 zo9xftVK3RQ-(mi2vfr@7Ub5e~!~EG~ziEfPWPi>M^JkO&xjXD7`}1~~Kb!2&-(fG= zZ{A`4Y_k8{4tvS|f*t1PvbUba=Pl2z=dF9_$-%MUxxtNrd_5k>`@150p5M-x{2tf6 z+jm$uj|mRF@86Mq{4&~A`^V=c8=?EYl8i z+8$%?${K!X|4Y;7Lw_HgPs!_k>pwW#|GL@!nXjEj># zKYdC1m8buv^t)dFW$BY4hTZeLX{`RT?wX9@k0W{AqkhEHFHic*OYL)~`l6}!8C~Cd zl-eDx_H`Mxv!>oZ)d#2A{b<~IP(L=16ORjgUi$Uq#3$u%V;v3te7;D1D1YDVynK_x zGlEmW`+|?p-;}#E_@3bRg6HQSCO4%YKU z=BEWW1z!++W5D8LKtUvvXMd!XFb7MYz)6^Fqd2uXI`2L2#-mlDt7pH#q z8}q*u_ZA@V*j1N>xX&ybtJ%_T=(^7PJQi9pW5z7 zu{j>pht7s^XKWnjJKSy$?(yRW^3H_c@( z-mQ`1Y+6e%xtmk%j8y*9(x!Kmqs>2yK&gEDwfRNqnXasZ87u#{rcLjyfx;#>bnRtn zzae1za{@Y#2lw0g$mJe9>>Y9O(C6cE?#b!%8@tJVOMu5!fql0Hiaq6G-TvToa93cx z_$wy^u`#cV_e5`y?kV>{^$2mrf1sa!y5DR zoZC%|zCHVt(I<3^k9dlY!cJcYQybsP$44%I7rr=s#RR-=30^*oy>@6@Cl=)J7c2s0 zvHbtmbNW=;wcRiueRe=Le)|G4+#_m!^>?)N4@~{$Li4izU~6*&_wuumQZU;e-qBjpG-m&A;xi@yvI=v3=r-`P%Z7%+)@!o!RCzZX@K#*k9GolI49t zmi1#i`I9a5$pt>y44MaNo_P+8F`$Q!9vbjReXvMdad({xw)3C!I?7v1f9|6fW=yGH z#MB=Cl_T_aPyH^w9q+!UWUO4hW0tGj=)Qw#E9ORj^UVnU8~dx;S+bO44&R#toF5)+ z1~@w#{BuW8ziZd;)?X0Jb7-`wIl|ZTn2zyj46ZG6sC*-(B$R*u3`r$^0luvHbs*%(idKn0>X+ z60++HpC>oMYXq4u4ZbAk`1cL%f1kEeIXJPMe{k{+Uf##j7Vk#|<}V2N-g-GohCMz5 zHJ{YRx;}0?^L`-~8-e@~2Wy-ozV2OMFIVF+^5VntGPfBR8~tf~5h#o0|3BQHYZ z@S(5VAD#B)0nW-jL47Z`e#T(Ri9ih4-`I<(VhncTFGia|bIJ4asp;dg7L5F^NS_Wo z_6B%-&#eC)=_}5DZD9lXxZEDx8_2~=0(s8o{M(#oQ=eP)uX^+^d5b_{8~`Ci?r>RJ1+}95a7Z&Bg(+R*4x`7u=E$F#1R57dx^a~& z?ChOld=V&%<^MlCMyvd`H*4h&d*uSX#{&Mti;wKvE;sqzeEG`h`pX;{u${lyd??`a z!@-fjKIOH67<@`((jjlsT>6MFw5@GE^M$+lia^}wbMBnZdCpeub!p>ZeL3(8khec* zF5tm8eD#(95BHO`9q)Pi{EUsybMuu`A7$uFuDm2|ce^|WF;U~tu~qd8Gq2!Of3tPN zV2b#5Tpaj-?-Y9;9^4YpcU~aY#{*nF@8siw;QD}HZw;KAi-T(e_c`0{3iv}V@FlrN z1LeD>e}8cPtR;^O{#5P>dj3wQjSJqV0>A&@ z*i6Uhqpp+BkItOugLU$R&clIR-8-Rq!e+j_B(M&j#@t#ySbH|BU{lI^)mBU+KzhmeAU^Bp* z9&3&V?+g_FF~$$<#c_V;H9le~ZptW+PuXI>+z>1M>Y|Sy*w=Y^tk7G(uo+)#YX=)( zE!YgI_l}`mA6Uaida7$9ZF$vqn#w<(vHSHr@=R_w$LF;e&c`ye^d(MwG~PAzv+XT` zGkJc%CwB*mHvjCjx96GtqipB4XOC<)k;f)_#X;M6eVgWzk1>1Lqnrrz#e?tk$;a0@ zAV;74kwec!*ItwPuZlyjP0g>1K)Ed_hqbhEt55jMzOT*(y7tp$AHAJ-hmb=jIrP%QSBpTYZ;f@IbH5Sr#ooZ4 z(LeO;)bE}wTb?g|aTZPmdxEXA@W_Y!sVp3U!%KtL1s(s(L))1BVk$5AgTKU9+ZdET zyE|?j9tVQ@gZ~t3@Z*c|Ts5wIued9;`Q>ar5Eu7+xzR!ImhF3&?X_uaTt^2R>-#j% z__}wMIJ)B-YvbB%Gj}W?Ta4s6Sw9h>?0;vV{7CwnsVlSobSLZ&7D4y^P}b(ZrQhX< zXPEWYvFROw{JJ<$sv{}7%%AI0S1x_^;iIN`b8^43#b6`An?1_$p!4jcdvCDa-Z4MF zIOOx+17wg(2LAGCjJq-V?vK|am(O6&;q4%I=W`ia%9+cuw!pvbo$Aq^YY9%NT)w|- zIkII7-o~2W?9*?~uBFYl2Lq*Y#72(DE%9|;mBwu3Fqg%SRr6v*ms}X<#bfNBpMmi{ zrXO!-u(>(LgKdX``b@uV^@US^T;p#3nh4=PvKE2jPFMH=*Np%_K1-@E&yqPg(;SpL z@^CHaSu|!pyNqwQr?U4=>+EqRx<@XWBd^{Z(yxuMg5Hw4xw<%GBRT5n97FUa6KXPW=?`GO56f_DZ=bBI64a`%&QGVttE_YS7poON=I zujn8H$TesDqJX|@gRhNJ{5>BJ1m!Ltj|PhG$-(iufXpWZvaw>CT@V|=bS8w-sT_VWe3<9K6J+q*8y z9=7$@W$ePBa;#qu$Rmpn zaMo9ogF9Y(0sj*&qogWP2khWG`5|BU zfIK!-zcpZff510#y6yThLl4O5gXwQ~N7sk+&?gW06G!i3d?q%=`Hj7D!x%0{13vnh zeD=owgTW$Dx{oai`R50ow~wFN4^KUwmG$)L?3i~Jd)Qd6_{k^Z%88))M5nwXgMUs3 zy^DJGWSKjg-am{|~%7VX(RypI(`^%q=V7}MB(PrF1e95(sZuYdkI_>p<&5Hnk^ZeC2o$X|he>$Moxpl_y zu%4~>o(lE`hXOuP?g`j= zlO<;MDPzp+kt5E)80SZ)FUIa~cg5#r(PgQ{(|y2?_Tnfv$!0S-){HU#w)97c$&bv& z=6x}u4~H8Ab~j#R%K>)*d+F_SXXI@Uzct2VEjJc{(($X)-Uxc;$RfM`Wpkg2?7l0Y z_f-MDFAC_yk4$axlUw8(GuOSft2~YG#;z>;Fdy^j9FLog&HJn3%E$7hT*uhnoN@ME zIIQ7EYt>@E2$YUpo%Sl9I%9i-&A^?eT|eV6&traD3(7&hjj=wIK0hk=Y*oveE!~5o zd~yzpRs1f`JXvIlIgV|ox%54L`vdWn2j=M-&#;`}tLn7pXuwv#AF;9S8E4~(Kwc}o z>+2W$t_^T%4mIz~k&hHUC>Q&{+RvQY$5Ydb58m$&A2N;0BfdH?)j08&abwnzwFvCB z2lv+IE(!Jq+MY2=b@JN<0Uz_7HR8D$@S`)^oRB9^nDwtrzp~k&UEQt8+oWa{wRmvV7_L~iNE&;W4!xpzb4}&_-yR2 zYC9v33iwZs;lP&h`QCTV8#69;;wq=cyGfsI;@I=T#%lwz*(KM=5aWx2acnJp<(^$tLwYADu^c;by?MVxW`*ollQV>fK^3Yn?UvoiBFT z+uZ0FACA7C_jif~d*rCx6j%BdfpS4WAKC5(=S=MIXb##x&q2QUzX=FmnE!-e5h!Gq zUuDv}5$p|)2lcUaqyN^^e{yhl@b2KB2LCSj&gg>s(*Bgx*92c5DC7R`%~O=TLiX~D8s0wD?XRk@$@;HLAoxl=7J=ff%=QmE1I-b!);=-S9bZ-RCt02a zuS=tH8~@ugesAE6u*tkU_Ka|@_6O$F%BndzcWEF-?hm|hREsSRt;t*u_61^lGLQ>u zYvfvMYYzt2UKEgH4_p3hh>o_cr>`^~Pe{Mu7dg=WcD4OuuHk`O>nEmNKGkjgn3Io5 ze+1oQe^ndx6M?m@$kQt{r^j8kNAnHPwzNBw%0Nz2kYvxXcwjZ6g`17m0`qP1X)cb|^CiXTL#{2HZjJtE>e*H`Ch~5d~Slbs(YsIMN z=XBa*|1+k!6RGK=-&$PdH*Wa0zB=vthWrPU+p)+Sxp@Z>i}5Vde;{BZ&gSY@ZGPoz zd@r2(-l=dtFSsO7>QCb%*gE#-ZF)BYahX30#A1ZCV}DgUOP2hdU;M~sgSCr5@m%mO z=-Ip;@QHc)|7{YG{+ageEkA3`Ezl?qS zjt8yH$$56j70+e9z=4hYrMAX=YjmX>NBOSEciGI>#Nij&J0E@$szDvj`M+ZU%<}_9!QUa>HYPU=RPU8sECl z_CDlGGf&^k1KjyeZm~z6DaP2|J=WtUzsLLco73MLj52UgDnndxc0Qb=gHxYQvdCup zJA=y7R^-&EPrg~hc6#QrH!{X{_eJB3H#_IHkPGJM-<;aVQ}ac2cU}y}_4b&lAXjc)9N5dRWa2U3 zL(i%`<~bc<8gEKInNC zr-K2R{66=&eU<4R(!}xxJbDur)xsJCsKYpDL*XIUw$W#8u-Fk7E%ey{f zc)V_!>(6T#w|Don6{?UcZ2@9(Qi*LZKV>YwkAHE28$P8(~GpK4L>j`|l_)rp!p8~n~d zdnsTOZ`$>PZXv7A`TISAxcEcg=#P8!{-ClwU%fA8PkZ^GTgW|-v2`|EbM3tW?CA08 z{%oY@J73-xXpPBR|J8wgy>=mxL;bbjO@SDlVY_uwo9%C9+qriIc-Rf(NMB#u^I2VP z1oioejJ5hK&yOuZ<`ePhRLj&Mv%Dp}D${88GI@$`R!2X@e(pTB~WewJvh_xVg2}h>@86mmlhly z#ua;HfQ&fxYH8%_$1@*w|D(*+kl1jprpEo>vW)4leg7>+{IhM7N3o^|MF6nlLz3pHwJI}8g`ue3DUCxv7>yG2;Hv_y} z3&dGYYv)|n_)kU*+O1^1F#GPNIzO_M?Oo*e=LGawqetD;R`>XFBVg0M7{yM0)O9*@ zx~%&?Sbb+R#*NsmkLO3Z+8y<<*Yj7GI(*La-TRBfzJ11YkG04LZ`)Xt>zQjeg0c2m zi)w+9`k*|FR$9?0uzw`ZD#VudtN1pJ=ujXFv zkx-Y|`id=Vd)T-pOwT?D4UAtIzHE z$Ch*Cy({*{_fFi~f!Gh*tB>P3emW;!Td5-IW_(Yu8_=;6$dz8q zzWs8n2aZO&&iC#xzO>WOC930w<>0S)bAHEu3v}s{Ega${-2rYmsfZFTJW*J=akQe#{=IR z*yo40;>!ZQH)m%v-VB`if1Yhzplm=b`9kPVLbGkazxSVp=7G|K`_QYp!?p{V`_FhI#ip z|Ksbg-hUwSt)15Jn0NkuBxlC8Rbw_Iwy^oGK_~z5CRZJc>ycnP;N!36ARi8^QFn0! z`{R7oxcV+cws{-Je4z*b^WRJQ{;Z8})ytV{-gxV844hY|d~QD3@m7to{ejG#@tNw3 z`tW|OI$q zx18^E;>GVB91FGre%~(EFNw@Efq3!H4>9ZM8~?2Ra^`CD>z8}4<3CALeW0Jll(U zuWh|LdelZ58}38by(gM=JRjzZe8HT9`Fxbwi#*>#&En7GT3`I}nbQ5&T6=uQA5O)> z_r8&SP4zjMZw2hJT_4!157s_q$XV-Pp7Rf;4(2h==VKi_veYT2OTj&X#$RjvwdU@0 zjsMo_>;IC?aZfEdTOa54=RVu_{dSb&BhJPBn__6>;rz^=I&g3Kbv@8?*+J*qbbmy4RC-X_nK~ba(DUC&q?>0 ze`KBr@IwZ7>w$J7zz2Qp$J|;s|9t_jp>@mO5&RkFtH#w~ulKayLr-N5$nX`{?w1%e zvB{CMI5``L2aocE!|^+%c;IZHoqYdPwV1(#&WR{u+>`S`#dK37t4Ha&JUmHsyv^{Q#pP#YjYmzqx_6M z`~2pkdh>b4N4b;dmjbzbQ-E9ha?JL%;QtBa(dX53L32`F{(Px9a}FOGIWf2&@P-RcgC{YW5Rw~`|xw$BUriVys@{(W~9=Lo)x^Ht-BEcD>O zdrJndV}09`Q=B!Y-bY-rkF#EwpzdI31h`*aN<}n;O5xI$wJ+YwV5r6Ymsg-dehx z1$CAGtJhznueyBKc_{F<*9Wzx;e5=q-|wMcf2WA(LXZ37EZuC&^^~43d~B@z#2Jop zi2IJ~pPJkWw4Y5p^zyae+wkAF>`ODYufJ39v9aTqzt*agA9U*P6my+?RYP|NYC~O` z8-H8Ct~i}@N9}3G^EZ7yr&~?XA+K8Rk^0+OtlXI{HK{drZ=BfmcZ!I6WF7_ z`o!Ukp0D=@+krLke*5p7tjT+2_4Llq$nmPP?3UNsCih5C8*~*oF>Z~swG+^DF8<)a z`)wTutp%UT`Wf zrt77^T|K^>Ur(={IOuNf^H=M>`!m;7j_Zf-fhPmG(`rktXw`)Wjjy}Gs`HO!{SPIe zbLqu31zPXjg^X+evodyP9tw^G-z$C zO3s>7WBcvZk~dF}3q9R>{^4>XAk$j1E{4X`9I~Z}_xWHyP_Jrl3bbkQ^We|GwlW^& z$acRyzQ}dnp8bx?^Sl<_S@}>y;#X6Az7&XyUZ3G>fjzQ(elc*y+&X#Rneb!Y8o=RZ zU{8#rJ$6>f(u=?9eL7=ne0eTlzd5jGF0b=7b1|`7{^f{XpMg`LiBCSoNY4~#)8gmH ze@=`(dyh5)IZ*rjR6Cma^~LBQ9`}u{dxB#@<>i!ZZxVmY9iQmNlX?*k|D7|&(RSc$ z&y?@-m92#=pUQ!Ad^r^uYdudtn~g)hoaIAh^d|$k9{1~?-rhq2ePo<}Z}4*gj?J$G zT7Ug=So~_tnOku{51F}-?4J(K1oEbhImQA0Mj3Man*yye#(by^b%m?_0Jmx!SDH8H zFgg0_%dPZ{a`f&5ns<+GeBB$!#d@Hz%XfO+|E&OjYUVJ1M!yg9$9*pkY_h>0as1D> z@P}Q#KNG0)BSHOe5Af&iSo@1nrsnyKTmC;8Xx^`Lfx2QF-)fY;)^a)U#%XMeo&4M; z-L*-FT4lR+peDrDbH2~<)w?lY8};`+ShdzV#slBnlQ#$3!8{gq%Lj7fcS+ngr(>?w zbmLWz@>QMU7}vz1i9-!(*2t6-YwU;vb^?0-?2v1DCBsiLeUr#q`;HZ|z3bvDkA1Un zH(#T-aX91s#DUgzHDO)NJQmyt(R8V0y7_5LxBRXL{N`_Cz~55=zs2bs+m{0CYUF4j zht}v9C)sxdorhwe;Wb6>DmlNU22Iga>oMtVU?^JsH}Z*Y>sxvfB*g7?1_hD z{XqUs4-Rog-gxBET6K@Ur~^9Kqwg>uYgayAAIx?8%o<~1kDdDWzL|gYt%|cgj=u15 zEszuSq;6q9XuTSr5BR24&OSSOcS$eTj|Tpm-R4%0WBsvZPnYj>V)(S+!}&Wm&a=H6 zjAM1>&3-6g&zoi6_hr2`^`mzetg$!WGY8!1tEcPy@$0zyUH|a*TZg|B#2@yq2B(7h zL63XA>ep)cxf0aJxtzOOKgek}g44m7z&^;m&nRQ>h+4##9*^{TM}4O7kvy)+%lp~j zWH4VN>--dG;_}X@3*)swoMhOiUp~mxM>^fX#wM4W!T6STO%3sR)o173S?BM27X87$ z-7FU$4YYCnx5P1a>!-7t&!g*$QT8LlPxos*W4gt0DX6dS$oS-P-9AqFh`*-;tvrwR z)yDBaesSbJ{bCdtk2>mCb>PH3@o$*p5ifMC2Xy=ogN~Oo*Kj-9`RT}rU0gc>n_^Pm z;u~Yz%3NG(j4x_je4D|AfIoce9o^2@opVRTNT&CN?)pwIJ8F(z^WF>j-4FCv0!>Yi zG5lbh;@6y0ev-3?kB=9ECADy@q2QK-& zsz$7jzP&$Z$NAS~&KCP*)uOw{w%jyFW6bW;hXQu%b7MS`H5|MVWoyvgJNEY2Il6@S-WF)=t4%TLZ&lYg zp4YWHa)zFHZOa*(a)gK0H||>BI~lJBe|`Axn&x%x++lT&W4ZfZ1NJ)qM;YT+TsYvv zs<%+RICC*zho8Nx=D6An)Qzzi#Uy5Pb=4Tnj|KM!&NR35vC(^+;bQ;!^n7xTj->5S z88vctDZ?+iP6zh}-h}4)WX5y>z5J%v`PT<~0iUNp^BqqUck?Kxa@`!!U*DS>@rZ9f zcrj=UI3L&Lh7aua4%gS#2c4}WJ-%+&pN-6kz#YN2*jk(QRXltj>vq1!_QL^=v|q{h z5dNwca9*!Y=rN}k<~iW=Jwg3Y19-I#c;`0Klu&vO22&huy7Q-i)wh-Y4Fr?Yk@5D)MLC+dk# z@$D}AgZKLli+_)djo&%LLYl@+%H`csbB;xEHA3-kav8eb1CH zG4Rv(x5m=DiZ>itUkgqJY-{{1e|%9l_%_DHwculcJM7MA{1l@+vip3{_pSbxTd}Z9 z{$jwkdt-hn;A3$%;}d~1&g0;)9FhUP*0#AbZ18J6kYBpQ#ouvW{#Tvn<1@jJhcLQ! z1LyVhwLats?|OL4Fz(vCr@Q&%&;0?8a6AP#w4b!yyuy|*q{G5JSR~Ga^zK9(brty{+{5?!S&#WgP#t5Ir!Bi5k52U|6B3Jf#2WMUJBIIFJ;ajKL7KK z*&KZt>#u+BnoYc1Sjws^ez*SAW@T2@*Uv9~Xbk^t=HN`nx9cPNah%}gTJW(z-QF8K z9?bt6M)y#wZ)Y>!44m;kaBtNfnFj)SbMM8k_R53!aX0pKZv^C>l`G?mfwTJgna;WHjdMP1FMYTZz8;PI zkzgYzXYQv~Kkm+a75K7h-5NjcN1UAl!yDkcpgUF{=)P09 z(`3hc`H{@&Q={~g!Ii(;Any9vdq3~bMrLCv%XjbBC)2-gh(7+{O+HrD3?FcZOL2&S z-+J)=_nhyv=Jy60fzNGz<9p-<7g~A#f{b4a@cc}$6Y&3Jz}Ce8hhpKYvG36QHFmD+ za$oszUENgPnaXcuY(DnhK-^g048(q4uo3u<(eDKKJr}$_P-`y)UlH(mFK~{ZQ=s+N zz&A3+8~*TkEBTS%^~h@DdHY9#%JJ<~KxggqP3-j#7a9)c-&-adX+1kFX0P_$eL54c z3*Pf50u5jE&(~he+MF9cPJxCSx||*Hw#?Cz_(QK>&*86f zVl7t5P1)C`#m|rb^^;|_GUiJS(XTGq;=?!>H(whE-tb4p8r~|ipYf`^ie(BkdBuUd zB2GMy_mf^6^Q9coFXwo&CLhhq*gu+e|Bb*#dNwt_%Cj@Lp7)Prt>@St^SZM<^L5eL zdc)JnfZg(VSH>C{zusn#|N8lwSgiN%;b1Q~6&Ta?Qs8dLwfXfxQ)gQDj~`5L?%$L7 zsB4rhAJruejW0N=pX1-hql?Wc(Bw|u=n_A^_)JEvs`nFteLTJv*@!Q4TR+s{X28zH zV7`7U9@is}w}a1}gFk0#jb`~Kf5#$JzItXi`(*LY{#=jRB^>$CZHWR6R=`N5WctVi$Av0(I{Ua_i|IZw4| zUu}GCz=zKFmSZ;Y!(QLws~IX{(A<0Rcz-Vj`vLvu1A66! zzR_nqTeo(*?*cDGhHW~Wad!^8E8E$tPVeJG0lu80qqQVPdhR60e|z?4KqqsKPTYvK zJRZhPYvEL6y$`GS>t_YN=q*=#+zdwky2f|4<9#JFpUX2p%OBlr^P~5!cKAg{bBr%G z@hq?M<=(4#d%J6UAA@_J{E2F~z-k9@NyCu(raCq2&a$r-Y>-L)xen%b@pRljP{qjz~vyDq_8Ownf)t4Bx%JjTmeN{i-e4kOz<>4(EkKo%lUp0=% z&GWvyj&OdQA2#;cR6hCboSv`q{?V-U|6>Lx;=tctFt5>7Yjmy!a&$4k85?S6-q#kr zJApUu2WEdK>SWgNua3_I_yjS@SNT7YF+b((LxFnu?m)9vIW_Wufb8c7+HN54&C~DB z7)ScUurb>cGd=DBTTcYyQWH-H{E>rEZpvI^OMRXS@TSpKpZg~BQ7nz!yfWh(YmB4r z;T>1?gHIY8<*dH)|8gMr&j)OK!+vuhpXU3)`9Qujeu!6m^3BKU6I=bzv)vluBfV#X zF_%3%#^B5t1DoT%8nIt}>V`i!eC}Ddf7p8OgFJz_ol|FY?*)zB-1|kpnB-`ji%s5Foj;oOXM!&e zG3?-iEj@kZST92$dOlZC7$L&%=ZM} z6#SjwV}bwA_$hdA4#Hl>-x>T+a5rUXF9mArUG~$9`Ae32)qN>*`t^4T^@uaN`)AsI zyEN2jc6w=$PNVt*r5Z4Yv5$d-tb@UvKe+>{kT0y6baY zYH$j)Y4P*GmV0%(`}WJpi&ozMY36|Yj&IjHFD|vCS0ivOP!sMk{vQwKe?I+4)-=5P z{lc^9<;R(a1MaQb^Pc&BscwA^xZilt9`osp?@tp)UWgSUJJ~> zFOHA%KPr&4^85!gFL2%Qt$M!xzMNZ6-#XIs^}bv5INk`v%eUV>^X2O^AHkn-zG@ti zSLJ-w8~RlA^7)zce3l!v-yFRbpMU$zXa7#!9Q>ZIjdQ-7Tl(@^_)n)&j7N7wDZuTh3C?y5Y!R&Myc5tN(%DP!$D zfq(z!@1?&J@Tqd{?`H;l@mbZ+C--wZP{)5W5W0FA-yUy=_tjmj4|Lxt*dWV(@AIEr zj@hE$9?s0&{rdS@-wpZvWcvB7(Z?^Jb$YzWk6%CVZB>6Z>l=X@$FrDlASOM~CuTZ) zr!_a;2z*w_hg^)D`Ch6u2Va`;Yk?g29`v?AEItp|>iaA%zVgHOVg4FB*LCq%eq2{m zm3M|b9V2HaGPk#?eR)CXxf{nm;iGCkb%d5T@-0CwvM_%=3+4#Mc{K)&d z!)Z4H>&**aE62A}0S@^scAwcec_Hu}q~Db@7-*QUkK1N$BKKF@Q@R`tuPc=^VsRqOU~sLs5lV$`fn25EeB z7H9GzMm&?32R79SZt$dTjmH{op4~rZ*>%R*z2H>f%w2&zvB4(4D^IU;eZ#zcbMSk< zHqNts^Q}=gY~89qoBb1kxZGF%@`GP`KJtl=d~VIDE4uCJad=qobEkhlfF12ZuphXC zcve5!#h~l+yGdpWwAKe7)gjxsIjnyqd-X$1{Ls_66Nv4N!|zL&pA5uxIye)^ohH|} z`}+oR{Zb$X{yBR+&~U4DpWj;d+4cs@n??>t>w$H??*;Dh6lnOcrq1M09g^cmSy%x2Q%Lbnuq%Qa@Mr_ z0&94d(?1+&jsJTxhINZ+?DXt+EmmGRdp+~LfGzUXTW;MgjV z#ofEWt~lm3v5~bSL2aq4hXOT4Uv-(|>Q4M;r}~`tezL)z+nwKujQD@^iucHQxuQ$1 zaN7FY%h;Ws0?nInI`DS!r#^YRFB)pXovm zJ9C`P+KE7n?CWvGFLQo*$20x7_4+s7cR8u=7c$0?82EH4P!IZR!QTtqJ8vKktv?;8 zA9>RD19yiU88tAj(QAzze&bl}@qrvZ`QABQ^ow&^Amr+ zCs2pK5Qqzxt)1p;T$7`-!A8KBcLzTm(9K6@<$APZk6hm~<3AU$N7lLKR_-wLMeAc@k<6U`S_IA@p?}fm7NY{8@Z>N);hn70W`-B&| zamELnu`_b`zS;c!ne!jY|CeRF7sz+_nkRGPYr)3?Z<%xIMQy4JpPA&uB*w-!j=QEd z%H2lB{B?)_iQ!a0j*W`}ee-eG z_Oo|3*a-N~_u~OQ$AVRQdbT|t<~rnAoU44s5g*y>e(Sz(-Tm3qaO5-csert8{h(Xa zvf=o-{AA{9!4zoKKP_eloRup}H-gi_nc%K~T`{xEC!c3yozCBV9N~%&&dFOjH#g?P zc)!fWg15f^a$jEL{7!18ddK&lonO!UKgL1F<={vl$G_e<@VP3ERi6WF&g1w*J_qpY zUZ02){D-~~_*JieY`Na}#Okda<@gG6yb+M~y-8mCmYO>|_T!!Cd**GS$GPfxEjn7a z?&v>T>Y!&gSmirTeg7KI{dnfi^fRIN?qB!k(D<3bck|xW*0mmYYG@}A&r^5sd4y*= z$NqM@aq?@+?}g)icb~Tc95#1n;PFZ?pk~H%H>AJePh&*^;LKCo~-W$>Y}>U3VG*oLBF*r5RYCX!^bJm z4*Pt1XZFZ>*WDxf=Hsrl-;d1MU?XTA&SZ?6Q^6{IJv;C5GS`LYBLVL9IKUIXjOh^b zynixlYrzy~t2nrtbw2XD`@MHBWQ|RF^HeRy?t+H@*ZSG!+zmg{==J%c?Jgk(HR;b7 z)zTc^uyJiZ=c8D}Y|O{A!GnQXz?FS_rvo`M*7)P@X#ByiGmiy-IF8}E_r*F+wgR@u z`z$`1M9a@+fJ1BS;Ee1OfyM_qoaN&xS+UW(ABe&EDd6w?{3z3N{H?w5JexhA;lhS_ zd0?~mi~oMVfd688B|mG6`!5FXfaaWiJUXZLeSVO!*E_1mk=z^iv(tXNNfIdHx? zbgnrT2VON}@g3$5U2@j9LN1jHdFfyTGHgXaQrIJpw+1$0b-M($`({rqy@eCM+c-b1-oe;WaNYH!rb&S<~i z5Bm1gqsHWl+zY{23*&t{l|8;|H-f`_4n>Pt_~GvIYt*?a&YqbftFiMyAjZ(VxSQ@A zAKRQ;~Z0`ixrw`wyt51!u1*`ZWvlrlY3N-v!*W}AsjOG2iGS>WkIL%r9 z@`eBM_gwby+r9c?@4d6VV_9?VsldMtGoHhRJ^Iz;X21_ITa#C7=I;3YIgeBRI@|Z@ z)3QE?T+P?Uxjg!O;q$)=*k{vQ&nADpbLM;!zkTlvpIZ~=V!|akc3aE*lwa%W!yS7* z@Ht@5I)3P-ZzJGWYowf*&trZ(YjdzYUmNGyUievEV)tkGTG#3qZq)Al?~L=bC;8jZb< z*_i_JIK!>GDh~FJ2lSBBt9`cB*LL9ZR!sJA*7vBNw~h6W91?4eEIxBvCts8Km^>S&$~>K3O#FT>U;{r_0&&uHIk2y0**UBi*V%v$HL(-W z@h|e1g~Y42omHRWCP$yUEpE211z!~K3Fn%a#X+C;_XmB>l)viatFXCbNZ%0 zQ^)H;Yn8rp0eR!*qB$4i6lkXcy0jYy-J;gy(LEJk>&81lhi2Va+~TZmXQn`-Tg>*z z5XiS)J)aKf z+zP}^*R`PaOTXp}9^^q!R=mdN13Khl6+d+D1^Ar;4L{a3I`}gFU5mr&@2CT5m2Z8t zHrc`Z6lm=HM$};Wz=JyF7Y=c3kN>#i%c`D?-0TGI$2a_|SKb%AR2SXOy8~?58}oyA zF}pX-!R3tQf_!Zo7j!n~Y6?I6&@Qj=<9ycL9qsD^KDZx8gH`#K=dtePmmjaS?pv?? zp2v+}4ZjzbJv&q2+$z7UQ=s|I8$)0WlUa9DnH8dPyYFBOy;>^T)(Yr zbUhf~sg%vqq2aI{3O%IrmVW+%I;tY4P)b z8+o^mN2t7acl@lGGS}>rSNkUdy49N|9&e?6Ig*R&?q$wCzotN2 zrJMcjKs@+#ro6ry-%EWq{TK0Rod1p3&(gxKxY_OdfH!N`f{z7H1?>9$iur#(tA6Ow z`~Kkl*bJO`TcEAlJCk)aN3UF||K5S#hpx$&@!i1`Xw%~7E9cH;z7eRu`d@u|I`L;r z-xO%m;^)CS8G23x^c)Ltre<*X@60&-v9&CwHAi2c{cp&cUQRx`9Gf2ov5SjOyMc3h zep+w;NXGR`p45z-;rWYaemtA`7X*5sv*W}1h}_iYtj3SlxE#)Zzv;=y)&Eo3$2-5A z6Hj?zANP8Y^ZSQ+*T)|3bm9Hp^@BWg{+Y2m?u&o4>+a%cGidF(|K{FdZ>37_K#-lZ1YRMR{s9G#P{SebvAI2A6 zv>QP}Uesi3(4KmKbHH}_5&OKp##$Q3tvmHYhx+>V4958fV|bkZWaeah-@J{@Dc$(v zV`FQ7Hfv)}Kbb!J_bNsozi8(3?;m`wkN8vnpBt!;jX-_){1(qW0pCZ6VJA?Zugl-* zvDdn9Prr42^KP#G%tiy{+%@Sv=zv!ILsT5bGY3O+y#31%Wrah+vJB1+&>-c z1@?T$;p1jdUf+?ix?+P*Z1{}fn>&Ae@XZ-|aU~A6>*u`3HJ$T*BWrBDF_7PlKn}zs z=SPD2`gq2CWkXiT86TjNACq`W0UCd;e-kA zZCd<1*eCaB(0?O=Z8q7c4}4emd=xKzwOdY%)TDC{1#&R2M_jlMzR&Ry zKVp{u`8vA?pAQHBrh!;|uUQLD1^iXx@}P#?DRwn$^p590HFLhYGj!nfE0^O@hZr?$ z?jS$J~`&RO0Gtkf1#4jfApx)<%wXJ3E&86F(^Y|gdMs?2DDnIrI zd3(d+bL)D}{`n=u+40!FV_45{nfEs={_W&%&b)BGIr-BpJ;RoC`)$wJx~ z!&>J5}=^Kaw>%yeGRs>y@2% z2YhqBpP|;&vbjBTv8~##j>>oLoHpk~KG3Zo30^=Xw| zpB+*)-mfWhu{hgWcIVXSlfimGCtl=<|K2p~xN#@MtZs2I-fMnOfmYpz`PVwu)6LGO z29E{*Q5+V}ACZJK{#KrxW&XGJal0Fo-*RyxYvPdm-b+3^OV53Q=1pJ&Ph`iMF!x?= z2Y9OPDPw0ew#AOG`q`eHcLW-_p2v4>S~pi$YHcSF<6j-VL-1)U;G=pYqy4*s3_r9r@#JJrhLjd(7zo_0iT@x zyMZQ-*6H{T@l&43Zw6viCw`yRnms)CEMLZZf;aK?En9V`=;4>fcX@6st($9ETXoOG z;JiE@=1cYSt$xxkp5|2yIP88u-^;JFVt*jO<$CaZ(A;%w&szE3%D6h6-3aJr7f&6l zEuU4ITmU`pxAXIw^4_YWzR&v^%lEqiI<<0$Q}LB6=ekA)Kla3=-3WSCFLwJE0*!C{ z7vn15+;OdM9Dnf8T4=q@W8%kn&)K~g;K7;pXEQFZ;^gdSKf+zjuQt z181uz!-cQqoWGj^J`O(r*A{%?j9pD^_T42sYvY>pd}UA0Kpb-(?#>!s_5$%~{8Wqk z0sp5!QzP`959FABvX_GT{*H`K2J)q5#M%4S8e&WA_U3iMKfdFX&-C)Eev6mw>M*8< z>=bCm{CtJKH!SS2c`Jx@+|P8Or?H8ZZ}ieHPdMEP`0xjZUrU$QEH5}5?^pGS30GvD z7c-r`hn4d^h1}7geBmDU1Lw+5`J&Sq{PYYPAh*tt9q*a%A>~%i*z-pHKmzu8B$&kVkX%_WD2*Z)?Q-RPf1&@sHmo zM)n({c*WRw#d#^fkNV`dCN}Yc*tUb-G5q3hFX+7>hc8^>ML*MomD+$*}+ zkPAM`10VFj_n!N2mgmNQ_wHEsotHB{>7gqD)p<;~z|;5~F-`R**= z%s*v0cg|ew_)`(C627YJvP-P=7{lv%L83q_2Hv#p)i+ z?`3%&W96@W-0mK_A8JPo;?{Z>jqk+%cI0aBR{DBp@afL{R3Hz)ht>{G8k4)y{K=Pd z?+lz_6Bn)fwY;8m5~_@SF^`KPZvA9jNE;IFNCYo@Ggt$*X{ zkt2Haqn__xp+|h)O?vdb2kOTfJ*(=cyx~MWiMz4#S-TNbU%7iAYtG73bBilF*wPxu zoR977sef|rg4(hs293YDZVNwZ_fF%e54VeBKl=OTWw`Jg&lSl;uV2;E-xqV9tXS+dkJdjw(E3*ME$SBfD$Axf z1V3{<_T=3j{_&C7 z4|?PqAM-g5${RWQ$<+tkt5JD+GSHqq=oU4`*6V}nou9AoV{Pq39!LM_@YyeR+~I4i zQTp-aymwN>&sx^AsPZ?{|;^#pw=#k%zp!aodFI$URAuCorS)AZs zJl6lS#3Sc8Xbg8{%r898IkH9ve(4$cou9YgSe;|zears&^x|#I;-PmV;Fq(zLF;77 zSmWz@FxuiTIcNCAXZK0{J{Zj9v$TlqT>2l(BhYx9^WTZk0p17s(_aqwZ|sfpYe0>U z*4W-0=6&1GWNi-b$$V{`XM16{y4e$pW(|4|`Rw<3G(MA63u}ST*eTHPMyzjy?|AFO z{IQJj{%m0UCw|kx=WM#0I_$0Dy){z)>%()Aw{|5k<^#X>hVfhK>l)vT=jZIMzP?vC`#OdZ> zZ>v*&+H;)FjCqJV-Z-hNIz3KSo zC!fWoS$jFKc6T6$WW_FTQ=qw@>cCp#9rai{Ob?w?pwS~9YrXrejrFYIf(^X1Huz=F zo6WDI!4znCIkFgie9kTJ26XWcH{M}-HUs^oV7^ZNr9f@m7l`wEplu&?H}}P%bzi-T zaUGd>fHdx!DH)=L3?=D8XDXs+e1xpw#61AMer`P#cdr@6+rj>(JjPsPBLo^N`s za*e^6uMP0y4HD;Oupi(-Q~%x$`LpLcaKM?eLdHu59u|2+eTlDaJATDwnf%r7J5wrFB`)Pw8jSENg=xYaG&fwxFmVY0s z@2|X&#YxYSUv>7o?%=H4>v z^tZO@<*5ykivhj--V5Y?tmP?lO@5r20?pgPrq9pX&>x%4-SeJpj`hyk6SKSb zPlmq}j|;g`OWwoACNBA8$9p`^-B0Uu>fOKnfGu%u1nP=C?WYENIL4JaV-t^TI!l+H zjQpAVyE*Oo+I2R)O+Or>oWbQra3qlD_26o7Dqw>QPRZ>C{haeIXzGzHPPH4s>EKL& z2RfW>&gFtH^2sI{=hv2FvN&_ErakEkkJ8W62z1}5t&*oFhJ?F{b;ZG;H zX*t(x?BRi2$D?ia{Af^nc<-HY#$B?v72qCk{1mIWG;1#h*5p)ukrlfdm;%k`lKQgN zct<_f4%0*D6lnDD&00U-n&oJOx_wVyxygGJLj&BhA^)o5OLBUB1cR_vOZV72vR(i&Z^}r8R@6)@biVmR`j%c{%!#L+X`|#>bvU7p^rt zv$IZ0iT3E29o72gZ^Cigfar+wKVXP;g@jB>jxKI`e!W z9RG7eTLWw(B2n_kqvQf2IRy}?~!05VEefMN2dbo z{GRh;oiAj{6>hW(firCMT<25PH0SPGj1K(alNjE!SbxK!Hq^%|@OjmG^CDlkp`R~v z-Oe8ddROg@y2Wd*PT3l{u=ZRqk54{!0_|@OZ-Cm}3Vi;stMM0K(xN* zoX%LSk*AZ6=Y!TIztj}HJ>R`7E%b<^ddTku{aiYi@n%3rKU4OH{kJUl)hP~-E}_PZ z+q1bHutl!5$ET|SKHVvPicuWBljZra`^dNY`*_Cu)o`S)HTKJaIOu1`Id`Rd@=<%v z-*8O&Ov>pySCYD z+!|?m=a&5#tM}3wI_dELPpjc+GDzbKJI)!8wk~D99q{2wps}}9 z^QzxJ!9(NZPh-@NaqeYKhnUNev%rUuTeZ9!j5Yme=D5}uXNGat#-7dnKwaUDK6e%m z#`w7q@U=Cwov~K#ycxK09;Y}doDuVhKwN4>k@d{M{*_=Ys9m-m3PySR{8V#v@rA8% zE{}BdZ6wDp{(9e>-wnvM&fb+VJ^DKZzsrXlc;~zo_*PFz)6Kf#pY`o!-~9_S8UD>> zn)BXM@${Zw%~)JG!l8N=TVq#i;;np!i~4Z?)zlPd)8gkVZv}l@0gmXM0`1v@Zt+Ia zi!<*)^DItr%NtIP2W;bs9_##X&EODkV%`gyN3}q1)QcPId>h{=^PPbFKh9_B^XY-z zQE$)RpLMz5(}h3{l}9?7t8pKXb8gwy=$LcVSZb3T?oJ11g0(>0_~naS0NbsB`m~-k z`seo5xW>NmZczT@Ztj!sTy(THaL7-!08^k%i=V4?;o(HxXRe;Lao)J@ z&bqtpy!sZOJ3RKS)o~r)z3clKi)kYe?_8%j*|8sWx@-2;N#*7`*>ip;(Ed*DgLi`- zdpMlS{L~5=IUy@n`q)$>^06Jr>zjg+6Z`y{_w{?;^TQq64K@Ot_^e}N)T?Ibo%ib3 z`n*3(?^qY|_E?~<#(UWs;KyGIH1$9yKgD2gBTzrq_|@M2wcuR=xqAZlxjJxT|4o5? zK7sEw?hVSt-{I!p-OF?D$V9lPm=%dT;ovI}~HkXZ4eaW|Yox!Dd02h4^^x{-6 z8v(iMnKIU<#m@sS)vNDQY}0?3ZE>(uUd`3h7^m~Mn)kf8tIzkl(}7&6uj;?u+r?J> z7Oyzf6s}GN?#QScpMB5Cjy0X>&ChA|!xuiC3Fy}F!+#C${3o{;$mO3+0@cy@Yb-v> z7u)nS4{C5fXx;5(ybY=b zra)5{mBTr?KX(UmWW^_*@$b$)mAUuDe*N0Ym@M$qd_0Fk@t+FTgZd-Zy`X2s>uht@ z`~6VXoFC6QdokdH{@Vg|rgrUFp8}2DwZ-Vb*0daVy?V)j7&ZfbJrQWea@BlqWz0tR z$1(ryH-~iH9rXR-BVBmx=dANM^On9f{YIds)$o-7Ppz%DWc*-oG^p=l_Fm)AIeM#4 zJ@5ygYQ=ojoup5FeDsj|==*dvGUZOa(aHbTdiDJIL-a&+@n-1Dbz?h`HM%YY9}4)1 z&tn13y7$41#~8?y!GD}Og{ ziJoqGHm+W|u|}5fbgu`^8Chukzb|7xutDBgF`WpktDBysQ!9VCkO%9{^M1y1(wN4x zYQ^Uzy{l?PtfQV6GiO7bnmbqhV;(ML{rQ01JFOQ!>;>f~!<+S?p7G$`i61X~D90Ht zeA!CRk5LzH<@T_1e08q6uVk#TA^!ISet+mk(tDHjpq@Hz&!3L` zo({zGY@l5Z=(k2*>lvS+&akT&_qzg3tmN6%m+NM$lpzH3irydL0>?`*ikxT^l%y;E5e*DBvXHS2uB6B~`AI{3U3i2ZLYf4zx&ZS<$- z<=k2J#O^%*9uDxz-Y?|ugV4v{2bXL2rl*gddA;#p&gAtkMPOB4vvu>{_O6`BS~>Yp z#`NB|gmv$!H9Q^*)Q5({>fqmN{hS+lrf<#xdp{d4pGogt;tFr_U|ieuSlbJ(26%9m zzR~}?m+SL$&t=`2BY}1!7=5F6Kj4GDXg%@ie84BIcd~Zm5I=kx^=7)@kdM0o{c5ZA zpjNH1Bfcrnrp3>L*hX1r50h`}?*;NO1=_O#UhfWYp?&M%Pr1~OGGDtw1_!OxDPwI~{5;5s zm^*J@zprG^8-nknL1S`;3~ViXv76g-PIFEiR|9o!&*v*Sepl{B#_}tk-ovrxE@r)T zemdhb0llyvkoD)qYQgsbzVb_M*&+9QaG0Dts0oez2LrnJycTHntM#*+HU7^1WS2g* zA+OcpGoFoA=PqU4x#})2WbxYXSznd$2z-w7j?ZWP3zmE77H=gz{KB1_^2cYDe6S-9 z-w(*~MUP89lQ|pg1a}30VyH8F+rd27;y)LtZ#=yaurD`s(8s2?L5}3tXSb#v_5$3| zb39PPhjG20y<>rUA;2je^2dMq{F=dk=T_ycI(Du;CDOVBc3X2Po5qM*dKk%bRmz6Rh-fqd-Tht`smwoCFAr(N*0UE^4d$V%rYL$)#Sb?zP$!KR?F! z$Im3b@?kv~?{wcy=jok)7V%NNJ{*t{!~dIKQ_H(Nu|4`shjp=xdu+KYOZtS>yZN0ek#^cR=Uw2-tz~ zodmt`chzF;ddvD&Djn{)QR`wrT%BV55IocQd#X$d3fWz%TyME9uel2=e z#+QaQ{8_skuI|ShtE|$ zk9-(!1--lVoxgM6>+>hW9~|~hvETZ^C*Jg}&9`Sfhx(kajq_|T-sS3&qX#XfSrcD# z$F^p@ev}XI-e%xDn|nduRdZ*i0I#1Ol(&-^9}RFOZ}LpnIA34RaRIIAF>lt{82KE?eIfA1 zIpaR{o_C$B=KjfDZF(EnwD0Xxi{co4B;WcI%Wg2{{hrK6$on{7HKvmsn_{BBw)sEj zNo}ynH+glgoNQ-YPS!G33+2T9aK?IV$fbshG0xv;8+-t7GVqh{;=)C1-TKyYo&RFt zb8|X=ZsCEBcL#Lu1+Co-SKeJR&HudS)PHNPxhc2n*(=S zf2gTj@i5-K^6*^Z7`aeSt+P+$?(ySPAjgN*BU_t6YhQiT7kO`9#+*Es^&d}h$*~%n z0&UERdF#%b`+Pu`cX;$i?%8qYaKjgCy8+$(Ogxgrj!@U*eAPH2i|;(Ryb!n>^m>=g z=_tlK&n`K8-f?x@mch328 zPj~ruelH-yj^+-`?c@q~K;yxZ|?+tz~ z;2)dqr;N46g|l}BJ`=QZWWW4h$r#sUy1#1fKFBc{W8X=31AbLsIn(pscYXCDr`9e8 z)=vj&#ybD$*a^1AE47>-PiP^VfN?%h?oY)8glW-Hz3X^Z4$XbLydUTy?F! zyCd7d$je&hbagGm#e3FV{*^d?E^A_#0*(E9gWZ6g-a$1<7khqh;VtRqTEm;%oC@v= zw3iRMMeOS4Ct{@g=07>iaeO9N58S!?g9ifj98-(?Al}B!-~A<8KhI}g-{>Llj{1z) z2eqL4EVSxI=8zrugM^zE;l2?*(j4fkrnQ?5Z<)!=1Rl zBOos}bOAaV$V01;dxP5?m=tpOD<5m0xrrWF+gwN@kJc?s&9>HL zTKdW4H+ka74lxv0cJ#cmLk*y*-D1eD+B~=0d=Y4^DQm64JsI;yEYum@&Ew&WwfzCz znrGKL0)F2ad@xYI_}PzE+%@}u8L-hloo|}PSET2&_415)Sy8>%; zSaTM42K=f#zK!}{GW;yVI=}c_`s34lUXxi~>RA}1?GN~ONx()iVNYXVE-zwqAUGJP zFR)iSyp3(;9Lkzp^xuH*&qHs_n)eKH`Pg$u$FV?+3OaTM;zaJzVAWY-k7j=>yTou2 zX#6gZyM~AKUlc3?jV)IPyMpRgH*=rQWDlLO zzuSRsRa~71a(4yvuBv7Gi$J6EyyfVg@4>}Z?9uV9wXy2ohU%WUG$+ofc#2zP*S9Qf ze&1d_W6aRg$@XH*1^>kKY;^1h9Ub!S?&puOe3N5LA6dro)tHXHI(OpXUSgZtRR8mT zD~g@#f%|lKaAF#(GmYKs5gW9J0(t!26?MJHx<(fL8ou#7{F@bgtxtSp_w$AOmi|7^ zD{Fo(i}F5UiUkk*Z%rQUnS{mP3>1r*Z!^>~B(aFah0iV7%#B9W~ z2()Je=LT|7Ir@D8z5~I*0F6dAzcluf#aI01dZ_PuF=n$|w=UWG($uAU;8;-o;=yR*ft^_}q>5;^4?MCU1P6+hgM^0yfJy_q0h;51#wU8dFUdvwi7|rQD+9UI>SJ@dH)~>Le~eeAn`fL{HnaxB z<9#dcCbH@Ep2#-2(ZrArHIS{PO=t^pcLr#zZ6$-=+Gs4sYKI>7i78vHi<`KUZGRDH zYDpVwQ?6@U&#YW~PKndb;NEPLTaE4RluOgo%ckyC_x`N0aXsib!_9bz0lW7G^v-jG zmw(_K_p`P$bGGRH9G2yIq>t@v6wBR#Sa!|6wXts5z7{weR|WiJlbGRC2l8}dU=Kfg z(Tv~uWV*ad?B5*FaZ#YHqP-#OXxVu@kh7x!nSI}{-Exbz&yHI%uHDyV%r0_zCOAo#=>}2ogE7^U%u+tsFW;*2S3xb;hwbK}`W!(MN zidwiV5bIY4QMddo)EYs*2sHZ8(PJ#{;{Ba5hJ9kQl`gip1L)F|TO0UoUC!#mB4dpn z>&JuIS(@hh5!n+rt+`q(XQ$V!Sd$_DY^be!Gj3d7p0TrgNuY`4+*iExvD?0$P0kaW z&qUy zpB8xEeOUT?gL6I7WV+N*ADkhz*tm3kZ`SxGwygv4VS{zG%4hX7`aH&i%yDlX4>?tv z;wuL0LGMdz+X8tx7&tpXe{EdLm_Bi94#aD;v$W#h8frdA+1cKF?|4DR;&L*;@2qI@ zPD|H~@$x&WFU*7j)vTty&*rx*i&L-0|S)fn4!{9P;?s zv#=-QTY~)oy=0?DcYC1LJR>!6VXL)E0?nE^`K_U+WK4%vS?IiDEdp(^{Qri&j-QdW z%CPO3B{%-QLw2%>E-_VWY@SMF>04tr#)AL+#=|E08GnEC#>~}5{W8|*0=`%Sy#C%4 zaZ(4hb&TJ2Sx3w7#!tQB8Tr}DCT;#~=9^fIeynFMH*(5n^7*wdAZMh-Z~tiU`9Wib zuX(PFMb@;gk8qyhFt_1M zeusQ%%f9oC?irg_-nc%FlgiU*j%D7svDx#3-~453^Lcs3>PlY4ULMfg66_D;n$3+z z`S>p;;v-IE(`hbO*9YWj&hNq?O)Y5Zr1E=b@w0kv&G`L+e8==WS_w@$}e@FgpBoJqFWkS)K}Cr)!8E2A`5O?>O=TMM;^ea%zrK}_wh@~<}Vqw-hT zfWQ0IpQUB&d$!1;UsFTkyEh>FXi$FjVT`Z2KyyRT`_Y_#?nVC7e=JZdbKc&Mc&bBA z#CD9)xtXszFV2U(Id7K!fq!aRo zXRCPO7q6!UzNeRGz~AR0IbtRr?E0M*H7ds5XS6x}Pi#TY-t}ON{f(K^-5jcGtul9I zOxG&j`g$mS{ExB5CuZpvrwElWeoyZ#78n;!pi31Rol-#Aw_X6HR?p-pP#Fv^!|b$<>Yo){X|&%-MN3(4G;j2jtPEp)nViF-GQO z;HS%(Jrrmk80rI!edp;+wvV#eK<@ECGK12%=zYVlh*^mSX1~P72r1}Lz9o2g8K*d=o5E9<4$BRpV93I z=o3>o9B6Fb7LYN@%ydcjPn9Va>|kHVVqb{s-r&5zIX{z)V{F*Vw)*W|;*W#+li_C0 z(9zxd(H>u$5Ak55I)7C#zlX)=L{MGjdvw;E_3eRH|L7yjed_b~&h&GrtNGeE7YF*- zc|6d_Z5@(tuC@*Z+D{E<$U57^_1fV3!*E@Ce2YMP#zwcL-Ir#61e-k%#;QZ&YOd| z{c4r{KX?{#74sv3zBO@i#%$1!5Z`e=j?c}W*s@={A-FmaGc|Z^@IzbJL(YQ>_%z zEBdYC>Ry?Hz4Ntkp6#Wd;yK#%!&}&deqPUGjC_u#Q$Iq@jq`E5o;~`V8@}zH=FOkJ z=OV+EG5nD&?7bxPWHydU*5AD-j`d@n=P^DV|6}9$qg&V&^;_mqJ<+E>TZm!L@QGoZ z;g));Lq8vPZN9#hp844qQ}2~>>Tdp5foA;TK<(R8JNn+!=EtVFb#+0OIGFqH&U`C6 zpMS~nY`H3+&pncBY1~u-+cO`Pg5d`FVl1SpI+GZ12r@dvH-;zxLdf zF?${mki&;F*<-IboUyi8{{J4Eug-kbS3lV*c8fqWudkjn=3~E={PJBL`cV)6js|k< ze7bwB?V9H5!Tq&6P(yQ?Rcp0jf9S<+Z3UlL{$q8{<+o^Nr6I3LH^THdc{*v}7Re(;-)#&MCcrZ)I-pMd}97l9_1e4g7)jyUP(?}78@ z-v5~HYw>53n&K~;D&zc&#ZLSEA$C`0j(!nn>{(lmw!RnLF>~-~zBbN@;*9`ZS%@cd*s^F z+arS=qYOUuecG9W!@*j>)+?s*NJr)(*dCN-E;n17a?!9;toH@@MjJBSq@^GIz0s|b zNzQzoAKI$*+Q4@4x)WiVoL&;J`KEwP&fEC2BkSUlxE|JZN3CR&So@oDr?}!lfD4M(5~6P#NT*^BM3V>CxG*>&-dX&!PFB~e17G8q;nLqxKAy_AUV8l^ z&=$-8-*f-e-cb&l{xNc189uyoUq2LEDq}0VBL1`(%G3cG;d2o54PS*nW zp7#*-qh5YI1#>bz$cNv>^vocmbAHN?Txnh3nK3x8-K#C@S?l;SGJb7@xPuP`_UQhJ z=w771JFxfefF1V!=ZZbGjh{U~Hoc>;*ImlK^8Vxs-tPU>8TNkq40}IwhP|KNVy`iw zyW`u2@wo1us&8K!-^|?w*3|kJWX;*P<_@wR*U$O1iPqifS-vCa-X~^HuF=~&f7p9y z_Q)!aK5lIC-Y@&*>pDBuvOe-$F!9*?v;6MHs7IduFl*JD={Y}|`RI3Lqy47rRi63R zWNx3|e4^vkEBNOzc}{55sC(DlNd~)|kIH%Cq|3U`nO#4Yb^5Hk7rK6J*2f%OnYq}` z=`NYp@$q3t=FOw|-G6uLl=}X;7$v^Dg4%jP#$&AB8QO9F)0sCOi_mI*CL%6m_wAR?8`|_-n zFVk~wn`qedpa2bg)9X&1O1CNNtN!Nny16}bHuOw*j?gPkkDK;-hRFNN4{p%oseNyr z*2K4KFPYZZh<2=}M`zD^?ac6;H%)e;9c$^56|~72(iP}!q;qaw9?d;ti`D#i1zHNo9t?G;p zcG9yqs2=t8xUAagmj#>S7BXqroF@3?z|j;(=V*>i4DCc%fCBo^+o@XfF94m*ZzP!7>~;`zhK%|!+-mi8*(3-G2Ty@`cFw;`Qm!@zuw3zn(Kqg|M`jknylILexQF+ zF!Fy<_{H_6059F&8{R(O8rv+N^V+P>>-LW({bJeslb>`gre1BDe_Bx8-bwEN6&tpX zHSnD15Eu01lwK@fch^0>-Z0VJJoRL=-}B*PCg1r*&eMX%<-?~ve%QNZ*gI$1YyFAE zU;V{K9>f;?GY9%_oA$)2cH;Tt!Op`2{p?t@ZHy%-Q1HG>%Wmnmet3 zHs?sjqwVFrAar95{Y8FAKKj-?To8Ufs&D<%12UY!{}3K)l_SO%3~ToAqgN+y|I-cn z))Cvg_c_xZdVKX0-{sk(qcP0zoL~ORjq~xOjLD$;wfRGX?wHYEI$HmpF=V$kKXsa` z(aKi;e;3*5HuHQ*##`~xEfyaZ-SunKV_)u0zJJ5_&(FB_J|kK7^fEL?+(WIstYs6*IKR3UzN4`F5W*G-`CTxs{eDNN6g5Q ztNQomjQN27`}3DUG_GGet&7K-vrhlN4D@dbs@MKEe$~cZB}Vou)82C@Uf&}$R@eQ( zJ@2J#*%egp%O^U#=Y_88?Z05!7rSrCKP+I~T}tm4PQ9~a{!KxBdwhNvAO+># zdDrBFTEzRx0PoU{@LGHIv?jMd_3qQ<*>6nmnCS3+&5Vw{jl-?kt6!I9os36K{iCPe zxwfu$^=}OD-#6GF{v4m>Jl#2e{kt1>zH(Y)=ewu1eHr6_<NA5Kp#%Ew3Yw#@o&2Pu@qIe46i``n^-Xf9elTJzw!XWa=L}_18@O$4|X?baXu@i)sFZsej7U zw>H0Gn!jo4zi#Tked@n+>c4C1|NGQ`&(we4)c?TL|IpO`=+yt@)c@?%|NPYd^3?z8 z)c@Mlzjx~2KlOi_p6}wRf0vriU%>K;Z#Z@8yZ=MZpznQ+ePjI}C;rCd?GwK{=WD}%!Lo{p}m?P<`fnLDuLgpEGFwn*n?71Cu@G z~}ICbg+|K-%FTfghnsqYLP^#0*;^S!4| zIU{s`^3?y#)c;v}KJfe8*!z*w`V*#gaeeQv-}AouOL1tCH9DUaygT3{*=j)lDN|p& ze`1=;m;K(4AI!M%71z)HzSBRWe$+(YJL`+4`G1)Du@1`9lx+Ys8)N&L7w~mtvq!e`E#CUxWrNTf`5o zTKM$PT6_7lhW{y9Yn_k2vlHzFQ{Vd&jrD7%{y9_sxl{keQ~%nj|MIDC%o?NjPV0X> z^=g^iznuCDW1RWL>Fd8*`tBdR$2WG@xBJGA7i8YtxzCRTy8?2YcYW(eJl>OkXqBIp zpW!+0{n1mW#`(qhB`UP7v1>9W=h)OApZdp5{cThK{Hecv>ct#i&%u{X^Vd!NS5JM< z*Y8a8-<$g1pZY(T`o`-orn#CXUs32kc8Z(3;nLu16UtG{|7QB$Nmrf(uN#+ z<%^ng{w{ps4aYa(`kw{X<>5PjVdHxtYh*c#-FxTTPXBr4 zw`a~@v8b(lzWnF!$u--_={cq2n($pPtvh@6&8z1F;kVXvH9lv^|B6XIdii?CME|K7 zUT~3M@{|3Q-9gi zSN`SGobBxC9eQ}0KX&SSw>){8-!%2|jPI7IKQZ-RJ@wx-^(UwPc~k$HQ~#2wf9Y)g z-==xrx%&?J)@l9wr~Zeh{wJsYZBySn>sP1wJbu4Dtv8OpH_aQ*_fGToO})C~=iO7k zmRy?u%{1?Maj97UuxY>d!meq)XX^J&{bx+{?XQ~FA2Rh1o%(C0{@SVk_^E%?)L%dK zi>d#lsek;`KVj;hIQ37S`kSWyX;Xj8)SsC8=T7~}sek^|f9BM`VCp|>>R&STw@>}c zr~V73{uNXIs;R$o>R+Ay`ouyUG<7Rxk4XQ^Ijm1f|FnIl|4w1H|H1F9sc-A<#tQ;> z;#;%unDk-acrQ(VG;nvJyE?co_?75!|CC3~?hV|@_YKI!hu%3Jd4Dy$-b3cR_sQCh zKyy~yYVI7iIdd90A06xp*y&E$AJC`SkNDI0)fik7kcEbBzoU14`rW}(gVF9$HXZc` zKcDDd1lH+Cqt$2o)iu(isl5j>J{XVzqtEPezgTB4S^OUJvdY(sLId~aEBS10Zkvnd zULG}hXaDX%y*)UvR(dwryEj?19Pc~$EDdz#{HEZ(4X8y^qI+8Q`D*v}8dE2w5u>;>C(A0pKhzwo3ih$ zX=jS5JDl&^0(ll!ZNs*0%emNlUt14aM;UJZoqD}z*x@`Z0&S$_GoZa9pl=?RlUef~ zPR{OW?5@YR%13o%T{{*yPrsYo@VEB_nO6pU@Z1^YEi%{Ww0_(qjlPEkYEn-5L}qpT zUUYcZ9d+!@oQ}r)p&65FZC|h!%>5C{nKk? zSR>cFBipUfLH6%wv!6jcZ^dS`+nM-(LW6JA&;IQJ-PIxXXRG%Q&O+}WoI(h)&cY_T>kB!%0?#nM zvE7_sY$DgY5qdOq{P9`XgqMBz@f`}*g3pP+t?T+v=KDju>K#lyv$3%(4;f<&@zU8? z;}h#KmVa^ zIsf=Q+WePUcLvod+pY=3Ukrc$?@yf?^GwcPgS9~)-==dZ z&g73ZHJ+h!BU>Ge&w;&}(@o|Wi%gd>_b#FFg_D|#M(({>|=Ezy*FP|2HhQ8|L>pn_;N{r_SJ!X z&!VoqAmir*;;+VT476Q={91c*ps`8aTpp++viL#vivzR=0`-KS?2+ar)7pokuQHu0 z`ssURaBkqvqgy?qle^0TbTHjJaOFmYwSdlHh zY}JkhUE7y&!nkbocb)ysud^|yV-FfW(9ymzVLP3xc=54`U--zk?wKMEhXOJ` zWjF_oD_ZS_pm8K`tnWJ!q}iua4r^QU+PPejt<`qJ#)cPSOe6QY;Jhj4o-6kW_%e|!V}qYOjlJW%=RzDj6UY$DC$nDr>92o$>2pLLqk7|696$JcYjAgPQ(#ZyH`%>+@NKt|<{8RH^?%<< z#wz;9W}oiv(ZydexyR=Vm-}dno{i2|^&wxzfE>1YrfcGBuAZF-ap*JOeSbU!>KUt+ z*+I6y^IcP8jgPtgzU$Z{M}3cS=kvMV#%V{KANkOU%_!el8Rz097Ka0V><{p<-#gGe zj(3L$z0W5P2_6}!A?q(n|GB{z249x>R|dZkR94U5uIw9=uXm^G`~I@XSj^eNe*C3j zFIxMD0=_>xceM3mftbq=8`-YEGEnQ9wNa;iad$_Gb9H98NvkH=OefjZL8n;aH|{f5 zetVC}J=qDvQpTtok8|yw(8j&mRX^NkY*++*Zk{q++QcvN=Kjey|K-$KIzL2g8lNTP zX>;D%$A8T}UT2ov#^i>K`OH=gomd_+NqgUL&o*8?-}cdq?a1?UD|pz`cxJfNziRFF z?6Kv>fZt@Z@0$Xx`s5P7d25jk{6ha#fhI5W8Yo}$A|7&H|5oMFGY?c8-fytj%dUAMY~0@KMg_l-F_pl4)&>9Y3`(&x_2(kk4}&^Ev;- ze~hCziGg})?iU%8DL&#W)^d#B`1(Ms?aL8fw)4k&>p=|3xjEpYe4Htlay{Bc->#sw z(tNR*Ji3~1wC3ZP`@_Gx=Y6QW&9%DV8=KfmX7^V4h@R~|S7OVylffdeFBW{(js|q9 zAw7E^5r_wW+&R|gzL9fhps@}87!y4E0(oSQzB4Y(Mwn4i0)&-D2ENT%b3q61O9jyk$d}x1N-b* z3)Ta2nm1?BT&-Ohh{=KAU?5IFX7j^eIq8~rLThBGlg7SrWdq2!{D8ADr*qcOd4D8_ zUUok$5J!9B&=}C!oV3>1uE`O9%BvS|y|`QxTpf^g>C``9>MxplHrjV4s#D)H$u@Jk z^lUj4p#Rq7&|3XO(|FWR@sNWt9_Yqecu#)F%g^$T&mOYXnmEzbJdk@yux(m5Cd0a1 zm!59xo!c{4L+mhK1e)3rTeZW_D+2MH*NL3sRnu%%Gjd6m9C>c|e6lvpt&>TocpeTk z`s7I?6EFM8LeB>4<_`_j#v;(jlA}=;+r{hL;3)z5T4mp{F zHMU$6u;sRCKHAXpKGLz(d``zld#hqHk2(G7+V2DGO5a+szAq5RIS;?>>u(MII1rO< z!AP6wX}N4&$j7UK))cxs{Vxp-Ir?J(ALv;G+G6?t4Sj1FqovzeWB>TQjX2cS^D{ma zX!+wTo1g8)a8JOlktTnHVw1+*wtJ#slN@`OkW+i^?)uIq;NQQP#(W?jU+eL~8Ef`h z?`)L^I$96b@TtqzYvbbV?g;Qyeq*^kYwLlUMRRTNVG(wnK3D|WGlFvide}my+9k7R zfj{D0ITwVO&Ew~U)~I@-`%r-I4T+@aVf#G5R8#@;dA z7i;P160es9WU`?$jR7A&jrrWz;bs3{#^&AWM;kL;+CesZz;j?vQ2x@(&mzzk%l~iK zB1ZhE&W$_m!sY$ze#Qrv4&$!rM;iIOFbc;!h>3i&ZG9TE3GIhxU{AdG&DYjb-_?50 z@#kc)2sCk&(@O%eBU5t*_=2|2rbWhR@$gmaxOuP+xwE(i`A~c8r!V#)tcJrIS>yz*`uL78L-PU`HJSYsR&Szj8$`>SKYS0?x?tN!Vn|!X^E+Gcuy3@B4()qG&o*|F%La4% z?7JoV&d#{Lj7!$tiT1>!yq(LlSj~MW^U`2va8020)sY%Q&ri=DapB*|pt^Twya+UL zPZWbtX09JH(C zoSXI53cYYN5J&#wF&As|>jU+x?GNNiv)41l7rv9#_=~YPJ|JjZ-TlV{HgpXQTlp_1 zbe{~Yw+7iZ^7b6i$Iion#y;^|57gHxS=LATwahhkS1%dtX>8=zyH8^@_j{Dbw*$e! zz!=E(yt*Q&zP=-hL-)32Jm+-_8s$R?bne15v+Wx@2dW?Y{GJEdGBtu_08J;Fb94cqDm!IU|Uj*7>`Two; zkLSc4{qF;Iu}OZKvu9^4eqv94>-gTz2Rin)?pB=-=cu*KZ;+cS1345+zKOG1LAyI> zyyb^&i$D|W^8$XbwRKh-*o5ACYtLN0lc|-q=cM(2GJA^vZ|_rQg0A&oyz9E|Q;>^eU<6lkv<-hIVnPf$Mb7-^rs;vBFMkDfp570ddrR_-4(4$eB=e0lT=-HkUp z%co9^`OOzL?GCE1cCWGlAKw=No%;he8S}5TOs;&&r5xc=s~;6Z*m7%dcc6~!Y0cl& z88^3l*W_z0AmgG*#wz+x$v#`UM;BS_;E%K8^Bp-O*geiyjYG2ZksLlbR~o;~`P=sm z_S%1Va5ld`f>&cFUO5?M&F6Dna<(2^7hD{t`R_A;#{bs6bv1rb`rW~(L)?IW>P8OL z7dr2Z$EMy`j`jrNOZVa6+(11vpBwko_GSHw@5KQ+ji2PZ7iwSm^%|OMg6^}8{O+@d ze(~=aHkS)FqGxAoQZGK2O!4vODGp`M54Jel#^SH;%1^(T;3rQEeXl^*?!bEEjSv0d zKx6Ni+qutc6HR>@{X3bx(l-|LsRedxf0i?kMh@J)^dATg2J8p%c-J&0N38A$H2K#y za&_P3dz+kGu>$DC{51i&be#xV>ltp!A(tHe99de*d3Abnb_D$Ahk6sg$~B+wt!ItD zM}yvBaEV3gInk{x19-XhTW=zU==I1jTpB zLEN_obl|@<;0ryAKx^*Mqq8T**6~_bm-Wdye`=fBS_GOnlTX(t2jqzpdE}Bo7W>H& z_dUTP(C{sSk#Dr4GVnhv=+B@ka~_Ywq2a?K(8%8(R6cviB=4GFcd!UFw0&q0+7^)09OJ3J`S-H)%=K9VdOX{V#lN~AoUwK!Ximi8=AgFW zdq5l#7k>87K8pwYn$MFNH%??&SBGTxz3=`R^Or9Bt)cE;m$gfy3mqAwzP*_{pLiON z^^EzvJ($Os{r1J1uKN7Uj5TZW#6ElDymqZxzbUlrBbR;sEGcL9_{X049(%0UX0qLL zWby0jpfy(BOS4wF-YcB@ReKj_T`tr{KLgQ6HXiXF*U_<)UUX=*J2twdorYp7Mw*zw zBG4Ag|8L|;t~zgD-g&Orxhhw?v)){>Z&hCCVXx=>S|DcDV636brW)d(c(rEtW-R99 z)77(#_sRf$^Rtzm9~YY1*_t9(WAo8~Jss0!%~@!U%eOsinpm-mPW0l;rab|F+10&8 z##-O)%3Hh1ab`a{F}N;0U5h|_Mo_xBfA%+?og3dXv*C(>uj4u&z&am$hS<9=;M2%M z##&HWVu440Yw-Snk3P4}Wzw@sCfk7ARXn?=^-`gC>Fc^UlS#iAoEOZ`1Rpf<9KXk~hS%9|eEH0N^IgGZ!H%Hs2zoWpXZWFv@%+K? zIZ-{axxC{4$YD;WHTMr1?;e%g&)4Q+pr@aW#$tC}@G;pm=kNRsqGv<(^Be7%^f*)O z>N91ugDg7#`Mv05o3rt;p+i4E8wav>Fc81yt!MfES!4HBy}JauU*GlH1My+=p&;td z`SRq0FU_m9d0xc>kN7$7XylDdKCjxdetB?FKrdQ$v+ZPXdvIG&`}Slk77vVYYkVK` zwKH>av^zJtW!%K^@-29rS$Ws!;yb&=ySmA==3LRgGqS|GHtOd#?%G1%-q6y=_XB|( zk`H1GWY@pS)uS16L&lqv8+J7}@-WJMc;@~+S-DobHwS2s2jo?*^ZE4Pae*AbQ-h_bNNf zGwK^Gx0cx23O)4440wgS$d)s`*vf(6JmHg*cLQr^Sg}y>h7vwN6@;G13cE~SL^2NV=F(@qkVQc zJG--qhVOXn`&_QaR~|abvu6d*rP(KMZ}#x^p6z?&&a9DlV%p=Q8s8q=66_Dybz9IF zWVo#3o(1>k6%j%Ydl!NBjNm|UFc3G8+b2w8J~X$F%~<10?*j7nMXvaXb!`@pwSX-A z^k2CJowLDyH2b%pk+YqFGsUKp!PS9URx8$8Q*1gAIclFBTjlTIK!fK{=Hkz{(U+Z> z*S-g>u+JH_-&n6_yg%Uo#leFD=LG!SB6_(}7kK5dIlu$<G- zUzpQB(p{f9JjPYv#Lx-e>m2?yAIP9=F;yuGePyq*p%W ziHrwN@jpM~`gk(qoq-tfYm~(=I@HZW{*n6GU;Q8VPtgC+E%dYP>J@wP;XeKU>vJY9 zpZ1(ldxrwGdT-Ae`IlER)Zp_1e9n09BDLT-^UOeP*c+cS?q#(_PVWWs)RWq_ueR-P z^{nZ>TD-Ssja;I8Oh6C0{7~ooCQH3L$9>lD1)Z8!|JQ_(eQe`XZRZ<4GL8hEq0XSS zGd*ucx=TY#$HSrn-~U_Bm}?`S9=y=I*pF?8NE`SWMu#CMl*AeJu=8tV*~@w_hmbqSDjC!cuV8rdh)H`e0U z_XoNklYQ!I)4Ma)dJf)@&C3G)2>%wsI3LH^TFM)9^;FwpFYi{vpQd&Cxg7@B^7^jg`N%{`HybN4#}dJ!topt2ry7P8huzdvA`)*AWojKxzw;-RzoxRezrV0(4Q^% zRsDQh1+rGHTf=`Oa9_MA&?@h)j8}oYRqNKY%Ja;Y%YTuW%E3I3ITFj*_Z*n-3e?*6 zX^&lM$K10~z8^j12>mFt`Bp=6TDjh|*iMGHvR94N?&~MJ#cyu+eX@p6ydD#}k#8~a&CddV+1)efj$sxX$8&3q z+{4+B^HKM{%foz@Yp?f{pAE^5S!NGvf%{3k5u<2>b^^L#h&U5+8CU}k*Up1_~ zd>Gr)%5OgIe|zSYwN*dzzd4iVPcq0k8}MgU9X%-P_G+70jCnN|gNvu$cn&!xLk+z& z80U-3x6&>CVlBSz4t?vGUU%eJKhMg1w3VHsU8CJ|8#^CuJ3h&;?T?+!$-li+o(SZ{Sd%a3>#-MX zd^VV$FL!s(6hGjp!6nlee`OqxjQMkA&qQ}LeYQ8hbMZ3;x_m#OhV}(?tq1H=Q**s! zkWU|3_~)P5-I2}pWf{*Q9^=}4zLtIdk;B)1#x|yV5onDeJID2p$=n_3F4Af%+xz_o z+bb6hetf%wn*;jALYvbqma7~3*{aRsz;=4aSeV}%#A2k$bW=`sIODs58v`|TN1(}- zHm5t8HU6UK6JOn7bR7%4r@@A{ze?OmXbb_C?&uS`1C7W&f4 znf$ERIo7h6WSj^Y( zS!df#!50SjrAq_HJ9& z)>>#jD$u&FR;}wba@eA8p03UKM4%?=)XIKJKC7LajkZ$T}?dHYk41#v3F5A_+Wp18q;AcE^5yH_F$|bezA#ua@FADQWWf` zW2`~E>Tu4F?y?xj_agxrk3UNp>;iSz*zln;=_GSsK>l2JZO31pwT#O%`deM)X)MRs zkH6b`ICAid8=0E3y?Z&@&>_a^#oLzmEq3VVkOQ%H{(YX%js>p?>c9P?!PNnq$l}K$ z(Aa^tveu_HeD0sdfDh~?<76N%KIe+vl>whLzSz^~`N#OeCXFw525h1C;enr%>`hO$ zdq;geC_tn6bNl?^Gu!dW3Hn8#$(6Z%cfg?lfBu=@&372Jzb7F7ia?#LiqTj*A=%8^ zV>6yZ{vHz0B~H$yFPrc~>AG`n7=H#`4(p z43{-6U!$xOnWHC%k8*3=^DQoP&F=(uu(kg7d1oEOlr0*5@>YG;O2l#vPb*bFv>5#8ZyQ!p7QBF6&KB%e7exG0WJA_!iz?2j_c^Xt35k?V~kE* z=d##lt?w+|uU&G}wd&8(=JQwGCk)Fr%AvP;6=U|=XV<5ux34xD7wc-)dg(5m=B1PK zLjjxr&2Zi?$(;Z4q=wf6v~;o=kM{D3XZ&-&WbX-D+s;Uz2gYPLleYz8$XE2<$!-X& zk-={C=5+Ew&d`-B-W@Ja2+<$>T}AkQa)e@g8i2|t_2W#d1k&iMZS^*WOi zK0532)?6CPrIzpAv<=4;Gng;=!KLul3AZ zU+g>?xbwuRb8FsH)EPhc?cJEHBf&ggYyf+WQOK9Px2C^45UYm<;;g1i=g!*|$Pv9S z3)H*&1I?=EmHWx_3ypd|9BAX`E4HYc`o<4>>-&z3!8(0tz0@;-a^9e8d=2<-0-I)4Y?AQ!!=~%DfCG%r;Y~)AYdal=SUH<$$9KX^mvnNxYR}q-@{YF_`eSF1Y5#`Ve*dn!-B~{rXnvZNnmXmL+O@tOkSQmtWG=F0(d3_*8TG!Pn{b29>fDP>7 z$BAhy_n$tE#iHkGk@2=*e?b3Ok9a?nGd1#(*}H*1&}YOVQ=q(3BfGAP0=}sww%!)h=jLx*BV!S0 zi{<|}d}5ot)$jF;#fdEbk^Reqf9mtf0H21AJsN%Ty)PJjC0}E&cxy+3-u-Hh-}cF6 zL*O9CAnRoTeR8bPr*;kn{QueE462X%NM7TE=N{iKTz-GTmj_Hxe;toKn$l&s)ZJQW zJj6|`YyarW`mmniX1v+ic=z)I8TIp$jO*tjV~t*U*Vv?1)`IFKvpmgf^)&wY8lO46 zdbY1-YRis{N4iDk8oIFt4`lAHkw37{zuvcOC-=JGX-Qt+U3%vBW_^3$`BPcVotRt{ znAb0K0-Er?9_Me_H-OZ76T$^@gOxG{a_1emECv7lUX}I@SJleJ~PnRF8|i#m+Y?bjX&}$ zcG@cfwyO`VaX{1ff5#C2OR`SJO~LPGy?)cT7O+RXnA=-5SEq8+d!V#pdrJZC0xS8UPl+UPdp_q5D?K0lORZ1iWsNE6acIqbUBLYmyPzS!6L zxh!L`LR+8NW<2_{$Xp|X52a~b#LC*Xz_@hAz0-_WJ=fGeUb(m=I1)TCU;{bok}d4S z?@px0eK7wS+WFIZpOf{u=it8CXNMRp0ITK&H)quNa)KQ)8 zKDM9}yWWLQ&G=D)R)6W07j_&9#L2&_LMMYYp_7<}CPbV?7XOJc~d(8(zMOH@&w6;w&C~o}X`Y^@s0#S_E3{YOlul zdqc1%=)Fz8^QgHS%+~^W9q-?#W={W@Z@#iqBl~zT?px!(oZJ+s9ZeqPL`{>+zx9A_ z{%g%Onf6+*WZ<*UZu^%7Y@^FMn)21pEG_e4e@9R{Jzh1rv|~CuYTA5va59j~MWBt( zIsUJ*4}JZw?evhxXZsra*o~$?vrv<2a9_X%aiQlxa4--fz~h~nEHTl~*TjAmf0m~j zUt9iLfoqvx9+10H`)kX;C(!ye(>gop&|e+!g`IZ<8e28`@Ui)5;B4sG_T=EwfN%0Q z>U%)ufY&-b{}g>}9QBZOYrxMl#iaj^ntVC4Y$^SE#;j^(2E?8w-e*T@;|8sk;DwF#|Oo3^5z+r*!_9&&1v_|Tz05s**z`Y;~- zvEF+E9lzB-J>y>O9C^|A+!!ATt_z+OA&qT6i(Z*^wRLT9Yxe08lkPXxSz6jd&ZmZm zEhF9D%(n+*T@sMP{zJjG;7^9w7e7y94&z64WNXvz1JDm)QB9sxs;?8R+QmIkYCudxF*(xop=w z-`GTU<*l;m-t6&w;eUNmBVx1`X!Kkgct?FudbHX%zvI-Yho|rNh&`9;;ZT6?*HR1Y z>)dDGasKt0i_xcLvHJ1t3dm7M)yePw7M=FRXk349);rJEIUkoV`t|7O#`}fQrDn`E ze~0=wzj2z6a-I@79XgmxqZDFp;s=@ z{7U40*l(OV^{K(D-g)Yj+{kr(`;Gj&FJy?JXXxSd$Ai(o9}CSmf5UA4lFae<{kL|H zK8)j4wAT9EKaz1}$g%pNe~jlpi_R=9{q~;V49J}f@ z!%kp78=K3ok3Ms8sBfjwcU?Tp#X-+sy}N)cHh;n-%iOv7`M=$`n>+uk%;~Bu{Pk;T zckIm4rjF6SxlZ#31Z0c#kN(Z+^?x#JjsG~NpIkA+OYa-Pd%-kk_j=}~k^j-ge>>S| z9lxCa)(1EIGROZjnTu2B-R^#T5o+pHdoz?T0L9Y1pKH}rf z>{)C6uAKPj{;R(}-M)8aKE?^3xxTn`8jDTiBM)zx;!~TxI4tUO(^6oPXVaXXf%u z-x!Dgnf0E}-4ng|d~4RxHfPQoS@ynW+8gD6N!G^teEe+wF`1*UuEwl+bq?uktS+DC z2d4g^>BU68>ABDEojP^XyHB0^l7LNkpBU7}5B$~X@pxC}^ZdAX@Oj75`z)$&ey*D4 z-X+N05geGw{qy`|ta!#+`SGlc^Zz>0v~JMX&evyejN8*EUNnuxgC}~v-#`1}XkWhc z&Y_;YJx88DClVXAVXwZ=ecd(f<3lITdhbd4=LVI@&dYxP^yh|H@r7-_@)sMi@MjaO z(fx*LP3?E>)ma;TesboXZ_XXx*d%^xrFM%wds-(4r+IU9^)!Fj)IWOaZ%a=vxxez~ zr|0EIGQTkEeU?-Q-E`s8i@*MwsaFr?p56NA1!(a-aHiuu`9~|z^tu1!iB`?NEqh}e zJ}+~3wpct*K-0_%zI3doAHP#RYxi+M3%rt$)hYf9lk~ zcKdxOF zpXeXg{#Dk<*8cgVldW_d4rcF@r?`l>goe{oV~fD$8BLM|)4np7_@1W7C{HwSjChYnw6nysE!s z>Mxu6Cr$lR)02z;aqrpCgWmbGPXFGlSI=A?AJI7{-<~fTS_h3)V^}`-1Nkou@OcOL z((qX;Z{t{7=RDpEE}VGwX3X~SE;VnRR>sb((eZIpfA!S&KJ|IX{-dV;;MCtT^$(r; z@~hcZ@;+%=@A-YgG=Jh2>(89lUorK)hn_Q=s}=fQH1#i@dS~7GOQ-(Jr~VtK{=26B zEmQyBr~a)||AXn>vvQ%Szt;!e+13-tr=r>&WAsgH6{4pOJmK#(g%sLo4Ity~w!j3^M3=-o5NU{|x({ZETaT2d3xK z3o>qw#`Vw4x>$|A?9JTgk{tnCUU&vw_Fr^{{do?b7W#AZRF;!VgPnmhcPw~%@L9oY zg0BeP7<^Ok9l`emKOVd-`1OF^&)Pz7^Yr2~>>moh_O|IerOy3XS9gbc61SH`#z&@C zQ~JhLzQsu$iIZC7gSx>Rw#|AZTW!1{vRj{(gP$yYZFud>rq7?*^w}SRP3%_ZmHnK^ z3j5~ydCFuH+xh#_Y|0HE^tF?X^_M*U&SgJhCi_7%*`M6b zy3adHy4%l^?q&BvCywkFD|Ws-^y*7o=Xa$VXk5{L{=LYq%r7`gx-UEfUC*g|kPSBk z?9_*C`SVnDu01sne`oL&*>r!JZx8r8o)>d<#Mai6-@Wjjus6WxIX~)W13vok^*r|M z=*4d?hkbK7Vh<;S@;okMy0-`JxkG`LSMAf@PxF=FY4h)%&3`K2jj|oTnB6qZ*((P3 z3p`8d(L77}>sk8B#LctxM`A#2CIj4&xY&lbuqW2y+0Ma?z{>+Fe0yvqwK3&lG;p!T;K;9>`&rF*)d)!)r3$6L^=cFX%Ni z?DsnWY%o`6bdmL{2qFuOpJ(9P72F!!9iSCojeL#&i-7HF;8?&mF=2u4JvzGi zMiv`2YxK=yLFXR?=-7KtEH?gr3VD#j+k^i&jm_7B*0jF%@NW@l)oIMe#!-J`z#jJZ zobt__P5frl9f5`x)EhswR|Pi(e1r!vkvjx z6^wG(duO1LiRM|suLidT{Cr$Mp7G-Ywrb4{f9#FC=3CL1PhVf?J{sto2Q|VzJ{j|e z9g9Gd8+p|5(l?KjwRx?&4=RgndAcUp6VP8 z2I6xjANafow5@!oFKSsWk?CBBwf9P6v1$E|wINn>pV>=R{ca7kx2`oeV;qdd2S zw!DM9?+*AS7W^H(W8Un|^CtGq86KYz z=wW-;>8PJ%l0z5z#&)cg#&^`++|KV4XP|nVn}-JUThnUCTE^@+FPO(lOnnb4u41)S zp4PKhUou?!a56o6L9X@&eBBXL58dFLeBCrYlKviD8+pR}y1=`@OQ-P{r`N;{%Hz-d z@*O;*JJ!?h9O~f}!MQ=tj#!e#@17gyWN(0;j>`kG)CyX$Ezs@^(2hA0YktjZgpTHD zk+IfX7?aNyymZnnA7W^3-~C`*UpguJl&1u&ocmE`xy$1tz z0b88`v0#s0U1)3i_F7Oq#&bQ+z+(eC$!R^SG&_^{xR6n^Vrgc8g<2T+-S7l!gd`|G5@651YZPH)e>}R_*G2+9HK(mHkEYP?&&4g2ylLUS%wtsVASKNeVTPOPs7;==|F&#r)9YDDa>2<)$p(|wn* zQ9oiNUOpoj1HDHBF{%C=Gp1XN?jLBc3dZ@J%hipuO~wsD*VxopiRFAQKK9vcU#-mP zYnR-J$-@Hg7;1)X^W4niv{54)|86Va!QDijc#^M~^Ign$1$23S^QXEpoSujG$a9Xi zl1El^g7;`J>cC5HboTUB z-rECt=DYkfj?VX5pts(*IamB3n~!v>&Hfn>>*TQq=#+nB_2#ZP8sIw|$cww1Og6|H zefa3t?h5L&J!s76V@K`Ab7(@krQPaLoWzHGHn7=yRpWGj^PoL@_5|XlX7Q|w8{b+N z=ti4coRv}Y^X=7$5VWARy7ND~Kf)6h2#<*(m(p*F~~m{xylXOT5_={54jVSO6Y z-8`!;5XW5s8T8AU`|HY}G4$OOxkm!eXg!)e0sb2Uv{wXjpl#Iq>9r!StrPuvz(#gx zm8)mV3xYg0mOrQH8D|H3+2M?6hXXQtCfUWl;{o|>n)^*YnZCCnOZ;~S$&pY;3I9 ze`TPaSJjof`0}7}Uq!>NRnOTmU*gZNGs*KTK&qltJb4ySg=wnCY*mniKotWs> z(rb4GwHZB#D_TCUdd9HBeZ&qiq|awV^z6BR;5-}+_@sYX(7W3n^n7&QS~!`#))!gi z%2~&UGiHDD%?|Zl9y-+yAGFp^`^L)tb%EN!Gsel@{(x-lu3#Rg@%*bfb@H4*4B5-> z)>mslp2bKk)TlY#jUgZHt2?+lAosojpV`E=>L3HI3HAhHKqfl$=#BRo416UQ2%C4~GKbbW(0qz93)#%taO*%%iFCdFd z^0Y_icjpgn4A050nQs2RYIQy{`(GD)dH#$7o5=G_y*d5yfSU6EV))1T{idJM(^r4~ zRpfk2uw&vK_x>pB_sO3FvFFT>d*7V(9}29oO}ij}4(4&eO#%7r;McF`&-sjY{7B~R zhdzh9zL8K(jW=`sOWU&E;GeKDM$4o*x_2E$gA{Y`#6~V@}Y%X$#t4 zp4Qcuv+JG^D?MNM?+iRFHp(|Wjr-q+_h5>UeEewby*X=m$*``!c#)v z#gA2Y)#1>R>G^hUvdGV#6}4dfMZq1xR|Wqmcu(-~K#gl`+#Mm_DRxe}$v6^RZ7(o) z{@t@|boS`7Cr|E#lYu>Q#bsyU4kZ7>Ciy!)1o;Wymh#1OXHfYc$e8_q5;U&&X1|*W2=dsvO5Q^Td9OZ$JU)&7dQOoS7nf&8-8BcTx8~A$;lJ3g zIxp^$l;Gw)`Oz6K0?o5syDRAZNvFK4aXQ&0KXTw1%PxCrzo<>#L3Rf0CvPoa+l>Jm z$l*)RE_+AV8|NKodGi@8R?Z2XzMEw)o1Pl*jqU98?y=RG7At(MuhuPkI`52v`ZTXw zF=?#$HlK^Pcc(9o46^vN2sH5?dBw!O7{ema#(U9uQIp#Kz+98F1Hr+7oW_^kem`04 z>3?;`>fQRP-11D)~7XR{m~iYCB{16Ui-hK>g7;5-ve;(sn*#ji_^0w-8vovjy=)ri?#@_#=p%D0 zAXDGD(?1cc1&aWw3G-|x?^yv-6ZXyL-jX@;FAd0NhdpX#5unO6hj$|oAN>~w?v2X> z`+Gl}On(s|^(3$3oIKPAHZ>RP>9hUzpgz~8Or4cko7jQ(y1>51W>veH^|jznrRL~# zuI%3k_~IPx4dh3@*f;OLEpuwSYxDMa)(!@0qcJ&`{afLCDC=S;j*EbwS|kq6M)T2_ zwbtwt>qRi%$42_e*s1ovc-lu!YyWixmq8R_53r z>j__Z+8)o`!9ae*e=FFjUf9xgKAi~`!Jes2^GT@}`2ae5UbODn0|CE$j$yw#buaTz zOvTRc1hM~?z!|isd+$u&eJ|HH2I9c~HwR+OH+%7{1?aw@?+ObOp(6p_qrtI2T|71T z+6Zgi(YYCr_cPNSG1?}+R|kBk9K101eUUjd_nnTp?`#=;Uu29v*}ngo!FPVM;~xxu z*REB5TZ4#L*7hPTG8T(>7=+}@=f_(U2z`0FB-jenr~Lc#K5GYpMS$c>TpMS)JmXIV z^0f$%TAI(@n>leF&*j04<)5C)TuYx0vA0&6*=Mcu?@XV5JnZI!eV-e|t>t~9KGg-C z}J< zaJJ=v?I(jpfW(Eaajv$Lx61b0Gv9iYS9OET?+a3zXYc-=TfXQ!7h@}Sn}M9Yc*Q$L z>xS)oP(%EZ6aKf}#Grk4zcWB=LGRdZ&eqS7jOo57XrB)K`nIZnH0#HLT>+8@ezVJ* zJ^CY`d3ECqo($@9y33!XZJgbkYnkJRIH?1zy?E?Z=W_B;c;!W`>_Kwhd>lyM+7koz z;ThM&-Q6Ld&3DXO+V1l%+wAwuLS%cVxHd44w{kn*T#7j!cbr(y{oyP5>=CP-)*F+y zt*iRRe>OCJ+BuK9!J|IO8SAui>PydAnn1xdAK-e?WrXsH-){M0a^L=D=YtgM)#A41x@>F8PED;?fbCWbO_=H?UXi*l&-xkg09V@R+l{ z9*`qmVqw0qx86P4`B^zL@#CAzBZE$HQ(t0)1a2zAm6gpUrT2V80lOx4nEh8Hj^+oU80{-o3FNG_GT= zUY&V<{BQAtpT6VT3Z4}p^4M2-`dvGb{#qaxKgJJ5 zcXi!2>2hXvsvq$bM^FR&bQjznxI?;jI{mJRAOE`6TI)L7$+d^=eaGw`Yx6zkHUo4^ zzOStR_|&&CA37EXwQ@K(5Lj>Qv~2I4BOZSvfBx7#-a|G5el%xC(zj2Jz9DhzIK$;V zgm2`PKh(R}*>)B@i^#q)cz5JjXFuKZ@2|}t4UPqD1od3>*^2MOvuEp}%$Y~{M)_hw zR%Nr>SbW)?Uyrr?vsicd#rYq<-BbI5p68A9#o+qjrr_4V`TfE`jJ`3x<^Rj?wB^;@ zpIz)l$ob!A>-;hWM87wUK|uourAL389za9)9oRkF$amK8F^?pvq%>aT3_E1PaI zzHNmJcM-d;4Ak@@K|<9RHc1df$;gl8156 zS7wYy9BP|5AaiW(9x){Mivl#)Kj-@s;gLgpV%lf)B7L-2{&$*5KtU~((^)sLA z`4Bhp=9@c1dv|bcz*o-YcOWg9^Ek7Yo~@v@n(oST!H4?nj$RA2 z-AhhmrH^h2#Ep%ogGGSol4JHA3z~C$>~@}e5AeUS8t3uW|F+xqJ@OHs6XA2Hzj5v_ z&&C-}{yp*$w`Knv_Rr_WvHk35uGxBJ#&UfsaG%P-fj|!58ld`HUNz}{l;6Dpy<$Md zB0%ylCT$n#qkDtSRqkz>TMy)c-n)XefUV`JZno1?KN?TA16yG1cW&Npg|E+=d(!XO zU<17g@dNT#TOOBrF=C6FITQ3;s2jvSaoRKpeeUpHq%Q0y&v`o($U%J*AMv!V{=^x7 z>&ZG_=IcAf_F#C$mVfoJEqmpuWAXU@05!JXoBsL0o{`7?=7^o1Q=X;#oY&cVGPgUx zUta#><@0<_T*vyuyQ==!)L1RjM~zYA=M3DI`Sn1IpSI*e|rM5TElIRWKNzt z<^zA##7-?9{<8a`;I*;cGlU&%lb@r(u>cRSPyAaS$I~CdhH<>AAC{#YGTeS^`S1P- z@=R}Y+UE|PbKR}Yv8Df9<9o6$R{Y&s(Pzu(bB4>hW0U$5n|B82%I)UtcR=!D|LNdN z&>FPYe4oEvQ`_v|bN9R@efG(7ZPl+$0{%Y@?`i_hzw!?v!QuU&i72fEtV zRz~GoALnk&_%FujMcR)BJ}ZADP)nNuTmNdFRhLfVG>`bo+4w}pBmWQNjEwxBGX1^i z%KOjx`_tC13CKs^o8Ol{jz2HIzumkX%AL4XrZ_!5e}BE>3?K2{{Jr{d{My<0von^P z+VH6vd;Z9A<%=;r=Dk;|JLJB=r#8MlLOc_HF~Mz2`S6GR?Ogt09RA?PA?3RKe$Rb+ zGT3h-q<=%;EV~~)f1RlV0eWI!k2~7EekgDsA#3(qdrB~u>2pNq+^zK3)46f~@yu8D z(e#f6y8?voL_p7z1N*Jfxs%Q1zdk(Vt_7(6?n|E>RNL4~*CMF@d}p_{+L!KwbRW)K zb=WiKr*}R_*JlL$x+17Oc;#dJJ>XN9_mKM=KO5Yc{CY;P2yP9&FnD3$E`R+rPV*pt z-D9t`5aPG{u`$W@y8Ia{Jf4fFYwln6S$jc%y5_#_+Gj0S?q74ycJ0J$&HdUnz92IB z)_Jiedj%-xko(*&5Q(KP{6D^K)M^wS1qW+qzbs z#`>;*>Tr~MbH?);$7`;(vU|?MR%e;5PYue;ubs{~-aP^P#JTzL@1C#n3I9cbJULhX zjQrEm0y%s{_07*4&gHx$>)sbo`9|G8vcsNLxo6KMLG9PFt@q9t6Ypz{v-o_+W%r+3 zcHABOcA!>TTjaaPL2QtpPpnVwzcHsHU;e3!2k^0pZSDlI+6u&iU-ty9X*}#!%k=X} zF4?qG9!Gw4&Cj&}S-Un+SFH(sdgO3Bi`)8*niGE2PkuF~r_yJWb?wE0HNK2~v9~^@ zd)5vsI5>^nRn`%|Jpbpi z(xoZtxvYgqLYag5O@`-=Vow=(6#0I?e<*%*q1;6~F@;4szkGdY6F=|>rs$N#jjj<&gk$tYZvEI6K zvtBff?YVr~n`SAeXNHZ)UUPWW7h=P?_zq`%Pp}n?KB`~-t6w%WU;Mlwu+C;fjO@Xie*)-Z`_q#5YXKssdyMfK z_dI<0in!R%X0&Sms0&YHKI;FVh0yu-)Ad73&U4=f-#hWJ|KZ#R-#+Ybe8)IEZABbx zaqceU-udcD&)n~uGv7S$`O7Chu^a7?zm&(>JQ<@4wd1wh+s@vxl{4CbrRQg~ZTlI! zosYR~_FSkfVu428V$kQnye9w2@LhDDpZJ|;)Ox!-{Z)S9J&Z9#_YJ{%fY+L{jk;Dj z)~;Nx++VlzyBp8=E;z=Gt!SS6`bYo#?mv_{Ie0>#@2*1jxF^RsciKjP|Kgy&^XK|t9*ayZ@7eAV*HPZ-j92-9kB+^;sN?>7_>s%+ z0>#RHJnsI!JG?S|Ha$1EJupV*#9_RLo^K)4HSf6O$s-$3*YeKCbif3{6+R&q(*|^EUsy;sxufJoP-+bw%drdUP=NYo~W`{Fek{ z4Q9CXtMa@{j=D}~yy{%~u8F+Xa=Oc$8E-!mE?(ZjYRsQ2k#Q`T*ZX*mdJog-u9O=; zPfO;30Nosn_ox^l_0oA`Id(RBmj2O-_^b8t9u}89!TIW~zO!kJmHKcN#AU3T?RY%! z=kYHK4{Dv~p94O7XSB|(k20P6xjy-)kG$3anPVR0fS>A;JoU5)wgNGDR)A{DKOAh4 z10*Nn)9*aamlwH4WX|)_G2QC{BA*ZVwcZ;Vqw?>X)@w)eBxk66av+A}&+n7`^OR@f zOy2zNYCJcxHpZHL^K+oa#F?#PjM!hkwe+_F@n#QNB}Y!&Px9!j@C%VO&!ZeVtG@HN zDWDsXD=z$<-)Z7-cYw&mM{eV{U7ruUt7=2#`gaL8vq#MSar$!|nSRjOJYh0KXLDmL zZfqE3?(|vPa~#>z`mmP`2P}kE+4v0)(Z(ycMLa-$>raeOZRa~*+$-WEuIH*f{PX&1 zo)2XWS{G_S?$y9!0`k!VYhe4&`|**B>bv@z=Y)M^p}F0C#y1!CS0|bEnT%C_)YfBJ zpZg(x{P3MeWzsKi;?+62#d2!c;IDIuYKyzf zUOqZgs4}!{tL)lpOy{n^K6Y$P{qYXCIdk1#{!A_Xs_mN@kA8`J?~bu9F3CJ!FAr)@ z?R0i`!B%V@~M*rAdFfOIyvY^2z!r%bh;z*}j+kDa8HHLUl!6pTnNr>d6^d3sB>TXOyS5 z*z9w_X!9S*cw3jBp4h&J$Rqo?!HWVU?sSizZ*H{^V%Pn0wryq?sy+Vfuz6`NDzhl~?x%>el`8*y>Rsnw0Z`Xlp)3+urj4{i%y8GJ$TUxWV{d}@9d8Y+;BN)L z6WkuVK0kOz;4C?(&Wo0<<5<3p-33}Tsui1?g4PS)#iG9dNMx(Cj{jl)e$Y7n$=Uda zXX6jd#@{m=zkfFV_SyKov+=uU1^w`Sv4%*MCR#?POP zZ<&o3v+>hs3zR~av+ z_SsYGIcMH;Qu|p``<$tL-qb#SYF{|DFPd7<68k(Gv@e_5JE!&)Q+xN+zG`Y;Gqv|j z?Q5s@%+$VqYTq!mZ=BjMnA$H)%O`#!_q4ved6)40rstFX(*k+a7pHzk5G#2#|J0zL zfv!(qp3NT*`q{g&RwLGYXT)dc-nhA`4NscZYlrtJ{I%tpXYjhtf^V!)}CjdvFEdOwQSrP^$udZKd`RGjn@O?ejn)jRpZA8 z)?4%aZqnx+>&}Gro(=QH_^jJ!OpYdjJqPl}S2oB2HhnT$`)Z+eFV3xbKDFMh%LyCVB_2pV*n;$T zEqj01|HC+Z;%dO1Xen}2q5a9XT z;Elnb4&D{KC;09Fi4mLTu~=jdy(DjG5y^0hxu zXYM;Z?+j3RE>2&*##+>03-EtQfXXlCl}SFH&ks;}#Hc(MrH|*e0m9??(slZ+-yNW? z&ux+ec3l#TKEE(yRNeAe*?ZF`TTT%kGCU{Ep9oO*uBX2l>``o_-< zP<^Q!wmI{oz2jc?_D&$@c>!XR^MdHN#-{S}kslp5PIF)St~B~`efG`kiu}e=+^!2Y zgI&Qduc#mT@r$7txp#b1DG!%SbMC0EK%V)3&(wE+AokN`&)gm|)e&k;$oK%{^kx*gG%X^4q=^zdY*q9H~XT zNZrU8c|Kc+8@rHw@>JiiNnc(U0UC2}zub&@rJFr`JQmD-WY6i@x*U)pXJWtxKC*$` zd`6>gKDdwQVjtfsH(zx==uRUa@2a|FbA4%^)Qfrcc+X~&n9psh9rk+{5lb;a)~*e# zkyks}!QSm>?e=%?&KPRk52rt`S3a;qY`Z?z51DLU1V}CJ4%D=oLiUqG&mvHx*0rr& z>*M`l{Ja2_XY|c|&Tl>p0Cn#?2WoXK!25~-kxS2U4ayL&&`BbSKnbds+=@$==PV9faq86!IIR_VJ@0)N-+B<^R2450^U}lSF>bvV9yi#w zs$LtTRrQL$zAw^umyGw~?m_nG>t^^Y9or!{y`%Be|NZIDZLrP;el4ax{cC|3{@VbJ zb<`NtuM=5k8-AYwklc6On*H{PVg2oTb8VfBpA1m#p67xOWZ?b50Fi&8v9CR~V{R9} z+{NR$`j(6lKe}(six@8g?}Y5TFF@zxcfaF*7v@l(3!@HmdjfWk@ntvv%gbi^=I^E6 z3F-K}0CkV}j_+ptv7esifM4SAn1GDFPmFf#l;`HxpHbL*TYwsq&GdH#eHr z2t2Fs$}b`dPi>@+96Xl<;(*6^Z5X!(>5;eVgL$m@+q&U%>*b-oPh36ixhn0U;GzK0 zNAFk@&f4~8g6+Qxr!HO)Jbh|+r)5uTh|f<9#D&l3#CEfMF7KK8eD66{FJizKpnsIp zypD5~y$G*Zjym{rE_vR^7s0B1nO^3lw#jE@oy$k|;G5ggd|LBPRsZ?e_nX$#B6A2I z+mKjp1af>yus>j1W8{5hGr;eeKd%+CogcQ#uU4I$40=w|eSn_zj1L91wfSU&XJKt1 zV^w|9SzYX;^F)9~S>%j*$ft8|bK}(78126({AeCCwN0Mq>}c=(^}PKvKWfkVv4Ahn z3+@WGg4YFK7JN{;Uul=L*l~2dF&# zdvkc!0z9t`5FY;R6vrE;b^e|!mSoFAYnP7O0#rNbY2AJOin=31ZtPWO$X+p~-}=RY z^&0~*v2N`7hU$;{o!8WOC$NRgv7X6StD_Ij3aStE&(Di}YK9&2yPUjL{Pg1&Go;U- z>Ym#^KMz-hSI!Ou<9Tpae2-zRK5EaE-`Y4n=g*aE@b7Ook{X>EM$Qs#XlEVhIu^spAp9%AxX-$i2^M~VeZ8pzl_MufgjiDCNGwMH_ z@!U3Nk8OOdZDikXHyWQ{tVezD=*t-+3_<$zh}RYdZ7== zkJy|FS`U1(-tmd_*8=vcZ#3>JzxIxRzxZ1NWZe+3Q>^%g0C0MUvgLNXLsW-hxLQKwNbu%pVUUaky%^PUEbTR>#H+96zs7OQuBNzlMcQ; zxaPNiR?xb4FhrlYUmRRWonIM#B>&e3jU^w&tnb?7H!gf`?a^n?c!oZaacV5CiH>=k z8hf!E<0KB^X|A^NZ624NPdxOT2#_39w)>0TivncL=Mee1JQ(%fe-rIwl#_Q(O7#h$(R)KzPzcayr<6_B|ZppQqUe2y}mO;nle8SOOR z@gjZ1wzXiCQ@h#8-mcAk<@1=E#{b&Pk2N7a7xFBV%S!^e^p3YGm;Nl-JrC^ix#D2J zKYqR_@LlX1f-epbJLYGlW4_qOA3pQ_-T;}$H?LE%>zTSceN-KDUN*|ds7KuCc|m}z z_8Wy`=apM`(ztKbKPRT2;3w14hM*ixi2?ljxBSa#Zn&a zZ*9`knAg`u=DY{s6CWf7E1s)$PwK&Y*X^w+3Gm+!vtcg^g@y z8ynfiM!xiWI#Hx556M!*5LDgFa6;A zf~)g0c*ld!4&D;{MBw-6e}C}y{Jih41(zgv*9RX7F3!*VUK_k5_^ROF2cMcl>1Thx zG(YG2!QkHoFU_9?el&P|?D~u#<}CB3&gA(q!QQELK8?joi$_~NeYkvT-E+oQPOaD) z`yN>9PSmbX?SZL1IJJkTRt)jUfmZCa*G;Wl86Th88>aTgsda~1f5y~4b84L<^NXo{ z_SBx5TIUE4dk{O+M05FP5-)Yo@ek)8F&xJqn2o<@Hh%wX{Oz;xduQW!&&FRj8^3Ed ze%oyPCA0CLoQ+>U8*k0Vub7Q*pN*eC8{aY;FJ|MX&&J1R?ri*9v++k};}6fqzc3sB>}>qgv+P0|IOL>yJq9>oQ=PA zHh#}+{PnZ(*UrZ8n2o=5HvXd7_>Hsi>oRs{xG(v({?Bj`6L?k&%s59gOpEYc!8yMw0( ze<=?ty7%Ovdo->47e8casqd<^?nQgbb5Z(F3;uK_-Tj`CY`-|@{3X*oU#z_;*b3a$ z{=IkaF8c#|%#qDrbH3xWN5Asi%hf}_?}oo~vY%~a_qi4EOJ2_{@$rmDjf;08I$we@ zv=Q{#-p>c(Qn}>d|F#5%ZvFB5Z_hot$t98>X#9OyS7&@6z{@xB*&FcRI}%^%Tnjqy zOwn~FhV*^$Ove6<@6yA!@_#7c8@{ogPG`(l?cKr82W&RyeVJ`y2#WwMmjB(3*{$gx2@;AW ziDTyyinB8CjAQZ_0h;e&cjxrwVU(HSa-FYY!bUB-`HjrcxfZakbtG2m%lslhcWpOk z^G%j_k%uait&0FvR&(O}^4e)meO^Azi9z|EJI$pzYqx&a)d4v%efe+Z-kVkp&}|-{ zdNd|iE`K{{F2$ww+*q8++#*0~oX^fRIqGjN=laZ%LzfutN;}%5*7gSC_E79nQ~2qr zZT8l_RcF3)cZQG6V!)5i+fQy~EYe5T}@n0Q86H)if|z;{&sThc!i(CzHXz55uwbot-y z?@h(rT_fh?AU3lF@ynW4e#Ob!Djqu3MEU5R^SRU5$RD}k6Pe=uP2JxhJ<3CI}pZH(+8V>6)RU*@|4caQr<{try8__2xJ#&Xon7BOMc=#MhXOk0^32^9up4#Xc<Y3~d?C&kfS$aeO;Iq-ZS_nrXHT7W#C`aETa&jq)p)u&%v$=D3^e>8Tm zx#MriSnN7}ZN~I>{KAaIwc|y`;@k0)Gj@-6>^m~=BWkI0mris1?ws$_@QGpPer1}w zY?%9*%+Zgx`S)xxX1Dx3DPXfXyymW*`sUbYjviw$J~s8m&-myxzI+gPub;;1%lL+AtOkvpHS#W*#?F?p^JU%HHg?AtJ3GeC zo3YRNH&6X%q;+qZ|BT?&)PH8$-Z{t9N8-hYo<(zVIM)0R<@;r0eBvXP&h}d~e5ULW3Ze0#=?Rp;HgzmV^>JGSq~GR9ZEc;25mwy?u}@#ivT zhdUXK{o0M!-Y=W&{eq0;w6e}*Jl-v@oQ+RU@^zRL5k>-*@FZ`^(be zDM!v^;#oxwk~g~K{r#DIN!p){f}?4V1$>1&0%uNN9k4+SkYkN5#Ai4V zsKvh$24i*cg9);jS`+W`s-dfcy#eaHvwKOf6&wlF3UUXG^6*)!&19p^KtEsWF7y1- z<#^As_T|&vV~;b(*1sBC`Qr|89_p(zX3T%*W`Dp&{yUH3yc+&%5hDHv1N{7|EWUQH zKK}1I2R|KnzB@c>m9J#3k|!ox;S&pc{`v~JV~oT`F8SYl+V?%#$Hp=cl6#;3gtTK0)YE8>T&UgO2(0m~_oMheCJ;BV6;J+%f&4*p zu#vv?g3NH)Qm-}8wLivWo? z`<>(UK>RBAy7X)R>GbjPW$c@)+;o>bY-LOBpl@SZv)>**vSlq;1gLt|J-u>Uom%5F z0lD7aH`A^M;yl{VpSK5MNDk^4?^bXmz=znh2zCXXmm9Xp)qf8jYF>XSyklN}YuYQX z>=EB_{oiHmOn8p6RSX*6dB3rKba>{m>)IFxF<#|&V{#_zi=cj+=kv)xtj9VQH+W6p zUbSxAx_rHjA$FnWNNsKe?oqLPQqZ;MrY{Hd^?t*PP6h1Wwqg4_KCuIFX&l*3uJ~;Q z}RKVoe0ok`QPn(1aHUgTzRRywe-<_LFdV{hfHu6)jxLyzupms-D&y3PPuJ8 z+mBDK^ylrEyVfK-js$YU=aYdob~KLcI}oTZ`Pd4qi-DF-^A9BkVOz>4`%#pJDqFtE zW{+pNSn=&lP+J-gdRrTwht3Z-X!S8wBo)9ka*T-{(_paSD*d(y-Vy5eEgB$$$^OE7(8v=_JpZ z7;fkClI71isPpHq0QqFz66^_X51t*ct^03E-+t{J_-c#Ksvij0^@f1FFAdl)PV)7A zF|cdmA;#XB`6OO14%oC2+#URO(0hv<{jGqX)mItLV{2!WIDr zAMj1Q?D2W7GS0P!jossZTeW8=eQU#By2azF;EI48^4NI!thJ^_t%-g8P=6-^v{?Rk zTgLJ9*8_EgpWc3s;oFUYv#Q_c?&0+LMy7gk-_R=;a@lk4uE8@tPo9`Dd0M%c+a$hh zs66)T)2~l{Tecqz*iIL^FJK$HddIkf76Ec^i6egdXW?)5F7Y8@>)L=h^v^h<3xZK%m3crc7J^!3(1jp_!p(! zAM_qGrv?s8b87W(Mxl7C<;{RCe<)Bq z)6aLlYTecKpB}cfWt+PanP-1%Z#{jw#&}!jr`YUd?@l(4_WpYIvsa!j#9nr@k4@`= ze9Z0JpSd#uTX%}LdO4Tn0$$*zyBr@d&Jmy_mO4AhO>?-T>;=ZnES4r2`7l>L0B<3e+IefF#etMd0y z>Wf`P&&O!n3$xC)&WX!IIS)M-turxQ59s=2)mi<}@})Mr@6`Gy!VfjN9<1`C@!rb% zkw8v-=J;DN#`9MU76J0Ebu>5@s5=lVwd|c*%^nEUw|J{xHMR&4J6;|7a)CWV!$?ahM#P$^I%W!uGW=vD1M%ITT}naw1~{hgE6j^Rh#j#9i30d?(ond zZ~AuzY~`P4F8j#$EUfNymuI#0CNA`7PXyx17V$Jji{*c}WwtLL=)T}+ATMhH-{e3p z#jp8EcPW!xcSwFT=>R3+1No>g1KNGko**N#p zd&(j}W8Lk_80dJx)E8g1wEg~Z|L;+`I&h<3AXl{Qm(whcgzV*3%g8 z%QJ5*c4MsZ(*@R_60qTiBE0v*Xajz>;-w$|x%571;$4+zviRdOm@`P`OM(MI^F{tn z`T9FC;GyLF_#i|6_Xm9ZyV-xPIFIr8;q$~J;+DDa=brqkjvvXs{QvBCJ9nfnk8=2< zSvZoGuc&?Rg7%16?;bHgrvi7Q+VI`|Mq2Ueoks?{w}ST5J^LBbKD^Gvp@8mry`0V* z9elVwpqotRTHJmt#+|D+t_Tm?`N|Kz{&+h2V@-Y;;1jK;wTr(De<~o`-7YR-*ZB0_qK91tANfMxJwtzP%R94%?CYM^(WRMV3;IZGssGO6 zfj}PJHFU6je^5Ku(ifYbjLqjd7xwZQ?+4GrJGY&FI>|U0sIkT)qRz&GZ_e9KWs)9z zivXz&{+b019Y!v+}MkSyt1YJMf!-%^BjnM{k<~% z*2y?W_dko$#<2CwXL`ks&+3a_d997&?ax{GMn8RYRDRd!_~+qm-OY7~9Ub=5L6w%2f$_~2f^SDOuFNAljmr=KPWch-1uV>Fr zy1PdAzqkP1jWd7k{g>HWe@C0=@tW`Z#fQ1?U!7;){N5GwY+2g+OX;}NHiG7{YyWy$ zyE<#?y>i??(E9jr`0O#}ljnkW7J0rS;P+N=Wa`t?v+W((Gf>=qIYL&|Cf#bY`m<$O zTVmWe`;G*inLrM|4hHTm_H}>lSL5s*_p+<|=v8MQ?>_!}SM+@KT%e=%tG@X^x5GS} z-6iV*TkZ_RP@j#B`J2-hXY!H!I#cv40%w$be+Goa=)|&j|FeU<#WZ)<)ZUl2zKb~@ zyj%9!#s{|7hj~lqJ7T1GZv+p;$F1kRIUn^Ja<5y!)e@9(c zX8l<3%;2`*?%)doBrmQ1@%`2vg2aL?r>Fjjw1{4DKhwIaxPk@ZtFSg>+@rA}kP1GN9YTGI~V@;@EXV0B=Mc|%uuQ=DglEv1Q@xPso ze|0wgceC+FX5(L*jsN{HJ{tLIQ-0lVSz7wg&jjvF{v8O^S??x!bnf_XPwx#rZ3WJv z8dlq$QRW+yMf%A3UFd{X-D96b*GUpFZQv`zP2}|&xXALIpm!$ zH?>#%jt0kqRd$lMlbz!CaO`wveLQwL+aMNw2Dhg9dL)nA_8s+VfEBZH%i}(ZO#0lY#Fgw*-9H7in$zTYfb*^0ywa zq4$-2T~Buzhu)!{3F6fph{YHa^7tbE=ZjHTmUjzzHwM2R!xm{j8u&i= z)Hc`Z&3yUf&$#cFp6|wwn_AC$W8X_?)e>9Ogjl{dHvClZ=KLY*^YS|szb|-J{!+$Y z3Y;%{JUiLx%>0Y|g;_2XZ~QJHU&+F}&o7W%oaQnrn^l_0gH*=L-Yl zX9Z}qg z41P2AIH%w#k`l@BiZ$$tZJ{Ns7 z5F2O3yYGLTt=*ovwZOAb%_1`XQ~2tSnDKv=PX{y4r@aAR@X52bH6w0nguQgVJ9i%5 z?c8ktzWZOz7|fpx>}B^a2FP6Jn^X00q4_Moy>#*W?*-_=Iu0zKb%(Qd;Qwc^cP(J= zUkK0xfGjz}OO95&-w?=?xd+OB)bji_eiz!(PcHp04$y;j z{K1NM>*MNeb7%25f4tYSkH1$0`i*tZk@F@8?mTB^f6z5^?%R%gk32DR2LrhjQ{eSRT4mj_1zxqf-TFaE2Sdjo!WH{3`I zTfv<{_t5Q`Oy-*dHA%*1fc*Pn#^N9b?pn{)#>C#I1$4;UC`TOb3GC^9ckE38S?I3q z<^i7{#e_d(xy$Tfk3By%y}!LQeOboK27d5O{!a$xwQOjv)t9^(uZm4$W!?Q_FBzUY zU3+!{@J({u!H?{%9H1ToOl;l6$ACaX8YQwn+)}3?bK{c?v(+1*|K?ngZ;>yd{h?u76D@CI96YLZ=I)mw&wKlLhH~R`7obr&GBy| zSfy)M=8p!)0(~G$-mcrb{f@)#)*%_z{#l&7Ijx-X^@aekjsJ4&&$#VXJKBc|=YsCF zv|`Vmo-wizJ@T02v*fuot+?S|1V}vg1iJ!xwr4T*okj5>dsY7Jv7ZfF0l(=(`1x&a z5g@$wsH?^ZKcDfwED$I5q1t{vJ1Vz1+MT^H_miE7KlJmJopj2VcU5zvZO#_kyjwjf zVE=aBb}#QKG7nDk_O`Cw!&^b)aVC9`8+?lZnd_ZJwlhk`s=fElcw7JW$gy|A--+=z zrX^z$Aon2I=ES5q6<7DFyQQ(ir?!m6&|V~FjkB>B;K1{yWq-TY#qM-K4?p?mT+nfA zfWPOYXYWAf#9yrJH^$@cm7D#6JQ$NncKOHrT#J=PT38z4C_m zj<>eAm4Eu=|Nn}U_~{$v>x;`qzz%2K^MX8gaD7jAnP;&^bdqO3znU|0%-b)nTJdq` z?Mo|X*1KQ5xa;I-1Utv^s(x6`>LG7oA~gCh_FI9x>GSpFfp;%8BIaXVoSy39dlC$G z9tily&(`Xl>5DBHd^;MD&EGc%@`{(E*jeYsp@562r#o>FLwGDpuCSN4pbz zPcp92!LDP0zIcIH8Pnao?^JX6*~3Q981~C2xy}menmQVDU0=mOZJ%pQ)>^PfoK*0+2%PUh>=<>~Xu-j@e&2wEF_!l!QZ z$!1SurdI5`JNRfIW@3c8wn(4v?q5EuiB-91&2}F@*+HlM_F1EUT%-T0pwA%s7XdmG zm|q0Qm>qm_c5h3&9?-*f?N%V4hXV1CEA!-xd&PSr=(%}Z`jwmRa-TT8IUrkYi@SCa z@Pj-)@o!a3GW~!vr6$-y=aH#@V_Nkvo>MyTjj^CZ+{T>ZxjGPgbYIXqVXIh(*}YS% z4{Vheedh}n0a`5oyM4#@UKOjoLF1#I#dj@0rvmY??hIPrKh3=~?XE{W@ckoGXKPSw zn|pc?yFeV|U=bj5HwFCWpFGpc&-q?HkG$jA-kml3J14fIo+BCKL3}gDKgL#VHBWee zALD&_BIAvq`6jb5O!q-GWEB@g5_9@fuQZ&^P3dnd$4jGt^W#LwEWFMT@9 z;oHvDBbT*tAmf7G_S<^)wXc0_poS~o=U_6e9S_vYo&c3+eqUSP3dDOY@Q%RuyJr0i zm+x(2B2Hql5zsF-&8PUI=1<>x$MbyJ#|AvmeD=Pg@^m03;^FQ9 zXTY6-$k`p#Z++maT;Z4N%|QHrBkvvNP6qea$7Rd-s;8gC6Fh!b;ub;I1^*@+KRpV6 zIyj!>y*CikcLsFr4Yq}0$9gw2l&8gqNeCF`nyT(bDUr=H_$)87cxra1C}UCs_4YV-5br-$wIsBdx5 zlI8auKKQagort+J_IojcJiK3- zpwKNZX!ONg<+0nC4mG(Mpbri2wB-@A-9hVU?n~F{;)8uiJoM{}R_@ttjnDE+|3<); zaSxyP>5TAcl=Jp!&3^ZZeR%c9TCmP`>t7v+wOpAakA0hg`FF4IT|KdHlsO;Ib&}0q zxulnl#y#C-9^aCdy`IHrzTSEgQ+A#R)&lVpCvABegPSr(FLI|MeDt?Hp8kQL`m7m~ zMGsl>vp*33TLLoaWbc*1(}I2{Xuo~rji1T+-MhXH%Z&(o~`J*H=Ef>8$L2e<`pKok{L|C2t99{k?@RYaWy`@%@y*f$zSj{i zxzaj+zB~TPv~!R@&K;SJGhE84Usq-{tad&p_)tI|UU?@6FPokdpwZ8L8Sf3m?;U|Ss4Mcsfe&-p6T8Oa+VnR9aaaq`eL;P$zrAO)#{+wM z5AZ|2_{s);)CTz%AN=)WJ^kuW_iTLXkDMa%s4LCvxUt$IF~ z=bt*OO@BZARk8iy%zIDu`yBXiG7xh)*b3^0I$)zY@ntt1@~7Y2u$v$370X3{#JM@! zl|EhF*So=9F>iZ(;yYI!#HcoYvhtv&*hJTb@X}ex6H? zn2d5#n#-8=%o_Kz9KUW3v(LPnNfyV z{>p#d{(JHAK!=)Pw?13gCw_S8MQ_a>d~C+I5wMkR_k-N(L*-iU{m7=#4zYj1B$IBs z=#~%p+zP~-EcTFvN8i1vEgEb4>8U?->3>JS2l~n5 zlX%W$v!Cr^$98djPJmk5Y!jco0l&ug3v1${M#mQKiJ;Go)~q`LHKvt^fB$l2+a9{* zoxT4mKO4|^vX7l?<_|ezUrpjY8qhWJ-kR}R;GD3P&bG(X-w60)ot(`d)n8xn&|~i+V4F4f6gk$+(Fg1mH$L;rzS?&peew}q z^?Q+i#4X2UxmVN=IvJSL^7*Pj9@!;EN&+$V0!fgS?UF=U4FX zLF~zHF4(~bv0#Jvn`4I-ZVJQ;^=`sTo*aoAVlUgBGcxtvGm8Lu7dsjp3&afA@x^P~ zea|d0u$OG`yuCUgr+d{KxTBsi_33Ut*<2sl>)rT3fZseauYTx*#|NXIY*k~u$H{I@ zG*((N76B5IajoOynO_h1U|kKK4#-n`^j9~(#@rmr*dFnJM}Wjz?7nJh#d|Ag9ru2d z%W+;@@J>(#ES#!4SX?<+JFYR8QYiD~cKsN{X2J&Su|4s(=X;=Ez%q;?RB;bR! z_R~G<`@Zz)tsMu`mpk&mJdn#51*kmg#2!SKxb+=xk^cF>?vW?MrJTxdZIau$-WeT> zEgRV9`wetUAg_&)c(n$|fKLr0RSWDuL1UCkL*ZV7jw*}uC{7~=&v;LOYO6m#xHDsC zP%VfX9(${=^66sZCD}~(D7*XAwtdbDKTZXB`BypVF6Hcv9QXBH4qy3L{d8U$-t)y} zF8`05$Ii{jMgARR`Z~UI_&X(MGEc5Jq1x+gsdIkU-tK?)Ox}$TQ{L$RWe>rBaeCx= z_~b(zMN4yW!-^V`;{hvPQe?@eCJo-QFA?jBP{PjJ= z#}n^Qzd(Jj{5bVJ;R5yD{c-Ah;sxq^)p_*I&*oK;f4*m)yK%m6{XF}QX3w#}T>|dT z@!d7UW&P)M;}Q9q;$zkh1?s$et$}l*_3u58a@@Cb-mdS@n&-Yd9v?C$iw?3@>9huM z?<{YA^~D49I+Lhz@vch;o$h1z??!-51#H5reP@7rKktts_p=ze2M=USw|I|o-H97n zF#qDf^Xouh{$S?$Vr_gL(czxo3XTN)YP{+v`+Dz^p%z*X{vLsSe5qe@g!p40pWYhq z*w!$ahhoW@;96peFG4)x2_3YmlTpL^!;Af9#A>DN7 zlYesRvtL}y^J_h@N6h8jI$3-eWtE?tX9cLTPfh)YB3pdqZf_tK#{%&&uQu7HFIK)I z#%B%>f7tAdZ%pIzRd=SB=dtsAvLDgA7Oc{HYv!L8^xq_-!yLW$2K4%DMz7fN`H6uT zkekl`rDQPyV|v%<~P8 z_(1vizY#Rn^ym>eCl&E zVB?QY=b69FH#^P*?lpUyReH?Vrc2YWO=_s~tI7 zq-*Ie>-J>YKFi2M5;|4v48ihr!34-Gk$>%+lX(0H;5=oA-v z#013Xz|?OJZ_HRM$Z8DODR+%keXRfYWK9g@z`mYiH6efGZ3UhOY>~Iu1mr(%0v&AQ zpVo7swKe`-7PZy26X~PH^1s{mk#lR%oEY;-%dX~Pkv`q(fjxAs1@&!T`s{98oI_*0 z^xH@7;RF?rc&icd6c^NZiQTH)ipiJ<{EY)!$)hV_T>jZjnw7q?Rm|)uKbyo&yf*@I z6_+CcdFZ~tm`?UPfB4x|AJj-?y90VJsnM|($+&05eKwxo-mhU@)?({;E#uG1Ubg5X zYvPTX12!HC;?{%gr2+&;tyUZWSdh1l|#(SQP zd^!`{6sUQ`xAw*B(!g21E}-*hWZHXo@X_FoU~fQY=YJ>tHw3Q?dL}PVUtO{5SY(Km z*x181HOU_H{XVkwF86G-AMvqwrv3Je_Xu0Oci^LMem~fYCuW>I3uBz-=c4lEZzC9M zz4xB`aVm_Uv@7=5fczzp<{xl8yMCYxX&JY&{&v+e6`(@A9X+tgS0`LVRccHL;(ryMvDg zcLefS8_cV}+G3sl`MGVp?9;c7-Vn5IZ%>~tWd7B`mj-0^jF^8*@a4fMhrNx1+=~l3 z6|n8rp!{kT|CykB#NVDpfXd6>^6(qacn{BIk8$4>UV5A-y6`qWtQi5ELtqxYtd zzwn&4-t$Q&o5s)8#`j&i{f?_f)zRJnkt43`5F7g!0a`5odw(kq=GFrH?5SOJ_&WyV zl5ut5S-#3=`tZzK^>S^{I!brRM~8FjtkWr0d=MLSSI~G?CRtYnM*@7cgY6(@`~mVd z1M~lUc+ca5c)8Q*XLJ4K|9E%I{olyCcmmnGgSQW|&EsM3B0y}Fb9ei-DX1IM&YvgN zuG?WPOH2FQF=UBJ{nlp(^8KEAMv zXYKx-DSnw)KGA)(ib( zt=luViC!|C6~4{yRz=E}SFE|CtX;oi?TTsbhS}QfnU^y$Fg_}ka~ktHTiO-CLU!4retkNw%+!cT!(G?SD#I zzRQKP+FW&A-5{}0=X5x4_{TGIAY=B(>zMnU#%dgY^>ys5jQhJz&dA@feOrNX&rZ5a zd)chMpRuBbTi>6tVr{N-UeE56(MIuO1O4nk;xoSopS)bzwoUB(tl^z$#od`k?0sfz zvM%=CFAoGhch2Yf?DX6kb8$FhJ|OZw^AjY`v*uhn#evPo0(lV&`HcEyEZm!G!FyKR zo3(em3tkakKys<}#OlQXGS~S})IGp%b@t2vJy^#dtb1TBHnLYevt8YZQERyCY8LTF zT^NN^^w_N;TPEmo{K zk7^0|OvSc7lRrOW>(>N5i%-u7G5zwqY^uNi!I=iAfG2Z@|?{2!;^x8fZbIj_DGeNx)}f%hT$YWFfHzrOwN>sWJ+$dcnnMi$-X zYqR-Z&0k3AIKxN$v*~v_(AjsR1H&FX9~^kD%GljL=lOwwXFcn^lSW;CW#Hit-^szt zPI7Dimxb55dF!3OIrHP^90GO!SU+Qb74K-%yYlbzG=}8ADdWb@ z_;neNwtaTSVo-aYJR9%N__AT$zyHIB#_i~|#{6H&&)$kzW2Yrod+pSB_dh3mqYWDw z^P&6fA@5TrzSerC9&zzh>-5NV_h|X8?Yx{CduD2{oLcvqu{>zqaoXDYq-p%Lsr`(p z^_iG0YXKeK{F@*9*o*S-M7=r~ZTzPhXZdVQe=h&#k{r^pFW5iz`CzVgUNMc`b!-u< zZ_8e>ZhZEpUpd;x1$f=je=9#Pd|BGYL5%TKE?#5r0oo@7_PXAlk-hBcIc$C#GkdD% zr}Cw2ZRd}9`TCB`k9mD^#$#=LAU}i1KKyF&&u46%tjhT8{N>8(_H1S6P1Cx#|Et8- z8SoiQ-Wtp1>KU1{$7d34=bt`}<ql$yDbsrWIXI2I%aM0vYWXE@8v#;d?iTw_B;ei!{`JxP zC-lE;H_Lk4N}mk*L2nE482s4rv|{b-ECN(MV(9Chlj+N;R=)YPD>uf~VE}W^k9};U z^CyCT6Ig#tu$F#h(9J)eHBjaKvG5gS-jVSfw@h>PjdnTv2ZA%fn*+W$Z>aMBd-}yq zkwb@e#FM76eWQH&TV?aFWxhC?y+CgJ+Q(1xnO?r9-ICV%7LQXw$7<-)_inH8<&Gf3 zC7sTH@oPt0>St6eWi`gj_)WaK(>4a~g91;Xp4#7>`sVCaTfZHQ9e?9U!PjdK3(Z2ZNOTz;@q&C~|yshBZ<>wWmzB>3wb^$WaaCvYIpa&&KTF)=GSl=7q z<)?LR{n?W~dv*tS#Kzn`LFd_datAxJw7mQ1e0xBj{aby?lkfJO3Xryb zkh`7t-OGIK%b1L{;B$fx1$g1P0qXhTpk&wpvE5vz9;z6;QfKS9r5yZ ze{86~F?RP<&m#R@_kSN>o9A&|F6`}E)Gd7~x1X8`pD&~S<9Vi^-x?e4PVdXd0y%jg z`#g{PZq2iEso6vBWs!S+db+yzk7Vwkd`5IxSGZ~|y(Z%a12t#P^GgD)wq72+_V_&c zK;SHhMIOkrZ)`t*%z01Ks?+;J>(Bjtoy9aZ#Bn6xyJvUsJ;5tt7w>G3e6Wp2JXI(A z_WaQqFL_+fzjD%bO`hkv_(l!~^@o0Q<=|D*e&=Ga-oYp~cxzl3cz`Ee@H{>AifD1Bb`y;M%3X35>FGq_Y;HSUKZYwuW>uepr< z_^=PZ?9$g~F?~iRFXuejBX{;Zdy;D|wmde$t`AlDQXP-2YCa#`| zo0l^mdM4EFs{>yT_Z+zw*g6)xCcw#&z~`6P9?8VKzK%~aa_d}Fue)P>UYnl9OoncH zZwZ`*OY!1!Ddso!|&CD5Fe^wyA@}ed*_2TYzXB(HN zM-!YoWYxJyml z?fGK9bL!-=#6SN$!S|7Xo=fH0J$@;OWxVg@K}|I${CI69R@JK<$mbYOzU8zRPyMqF z>SJRXcJgSCDhnCFK&5x-}=`1^eP`OK*<*dFg_+~9@(n!Vj8-`2JR=X))vf6fx{ z;q)}-A3b<*2RH}(tlwnSCOv$ukNI!k_x}GBzP@hqm5x=u+Q&9O?X69FKWo~%s{Yj# ze;N;d=ke6{-if}?1opWH?+#kWC#Glf&ki*E`6IrbmkgI<a%r={?C;KCxl{BGAYm z37X?qXYBlFwd3>2(*vKA1dm1yJ)d3#Xf>rzKZ}aG#gzTtmzkT;cuKSz`@jJil zo(cGOxq7-E$EN}|zb|LY`SWkfakCkW`o(!U`uRmazefE}P5Q-L{fmsR3NA-4eT|=v zt7rS}&hsA&!Hpr02j+rr^tdDE_SH^kxahvfaYGaM+*ySbn;_6Ah!s#alUrV zi~m7`H1XBendQvxT<3eYcy9sk+k9FDIW}Kz-Girt!-1Ii)}H=Fpe>evUO0nC@?0KT z@AP(D`Sx8qNT)MUKk#@gSjAQCR)%ghrsg(-MWB_>?P+Y^{4)yA8$orl$45G?xx@I> z?~CkYEJhrUxpsfo{+W!|13DfEG`@&Wv!ATb7w6M``dBdc%~?C>-}24hndzO+&7UK( zj8B~WW5dtR)fevc?m{)?e=nx9kn^>`-tMErKAep)_D;v4{r1YyvA|hvY`UylO&dJp~h$PmBm;2>z=M< zX^(^TjL!#^$7}V7({p|Btcg{PX>_|M<=^}&fB4b-)z&+PPqS*W_zs8tXXIOa1Rj&j+@?b{dOCyzN_GFUTCIi8l>kzt0=fcr86& z$kMY2v_BN!wKZ<;-k@^5@A&g+!FIrZaa1SYT91p2wVri6s0T7yIaw^9F37R3PU*&N zb@LC;I5bZm-TX7R9+;z_j~juuGl7g+-U_U{!?niU+{ht2rvi4K7;64#p7}@5;eZbN z_^UR`-{r33!2U5Fx#3gS@GGu)O^LlSYMM;#^QZaYr#fN>Hzxv|jy2ahyCL(&X9KdU z>V!?PmS_HH^I9mct*6nSRknK{vCRhCdNGMjo;yco5oql2N6y&7d~Uwj7E|@&ZY|I{E=SEDpV@7G zJb&5r+;h=7V5jFoEwWXA9?Y2i=7-PXuJ2?0oB!U#Ntbi<_#{V{82O+M`J|_VEPKwn z{nqLWn{u=sEYDVYJo+rO*F28jtz zdP^V%cJB_(M}c!TzJuUTdn(uts)vr&L1VA~p4IK>KOZ%I<6#kK^^sor(>kubwagt3 zTEF8SYnmEZ7^K;c_tuaxhOxcbW7hF13!(+gS~hV%ePHqHavgh^!#+r(i^h}CzpGczI!@Ld{(da z@x3wP`&hsqGW_k?Xq?U!o0|C4w7O|6_A_Zcb98y0*WwE^=PY&qsx!ncZrF7OP6gWM zCkDQ&@vT6v_$wBTF1GERe`d9Ay~{R+&bj}^+p|gsJLLE{oMavC9{|`PKtln?dE}ouB6d ze#rySukX7zovWaR=JS2W;mflFKC-bDX#5fzzu0kp{2r=nr#WZeJZ@ml4gcvA%XYvH zIgJiuzO%zN`Oznw9Q2G&dbN`QU)O^AfwSg_{__F3?&~;Hdt8=B^$s}ec)va(%l&Mr z9X=ci4$^;P)`9+x=RJGoG(3&^&8Y?Ztt|qrHoZT*KE-oSdO2DI+G9b_A0FVHfjq5G z&+ksJ$y+&VO!sDvKJs|h_@Nd?Uwv+=n`?rb19eOXSvAh*)(L^Ub{;K5+(IckbvkPIuAQrDE6&@Wb!&r~WjyaKJw@V%N-# z^Z2?l;Hxn%``N4atRBiuW!3yBi|e`Uk<5{!8^`=5$G)CDYjj!@vzobndiEJhws{lN znLwkj`^ni~Kh*-;bjv5da4^OyKcoLRpZnifFNc@I+0WP3>`fVO2jb+1m};;5$}PX2 z7m&Gb>iK^vSPSkPK6|Yn55y)e>-OP??sDxe^K4B$upxf?_;hj_pC86}zdfLn3|)&r z6aTru+}YqvpzQ==Sp=GOa$+9kaBJXUfb z#8dUE74y}L_v%$Ii$JqyevU?4Wbw(C@o4K(`&uLRXna%~^|klfnFv7hY~M=){{B$# z)4|7Q{pw&XtNA7S_zWjfv{XbFhB=@ff zz9G0VYo9c&`@f{tGIuHd|8C^q+X8mppMDPi7nM0}^h@op2jYG*(0(j(;wi7@>ic(O z4c;02qkujAi1$v<_KmilpJ%nhmi)VGaVhWj1>#imV&<1KcWc1EsNBm%eNh|W9PtBg z7{;DoGChxH?LAR8KEHYP{Hb}aJwB>6x;kF<*}$$n_Xc9qkMWApe)00T@tRiycsdhU zA7ghPkG`Idk@5NAJhOW)Xr1s?4Zkdq$AkEqbN156n`6UXpEv%!;P|{bd;YyimJj{> z*~(ZR#l^4J1-}vS>&8H{hAX|Zr7k`;C{K97lfJz6P9%3GkeiXO`p!1rohQEc`MR0! z-fx~RM|VVD?UbYcoVk%B?_1;Z_vM)^j&Q*5asA)t**Y%h9{Exe;5<4%GyVAdj@h&C=aOab>3)X#JkZptxWyuFzP29KoO$XwfXV0ELdG>sC_WX)GkM?`!=x>Z-8)J0;j4^uF>btWEbacF5 zACYBl)Js20@yw^{drroe0$XIX?!yaMyA;+UBhJ>YdU;-OYapl2VL$tf=_6~;T=u5S z;pDM^-tN0CpS!u_2Oq1?9nf)g%MaaP z%trOg6?9$<``M|E(LZ}};Crs4zx(Nk*s=x>r|0*{z+^yt83mjq%wtTPK3GV4ORa z=bfOo7a41d<)0sF*WNK!&usZ#hH-t+s~5KQWblMLb8I?i<)ECHC%*`^#q!S!Jsyrs zb99Oa&(6zsV4V%k`uGl|-s+z<^;3WNfeSqFul*upZL$1wS3jH1zP+`%A1}_pe!Pge z_wvmddp-zi%{sdu7x34!y610e{}VHoBfM+|;0MZRFoV;aBg`J(~9 z$@5K}u+jSELt|)7;;p*ys{S_v`siXquJElk)ab2&JsSU-@6L%~tS|Td_^d`Wa%|Fn zDv;y9IQ;CRwyw&&#+DfD6PtZ})!!1}NE`Le=f#B^wwizbSKq2Q$94MZ4?DO$5#UP0 z@2dIMgEeRzI8_h$5sT+Lf=>=KvV4B2hcx;sp|Zt-SoTZmjX4YvlsBINlCA&TuK$9GoB4a6J0*R|a3)w|tQ|a-*%aJogOB0jR0* zPPXUWfrfW`s`0lwj?7chKi4k1AG!x=1C%7fk^Tjs(Jy)K+ z!-2eS1?C#H-&4=vxHZHNhjnO9K1@j_P}B6SsJlV?OD{Y>s@n zr@M6^KgL%E8E(fUK{XZ9y1;4Sp95IWA-$$iRF}sw7)UbvUz*i zJRCe4(Bo&A_@+Z0JQRpU9hCRZ({WS4uTg$2&)QRgeQylm_oNr=BG4WSdKa)SuExy{ z9qc-bw*+i-ZYN{$E&^?_{PSYj?aZAF=)NtuJx~kfbJdx-A?uB&xzsne^3XiWEuPfG z>40uNeoi=MlaK0*@AlP~8#8YGWVmf%T+#={o<^o;+vg8kO`Wo|Qah4R+iSy>sZZ{@y{KdTOq> zGsYS2#8Z z9^akb^SQo%M&|uK!JE_1!S;O4v&I)X?g>6G&XIjx@PS}e{O);o+vi7i^w-=Y!E*w4 zje3`d?+mnZVb1S$a=)3w1DkS<3;C6=-urTIzVYkXdQniw>`RL{K`S9krZ96gIbEOQw-zAn)C;+a31{p{AS>QjgASB>A} zJZ{zc7lizK($lpFw8sL^^+)a2pT;rT9P`GGy}kQ>JY&F<-W{|Ryf%1y@aKZ>3;uqf z*{?3?tgX)Bm|eOy1OCYad;B{UBn4Oe)R14YYEKN>y@9zgpUw_F&I()B$ds=|#+o{X zex}TG&R@Ro=cioA8y%XyeyfGATH&|4-41pF{w)HrG}oRrHKuO0`Y#r7u!(ovnCrR6 z+uVoOuJD20`apgWv_|pfS>uB`)Yze)ty2Npi<$1t%r%Gn#H-lk!=A&zu@!sB!pPlK zGdVdgAB}mxyv*z87l+?-#?DwjxGjIysv8gV-xldyq4{E`))xarV85zyoLfj}!4J}0WL zbKWK7-o5k3V_=-eb$J_O@&91*kG)$b8C>5UugeDd|}psy^iNSU(NC3Tp%Z7 z-#crOd2O-$^FpugP6W;?|LyHN0bV@IG02POMW8K~e_rTEIdRU{`&^srkvS67hFI{s z8Q|w=p!ICj{@Ax(?P;B;KhKLmTP*+F&5<~@`rrW=(AUtba0NP5!y{E+$;J*_v-i$Lq=ka}9Bt9z_10_{?JdjGFS7KiiC z9(5r;a>s(ksXyp5=TdRYnX^#c>QHSut6vxr?@2#DtJ|4tuE%qm>6M>LZ_D|>DPHJj zOH&7{^oW1FU-I9Xth|f**;0M;`*p0(gVx4+#Fut1P($svPT3j#HTPtotp`Vf#yWn+)tB-9@cAqk z<9nAJsuAx$>?{Ip)TNGFC+yX4@c|#5V`E&<*LM*y;X}_)`C9}Uj>KKv##;3m)7QJ+ z{_5i|U9GL_Gw#`_KK|6#>OP&h`u$JCM;@1FrSs(8pZT@);*fLkSC73KANzHvvHQZB zSnbn~zVUVBwEmO>dppi>ssCDov~pVA?5zj(H22LR4w`%V#GwYiBE;R3e*PIYkL&)( z$T5BQ1v^3SlQS8!%VytYGhD`M4p)tfuj8HM9bpbO=5wAkG4n+%;-FU?Pb3b!j^E=K z;}{2CaCB#2%$NG3?>))>9O`&J=efD|ZYtJOf#&<=a!cy0bh zc{#+hc;B&4-fqkqo85O)#%fI5-dnUM0{%EZ&CLxNH^=T7IgW|F^RGtjZ;sW1HgZ`0 z)aOCqU)QUn{(9!qS|HAM?i1&j*Q1fE?|5u|;#JagXHEh$vJ!5f%-JYRqq>l zE^p0wzZX7o=d3mF;?ejH7vlY>B?owzL#*?;OfC0|5g&5>u6=TyrKKz%TCbfO?XS8s z*j_bnzx;_`e4`)ljvw+mze_T;cSqcualuB%t9tuJuAC%iX%*-i?-agi_K!Y3c>q_R z5?OiDx9-%g)-yW#`H}LU9x+{x|6h3t|Hb_W>3@B{T>ro768<}D2l?-=DA?|JRiEVp z>u2goi^Ml)ih%E1bPfxFH28%#!tMd9p<_`tz=;wDapWhzzPR5xt z`dFah`u^o;muvU2J?7aPKgZYe%nv@+?sGG~C2($5eIAmfhi`iO=XW~a*wxg_HNhi+ zJ61irFWuwT`o8jL#^v^&jK#!npK0`YX3Jhao(SmDo(irH%9%O3VZ7IG&T~O`$E*4* zU$nn>t$pfbj)U&1waClU*MvN=@o5og&D%%nKHbm1d2R3adGMzW@bOc2UEa(4$oCUj zJE(5u@QWfqX3WhzNBl3;i19xOJ}w)LADVh&oT~}%B!7(JH2QGae5o(%JArfa^}%-r za-x>i=BYsY@w``)8|VIE=Emo5%(HhJbH@X9DWCL>a-S8so;kj5PIBIdoR`x9m+f1R zY`W!H=)Ab@$ozKt&kqR9&o*D@bBoMri{+oY_4eN+(DC_eXV3rb?D^}4XTCdY>%l6{ zelkC&o^$s1GdFVa^?BZpvzWSwwhVXuZG0>Hh-IjQ!sO?p8TgyW{uu-M_v2ZDHp%fzNsM%O5iK z-521Of181?P0t2wtopY}H)Q@~K)&bm`f$)Y!JPB+jLgyDZW0gOxFE-#x;58l_uwtT z6yoxG#eDHxJ3o_ua5>j02Kt=$V?pR!>U6*0z+SQb&Ftle*l<=k>p1!1K{vZw0e|s^ zTkTv>9lquhLv7IU>Y0vPGsn*PKyJS=5BwD;J@PWfcYN4yy__{hag2AA=imF?-Mfgq z`v8we13BW;IQEVqZ)D5k_}*c!rZ#ce&vSZi4DJuu#J67Uh!5A~TXWVlT!VSO(Q{jH zd%%zSaw=mrlmDXqL-H#J_y@Hz#&7?RWeQG=OenTGdU+C4tc?|F@JEd6<9wPs8?%vkPE)E zZ%^awH~Y|6Mll2?vWndn{;N>To+?^L4?u20MXR`ixWS z=1v9njK9bFnmpr~9(&0@5rpRD=MA5|*E|&P^Rz!>c zIW~;P`M2hooqrqK{OS9bF?*Ne7ymEi7rTo<8|^<`zwDP!wR~G}dqB5_j~4}=jh{b_ z&!z`CZQt`HPjiTSKIggIygK7g2()v7^W(l~O*(V17L0q`LwxIble7B*wW=P}3;)=1 zw)z?B+|jokh+V$NaUPfP{t<&TI^ZK2FD|vG6Ys5&KPX-?Uh3b};O_;K+>Pny+~7_9 zs-w#JTv{dP%;4`xQ2xf+v8I*3a`@ra3f*eO=e>qIIgx+)KJw%Dn0NAQPdT|hV|K(+-S|;cbkcp0KK|~;e|UNK(`BD_Z}8-Dw99Gz zQ=jar?^Sk>Ona=s1slKr?-PGZj9%*g=AZlFJ%RD)$J`(B7Vd?w4sHz|oW|m}Zhk!L zZ_BerAO2+g>ij8I{T$nwlMD9{6ug4UEe`YMxYbX2GLwLr{b zu-E5``r`Zj!TL0w+pRtRYGjSOk8ZW=Zrg7!8U8q4sQwA*6s`F-EZ&h`|On)ahFpZo)4O{yEFdQDCOt;ohVaF zn@0`O7Z3Qj zC6LR?%MDo^vA+nk#q!Txed9j-lE<%}Pt~!=SX(Urys)-PZ}Y>S^`QRnf3)Xw28Wv5 zv9Hm|HXr0sZSmt$d9!B`Xw}zx9`m)EgA2Klua_@(?ar}(;lBB(<-ZSoUgpHLDo^Ho zZK7{X-a%gwtOeqbgZ8U96JNPe!~7+WGdXU1%*!P^rvrYl^DFuOak{-cTcg{W{}0Ij#e5`V+ym~$-0*FLc=|ja zZ)Z(jt_h5Hf@_2IU=e7G<)0VwNXKS?qnOSvFIDUjc8o$c%gUgu?;C19cZP@$!<<)twAME$e+sqgTYE&!dwX5%$BD>#bD$e<>H6LuY#9 zeD8(ki=W?;d>u|NZn;%!<39Pd_ITh<@s7d%Dw&-FWU{o!ubl7&A4dZ=?hDk!y913M z=L2V)f8uJ4_N@orH*gGR0!{4pifzBO`c5y~{2A||AIYJAaVx+Uvf&R%?P1&cuA!>IS(JU<=1?6B<} zjvbt_zn`5fE#>izYd#r^$+&UQ#b<4?{Bt*N_{YzmÐ&VqXN>V*wpI!6MKO;s#&h z)w4IofRlq_Aa5VP=X~L$d7x7s%F}2|4O|nb+f%{e;DMYSc^A8{@wS3R;5@GK$Gn(7 z+?w!Ny-IIuLT>oUhTN#9#wHfAl{Y?%XO%uRA#eZv0d-CHBGA;OJv~>>l*R`(-23Fk zKk|*s%>Z{j+mB{UpBU7PJ^1o{6!EDkYy75@zOzBk{~}|pJ{dn1jK1-Yt~Uk7_NzT} zuMf1&weRQAr)Le=<(Js>(D%j{PxE403*2E31~|eAzx86Fe-UVl<)6E?`rM3f3FMp( zb$cve#~xoV&^OlOpC9Uxe_MgRHs`gVCamcf0j^sQwZERZ!vVSK;zMItWUMWgfA0Ec zZB<CV6B+ZX^^xH+w|p9NdQ+aAgYtqe+=%CNK&SO5!qKQ7r*hBV z<`^H%>Aat>MRc#$)~0>pmpguIbcnP3^Xan!`B$g>alevN^M5W2?v?q^^D?z3Z>(PX za}@s9hB(7{2TfBJUPtUlzzy}#RwWoqH-{!>99E*c*zc|D}r##T7l^@UeVXuCSx^ZSN zoyPxR(AgN&%)NpA>}qmgzIAkM#`LU0^W8O^{)H8s(!CvwT(HyU(eF$zeZUJDy6ekd z%(yVW6+Az9W$?Mdmju?|6KLJ{O&P;q4(!wKhb&!WAIIuwCn(pr*Q)<3GKR04z(&XO z{(RQNJ=gK3%t3YO=^39p&h%a#I48I|7pPIs>V5qC3O&R1_ra`#oQz;^d^Xn32F=Io zGX9NVRSch;d3ePN&^^xY$HS?}L3Pc0dODZk(zm|9cs>@?*ZKT@`Ewt_&6fb%`}u7R zs_USB)PduXOZ6rOXX!fkNdq=V7cf&bX zt$p_X(y)gu;CtoCn5(~)G5?omdq;btzvI1kP4>C>)&i||M!zm)zjns^CXNu z@#_x_x}EXk!I5A*Gu~jX&Ybton*#R%j``v}Njn?R`CU`2FN-0*k1}CU%L#M|KT!Z{`zIed~al&0e8d)f`3&fA#1+J1dJo>zrO#i$HsBa6F*j8PQhRdwb^DvtP`kKDOMMi$LqzXn$^} zI{04sRXVI4crQz zxK!tOna?dUr=1MQwT|q+J~$m1!%p7&4yWfY-$1O#1AEoaxId4}_ZlnSnSl(y`>dzi z`-D|@9FXg{JvlsxLoXIzd)^q3;lrrQ*GL6@9qX&>Gc$HhtFzDUo#zF35i@x*=6$wz zKEu6p(sv>?vI_Rk=k4!#6ccV5%XY@KGxA#B>BE70w_-!#9zo`AEIpTz-D!9;}`x z@;t6D@@!w%PfzkuxAX_E@aysCjsJ4@?@5a3`y;SO|A9aq{z@?F{lfe_X|#JT&*S=? zv*%yV-+L!tyUqZ+PsHZW4zJG1u74_o5?smzajy(!Q2%{+Pj>g@qB|NI9&)W@G4e7rR>^`D*pkTrX? zxBT|SHgBIjujhG;<#+$@-Dh_~{eE%gM!)}Feo;`lAtN_$oaRnU`^+8B+_>-W{HNW0 z&mCmmk-63gU1J9lZF7G!-bIued9hyG&z_#oP5sNJo^5gu2KB-H^o2ja zTW>wP_hpVQ+#iom_B6N6Y40oV7uGkYzI@b|Kbra4a?joP3%h6FIT@3|`}_ahZZ7)# z!+9Rh+4s)YzjIoz-l(|ZJEK=$9Z$~oe94ME-rsjSqYh%nW%(MFJ-e=F&e<#1_YLx%g+4DE$d45KA zraATH%r@Vx^=D*`U#&kfo-5~kd2T(nCg$h8wXreD%e8&4occFR{pY8bL-G4s>@OuB zuYLb+eYD0O$-KRf1(j8oKNGo=`3s)-(Vmsq$UPkB-5q-Oh5`5{pSasdBqir^yB-_{62Z+zrOfhzcbJ5y*%LC zgF)?mbL=%=)|?yttAhFUxjg*Uz&-^o{ z`8$UB^~}#>{GuVo_x+oTIsClrEgyXU#)&(2+2Hx z`dL7}dh}mBJ%4F>ws7;}$yWEiZCX?N-|;IS8rOfEeB}onKJNq|-=7Bta^v<_^a`Bw(Bj3GbJd^8re#P|s;M9N4)SsXFehwXP>c42}zi{fGn)+{;`fr~4ubBFGO#R%>*JfT#;z?7J?+#uV{9uTA zb^6~tyvyg=jB)guK%UiyIiH2kn8tmUJ927zJNQI>gsx7nX0&sGTt5)d_1wU_Y|%2a&);Xt4kbe;B~=I2J#|*nl*8420mN)Zm#)yPR7>m z4*th%8rPgXYgYyQXsxW0vHySCXMdKK`Emw6(mwy~eQfgi-oX0_-`!oU=dFzS`*-%) zo25N}OC{8;bC&Zb=1 zcWUZinD5u9i|P>rneAzAuH$7Z*4gCGyl(2V^}o9hk7^co@;;tHaXNR0ax%!=7`S)o z`g_q;pY5p~ajlwfO^<78`j$Yg(fRj344oUk3Rf^|DSz`%S+Dj z4RXR?{QSfCCQmr_{6Ej0|IzR~&!f9WoOp50oDck{7yW&KTJN}@kItiJPh~p(ip#s**VhMpbpB2SZj>Kg63 z%dK55Pim_2jcw$K4|LW4j^%$p`PL`B9pm?_1NHvyKs&PA?d6;;yz!~$!?=4}8*(>) z-&@aIYm?nYpz-&Cz+U=S?Y%1VT4TfE!+~0$_h``iTV$+>f7ENvUEOyiJ~+F4q8BuJ za8iFh5_8ox&s*!(`%v@Oxv`c{aU#v%^SUN|pMNaRJ9+Ncw&PfQazyrU@ZFI$=NZr6 zJk#}Md6s*ebk7?y=e?tQZklBJd_|tws0=&)za`J719sq-@^b=vv_GBo`ep5oJhSTz zx&y0A?cJN7UwFPY=pHssX1;s6{xOqW_xsHJSF!tyX?GY5QAEyPfb575Vv>Y_f5}y zv;Oix<0HG?Vb$zbfD`ACjkg5Og<88QaCUHae?T`M)C*tvK$cxP_)s5@W=uwW{B(8> zg+ZKMF4!fz9pI9U^Fd>vmwjiozRJzq*PAoPSNX$5`SFYg`>h|u)2&%w57vT%a=~Xh z%LA@(tc^J;|JB=dKFDcfSXf9q8OWQ4)5cKwRlbW$j@1#r=l2Ia7jpAaSNuPD2Ds3j;xj$<>CTMnZ(~xAjYrJZ-399bzE1`0d{geW%Gt9O zXmZOR@|x#4SN?8Med5n5)JMAcK*m@+T7Ba8!bI9)`RBzy<0sFT>YL}me!MppH7KX* zO5faEov|9x@O~sH_nx-{KGshC7W?>_^pb(Ma=-?;#?=0~nJee=`vcQwgIZzJe)jI1 z#&|j$oD9UQ-5ZdT2ff-MCr+{3@9$%{SH^g&zvonJ&OUv{Fpm|tbo$KTueKlm_~a{j zw#CXXKDLJY%c=)?P|Ksy_h*RHXrSu3wcGj2}IlkMjW-6L=` zKCc=_WU0UW-je6_K(6s6F8lCzIKWNwjF;>3ycO^R7yRt+XyU&Zaj_QAXRPr}e%WI~ zBP%{lY(-^_|G&l$KjxH*ugn*y@t=y2YBmW$VW5WbwVjR1c=8)T|G!@U@4AEz20 zdrvGf7I*cNv5sGN2>se)yWK@+iobXw!&mX}Rm{LwYa3Hf);zw|-m`;MeDJ4noX8kQ zhh}ru)gha>zacmkkn?py@2JYDL2~RmH#o#+Yq{~e!}g26=Q1LD@0Vvhq@4`Z*KNV= z0Y9KIiyNoM1Dwe3T-JRg9zM#C{d}Zj5%6E$&GC0XKlySvz^ySo8hN_x=g-_HoM_~_ zj}CIp$3f?E9uHfsJ@IJx=1*;xfBO4>uHu0&w@!U|d?L@rWXWj90{0GX*n2wqw<3Qj zKh)9j;7BmfS*Dh`DsOo0=Z`aN-hTNsmXo;*oz6J9o)@{5=hln8>Z1JG!yk1#0uQGG z>;E!mpl4Z4v&+uzXV=H>y?5W6xvvX;Ao%Ezdp`K+wfqjs;JGpKrNNH}uZYrj2Ja1i zE%>cqJ$rx-=iiteW4XYsyzAX1*|KcnI}wo4>=ED1fjN5IgJR>m{eU0y8v#z(>HXMo z?US>|emuY;&{p|EUON}8@k{6U!$))*-J-r#vh#U zpMLY?Ys)(MjewjnUG>+v@_gS3*kIfFc8*s0Mpm=8weD8_)I47u=;sipoR9Kk)uDcl zeg-(_&kZ#8%JJhF^Oeq?yE7SUY@80*gzwMS5^L%4^R~b}!CvR+R4Z($cX7*M=f~Q| zS$(KIeDk4a5s&8RI3D2sXz+%Berx5P%zp0x6TZj`H_|!bSD*myGyEnMYR0v>tkH)Cgbfb9UI~i+M4L(O3+|Y|QIXZsd?} z#&@l-YcIZAv*o_}%QZh*xAMBGZmnx-M(ljE?~%ZJP5q}^4A%MVKE>1HfqnMZk24u- z%}?w0(afnQdfXv&*xS!(`PmNoIhNr??|k(SZ$3*@tGG^0P`~njOJK~`aS#9G>U%@1 zb^enV8@uABOZ$m@50yM$yGNbcvk0`s^3MxrM4X3%o|*BPE^B;J7x-e=*c=;YBIL|$ z1?9{>a(ZWie`~?l$3On6vyA|EeZDSZdGl?VB2Mq*6DCgdZrW3QV&k(Xgqqh@Z;wu8v&dAqT|77 zEH*XVeta)_Y34`VIeQ-0R*erwp5N@gJHY$tV4TNI&z$&h!*4vF3vldboMPS##=T^$ z`yO8J0QK&!80Ee)&ur5#NA5Iv!Ohjdv0%&@F6hD4cEHXe(8hDbhV|BlIF0$#TBf_X z=a)8Lr@uUnpOt);N3rwCSguyp2w7Z;Nu2DG7waO>>J$5ZwjrOJ0iC$UJ3m@y>IPrz zKN)EBsXgzm*2t(~wv20&AM|bnc){mbx2yIxMmFpxvk}-YKI?pBLw_nT|N8vwsGRoB zA_MZ=arN_aXPV~|km0Z1^O=C%mjr4{>-)O>+POf!>D8+tx!exuhjJ|@TrUC*ABTfc zwtL#o_jbN{d_4R4yFT@NAmcpoyS!CqkvVO#{PW`2s;H}17l0sFt0e*@N zS>y9dras-?ePrKuVDCIX-}$)fc&8!{_%ZPRQRBR7ZK>M|q%wetOlw z|CUAi`MVLwmzb-=-abE&u^Om8y5vEfSKp6M`p9eqbA6*vYgum%(bKqVQ#>019jz;V z@k2b;%bRic&ufZr<S*4&(ApUagSX2;@yY z)~@~ZEdq_KHTl#o=Jc7%&jFtWmjk-VZ3p6UuK95+=)JX;F&lj6$4=l3{L?tmJ$L7M zBj9`EC)agc(5ZFqM8>rv9(H=B^ycUQG4pjJP=Dq|9_6ufH)h=WCIjl!9iW}r?e_Sr zt@d;+CYe<=?cH3wKM@De# zx>xy%D?YB$$rk-`ua!qVANk#SktgwPO>_Kj4XN4nfc^S1)@k+7L2e^B5@>yAm#>i@ zW4^Olo);PO`AncKmVfTn;vbpD;^EJBuoLur(6JfRXPojyoaD)QcQQUUJwM%dC+7lR zYXKhc$Ok9~8ySne&yBe}o9B}~;-^Rb^Lxx;ziuU~vDMhz$75{t(B}^P-?JzW_H6`L z2BUxUj6N9Sq<+#%ex8HMsf*@pk+HU)-*3noefH|v=GUt4g=BiUE>G@WIRaltEdtG* zep_&RuofH&+!ORUKgJt@HDll7Gp^lvzcsCkiC^>nxtTj290~Z(#zVo?0lmi7wu6(? z`0n)oY@g4gEG>Oe3+^%%i#t%e9qVrisPs0aaaVdTc zhiYYfM^g{uvpUtt($~H8dB&OC;S8s2;QB;htvR;l9KR#TkA#=MSAj2T+J5?Xg0}>8 ztp%F-3mjjyJU7macK|px_2<*qhwWjU;qqsV7jzt6`njI@qrp1@_Pd|maXybr?$l*t zGRLpZ*`u8ce1U6EfCwD{BH*H z7+WuRYz{MA>T1m%Gm(aOHt0}0W3B#3p4lWrr#+iJ5pPvXYMC1ULTwf#x;A#oKz>@%S(M*wXbUtU&c$Hczy1Fc6zz~ z6M=SLFt^Xn^McmIRT*n!`BnX+ZT##6>O@m3?CQrHzHj)s>{#Q*{BU2fZ?AFr{@c?& zzoS+y+#jg-t)TUt;WAJB=-qh4WE%g(RNvW}`#;9EJzM9~{0_m#?&sO=J$YrGyYEoO zwPCD@X|97`7w+4SUcQrfuW=T@eZN zh{fj@dF@9oLw>*5`7rlKoP72K#Qv4CIC2)2Wrp!bE(gUvwQl9NCF?dD6s5zP^zgKYxsIHQ(PFIF~iG?E6Zm1A4_lFWBd2 z=lp_?3hV)LwU^;C=C`KD5B+$i@3G*@;MyQG?&~YvVyRts@O61+S3Qd3(col2|2+Zy za^VhRm;UVlw~d*fw*;-Fr!v;WQ0}bralgIRG&ZV-pU#JT+rJjwH4MdYA!-x1mO9Ux!1ReiQCYjVzw`LlsM;o-(Wy!bbNZ=h~l z$8s>wgV^o~elp4rs&9PDc|uyAqkooOyDz9ce#r6sY~GMLe(`@iSNr)RhsOeE@gSeB z%KFpMdpY`|a#@GvblpT+`J@A%>Wlr66E&fc-7i<27hlgR{^a3Ocf+WcynW6LpM2Ju z>)pYQGwG~dJI(j}v9lF8yY9rBg05w_m(QMI`Zc!fb>8IBXT3S+t$E6D<=@>me=<-< zYKXt5g2TZ_=QE@=RDQ)G2Kx1_2Q|(1s(9(AATY-BAZ|8!_h;Jj{i@R9;u_wpcncZ$L z7I!i}<=^MB9LrZZ!i{*VgP&}vNj46;i^Khd|Ty{_~=~(8Xwk{qg`&~wtjhkAWPp)K;Q8|yz;2=VQV?s<)1uX z&IQKS=_z;S?+@s(-f?-J$0M%?#Y3+eJQ2{j9n}AkS8{xjFJpd)hduR#SM^z5*E80v zKM~YU&%~-Vd)0~f7lFo?wV-|-Hkmf^P=D1)`M}L6^VU39PL8dg3iy>@CA{)`fOlq1 z+X;GR?#Y;+_OF`nITAPfxbI#ZZ3SBIvDQXqdL~!x>dK@cYJ~pR@Jjj?D29pL~}mG9MS1*X);z=4LJ9!vP-TpKbSnc=h(43fRoA0{$Qw zaf(MhV+vQl9DHRI-ydZU2VW4yza9L^Yh*kdeDe6Nn3jM*9A$;?^jfA3~vc{?0$UY}lF>3#0K zY#P@d{bKXA4?W%&^>|eq_Piu059-=p>*B+)+W!}ciEpin~MV3xF1Yl1ey0OpKNaQrpH5H4{|iGOJFSH?8JlZPn}5G&>e-ne!S?vPYCP&< zbN;(K@G*Zsc}?cTV!rP+Y^mk92G-?Bef>;g>HRYP`=Rq$Q#*%)?VvdmkNq0~9q`eC zd^OL{&sa{j0`hXxy5WNyk;j!*-Ic*z$L;URoH{-d$Pv48R^7(<@%N4R+#KTcSg;e& z#UH)>tLkCDI(#zn+RFnu5l6Y;gC?fNi=!(8vGE6&FAlnQ)w+CW)x%G5sb@928Q6Cs z;D2MO&2q)J#!HTWo?F{~Zvr0g4~_?0!6ML{6Z;o|95zQIckGS%ut%IxyNpxcoQjuy zHKw;$49=%^cECLu|7?mw{$Ce-AQ*X~3y{S1Jy*lOP<^ZSX13s}qFaA2#Tf;v*Ke#T~2-v9}9NO!gk}qd+|4D(|H#hX)e>*Tol{OSGtVFP=EXUyv!XB z#3&vOFTEG_ax2HUrr(@%>&|*^`eOkZF>VKP!>)7k^YMc}VqFB9&u)z!apOQ=j`2>9 zeZP=Jw#NVSi){UGJ&+lH&j|Y)0iU{Nyy`5m^ZtG8;B{_;9z1RZqu=r%=3m@L7oYhx z*SD5AH9%k2`1DH$=)qNG8y`L5dpfa~bG2kYyZ`C{yO+aO*JwqE=cV-rWR#~zBat!JJ^@^Amnb#J}KQHiI+jIU~U;2&U z%7E@)S)rQ`^f+^KJ!3so&iUyW5A!{>&E`fRUi#&sd>MDny>vXV&z!qO4YEOA&klai z1lnTx=WcH7sb0SIE;R31FNfp(A|Kkhpz+MVhW$6$M3)@CD@5>bGuWQye9f_*@v&gl z`;@p>$sWr5*+5Kc%-^S=m!0u@Mz6^;zegSFk39`X_VDAj^yb+-9k2nv@VmRe&zdYA z_>0f(yCdVR+1zM@tX$DuKD+mGGiUGUU-?+ed~=Lnaf)R>Tjcr3-sm5WaKpA7*Y=r= z>0*z5wNd}rkym=U&*#|L=~;Y>Kt9LMFg0-^;P-Y=TWpA5ql2z7Z==5>ckVHA_R6I- zZOj{c)?Xd4qgfYs?cbU)4w}~tuh>Xl52tUOeBd`u@L?Wb{Pk?T^)2p0(_G)}?R`UV zbxmeR$B5kq2^(r)R?YA`ruVv8W-9@5X%Sy{~@X z7`#1D=VJBl@oz)^s{1ob%Q#ONqf6zglzn5+7gYXFyz!1V0*(D_87R_JtXXk^gLynXj3* zUoHIg0Pn3E--Gjg4f`$yevUHzI?7%7ElWKgIlXFt-gggrTX%SsKY1&UIJGW^HwQSW zeDjSr^4(J&586ZTE=Py2__U1I0{zG#USB%RRhFDu(vLhX@;u*rDsy}m7x}XRpY?Kg z-7xn3bhRb+jlek~b2R9=FgB+i)s^uL0i9yi%=rvi1nO*6&Et6VUF~~rZq&l6b@9nv z<@?N6_mK18^U7ZFk|i_hnm@1F%a2EclL0>N3FwxyezxA1F&p9)C+@u89ZRo1#@~re z$9R`~Z2nK(xePt@muq7juY$eq8+q8AWb9uL#ysG05on9$pBLwYtUcA&dS;V8b=q4FUnc~bwk2QLWb@5}PB9n^RF zaBtt)z@5^Z&_`~rLwutSvC*N)Z*||6ap%kLSW}0yP7j+ti`aAa%)c@JFEWnAFQ@bv zi;d4(xn3-vcI)<48QV|p+%y&!zxX}sc}|`+>tyL;3&h~(4{Y*F4jNZE%hcYTpk}&G zuRZK_?z(Ai)HCu{xpKA^d44PcZ9JQN!W&(qzSi|3^V-Pu)7gVR@_133Y^Xo}-W;3^ z#`jX+cU%vwZ5i{I3~scK3OAJ(D-P&)_voAZ@_IaTTLIbAf&9Tw=Ko9At0QsJ zg9Cn$wZAo7UFzf|fjZLg)Ow<)e)CteZ&iH#46ycwp!RzAj6Z9lU(MVb(AWAg263}J zuQzkn@lj6LTLj`1hg#Fr-^T?f0(&%dN8UYwA9-L~4UplNp6|{-PBx~Ve*3MF*N;A` zxAHA6`m2jCX9786gRaJIOqTA(M|X2?y}r?5ZH$wg81bzAeq(HG{Cje#ahJ30jK_HK zFJ5P5EzsN-ku^WAl^c56O=lxGOY%iND;RGMRQR{}Jh@ z><*XveI4dKaU-yoABTdzr^=;wU2CnMv3B@|)#g1^+ez`xk*Gk2un51LtI(jvl(t26}aH zWxzIF{KSjC`KP;M^JLj?&7H|uTP*+Fy|d`BkDW26_R5F6szZ%#w(aQ|e|#Ft&G!V_ zrE<3e~4>`tp*{*x11-yvHABX5hW-w?1}|HS&NVAUO#>5Kl}w6lcYdjkH}KA-t` zXqdZgnoGAQ*E#;O+uFb-pZL70{^@sC`fg5^zpG@esU3auDCYTjQE&33;gifNziOM0 zzApH1^z$2c?0ic|TATFHy{f)iSMsSQJv#>n)%KNH=bN)9*8Y4S2lmO&s+^e{c~lq9 zf_ic{w?@^-3j=Gour}tcwQwf$TY)BSoQhk2K4_iN=bcuJV(b2+8S~XV{XWC}&3b>g z{&jzV;IFfTdp`I(+%HZ)LQXv=rAv-|o@(U%yy>p=Bjjd$UNxpm?9Dq4%7q?J^S@gw z$C`CD0EupnZMNTD0d<@?RO5 zwcw$^ndB$kzHW5S@U?dpUu*Z38MEsQxp%J%8l!r$kMCy#ezcyAZwji1e_O%%pm(dg zrRy2))okxpHq}S{d_l(Sv5(iaKzl0S^P#D?$64f8Wxpn4{+|fkTXgeLU*2!XxcF17jZQcQF=zVUlo^|Kt{qc-{7b6XDnaOSjo18e7kMZi}!=+lF< z&Zhi|UGx1q?Wv%)aVO@ne(FQ>y_0o1#UxhTsegLU2G-Pgxw|pr>S(ST<88xQh9456 z&sez=TVt$ky}PQqKRM&gp!OT=4(Nf}$#BWzRq4f#3;l=l z?k2b8PaVneBEZF&KwB*TybzBZu*n}jXyUbBZSz$tmt=7_|2dew+tb?kcil3zd_Q=8 z`hK>l0r~%g!x!=|X7_JDGaio9e^6i*SB@{;F5H+Oxst<(@Hn z>9mi%f1iQ4-4FcZ6aO^x^M6CdEjkTdB z#N+Fb=6+Res3oY3_{AxP-%JdAqsRSKnU`j~6|m1H89h0yNk&Y1wZyJ9&pvbH+gJ|uMSVS!Ic>b3no}|Vhit6Of?!(piw)0x=7+I(oeiyP zayj0~{AgX`xHfBR^k5lMOyB^#f z{Kv$O1HLZ;?XiHYx+8mNdX`hqIKMf-3q7D79}n0b^U%7GvyDKEjYlr)^XMac{BfV! zKmVLiJL;pl={Xi?ox3gL`5aEn(aj&dGv|H%bJOEqe<_@rWcVPK+Uz+p$Hzs$M%UFN z`|Nb?+0$HWw)1$|3N*Pm6yW})fu`o!5QqLX!O37Putv|EH~D-);4^@neQyoy#i4rm zzmmMxEgj?iFX!Ts!`9^(zx^B2Iv+;A>DLA5$4yaGE^x;*lbgcg9 z_smackUyU3#hJ1CJu{8RGi8kqx#AP99t}o^*McAag(rW$Ol~7+?TX7Db;-wHo^n3cEUwtF{wpii7n#@GIqrOMtcsV8 z&44~O#adr)%UB(1WxGvN|^>7P4ZnA1_x0Y|@W6XG(n5#b#VC%+){k)Q^5W*b_8o z=Q6H8cw*bLuM6wT+BC;MddaZOrswiYC;Oi1mCyBnz1pFd?{v7U#cBOaAXYj)F{lqG zGTsPU%XsKohD#sB*)vSXuAut(XMGWP|FzDhKH;3NH+8@dt@(W{>rPBB2-F=NxTXK)L4VgnZs}l)es)KGYeVl0iq`&}fRCNlpY9r~ zrviRDGryW3)X0Oujg%9gMl)k38UUGpH}y{Vo!DwaowKjsBiT_Kfv(%JucZdZ6CyF>lPL=GY###~jyp zF?BrGUw@sma%YYlAJvz*uL;Ju`PCX^Ta!y;KFPvR#UFcG=Z<7- zE}<>s=+{HemfU`FfS29{t;6nbj_|=(a`>39cTG>nypA&Ulvr=g+<`!R;=CvDwd(hz zXGecAym*okAKUc2Ea>-9J%3*ClL5c^=I&ht)*6Sp!xK*L478q8zL;-}VmlFR1lpL_ zZ`zu=pf>GQZ*LAZgWAM9o9>EvZr#1BWP2Xhvd-s+f-xW73DyJWReY_-x&Eh9JEKh; zlnZ0F$2(y3rS)h(U)`-I1N*KB%pDJYElIJ@yfcGeoU8}^3~CPDmE_z-qph3ryb)uP{Y$L#ZW9VLTe662-C&dBIYHPfc-jR8B_-3EKZ&7|ZB-0-*%Q!L{yJ`sug+S1CtE(sgMD}%&t5s<>q~<5pnLmyWMAXw zW5+y3o76LGN!G`88Wr~Z%cBX?z`aDF{EcVjQ!?zt)BjX*BQbpAEd{Qc?0_S#`B!}ETZH+f@E z?KHpDb!+BEzWLv~$~y?K-SNfxU6HN7i;U&eGcNV?%fEBpddhHF19C=&uXuPkSOjXK zI(j}tdD5$nmIdc{TNSiqlO z&cCZ>%^tqZ^ClnaNWFw_M(ov3jUJv5?_IImPjbU@f4(cN;#g2@VDLm8+uxIiL08Jtg+-?jc;_2)Fs8 z=pV7ae=6#hU$3ewXJkE)6LIk!4g}?i-{KehyMo@W^H}c98h^>j;mH6$T5G9w-*YDK z&JPakr5`8!*$kWy_O-`??&lBv&58Quug@?t8-e(o1@{{reYRJ9fZX#{Z(hC&JRAe=M;|I9`*Hw5bepXm|@U5%X%wzYeL%j1nRM92;^b zy*ksLj*gF6q2ow&xR-VXn*krh#m*QTAJyd*vw6NfchY-R#-ndyUYpQbXTzT7O?%wS z^IHDc9o9Z>#adJ>`OVVubAXS|0S?9Y;^5`MZGrl`Gk9a*{&`DKpFV!lEkARgK4FKo zPuyYc`8%wA(hh4^?67v_4r}{%Si5S6wX1hnyJm;APu^ke1uNDPFynV`K$6Y$l+o$fZcI^&p*X^*jzQfx79o7!) zu(q+o+QA*x4(+gZ{SIq4?67uthqWU+tR3B9?bwR7q-$9V+uad2PJ4W=&+~fI4r?!5 zvBs75T;Er$Edrn4);+6Ne$(~hnXcaHi>$5Mlj&vL zyYj}}GjK3-F9~i7UKeSTI$!s{sB=|r@4SdkpH1WE$C#g0 z`d0y-!pA zzHQ`p`ix$6N3wnYM^M)T+vqwIJM*~l;ay|Zy>Kaa`Y*1i=QsTp+yA`ZV*3yN7Tf>) zkD~om_tKlUvF|RM*Pq&d%hQzqf^Fn?I(OH`j=OGuun07^H=m)dRrlZ7ZFD(b^SGV6 zo-aQS82#!U<*r!u&h*xglASNy#?E$meB0BMKevtiPI<)12WNcA<3rC-*MC}}>x;J0 zwO!nA-$s6?ysxUqi{?N#qxUpmv}doN#> zIevNHS_IkyTix>eH~DB^zCRpFpO5(E`xw3!)AJ{%?^=fEzvr`Rey+>+mixVPd-?I( z;?E*IS>Ic_JGdfXTg;yM>e=^~yz{Z;9DCM2H!x2Iuj9PA&43R2eV^OjMd0hl`h8i( zR|btW!{yJh_+>vi`%eVg;lNsBV&`mNKflTHrSfdu7rZIh6C4Zd&##g_;rn%c{y?7V zt2uiAa^~o(%%7fQ`uuHqe(tdTEi?JApXBNAy*l6beSW|vy}dUENyYMgb0dFW`?m-G zAo!W!@nACr_V0sT`S)242A`BKVy^j(C!V+?_~O9N3;c}M&-KLZ`*C#RoBrm+`{*4B z+}wfSTtLpxsr0ZvSOgk5`uaV_MaG)id1o9ZFK={t58oHuAIJ}$$;GYndVGIDO^H>L zE56AAn0IFw-xkoJ^^820adU1B+&|>$@;wgzic75H@5q#+jY;ON^giF{AiL`KZN$Gh zt&h4^&584&L00T|QBQoNi;t~MoZ^Ddqds*Z2kNsih}j$)^Eq{Wb+9+UgPhPka&S|g z#jWE2>5DE+~kp8TX+Wozbre_;4byr#v{% z#{TUK{u~I((|A_-+qn7hvcS6n`Bm{|`uv|uQv>DD-D(eg(7MJ6pKlE|0z5g>WYiLy z^z@#>(N}~cwyoiI&P%42dv>KSKd+hO)F0a?gVwSfYG;Cbg6G5&XXgLUkmJ$6JT8B3 zB<9BgoEbXoZ{)E3{|W6n0-P6amy`vddNj>d-hLxD3d#Dq&imc-)8k4$>BFbHqj8#po#MYN>peR-v)`O^ zBd+>5a>b@+_O#mrd-!V1K3>F&S2c($`hX4fS1#OvzdgdWwaByP`*I7oT~Jxj9>8PUF{CO@6IqJlYd~QgHtLvt00Z{Cl6- zpqG7P>*L=cG=G*;^~aVNH9nRr^5ee^Jg$|$(a+i!_uRg{tMn~0uZ?;Z%b6$7%={d; zPH&3b;Q%+9Iw-H=!u`ELYc|7W4deQEgzM*|KV~wm-}B(3_|<^(ftT8-AM&GJ8~7}t zgAX6bXFHwdnxo&J-|wX(=9ck$Kj_`VNA<0Dw=e%*&un~2Kwf_-i0Jva-j$8z=kd&o zU7e11?A6hm|1WEl9XzRpy@8tFAK3T22=)AL z4+ri=`^GhT>+8OZ`HEBW&O+Z2=nxm(;~Bx>O_|#W=)N=1nlm}tX%AiQ8@|~i2e|AW z{#fH@^J8qicanJ6$JgPYddQG%492T`T%`+dj|Q4EFxSoRW7GT(PrnCGKkkkP4<~TX zt8&H%z$x2uI{IKtw_1JYq`SPB*Un{L-kf*3*fG8?zzaXDkH16jGtn8q?=8W*NRu^LaozW*IzR=sxJMr+ppEZ5fi(USW>E$na(E@&(n zE}zMd{GH6Rdw5TvEtdb?l0A{}?!Y?#HL=kz4)?B_k#qdXTlr?E^{D5IyTR8&>*?7e zL!SS1(%qWOa9NY~YT_ctUp-!Z=J5{?^gA=w#V)5BpTwaZ4){9mS+y<}Hkv1XT^8v1 z&6anE^}w@vHS$pKuAshcW=yvCM01QcKC)4rKF2l!jh}qf?pgkK>+h@n^o&1RU>2`< zS8Mzj|ISf!YNF`9<$YaVHMsya{+=X9yblJC2ROp1ePXo_mpE&l&Q9Z9>5l}?)Y=65 zU!DceZ19J#Yt0Sj=-VhjH3N|CRD!=Ad&8y{Of#&#A)h)KOzqvLH;@66cWGfvNe0B^1T_G~#XJ#)8ZyeGhI`LUm!Rov0D5s=5zBG7vN z9#7`l;}m)hJAWc`+G6?Nt*^}wX3Q3OG4O@`)<6p3;9P zz`@mlwd$eQdbyILOObKbjt1)6nL8QW8>j_5_pIR3nt3&BzF!Zp{cvCn-)959+!4^* z9Q550M|eFPh^0Qz>sd_3@-}{rsFt={V}pNc?4H2A^@&ji?uL#p)<<-CZ_;-vzyZB# z&$E7RhyJCFsqgbnz4ItX&Y9mQ)97~&#QA8T;lX)l_mM#RmytJrCcu$Au(dzvz8{ZF zxfIK>!1LGU^OgSYb646&f9GzV=C->J})p2xW@^or`v)(f%ZT^7aerJa(Hfj?5pna?s+itj|cYc3vLPC8v@CWYdB#8U)C1E z=pW9v^DXo*W8+`%D?Eu!-j7ZFRmsPA2l9u`bHRx~>m9CEu8m^;{;n85o?cvwK*Py> z!4FRTP3igX4&n#d=9rEH)7I2X)g`v${!4Z4SH@oA#)OZ$|*XSUB$J85}lMl6sqqX3t^1CNvF5FT4c>gwjY-Ww^D~7(d zcdFOk6a2>s9<|<+>V;nR^*uNG>R)86)sC3#8};?P+BeGaSMG6|&@Rx=H#XIA{cvB5 zez4)0p1D6aXYODiXV(RCjc5LW{9YZ%p`3Z9r|USO+cP_!7XdDsvz`n7JF~Y1djief zZEv~LtHmS1m4RApY(1A`_)G_0#CtAK8}#20SW^pM7sB}UVDNZwIM@|f`}%2(&(=R2 zbUnkT+!yx_>-;+!&;_;4-`;U|Wz1KN4LpcV&EoU=K+f4*3r3xrdFHo#p9;iDN4aB@ zKKZB9JBXO+)Q`IIxRm9~F%N0~KA*q!g>IbjrTcbgT-pB;S-xBwh}pdLzm@rO>3asn z%_sWg3|(!Q{wuRiKY3$q^yU6Rc3;*ii@z@n z>X*FpWBgn@o9BL(w%;xXy${4gr~V}Y{`jSLmi2V$$DEM=sr;^A`!|XOg}z zo%TB;;uvjKMh)B&d}H*<8(FpAv3#qG@n=R|>-=l7z7fc$d!7Gl0bkVx+x7r`J*Vp# z^8>%N>C9E{tr@FVdYS`YbF$^Ga{n4%3Y>fPd#}3-oTs(m8}k069<()^?9CXTc##vibB@gOjefqd zAuheSa(7e4c(KdHNLQE&F>6zF3mpn_<>jcH&%8x0)DAo zvc`HjYrl2BAGqlEmF51W9|i1=4e^NaYXf{VC;Z0gRRNB~rDiqps0q)T0X`OirZ(su z?~L-sjxpX^i*!F6(7!Lx=Iiv=&*q8`Cjve@H}cHi%Y)m3=Iw!u=Vzp6hfMQ*b;f)V zH(&TEHtXZ>VXT@HZ)=C_i}QRSpzBmX7k~M#zFUi}_0H2_OkOW0G0KUU)RZPpd->b@ zlAoh*YTY{D8pDxkj=uWA$Ig@~{XrwTXjUg5MXV$J5)l2sAa* zn9SR&2FnM1tKyfhdjs}+zv=nP_w9JLj^mNH-FfDF-x2V0eIQ2i;_JSbW$e$tA4_lF z1H;cC_#_Wx#o`?4`OW)A=99$8&R~`!b z8F@p-&f}5bXh1ix&Hw#@Jd7ODZJzJ!;^9N#0Y{@8uE_Nsz$0$u2|wny`}ZtxMRz}& zUy?C@_$HR#iDxpF2_NXcC-AO^e>!kr%$9y9@B=UQ>E9EGi{7_Q zeQRj^ddC^S^IFgxi$@Ka`vc(-_k6`2dCzYRw$rySYvs~AOk>2!{NKKo>&<}Py#Zg% zt33!5!?Riu^VNacH2=LR zfNRo^`{_O%T&#ZCuOD*K=lUlWdicjKd-LCy!~5p6HhvcI(V7}O9{m0kf&JsxFJtZX z97N>2oLZA#tvt(#bAd~K)`nR5sJ`Tk{o2DNJ@(3lHMu0K7OtC~TOWL8!##l)cFKWy zetTzJ57dR+Xw{Do@z85O8C=rGH$L-!)IqNImGjcLMviXE{6-*WcLrK{aSx3Co>;DK z)g9g1nV_5;${6tBZ180}Th_$idr*9%tk`hRFE+^54nM|yWNKHfd!E;6rk0!^PQS}T z+UUEws19qV1A5f2Smjlo?CsnrgI_tdrY~3JQXbcW?ib6v?&S{;jdO3t`vXlq*xS08 z@ArU$9y0`U&>-B(5@yb8WDtq}f zW(#NR;oCWpV|vKk5jZb%Ue+@=^1{FJVtg#nz9IKo&y?rZKELI z`I$%uPULtIX!b1(($tomX=3**XJS1X$S;gO|I%<5(}fS*@%31MD>-+btTnf58Iz$G z7xwm@>c(kqzL(zC3BTyFXU;hpamZ(DgD>oq6KibJ;j?0u4z)ne9YVG}zh4+^Oml3_ z?JP2J8hkDO) zQMfyf1!DV~!#lND#Kf<$cK_@)GV5)g*6Gp2XWhFA zKgYfM@=S+$IjNr7*qynP!RWi+gS5i|oAP=z*frrydUB_y{#1G#oeXXZ zs>^=oNwcRh9m*KGCPv(7KI42YUmvWQNV9i*r@JA~U7!2r{Q_V22J%a{CSEqg@Sg`8 ze663OE_};BzU317zOcwx!?)P2@v-l)<2#Q1tMu~&UuuO8xll)s2G;fl>hReC89LQ) z>ny|N9`~;}$%&=9#C=DAW4^Ja7VimsJ^jV$FBNi2RxHgS|M2|sU_8_HWtA*W=~@f; zQ~n;x_;~PG7OVf3Jg*00;@hwQ$usXNUiKwYCVf#qz&fHtxvyY=A>!{;mb; z7hkyacNXAK9{6)C*cJT5@J<`|mNiaS+)JwIaS zOZA@4n4kSV(DfOMK`i{#=prvB+`c-{?89ySw`R_JA-n9H3o3s+3dls|vfk%186j8NJz``T|RKF)~w5kUJP_>26$Qo+Tj4t=F8K$Vaz9b{kdRz_-a3!{2Bf7 zEJu3$^HaR7J28#Fo6)>w`n+v=7bep9wieXqLm8_-?M%Qg?fvv}< z+y(p-Z*|?2@kSuVI|Gd$wJRnZsBP~6^=*-{*4XKrzX#)iy?KrE|7ai&n%GVT?uUME z$mgX3hh*vN-G`Iw0&8+Zzx(r4Abw}#f6rohxFyf)0a-F5AAO(enP#VR>VzL+gPzv{derf_ zuAX;#7T0FLE}Q(Zhc0X2{grRdQ0x2e4&Q?i+kt?NQRc6#kg?u7olf_;GtY)I?_M-E zkH_)rX8O+r?BS^Q0eNvh6nOV(EOgZd*-@`EMn7)EgugonfBCWz;KIJX7s-KrS5EyE z>Fvkcp<%x`akA~dlcfQyE(ECU+!DF?9o0j?5RIwn`bf8 zp~qA2-rlF@GS~6(jQ`J&j0;@ym;bNHW;#9J74Z3%;15i)bZ#drPk7_c<-ywmam@A7 zA!a$Y&Iix>*2~q?GyC!bco5e+1|IBdt=cc2bXE_a%(JQY`QQF!8T-3p>Gn>b-w4>j z?-lvw0lwpmK5ICn|BgV6V#OcMPX_k}7mMFI9p#5VR|U0I{^@fr%=c>(v1*M^y!`e~ zr^gTf`SYXs{pRXy{cmR8-2D5BbA9WPp%4Gn_a|29^Z7K&@%{G)}M89S(57U%GJT?!dMETJIX?s_)Qrj2z>4Bj`DyS4?=G>y>}a z{<%D!yZ7ph`!3q|Pv_)Fa5UIGp)rxc1DXGt`eYYxn;GC6cRnYa%RiVy)OCMv{<&#= zZCd|BJFMgCc<`-}VVjNWa30ua;}7qk!}=eY)*sCH@!+nY{(W24%0s4?HvI0Uv$sEB z|Bptdw%?v-@$nz$xL5>QIXIZHz0UTjK>R0zu5V;q-QOPF&VKdd$9}QllK+2f@_&@6 z4_9VgT~&96%UtsNJF?F?9{15ruiDsY?{{9}UUvR?Wb^;0*bxJsH9m~rbFlAEWE1{I z|C-lKFKa9%^DKYgKN&Ub3?2&9Wb2a*p8jO?sgp6!t!9DGgiSn$V#?+<Tm6^ud)9?{2F8b zOL=}KvE#Em)3-m+%z0Pbm)@M*lXcJdSrRTmd>vn`zb>+T+!NF$u5tB)QRF?357zoV zvYs({XZ>$ShV0)-Kd)W9s#|h@H|xDmQ`54UTku5Dj0daZK{X*TaNgI z6S|}JDe?ThOp1q3V?69VJFu@cAf~?``Rb`}t(9Y0*FG`6kf~k!{y`?@T(H4EwrivQ zXKKmeKg>S4nEPhm<$-;-2cFqH6OeZ&^gOJp9XZDFT2Px}#f6^l{Qlu6HP<{f=Jm|U z2R-V}xO(UuIUVnzADQ&YkN1=h2X_bdtBD`YdcQ{Y{9}3M$3L3(&AC|58Xn00i@~?nb!mTdjc_5fA`g|e{l)> z#5C?>N3J`U;nIhn+9pQ4&13wR7m1P0h%D{gogUvBe*V=8pXEoK8kwKoK?WD}ll#|` zoOsw%SB>j%#s>pA8t*0hekQ`?$u^&3jg0<_-QBP+P_x=M<@+^b9rNi+GdI@mxy5W$@r&T(4B0pII^vw|nO>&qfz zjc)g+_Ub@wm=l9GpBsH(dtM*>a>uUnOU{o4ntvyYZf%_Z*#Xm!kS1<>$9HpkHN3Lr zd!KaDe=c}95D)(}I-0Lt8NEBttALmJe5NiqKXN0lbk;VX8=HADVq^aw53%jbGd}JL z@TT1!$bmWbwd$2adaaS!48-N!;@W*mk9j@YYR`UmCLioy1e*KRKJs{4h3<70_*$8s zi-$7T&wjmF$*8B+vbe3u(<0Co%l}^ZXUf@F<*z%fcO(65?+xl(bB(V%1FdI3Evgqa zBeUd`8N>7C!c(1F4^WIZr1{_(q)f4kN4HtJd@*t_SjbU zlw6FTjq@>XFJ*33-1Bny6Z#>jtXQ?03q%L0uLWcPbW83K7w}zPM;X5_iQm(~MnFz%tK|4AA9Rvsb0>Lv$-f{t z7~m>lJ|z}0(A`}Ay&;!|b4{alJB69Sy;rzA^+29vn$Y^4dE3NW7 zo%eS~&KcViYzFq@!e;@SIQg9c8TpvsF_~K0QOh@Eyx&CHs&mFhImerJV_*#bEb;qH z#f$UWIE}?JKQBFRYtuU2eCKyRXYt$haergwlQy0=Iza4vITPTyeBPSzf#75y2loX1 zITv~FgVzUFPrdPWs2{j}YtVDZR)3$%UOC0RziXwrVV~S~e?N#^(z_POA1>Y&h`I61 zZFEmW&d1yO5oG_8H<`5_9gKaX4^rP*5cH4JHa5fMJ zU7N%BNXAD4oY2>rCg;AQ^WJGbW|sTUq#w_o8kc)I#(6biKOg7!K)H5ycaoEzV}bVV z!(A|b{aO8F*sJc|@8-&zJU4#2HSbAcqGx;;Sme3+#j*J4dVYY5x%|1ziJ$#Npe>gF z-I|mCKDVzf&({Uci8*%V+uhx-y)s;WjnbU$$}_MF^poER%7J*^nrAuUzeX?LUy~%W zBPN{i{bX<`*d3T7C-&p%$+6SD_%p|*edckFWAkI~{>_j(^9KU0x<)@*ce|!__MHWO z(e13Wx5}4Q-1F~_;BY{vxaMdAgw+rwXR z%dxN9_D(pR{#>929|~FzW6qs*GPv?JBKzwBTh+NgV>&&vNxr)9Dc)-Xdz_u>muGVJ zbuPmT>d^TU0MkcxcGRcked|3oy=2QLZpQ#bkMz9DjCe!`BulQbl&St+C zgMYQb*R`oHXXU)Q+Bcu;k-t2UXEBa{Zj@g6)Be(mGw57>%HFLw#8q4Lm{%X;e9t-` zdWIsl%xCl3zIl@?XFzP$Jh$hYntb8l8@Y`@jW{3V)wJ`(7wd9FhxpV{&+Xxi+4@MI z=g~et_$~MTes2EZYy3T=K4<#;T`0de!xz8l#AEq#XIMA42q||o;Cxq&Ci*9S>vY~6wiU6b7J4AwwpITHU_#z(97TTfG=vn zoHM>Za94|?J}xrWy!W#||MQ#9pZ$F2>oozrWVbsn{@!%!eB_IL?3?qMbaVRpqUN@X zUrx#4lF!cRM!**_F9MB!>iA?Zel7LD;D`P8S}$Mr;m151>Pk-!zx4B*AI_YZjs!;o zz5sdtiB)TU*t2HObyJUv`p_QF>p^+4U!Ln5Un<*tSmQsxaW&6L&pjV*3;3ytVefLZ zl>Qdc|JbyECSH zp3haEQ*yxvHUT&Gk3VBEuT~a;b~s>jv}az7>QCdVIGwA_fG_T*v+4H-;sCbQ9{pt8 zA6KV86wp;0#?>>v7e6QS_XRfvbmNac=jgg=yf?i%cmIi3uTGl#RnOiJ#`W=8-Th*m z$LD&0dmQn<@62M0nV+dt@46jZ58+ONS~OyP6wSk z@V)jkyx`|9 zc#wPcMw!R*Y@d1D_Ve)ijMswlW(=d;i}S2*_;qUPt7BiD<@DqV??4Aht>{(9m)w&a>`+~f)LI&S}pM!zi(|JqqU*o7c z7V9F=9@y%Zw(v{8hKuo;FXMB$>Rl(t4+i2=cj`~GPhGKzS9h2u-+UbJJHDI^_&e(T z{5*?|{oTQl;OI2wFMDqfjM?Lx{Wv)n(DzvZ|Nc>IBI%_V=KxuZ|)hDCLRll10A6dY) zm==NNT$CsLfn41>joB#d8-215#Awg@G$vpF^z~0|^N%ba_f8;lETHEHQbVl|^W=TD zh^=+y85hmH=jUAHx%=55&z@M_75f9R@rzzf4D!pz(Z7dR_&55oJM!Y}9KWs$#Jd*I z$(G*QyjM5t!RRk}vV7KFH~4Tvo^eEm?<05D=b7)DQ?G8$1$+_TBG66*R|jm{Kb|o@ zYvk1u{xrIJ&st+^lx4SdN-vI`5wUdGY^r=I6fBD{grw>+|uK;!o%7>l~fl-f28hJS2H=X!O>~FmcDxbb@a+Pn8W|y$efzT zLv=YnY~rftAj9+j-YVN5u0^2XMXcH?U2JZr3!igca;QBNEDX}v==`ba*`o)?@B)CAlXI1_52YsUD-m38~I2e!JEzgL1spLJ@^UOI5BXIp*9MQf0MYS2FU zlE>EW%^BYi>>cL$wg@zGbD8Sp>!F}N^P!&??8&cZvGsY>txnX@Ey1tEd2)0-7<@S3 zFTSilo^@PT{#WySJkP(DUd((_o9-~Sto?e{=JU?CSowuJchmf=<7YGA-|nC_|Llyl z`en>te&OKdLGN>MR*sHQ?pU5RU(5F_i<6GZt!2zla1ZP0+ZE?JPZr0g100B_ceZ*{ zBXqJy-=B;BE(Id(52-)JfmX z*jWUcSgsDpimx2wObopT+P47AJ2QcfM*ACUQm;CP^>_|yCGeHqJ-S`xE*riXnH zpFNGw965c;ed&|<#pBP($-j8S+nD*fQ_T1jci#c%ZrnXzY^tT!fSiiC{;;_#U~7!~ zb$MPD_oru`PWm4WG=7+Cew`KZi|O{Db%f6s1#1EO|S;ftP+dNFKwUarX6<|KD6y*)T!=TgoKU)WQ>IBY$LQ7r05Ez>Ke@;T;~kK)v8 zwap%i}T@y8N7>zKiWl zV81yrREEFh!JOY^w;!@}oVl)h+LjTQX*^ zb7Sq&@0s4t)3p)Y9oVPwQSJ@}y8}9ZBaY1Tx0ZQOi#UUx9eR%iZ2fF_qthAZGdXel zJ|y{r0Xh7)Hq;5wb2^Y)yfue@rss|sfvfR()i@$cJ!0Xz*#2iW;+^hApp`!{@WbyW zSQjgw&D;M2nK##X@#XKI63dN&z1qj-?>*6%qwc>vvg4fn|2dyUwKe8m4Va&Eyf<@q zMSu6ur`B3C-KXcP+HwDDc(A{`vk%V=#B?CAr!ji&nagl_kI7y4i+3}ym!Ic?)|wh{ z|7oLtC-Te(ezgYq#gFQ;mo7T1j}CPz&nE+V_%heSr_n#pV)@^#yUE^FepiMawYEFJ^CHm9 z^LaC%LrlE~ug{oY&6&O3PX}3dhx}{=_&*smpT^G#oH6Y`v=q1Lu{x!?|x*|l-kg|=cw(zAFg`F4X(xI zjErYY{WPB$F7G$G@G6Gd7AxC0bSHXwp$C_{f)@>3lHCZ{HC_Z-dByP@<&jQ2;<#td zKJl{8*VZ)utc9BMd1!9bsaltBdV1IK|3skiuYabx{>=SQ1Ft2VR*oBo*ywAWu+5HK z;)TyYxy{!Pa(F1v_(um_bT&WYqmSO|`|d$sdDh$CSnTQC+;{gS9?95KE)HjG4=(W{ zMzvBoy|`A@OV8u3tZQO>_j2@P4U5fwYhM(s1>$DYnppMCJKv1u!|w<4OI_Hn2H3LR z_bD|&r+qgE?g~2Z3)rwe)`79ljOJUs8^Qg7GjvVRwG7Yar}o66(Ia1rU{5f92G7q` zmM{2PZuGY`Pw#?Y+G6?NCqIkDTt3*^AB-Gz?!nCeN`NbKAg0{`9e5EhPA=x}rO46A z7T=BK5iVu#X5`c!-&#j_@!VRKzmC}eb$DaI9{D%t{xPM7w44$*`56OaMt-DhQ=hX z8t&=V=xMGuGiIvmY|Yp4YHqyC{XC;_?aSJMfDUi1{^)J~$ZiIFqSLssWw<<>=E+?f$am#D z*B5$mq48zwo%CatcLNUR;P-s)<(cCbJr4wYp_grUs2s8XoIsq~ze}8a7a#figYLn5 z^|9A`la8~KTz!5l&l=y|P4)lpX1ogY&F3?a#Iy z@w9t+=X_P>-RJTk2WmrWoR4fhF3*;no(k>?a3v3V&#wu5?Yk?!mCM?GW#+FB_+K4- zciw#Ft_9U|G-Ivy-4|MWypSDri;Lg%;lS8_e(+bn2sAa|xjAkf(#M86ngP6o~2STAFZu3dyTJi8zGe_g<~`oMed@v&zQhtA_7{d&N^ z-W~ktdWK6q{OtXKQ%!vM77LqX^kOdO87|M0yNx|L;Mb^6?lif!M(-jhkJZa3Ut98j zJN?hj+FbwKUo~?veysPa!QFuH(xkaG4N5*{15#Q8-n4vu5 zaU*CB)W_1Dbep&J_ zw+{x72WkbcYU9}}*3{8>-#EkLv-3MXtB1`%%{fD7hjE5WKf2aDs7*C@Mc`cU2VVyQ zbt>QN9t*TpKc}bm&W#t~WGA@rzOpRpQWJghV}YG>6tn>($GYp3<{FOF6E@wU@`xmvZ}9PkgwEdmYS_|r}W>ZUbE*Zk|y z(}T?Q8F%l=jMdORfvP@`|GIB~tHB$-UFhG|&uZ}vn*mP9h+W)%Z&dxN6Sdj%P8Mf) zd|R+LI2UwJhUf3OV;QR%e?J^MY|wAs{_h;VSHc#~=qKx$oc7I=9G~c@PuAp&&erPF znRCX~)P9@N#4i@$Lv#6WGY0v7Y4FP6_Tc*`{80KIo8ayh2OZ|$8T`bAuSsvMpz{O4 z?+?Cpn795X0&9OE_@035?%-tLYm6V9o=>O0IS_+&e7r2^S#yWrlJD|Z9paF)RqJ%n zIj?_v&rEBF(q9%--`oe!@|Tod@OLQ9ec8#DSVuiyKdYB9COmjw((03E_VML?r}L|P zEq~>6jD56If9LXjRu{NuV--i`+V|X?iOD=Y{KV^KaCjQKZ_6`o>?>~>o?pAnLmE9V2}XYoSV+T# zHT<%vk$+i`f0p8jabDa{-u0I+&(`Ic^ZDwY^e(m@s2h#^Djvn7u`Rxa-w;A9{JR?`NdnWUja(B}GWV|20{NBXXnG^2_{))MC_%wdi zFgN;?>GOU+KKN~ZDU9J@Vd{yg(e`{kvwf9)c&<)L*_Klm``v9epA zA(t=jSvBIF^;3hJf>#9YU#+q1R444n@h?w)&fiVsb5)&;XJXXRxW~WmqWAL{TkC4% zaXdHM*>q;sg3X|HnBg+kC+lhJ-SqjHhl7E0f5U`y%N&<;`ZRp;>wnDZ#=P_Nq<&v< zUic29UgSb6AJrr7(cf`=Bx^?l_l$O9K#%7S<#&ZXn4d5IkKosW{~S%*&y zaKg7ym;L7gai0jZkuN@au3a&X&uVBbke}~*?v_vcGuB#P*7~!vuFZAeX*(Tk@1$dl z$JbZS{kW}nU$HI%?Sa7B^LAMK*lpJ4`afC1deAeHQ_}D)XSU(!DVeNP11BQ*tXZWm#zU@Lje)yNR>{kB^ zBV)gN=>1uv(`TGHoSx1<T>5cs?L4LR6lx=I{ z_f@=?Jv-p9S{rTttNa1s>XMtr@uB=<%j8BL-aqj`Px*S&hqvM#-zEM~z9}o-=g;E( z(#(&x-!^;x{5&^a_hsYteo-IiHMCQ_*5p~t#=holPJZJTo{W3cDK@e`uk^UnUpe(x zPd#1c*QegQpJ#Qb$D96zQ|~j}GoJL`fAlA&{xhcjwdu<_n}6VsZq*)HJm}Yh=IK3C z9Okc>=GE~_ruoKuMV{yR{FeM-F8sJ-?Dy{8yng6ITm1Aq`o1Zda_C**>m&2r^gYw{ z@4C#8tI3kzceq7x`89 z%w#`p_WU#XW!F*u)AB3_hGF*UjvbIf9pSg>fbW;-r3B*b?V5_jc@m_td{< z>fbx{@0 z3-Mq76Hh#G<-f>##J_yviHCmX!kYX?`DGrtz?-~%SDyJJXZnr6n*6_VT6*2da+ z*Uw#8S7$%4^-QiDd~wEfIV&&Dx*GF)>vFe0AbTV*?=utkcLe6$ZTc^o^>mv5(x7+B zJEysF+}gN#n)e=W4_o>NrrsIzTz}iwcH^$T_P0;_UNiN+=Aoyx>T71t*G>J2^giFM zYd)jYhdc6(vM(&d>+T|oYvAUzlP;w?LH^tV;0i> zR=zgiyR%A$4{W+q8t)a;ynXitjOE{ntStfF9NN8R^M9YfR30we>VKR z0nMLU+X(1_QSL_vIoy-O6@4K7V*zfye~_(C`J|JrPf2q4;=U92XkTu|XLjhY_rc(w z1!|aYnzdrA6+YpUkI)?Pk?n^EANj@(-^nfl4To`c`OeS&$)IPHoaP>+n>{(^yU(Hn z>FIPXG`iHn<}l9i{Je8;Wt3LV=fCstj^J!S|2u=<7CaR2!y1{c8NWA3Xv=q|Z_HRs zYNd7J&T>99cWzu=LOjk6`MUyp__S~GNuEX>SLS&xd(}3w{F=*Ny+W3~Yo>XAX*k6_ zp5?uMeRAZ)Le9Py0vjs)r%C)NF_JFKtLckK@H>|Hml ztKSa?V;t*QlXG!s9rK-k{!FxXJlG#upNHnhe{WcB>idDgm&%B(`thkI<%1q~roD%z zIsR@;I!BzNq={Wc_b=Y%g2j8t4dfS`jmz@Y zgEO%|cu8<;a3c8Z;Qruj@Fl^c!FL5e68wDdcyL{myghh#@J+#Y2Y)B{VDM|fmnH%4 z3Em%w?Z`I1$*uLHS(l4*k$2xX=TWn)i(^^at}fhx_TP9B{Wo1?{e@XqgD;x;7f=05 z(&ztAsYx|;dB8_?Wbe%pbVkL|+Vq)8c9eVRCCa_*B64co-NT-9^qlnj1Fdt87ys+y zEqQPsj6NRBGaqwQ&ilDaZ&I_ouf%#hdh{=!`cF$w=Xb=QoNff=f^YmFf9oXwim88P z`sZh!?YU3p?8BW{d;hKSjZ9;<4-exUJ*)hA)#S&g@8E|#+po@Ui=6T3>w!EU3$$zV z*(48retw?SF8|L3xR;CO05|S0IZ(@d@7`a}&zMGCAI|gB)rEu8f!O)*k>bufi8#cB z3%_5uCp|9Y`PG-eC*Sx)ei8ZRr)P&QHOCGczP8(!UT#C%`M7S+m~C_JH9rmX?0qR} zpS2!ncLz5vM_W2^>D|bEqHcc^Y6(#oqV!a?OOMKcrcJdaWsc#Cq1v3 z>AC9?^=wAh;YlyP%7waF%QGKOMz{V{dcKXd$*0~`>i2X6__s>WnMu#>>06)8MPpN+ zW8OYv+H=R$zcxMl<2`_9_O`2)*G+rxochmZcmg%Lg&z*GLmHuKmiY@KFr6v+^E$;#=Y5l|`=|baOVD{F`>Hc8pVzrD>3q|q>+`1m!AsD2MfQqS zJkCqDEbkdPbhbW!()H%4f6Js(&5gNR&$By#fA0vy{BZia1G@2YD!}vpK+e>hGvb-8 zFNp3{^>43y9S-=|bI^KT%bfk2*-zi-*TFp7&$sR)dp5Fs8D-st^vlm%vp$dUK<1q@ z?f2wo#`Jt)#e-|lM(T;k_#39^3EaVTKl+PR54evwhPV#6QK z9-8)c{`$<>tDO$SB3E>M(KfoqJ)`{FBj4xdDnAlm=IR|;8*`N(jV^y~lIdqH0?qe^ z`aOk%8LJ!jFJF%a>YHzBLq6HyyYIKO_Qua^96XuN=RNCw4zcvS)X2e{eX!iG6yuTVG<`49KW0?Xlp>fE=H^6Yol2&bxLjbLR6a z6z6%}H^?`BjDG=QVEB^;#enXL;w$b|;s)G-d>#y}^IJO=@W1)R zAw7CB>b|w_dncN;g+bckU{}yMjDe2Ek{^+tkDX2&iC6pDt#0{Tj_udp8)WMfH>ckp zoSVR3H7>RT!6MM=%Z(XVM}CyM{C8oxM+kJWWp4aCqMU1U{hn^Q@q3wSf-OEgH1*|u z%!mBY?_J1Pv#0jEZoWJl^L@=Aja|=;;dI9KIlDIm@+T+s$|>C^ri*GLW4zF@-MSoD zZ|}_6UR}6V4|MIFpa#{@i9mC9_5}9_d<{kCW6bb;?eq+>rLoJ-BETuTc&Oe7GS(j3 z>XvcZ!v;Q%1V;n5@nygG$M5TP&d(%1Gi&15oaFFi@BU#=&MiTIm3;0pJDhF-^pn#ht+i=W4b)sZ%s_ijrw4_XHG8O zxx&BJDgNoZH!#Nsp9$)!{#=!@#vi_SFCWHQYkZ9hZyhf(*3^pF#_w@|Sq@w0tAh=; z_#zLF2AZ+_+3)kmGtTVev-lqgG|zA*Aa9JPQ7^8_xf-xPUWUYB$To2@7^dXPuYt}hdW34AKs{ygmy$GDA>a30V zT_CpBNrp>#zIUH9ij$3it^RzGZgKU!Vjjm8SvwVsXZnxj3%K&fPx+%?4#ctuG^fcx#$XJYYRL=_p zoK`(&G8Th)dfxb<$?f+BZx7xbu;HHC4Cs49@Q&a$LHEkl*CYk}iWR2PEU9ASx#hyS@vulC#Ef)UR+uE1wxx8GHb?(^UH#uW| ziWSHl3$!oD=Tv=ACqA>qx*qUFJ+j*~V6Oh3&X|5{=5Ry5J$nAhuVxLm`bD4}4)Aa! zI2!POGiZIYrCvKXz9)#0Z88r9=O)t$vv&&oA#k;#v>L ziisa$(%3DxA4%TW*v&v18>5{=d1mwJ=KA{VSqn5goeCPu$f?+@-y7T&jC<6>-hhn# zbD8R_?|m*`{O;FG>PC+D2j_y;7M=25{UwJdG8o;snhXb6@<$nM298CT=m+nL|qm3_IVWVewe`NVS z%AXnJ-2)o|dvi|M{)*Vft@^BA^lAKE1ZuUPGjo3A68J3c=8ewLrxy%9(T^uG{d}U| zGtPV#yeK`H`TU8@iMia`FFroluRhtmE~wA$J)aTk+8p~Qhq1Y?iJ|xAddBLiw(2*o z>L*+L*)_}^n#O9vx;V6vkH0;aS?c2!IS26Qlp4$6*#D2BqXSVfyv_TeE zqd$ILTUmVJl$_l6^RG5=$tLd2jXA{8Z2{gi&#(xz!vX!89PqUb(+iMD)BK zH7dOvJVb95dF zjs`dYz5w0h_YHeblmi~wub$K|TWf){WlRUY#iO@RFOSaMdLZxS?ICB+BG5d`ot!!+ zCjzZ8;NmR`FU>xBYSY*rwI>drFFkwK`dRl##+ta*C*K|osKwW2z>YZI8dw)AUDjJm zY>fZbQscF5&AZfRr(X~3qyJoB&HeG>^ap~*psx7Ho}BIv_-CDNw7cC_cehW@lEde)8A2)i!pcn#y?-! z#r3hk{{J@IQ#c{l`ej!Pd=^9R74%F=4&b_vL54$|FIMBo}=Ja=5B&Us&Z;N18(DP$WoH)_=gD3jQ)xXB< z&h8#}aL3{oBVPGuo;^M8d=862>z?YeP8S{R$#|xVujA+V;XK=OBsd!IQ|tE_`Og>j z?+i41%AYmQ-6zL!R`v&rK&!6NAG-NI`XU~CHv+mAfmYw< z`|%^r*12=at~vJ@eeBT1)*|4$`NlM_>&>jOw;Z#$H^G~b~YOWKE?DdDr@|>BfwiZt6w){ zPF^&!)hovO@R=Et>)%Pk>cYTaj5q^c@|^KGJb6Rvcv|0nc}; zi)$b-46)6_*aW;JD=>wovU}~`1iW3k+Y9ZcY|kn825b7ihGy8 zm|2tB+pR6+e2Otg&%R*7(_)W3Rl)&p7XSBbf5{>%(W$?&Z6D zKNyG?*e;iz=^;Pn;vWyX$g(FMemogy<L zs$+UQKRxInr;fxh`e006`>a8}yzx=I>X!b>uVwtngM9U8`l|g4S#Q1TaYF|V*;G4s zuh3z>HoM0&9$J63N48w|UK0Cz^M`ILTMqeL+16Fh#r0(QOb4Io{?S2qd8%HrbXWE} z23ax40pFc5I{9x8e(FQz=pjS5dw`sL%mVxHcp)Hve)&w6PtBKnuLsp#E;4ns_L@_3 ze`fHvv9$)~1kyGG@14`ZnZVfx_avV_H}L)e?Ww(P@pDc&xHQbYCS!BGbM3c}E;{9u z|K>h2(8MYp_uA3)*6lNo3!GT@H7lNQZe1MR#|QKDZUj3)?=5lDrSIH!#%lpRxLswV zIb@d|`qkI?xx4!KDR%y8IF$$I*Vw*(ZQ<;*-DhJm-OE>dea}ISm^X(ze)xU0?o|G` z!>s`y8tb`?KQje)e|r1Xo;5ttG5*<*`f)k){5Tlc&v!cey$XEGPwjc0`o-4WfxX(( zfjDMCd{rg8N z?1{bi13tA2f%qQ?tkYpEmYxy1;bQ}>wWc2NSGoEzo}tQmXIva)*`bqcb5dD)Tk{!S zbFTP{FaA$sX$;~aColNW{8@FJI_vB@cYGknZ+q=C?)^5;Seq~YzjyxRmVfq%$@4tW z=8OM7+w=2KF#7rOJb!i+u+z^MV)>E5KYBL;{?M-lu*ZIF2sFiVjo@cFc##0;g+S^!bd$f0Dxjs*? zRiFE```?=JLqYlP{_~l8B&cu3YEA7N3Qh-S0{if6-;;rMOVGKeGUl7JZw~MFo7bFC zI@mL2V=Ey0&Y^B`s7|W8dYm2kv%a(J>B7xC(B_N(U;BB!cM+R>r>F0TFU=VE>0D}b zj%Vr{Ccd4>I4nBYj`F*-U0M*>o;FALfDf zXmB97Q7xQ~%$a~sYr&;}59)IsXzcWTOkZPr&|+HaT2Ac+XX<32=J-`Ra;ni$&bAga zdviF)89Vxi0)EkBPtV<U{evI7@_#zC)V{_=@GxL}L_tG>p;kNd&T;eBl|LQcl#RpW>(Y>xWJ z8ak16Hr!j4xt#G>k2oQRLuch!;H->!5+fb+Kyzm3)r))NT&{8R*~2+iKeOe$8tT2# zv)9_Ai$4zrJInFMrq^17-81dSyTzJ3KDkdGotygLeAd1g*`M0%{WZPAHyTjnDZCpnGXHUf*w5KSsedz;Q45t*;dDo2b+OhXk-4&+gtyPR!?kS2zo~58Eb0UJ~?_S!Qg}(-8jMt9rV-5 zzB5H1@Wp2o`^ZA?13BW)^gb37Kj@`H=J7h6pK>H$az}Q$hOgEHolgZ?^W#|!k<&Hby0I2lo>mb^>ejK-&%Ee;#O_dnVnxugUW);2-|f4Snvosb6HAp~C?g zvEW@JJKp2&J#nbn^5z_9csda@r+lW1&O3ws_BnI*@v-_J%-9}2@mZ{7b^|`Kc`m*D zjq&h{4tyG`f9HBD;75K%>Ebho{qpxf!0tvc#-n!VwrA8|d29Av2<&6anVia6+fNox zYk~Gi;GDY0nlo#Bv_|$-0Zz!c@9VG6r@h0-Z3g_tE1fueQ;?5a&o~?W)Os(lVPEAU zwvc1rzIv28-4&?u&43;azhXNT zh^c4eK*n14-ig;pS$p0 z8TE%-@oQu3?6I|~9>g-v%fqU?lGCj7k$(B&6PwdBhfDF2f%?hELxHs`OH9{V8hoIluDdp5W7opr237%cJ?JOxF%%jsNy*tpR(=F^?0SIb-Q~P@*X4})VP4$yifK0ZDwmacDq{_= z{B<9^JdppsH_m6=I9i+H5QDz&oVAR9a`-y8{#RF)ui=)DBOf@V6Hj{nm!Eqw7Ka+T zBR2Hb<)txx`(V5I@O1^h^sOB>fek+N?q-WFa%U$$U%NYV_M8sR1adK+5ghUR(*rpg z?;q!EBe4I?!S&X!TxVUZ&Gl42|J*H8pPDy&=Yh5v;Igq8Yix^Qm4EcBIqgEwI+TO; z0FSQ=4uqL|)8kyNXt=TNT=f1kr*2LK`0m$#>W@A(_!n|eMqli?Es!Ja$A_ABrZxh0 zZy zU)JltIGravXsh;=Pd3g6?6f}nF1nOC@sW8j(9Q;Gl1}^hw09SM@CW^5#$fIK!2TZ% z{z72h_=|_}H)MP;m~zxQqI-A6Iu6Avhy2#A1XDeg!;5;=$Xzd&?nFLmrml|7vC zezN#*?#FjOo9f2CabBFbxVY^1<7-+&eCOLvuo2KKfbZg;>b7URKYiA`C18tub<#uUBY}MWO5pnhqwGA-T6H|Q_qfm{U%m5w zB;ygd9iPYX_bk`aUHx3dH~RXyn2&z{n8ru`%>q1#L4Kbf+!pKx{oEk#*W`H?kZEjB zWsI*;KiS(eNB@TgxZMtzb=Tv^v-ap-x7bh5dcY^L_!@b|;mGT!=2^XwKN_^w+-Yo* z6?^k@A!GW)g$I7#n|>n@FJ109w$%)M_KqB=BR<-1%#QtP*%|$apt>_$*rVf#fS>dq z49an3%a?h!=K((U<4f)LbGF>^V=WLP9qf#{@_5a>IyxK70{NuN{>CA1=Yr;-{*&Da z#7bTpeL0Y4whJ~kg7Ssuy8?OPH$Uh(AF#=P`CbIW$djc`h{jS`@{B@VoCEoJAl`(tyr>hpFhe7|O#_8EazL3Gi!7=6oQ2K5F@A-rnzfOSm8X>zV9a?@c~W^K&wDVyC12Ip-h- z{E5?Eu^M+i!^J!NM0$6`M+I`tXZrdsIGXVY+>Xzy#>XPV7G3N$2DY4G{_OUHRozDqn(b!?z`RLl+8C!?({rajrp9pZfpI&An~Z@=H!bt=8saluzP9AkB^`QqyX^VZ3a zIgx`Y)nJO9*~#$IK~J9Fib2#)wz4%ORT0h#iY;o_OD@eDY# z-A5K5c+j2>P6uZKan~n%=o#OK<6Ud)U2{)BR{ecL-iOmVq(lD2fGaWd9+$UI&9fTB zb^Q=OTnOx;L;pa4H)FO>27ETxy=xi6#emMw4a#?hSKs|)@cqpJ9dzsMA^&xOc0MrI zIy;*2`Y`{xjQv@pFHS##kK^;IaYPm|${{;);y!tEfG>7?_fEe*@S$0=hhNPRzj|KB zxwmFsOos!X-~LiIi`^MH9?->}y>!YK+q=tgb;{RkGB*ow<-Anq7c6zENjgsk)yc=Z z1eaFbdgq~Q2QuCmo^hg9$gz(HWApZS7pgTen}>73UydKv{reVbXcmxbJmtc@quFO| z9*D^^KGfHCpgkJ&Zn~WDW?&C{bn~g_&AeFf&u{vKKGm10#o60Q&zE_?zB^$MLDY!eppXMI$_gd%zdi0t-bjuTd{>nc5jCRS2S));4?qIXdgeaw8#sd%3tH3)`)fb)W@{$_T#4f zWXt<;^Tqr4RBpu6nD{cjKYQmnj~4@cH7_5NG04kCpr*8+PEEO65@An+^3qpLoA>s8M?GqTcOycFqK~?e{%TZR5~7+i%D^d*;}dLotgpG+q77 zM7H@M?=1A*X-??m-|w&Ze(LBSZg+y7QM#w^#@2*+I&q)|jWxcCRi4$^U)?9CwZUh5 z#2`lXir?`LBf~Fs-C8Gy5AUT@%Q0@sdxncTn97V_i?0z%yBLge^x;C|+qh=D$_^e{ zZ_W;=H~G-$;hS7&KewV*@Fus~RQ~Pz$WL=-?=)v}p-p2E=UT86;C74|zj)UJ-+ewY z*SOSIxxvXs;5|VXy4#XIvA8TV)P_Ohi; zHTzog?m9kb&No>(;zM)gv)dhczFDYIvKoC41&2MP(JOyA;e?F@b z`|l5`uN-D-v4(fDIQ{Pv7&~;~YdsLtl>l#KwwDBNWIWm>j}Oc2ibLK*_@QGr=>6!~-lrq$Z1&8E{qxrL>YA_p98X8RvhXI~7D2mHWEW8lYjpgkJ!r@mH} z&+dr&dnk7KBCgsq9_^pXGyCjb2>2v-6;mp}6e>nB?3ZKu81;BtUZ zdg#QR*n3y8hvzSg5$kNv1I_u?o(`G=F&q#0ggd=+M?X$*D!x9u3&_ouef8w=D*tTa zL2YT(XPzE5#f3w18-ZTV`49F09u5ZGSAVAW)=p&V3xCPs#yESfmy;3nj?b&c z5xL51>tg(w9FD}j6SVG+WK33Gx<@VDo@X5Ne#BGn0=BmU%{geT(A}8n6_?iYCkE&< zj^y4xZ8N~*T5u&`yZSO*_~ZF{Ia&4ZP00tndU>AOR3Dlg;J|%DPR#P9UY)=C;w<21 z9%z>Xz8?%KLl2wdU4nNp(K+QXQ`h|5;(&=Xa$5o2Kef+ig}buG*VDn7z+PbgvEbc7 z{i_U)p=Va@sSmw|i}J4?UYTbxtD7T%d-2Od(z*2Z%mZz#2lMpkTi3XsLQRZw&cyhf z$Auo;^5s~1wS`Ciyfo0*BIEmK@<)d4{<(rH8RO(NL2ItHtER-omj?r_y2#LlA2K^Z z*YIwQA8Uceuj(E7`kQfzU(?)Imao;@JL{3m)h^DzVjmrR8qXCjoUiSGU*ZjB@+FZ-T>7vy;a|HkK4<5xt+zvm+l?9$10?{{~ASn6-N6l;A{59G#J zjB(T2p}TR7Kc5pv`77V*5f6NcYggZkYe!%s&1Y z(@Up&fNvvjzqaD@1di+*>l`nmZ}^d0JU5TdAs@)~ej!7b+Ta5&64t^GTz0RzEl*P) zzkh{~?rL#pd;@-83FuWvr_-Md*k)7h;FN#og8w0e%+tRwa9{soK<8GV`8#yCk6P-pf6JZ@xn+xNIn`U! z*AKaW>UXd8<0JA9WLNf{tcwkPGaoK-^oapI@^&m(TKm78f3&*#n@c(P@A8*T?a}^eWJaI`oZ_fFE^x$JT283%f{_1=N{yO;fomi@v3}7)1Jj{@#F1chQIDg=J3s=IH)w|LWRW`1CxJ@!rt;9tByxoy{8ip0yv& zFJlpJb$!C}S=`<8s(-#GL)Y1HKDDAA{C-Y(;M4O0axYu<&8ry9Z!Y_CPFkzMzPJ?8_t(#y|!pwZQQk@GWk zdcE_-=ROt#{o18ql%M`wlg-1y=qFpASNV3mnAv4(zr9(y`Wbp>Da(dE;^(tmi_v)z zyZo0Ear#W5ZcYVjfmYs|_s-M3U+xIdnbnHADUCzD!;9kqth$Lo|GiI*i@hzV2u(XLwCbjq%n zs5AA+hrn8e%Y4XlIgy9`Vz{2q>O?Hw zyVIJbuiW7gUzY;s(;hV=7Wdux;Q7Ikz?}Ne`H|CXZz#n_$ikukfn+Mu_@&9MPS5kTJ8|Ljj9;g#G z=@748Zsp8;P_5Y#bbSI zznwYFvpssB4f$d0^J00KWvuSavq9&$ulx05ym*n@?z%N=is9dPu z<{1~B_3Y!4-qtujXMvc^m%~;4RL?x}nw;XG`>*FO9U4D&1NP^E)_R_0Oox2PV_`2_ zd^LAHJMyTpQ@!Lt4c`*X1MSh^bZ{m(utfK{W6XK(ndUR!`BU8)Uj3PlJA#ko)QNg< zruiffe7Dbg&Sz?ML>C**igTr@JMwHn_o!!ke4pg2va$2>E56nNyZo?M%ssEYJJ@G) z7LaTHs!zNdfzL9VHT z$G7IH=SVE}@|`|<&B^r`->N(vh>Uo|ImY9Cf-Cx}3&%jG+R*HkvvDt-eBD~E`Ce&x z70TY{kwXicV)=sLn*xok#z|JZxHqpax44mSGUJ{X=J`;-9{rYPcIZ|sXM@^n&Kif9Yu8+3FfRtS`M|EmhuU1v7@UoHpgCL4 zj2N5^+@1>P+X?J-j_I?vbAC?Lyjy?qa^3!O!B^+N^$g>xdiYF_dbgi14+h5rHr4`b zd~sjn&E7v6ed>J{911$mwp`MwiNku&lUO{zAZXldOyeYvyZZk>uJGT_68Oc|XusSz z3v#nxO#J+V#KbqT&w~SjXWZ%evmMBnXR$WsV;SQ^W0zl*9pmSBV}By!ss4H9YL_3i z)AuPKtkcgnU+5&uPIZ#2Kcfvk-$>UOFWLIQ=KTTP+8CE-_IxJa4ET6DII|pkmOJ$| z{<&>;#5~aEi~qm>`$CMz1NQNJA#ipt2F|4Cp2zdU*t&VOP#HB-8RIKK^Cg~Hz)yF? zrRA8s=Xs#b7ysXrBO?a3$gqQ>LxF}1btseJI4pXT{oKHL}P?X$+-R)GH>TYmq+9CzP&5Yk45l_82|R*=YtRB zSQ@+R)6KU1aw4amBf79>TwnF>O7BeTvt`dNeb3t8``$I*0cW{R-p}4VbJ~3I|7*YQ zBj3-Y^-I3kWoxW4evKgCb7o$?^gTEB&I0-4v)Fe7GPs}iW9^hPI>@O{y))oUvL!$K zJhyx|kKYGlZzIsF1Ny|%{5SXf>3I?lo!W;DI@wTL_Rz@>dVDT96Ue2Q)h1o#VLfBA z?d4}4tOe%X7dYwoLdK&HznY)XmR~W;@hqTczqq!urZuOp&6r$F0{=6hnh99uR2%!**lm1 zrsv+Dp?pPpzhht{y}feApPj&c?7hw={q~UA4aC7dnN^>o%un^=Y}9Li{jROk%Q-cJ zd$!BD{IWatxT!zoTR-}FV!3aYzGuUj-jOSN=vQ|)+p|B-_vjxz&9`{u+j;lr3)JqI zZ?fXO6m+cTquQV5+?i@l$f=jcj?aF5tQK$}w|qSii1l3XHM!vC>5m0;$Vq!#9S+!a z#eq!Y zb-=%Qpvkc&mYylS`k4iCASN8__xHYA-$$2nt3FdU*Ub^`%d2|W2-Nplpx)KTPT)SO z9R2G7f6B4HgTq(%g8oLp0~xycUER(p-dYFN+_Uq5t;)I6_&`qGb-poVYT?Vc?z4qD zss2^_dbY(bhw7Ale2CW>k|TbNev4-oIJ4y0JsR+9w2SxVn9Q-IjJmGxe84*&js$dn z{XR7_=1Ps!|H~QM&;N3h;nmveSthUX$$1pxx!@aOZ#zAm{1kWl{qCrUT=SVn4EFS1 z(A#@^un|~u=Gl~6yw#4lt(VL8<^Z?)>XFl}fSw=7pAp98djm3~ea~dr#LKGBFjM(H z_nmjWed>1}Xsc|~;Rn8vrH`B{K zkQXN|*Md(SxSZ!%+fU~-F0pF$r@7Tn>!7vQI;hY1V6XYUBV)ed=6Qo}WJdirdY>^sZzKvNU$+gbYcK>fC6Z>HxDpT#RaXXl^f&!V@E=Xuu1tkO62)fv0wR*rqnpz|4=Lr0v7botOQEuF~vy`#Veb>95 zU7wfS1zqFA-GSQH{2hm%3Dn0^!S4j#|NN;9oN3mbeeW#mbbj@6d@B9ga?H=}VZXM| zWK7Q5>A>?CH-FjWukmBSdxD1pHD8+}H~jwGrHq(>eK9;9R3{(o`>6CMf>Dm&&L&^= zm7Qh0zMNAB_R!mSoF(y?Ydm7(=Y`;@K*N`LzRUxSkL;T7IKzGO|JJ1(-P)yqK0d1x z_O=6!zRH?0kg2MUQiN@--~d*_1xITwVU&Uv8qGn+c7{#RyvVt7^$>%;T0=c6$n`L6B9+dOOHYOLk0 zaX2U9Re$ABJhjz*8fL`sL4*?5E#5j(&WrgX;HekF}3j{!D@oVpPjGdVXrq8X3 z8_D30j}HW`McjLq59^+Bz&A~QJg|>X>VjPR=H>R~Jf7|iW&s;~6|4OlL46e~y$9Rt5&l=YUf-%3}vEp~t*sq4f!WaCgk#XN&9`>mNHA;SJ)0&zTgBoyN`0$ot zKfU(j)EFT39h?c|K$9oFh);6|@rP}H4_XXt?=I)~BNlw_1myWZ zkMSt?qC9U5bNJGF9_V3b{9Q=(!~D}Rj&rueMt(cc#Ar<$ZSt4AhU;>8D&zXhU)(#7 z_RfO?f&0szkw3LG^|8-cTIgi+ct9^7@hP9;g!+fi%{jAp=oI62KyE63csXDHzb=jd|H+R!@L4(QaBHCM$vSU;J$w27RG`sM=1C7}UyyZk z^tRUV@v=Ox2mD^e(V@&g9#D_inHqX#86X@co{EuiqHKbLr`s2O2JXHu#oh&lf(3 zmu|An2^}Yv^YruaQXpREgq%9QBOqsf70jodtDb5C7?qGqqS=$dB*A z@toPCt?6y|;qF&~Kwi!6L z?#6G)2D$0Gz}kW3+P5y(#AN+FLDw_9`d-E%@P8+$%;Up2!v!~NHC}T#F~`^G=g;0d z>>KYc<$NZ6QN|m?Tx%LP%{`re*w32ylnZ@pNPIZeoPBoqq+U)1a%6laz@Z!I7%Zd`i5$$Ry!ik)7z$ZiF4^Y@4EzwzNj&@+o)HkyO`mg}`qpYP{nt{88&wRX@J&l!r>XLnP^y_gg)>S-+yXQoVWVQlz`-uY| z;t_{<$jL`-)J}72o}8Yno=<$!)ZyX9XpbWt;)5*C+(({w1AB1?#vm5Yd}wTJi@$rE zui9a&;|v!z*gO@;|M9^7wSW#b_|Hzq?MMCI*R!DKmp}Y!&B*nEpnK~#8(rJaFC1w0 z;LaYs+W47(UURKKezB_;yO_Moc7k)kx5Y8FG=5z@#=;+sj6dU&{}$h;Ig)-B916N- z{6KIr*a+r<#?H6zV@GbMHt4|_9i!j!;(hcT`{*j4Q+<4P*U{HCK7HqP^x&$pjgKDj zJ(t+ax%ajG?0(licGcX}=9G*5WTt-A?t{^JJh(gHw_3o($g3K+rjBq3_$M=>Jn-Rs zFbmZ9JkTm@zZ$y`Oye=nSNmqc;Q%N9>pq;^OitM)r{+8Md_DVkodx``k9^}F`?Hxp z8IZ@5&&Jd5h0?JT;Ai|^7~b7OV#H@cyy|EDZEvryA?lYs{IZWf_$D*8P5)?H-q!=o zcxy5Gpbz>N%kOKl!4K~+clm`tO^`bfe9iFvPj<oOr^Vv)*58mHh z>t`>y{yTBN{f0NKIXjZ^_G0GQn!-6B)!d~3Ut+Fa@z661aMpQw;6E<-DrWl4RS$Q^ zadn@~{49`*Q6G8wZVkjZ{eBtynw+`U$UYp{_ojgTzL)GDzecuZkG=em6Y$*F%j=6X zM>jd~YzK1bxqPt$=Gd>S-hAIL_H~@$HSa)j8vc8>`ni%$cky?J*xKaZ=dJDWrf#0= zSrISJ)jB_MGVRZ1ZWfSZZ+af+*zY{xQa)c891i$+PjDd6zAJxrsXnvIkB5Sn1!TIP z4SVH_5542oGnS9(Tsc#Rq34?O^zHex-<5Y>=v6cBNe$0ii&6f(%piL-bCo6YX#s!a zioUV79?!F{UBw`e#r3e=8jDv9Z$SEZvu$J^R_9gP-(>3*?J0IBxCXqq@wK zH#ZBM+t&u_$9`v2?#QrnvpV{9dH1nr%on-hujlf^j@(vep0SwsI|p=V_R#tIfX%7T z)@sYRHgV{lI+%VI;Q4YO_Lm0bIKu@u?6hW1noOe?Cph>00L`4|!$I>)XV>Y0|0-~Y z;JGo|yXtfQsAsBoEqk=5gUYoY$XI_{dB)2d^XKZw@m1b8 z0vzHP|7r{5R{r?UmUyh64Q2rw=J-`v>&E8C8o&pi&C{(Xs}AUa>(#_g)|)%_#MU`q zD|=6v8{?pJYO}WWXMXZdKYX1I{!e{(~J zSXv)=E}y#@H=f>q?AW7DjQL@2eVEo1Up0G#)OtERj5ECEy}Jy3Q77!nKQ6)dZsvj3 z@71U$9KFtDA`=_%P5-ih9%Foraq;)A;837d7y0Su8{BwDm6I1|%qMrwe!A5NdpPx3 z>ug{T{`iLvwhsi=i_231jx_w*XKpRf__=ECSswO&j}G1V)c@ys#=RLXG2zux6*||CzO!byC`=|0dnd{zT8Bb$9 zl(}iFjT0Z@B$HolzW6=Z{M(5Gcx|lm{5?quzpQ^>9Nk^6CzM4UeD4j`|F;{gf8TZ1 z>py;AuLkyhe*n(S;apreS8uqA%0+(E=lAEq`4aQVKzv7no7wyK_Ssv%)B_$K4sfaV z)Hc54r#a)-JRpNdcecIjf!Z(k{4z&p=jiGgpU$aEJc#pukFTR#b0ubaaUh?6KXTX0 z=MP+GU5$#B&o2nr{lUoNpKrD4tclfGAqk7OMH$0M^>!!P2RO1PTtjDpZ&Wc*|NAF@M-Mx75?0RbmRDzz`nS#xKrfe{Bo|k zzBamgrv@g(C_ThEfzkF_Y*$s)#@vKbp6xl(*H#I^4a@<&+=71$5=DH*!Pnwd>Lb{ zKegL^@3@J5av}Z;LBy}--rPLUa5y(e6Vu!vt@iLBc7Ak@93A5`{o^xE-kC`?K;GKO z%aJ_WL+`Y{elC9=z@Duj$Kr$Dk!Sa~IMkN0`@i5z8bL@`r z+1U#wri?{l6I)vor2vr*{>5{2%wv^2{GP z{^d>R828rpzq-M`ch`P*ED|X;wZFo*nGz4 z>xpIG&qjRN48*w;;2iAf@1c;>jpaNYUGv%6emd>p=cNG0{hFe(?g(r2IOm@nyfdH= zJ~q(!A{LEq&*ErY{5%@GEikXHaVYP4P}^4mvD3i^`+Xl_JrMgWaA!vktj2FZkm>+1{zXUfu|_#<#uqxZs9P z?SY_N8XpPpY^*NmHWstkjLVrZ&haL9&c0mvei}X6G!F+dhXeNQrIW9?-3@R*3)m1p zz2$b~;m23-FpsRp=2~z%I1{i5^widsjM+LFuqDI8kXtiZ*O>MXbel3KnAFm}UOztIL+^ZtD?{@SNEZy&z9&-tuxbhs-X#HNa&lckL z?*H}V%$a0s9%zpSl{HUC{dG28AMoXPfV-XLvo-VW`#DV9|8?eP0S+$*eDHTa8Vjy# zWBNT`=h<3g@vf>JG1KAa%6xXd+0ewHJsnt+7p*p(Is82m$Q{1O;FUZZc#$p6=psTE}dj2;}zsa^BBVUYzkpP%ik}n2ozX!>eOH zSC^Q`(Djn^balTRtlE#8?k|s5ma_Dm&UhBE&u=o$`1N%0sr*lMoy;0tw+3|Mu{C86 z8_gHq!MwTJm*3imi;Ea9EPJwa%cq#}+p)FQ1Rbq`am-%p!I<9G30>-eZB0F>fiVuT z)PMfge=&QeyT0?U^^Mc!ijVA=)8>o+KWp!3p4o7oXx$x%A8|HMY>CNzx07C6mxJkDm#GB@_D%0P zw)hX*!R-P6*lLV?UUeU3`kK2AKWx;eQ_HdYO$_`a!{(L1=e*A0V!H3kBa9C+je9CH z>Lyc;r*fk%IfEPdTDhCiDK4LB)`Ld^_nZ8f$K^c0E6D3u>#Ml64^NHb4H?rdC!^oK zHarpFiOpHSZ~8qOuLbsP1@xZJ*AZ$2U(V0Cc3;+7clvqYtnr&%Ykj|(*on;e?!z4$ zbd^W?a8sRn{+1iPc=YO~eb0z9OIO$G@A&>1b=2qD=oz(-Ty!G7~uTI9QOr}KO!kVpIIcq-6t4a_%h=Imq3e8>CQx+5~>^0AEH z6SRghT*TITJe6mtUcPAOgE6ko$(1_{FNXs%^571j)1S3bk0*k8pt;NV%tmGC;bZSH zIa71=;FsQ2=PA>RyQ=)*1jyUhdTOm4$z1CMudNY2_AVEPIw5QSq2)6lFD=LXySN~Bf3a)m8#%BL|AfEDUzd1IH#kLjT ztXz>-D?aP;nZG!x|COI-PMa_OzvoByJeWEBl@EJCt?`l1m8HKih)>+(I$c`hQXlRy z+?2=as_fHQ6F-hBGk#r~>4gn*Z_JoY^6Z*>!E&z8$Cl4z_^a;lbRc-?z$*^LXTE#; zeo#wt)cJcdZmc-%-nFIN3)A;(m>a*&xi8P`@TYaaFB~^l`sS)Oz31&yhn;(4#?$zZ zFXz%-l@l{LHNqFZvFBdak6&l8JH{sVji9-^E92VFaKQ`zd%o4XnCXT6;^25aG9^LD%`79$g+&JUqaT?bchw=5|P)BN741B8WD>H5$+&z3(&y~|Z zSKoU+oICr+S{v&H&(_pU{dr@?@-?1;)_|Tb%?BQF)4i>4HjfSSc$)?I#;cm?-Kmzy z(_KAs%m>fL)0%n7a?SbF#2}U@0`DuiDA#zWL#zJQe*J8JBRRQgUDa=Ud-vaLUC|-O zbhNgPXI%gIA%@GrYlF?8YZ<;@ym+Ti{qW~TF{?j5sBbZ~-srJk{XCbL$g2stJr>Z% z23=y@4eI}kG8UT}kXLt`x^M=_^P#d+9%jQ@hVRFNylU#1E_`_Ro)6}Md(}K2^|*g7 zaf(aH(X$n3-VZFWX`b28JLh8b{Lukh&V(~5HqYt; zPt}FH>GyNiGFRD=tI9h68%rJdIUigJo(S0TeMbA)vBy2}hV(e)TkomejOkY|V@@}h zIsJqFjy^nUbh9B=w(+Lc`Ove9=hnrl`=e)T8qcR>Uu(pBm#xP7%8b=vpKtUTW{mw8 zhQI67dLHXytgq_7Z)s0lxU^4B#NGH>t9)&|*6q=cHL0G*bKrS;2CAoe#W?D1jj1=j zu=8Y~;U1qG0o!EdsqyrVYW?qbM$~&{oHrQHMst5G^YyKB;v0E?+X~+KHVbM)jdy?Z z+qKq$nD{`qMu+@0wl`*6S)7e=-X# zd}i7AjGSIRPuIx;`|bHiw>Dq=|Ji;s&t&OiV{M7@X5Xa%FBb#8Ifv|uqxoz+nOgXb zXL;l=oqWNU-duImjx#z7@GCCAVDO;(NJl8@8BTiSP@HFx=$rR>g9 z-aX9+v6AV%?Rj^J?!}F>gKv8@HFF>!ORj%s+B4t8N*BMM3^YEuds=U+?g%x74|>?U zHPGl(gWgr*UR(C&+2F(Uop>;FA?upE=K zZoX(;c$UAe-@cSt)r(!6+I;c)!-t*Ij9k@haV|BXa7MUT5fJfOmVuqsLL-%j5U_ z=J#NPeQ3*Pa_o<_GZ+2;3j#j-hL2K}nGya)?+*85t z1nL=A=L52M(5$~Vu-7_!U%eckO24)ocMm`0k}Mw8=Yz{JQmw|Tbc6Fa}xgWH0w zKzqlE@2QMB$*{|Z+NH{<8sedXz{ zVC1B^#4DTsHoU4S{EYR>|KCU;bm7w(#EE`Au>S6>^T+dUP=8y$_V#zy@N?rPlX{hkcu1~2?S6W~G2^z=OXezV3mvh>Oy8NC=*$>2*p+0Jg? z?R41V9^xOpt&2N{wG0=zI-kDvArBfK8XJD`O0U`--&c?3SsQCeeEgmV+GcPha9`Tr zc*x0TW7a#5>p?l1XKe2a12H}rXnp?ZjOoW~xez1%)d_v8xUh$fu4VXsT!>r4h0kGX z;5QT4c6xj1t{>OqrMXuN#{(SKKfKCgdpWF6>Sz{_9XT3h#mKg^MD7Q2maOB9p8i=- zy5wX%pi9p6uL}+&@>iw55!6{_GF<5JzG9m_aXcAl&b)>@^WtWo9H05f{%+8Cd#=sl zb{5EaKLfj0aMwEb%r==TiCewCH<$;SeGe{1do{woywP8tSDh<<)fe)cfxV}LGr=Dw zkG(th%M0Jw!pSP%aH-DmaBG0ykeLnS1q$xfd_z_*XPG{{|n2zOsUJE>XcduGMxLmJK{22G|_k1LBFAx50eB>)W=7IKTFxujS_H@vB z{)zQsAkY2U%3Y@Ry*sSq#93bt#Llky{r2EozW+o(4=$e!w2uqA-`$8EzBNZ(vu8J8 z!|$DxC;s4tytw~e;X_cyZ6KRkj;rmiJv3BfkE9`0Cjf->UlE$-Epu#8=ja`$aDJuI8pW5OZa$ zv&HUqplt?ptBrC_M{8@9U%lV(fMeW06=;V7^Yp3><7s_f%G_N6&R-F<*3}tVcimQ? z{Zig_<(e+>h~w^nt@>h447&k&p9f!*{zO2Z_sGWuxL`+o=BK*d3--|GERy3B-o*J> z@DqVtdq>EP^~%jNKDvDFyGs46;t_YakdO6%4!O|N+qu3+$IrM~UT{ta9<-iEd-+R` zI35acgFms$vqs+BPB0HNzM8unSjTVq%y1Da9Zv)};Jbz!ex3{7n;^E+^Q}HKwpBbh z5AuS?>g8|qInP*Ye8x`)J(ptSlb%mF962Z#dbLeeId=6M#-U7gO~RHrq%n@60Ddc|X% zT>Tz(^8?3If5?bQb0+v<|2HNvxLXf2YtDqVALc|_*XTH~nAxi{#@Jploe0#X zI@kE4=1v84SI_B;<<1&i>MD*M4$cch^dYj{`9pvJ}S@7bocnPxYIr7CwtzU z=h5!1EB1U>WLmfH&fj;Zv(I0XXE|{pXoP3nS?zfMubJ_i0^}Bofon3SGAIse6>pSv$FvsV=l4m;AX??Ozw;I#?EUZ7i z?AO!F8=sT<5Bk1vbH_h>=9%9Q^0<&SUmhM>+UWgljXqbbUajiAll1NlePa}lXYW_N zulx1<&~GezXUX&FWzR>?FAnN28(;CW&ph*kKNlW;W$$Ma_*Jv&*uCvu@cdwizzsWk zI&cb){Q5J`=*PJ)&77FEZ^-X`Y_8}l7r*kpXLH22#xinizOmQ`{5tdR_x9eIF&Td8 z#Y;v$zBS)?mOszhXHT9Vm^}ZR-`dkzJ7U_*9N#}Ukeg}V8kcqZoVTyfFU7*+v`+0O z<2*bP8UD(FIkqll?s@5318UHkSk5ljT9@P6@vO05-}K%0yZOaMIFK85wa1g29}A56 z&>HMnVebpGPi%7U&$&8V4+bNjmzOfNNB;v$d+aaTyZ7{X7UQqSZaMRP7WO|XsK4Kv zbvAvLbmzfLx0mgAa z_X~ra0Kex0zK#Eui23GuJ7YRF16&wi49NKG<6fade>OM~O!vGzbH5w^yg%?X4>aFT zIUSq{=!J)a@=7oHJ^%N9KP2AN;}rcYf&=%6#?Q|W`0dWs^I5)~M==}@)SY=evw0=J z$@K4}i7)gn_S9Y;uX3|07WF4C`uYAj%ja@sjxBrXTo3T{d*Q3|{KM-!(3*>#VO-m5 znG+`-%^8(zi0zR;#j_GE%bwiIh zd;YdFmTP``muPg?&(`fY?;a>0{5ED|$_amP$ZxPuUCaZ`ITkNpaKtW%kv{!yP(5-u z3&h7Jj_s@6X&qe3T6q|AdvE6XEq2X*9E|&S@{BwC9tdzFAI5TH?}1<*XrnCu$g;nm zoZOHRFB$shfwsyY^J2lvn7hV5^?#Loxl}9nMBrq=SGG0xpL2F15D(t~|KsQOd7d?X z;$Y;>{3<`mt%}RMyW>{^WAWKv+w#13jz44(_w(~Cet2=^*av8;zFL(;&_JmXx~<#`I^;U`i=zUmYi05bhZBMSN~+3 zi`r@IyP4yQe0f*T0{J4xS6tO6vW?mP?O-jK2ij)9hGv~CKlrb9-WLDaa;E4OH-6X} z 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

9@7 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 diff --git a/vendor/ocaml/bin/ocamlopt b/vendor/ocaml/bin/ocamlopt deleted file mode 100755 index b8e78f995b7c17ac100c87f14c4cdb7df02ad014..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2132382 zcmeF)3B2xAT`zv*9Auxsydoe}z}fo@oJm0x6ij$)F@ceB-sxz2WAwc3=0x=e+2a=biQJ7cV{Mrt4m~ z^nx3n_oB02a^1~)Zh663w=7-z+?&pNcDSaa7rgl9&-vn`jymciN9X_2o*LZisQVuE zU((+{_<~?d@Sxyf!6djWcv5gxaDDKi;FZCh!Pf-e7%TY^Il+8zQJ~=& zRFCr5zY>rAEAgyb1<(3b@Eo%Wo_nu?=h%*Ccj)5+ane_uj3>cdz(;;)mjtu;kI&l0 z!G@sSGnNB6St)k(ti(g-N<8;j1<&U;Jliwg5mXKJwRu|B&I}$LJR%U2D}tv5OTqJk z+k>wR-W0qo_|9Ogrr2L`U&y$v&x*PDjq#PdmH4VoSK_lSmMig9y{^PpHMKos9eV=;N=Vh&}?F&O+9$X!~Ft{stYw&%+j|aaH{C4oi!N-Ds4~|Vy-Y+;k z*cqG~ToODfct&tTkpF$!nH`I1*j5#Tl2ZUubMJn5LYsQJoT>~s=PXHhf5wghts|~zlY1dxz0XuAFHFW=g}Bne}?5#e#w

BU#Nd9z9%n#X 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 z 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

uqIw4Uo*#N5Zk}TW_@Zd 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 z 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

{ZnmZsDHr+ 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

6f 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 z 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 z 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 z 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 vB=o>*8Z(W>cH!(!yc(G{XLw~9yaD)( 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%0A-rUz7G_tHLK< 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