summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt6
-rw-r--r--Help/command/file.rst4
-rw-r--r--Help/command/install.rst54
-rw-r--r--Help/command/string.rst21
-rw-r--r--Help/cpack_gen/archive.rst47
-rw-r--r--Help/cpack_gen/ifw.rst94
-rw-r--r--Help/manual/ctest.1.rst9
-rw-r--r--Help/release/dev/0-sample-topic.rst7
-rw-r--r--Help/release/dev/cmake-gui-env-platform-defaults.rst8
-rw-r--r--Help/release/dev/deprecate-policy-old.rst8
-rw-r--r--Help/release/dev/string-hex.rst5
-rw-r--r--Help/release/dev/useswig-fortran.rst7
-rw-r--r--Help/release/index.rst2
-rw-r--r--Modules/CPack.cmake24
-rw-r--r--Modules/CPackComponent.cmake87
-rw-r--r--Modules/ExternalProject.cmake9
-rw-r--r--Modules/FetchContent.cmake7
-rw-r--r--Modules/FindHDF5.cmake104
-rw-r--r--Modules/FindOpenCL.cmake6
-rw-r--r--Modules/GoogleTestAddTests.cmake45
-rw-r--r--Modules/Internal/CPack/CPackNuGet.cmake16
-rw-r--r--Modules/UseSWIG.cmake20
-rw-r--r--Source/CMakeVersion.cmake4
-rw-r--r--Source/QtDialog/FirstConfigure.cxx49
-rw-r--r--Source/QtDialog/FirstConfigure.h5
-rw-r--r--Source/cmGlobalNinjaGenerator.cxx148
-rw-r--r--Source/cmGlobalUnixMakefileGenerator3.cxx17
-rw-r--r--Source/cmMakefile.cxx2
-rw-r--r--Source/cmNinjaTargetGenerator.cxx160
-rw-r--r--Source/cmStringCommand.cxx22
-rw-r--r--Source/cm_get_date.c4
-rw-r--r--Source/kwsys/CMakeLists.txt2
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-check.py4758
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/alias.json15
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/custom.json15
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/cxx.json19
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir.json12
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir_dir.json10
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/external.json14
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/imported.json18
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/object.json17
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/directories/top.json28
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/alias.json14
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/codemodel-v2.json28
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/custom.json14
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/cxx.json18
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/external.json13
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/imported.json17
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/projects/object.json16
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_alias.json83
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_custom.json79
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_cxx.json99
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_external.json79
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_imported.json95
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_object.json91
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_top.json179
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_alias_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_exe.json143
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_lib.json108
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_exe.json141
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_lib.json82
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_exe.json143
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_lib.json123
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_exe.json143
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_lib.json108
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_tgt.json87
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_alias_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_exe.json213
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_lib.json84
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_exe.json141
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_lib.json82
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_lib.json99
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_exe.json107
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_lib.json84
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/generated_exe.json303
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/interface_exe.json152
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_interface_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_object_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_shared_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_static_exe.json90
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_alias.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_custom.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_cxx.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_external.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_imported.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_object.json70
-rw-r--r--Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_top.json70
-rw-r--r--Tests/RunCMake/File_Generate/CMP0070-OLD-stderr.txt10
-rw-r--r--Tests/RunCMake/configure_file/RerunCMake.cmake6
-rw-r--r--Tests/RunCMake/configure_file/RerunCMake/CMakeLists.txt5
-rw-r--r--Tests/RunCMake/configure_file/RunCMakeTest.cmake4
-rw-r--r--Tests/RunCMake/string/Hex.cmake20
-rw-r--r--Tests/RunCMake/string/HexNotEnoughArgs-result.txt1
-rw-r--r--Tests/RunCMake/string/HexNotEnoughArgs-stderr.txt4
-rw-r--r--Tests/RunCMake/string/HexNotEnoughArgs.cmake1
-rw-r--r--Tests/RunCMake/string/HexTooManyArgs-result.txt1
-rw-r--r--Tests/RunCMake/string/HexTooManyArgs-stderr.txt4
-rw-r--r--Tests/RunCMake/string/HexTooManyArgs.cmake1
-rw-r--r--Tests/RunCMake/string/RunCMakeTest.cmake4
-rw-r--r--Tests/UseSWIG/BasicConfiguration.cmake3
-rw-r--r--Tests/UseSWIG/BasicFortran/CMakeLists.txt23
-rw-r--r--Tests/UseSWIG/CMakeLists.txt15
-rw-r--r--Tests/UseSWIG/runme.f9077
-rw-r--r--Utilities/Release/win32_release.cmake1
-rw-r--r--Utilities/Release/win64_release.cmake1
-rwxr-xr-xUtilities/Scripts/update-bzip2.bash27
-rwxr-xr-xUtilities/Scripts/update-libarchive.bash3
-rw-r--r--Utilities/cmbzip2/.gitattributes1
-rw-r--r--Utilities/cmbzip2/CHANGES319
-rw-r--r--Utilities/cmbzip2/CMakeLists.txt9
-rw-r--r--Utilities/cmbzip2/LICENSE6
-rw-r--r--Utilities/cmbzip2/Makefile-libbz2_so59
-rw-r--r--Utilities/cmbzip2/README36
-rw-r--r--Utilities/cmbzip2/README.COMPILATION.PROBLEMS58
-rw-r--r--Utilities/cmbzip2/README.XML.STUFF45
-rw-r--r--Utilities/cmbzip2/blocksort.c12
-rw-r--r--Utilities/cmbzip2/bz-common.xsl39
-rw-r--r--Utilities/cmbzip2/bz-fo.xsl276
-rw-r--r--Utilities/cmbzip2/bz-html.xsl20
-rw-r--r--Utilities/cmbzip2/bzdiff76
-rw-r--r--Utilities/cmbzip2/bzdiff.147
-rw-r--r--Utilities/cmbzip2/bzgrep75
-rw-r--r--Utilities/cmbzip2/bzgrep.156
-rw-r--r--Utilities/cmbzip2/bzip.css74
-rw-r--r--Utilities/cmbzip2/bzip2.1454
-rw-r--r--Utilities/cmbzip2/bzip2.1.preformatted399
-rw-r--r--Utilities/cmbzip2/bzip2.c112
-rw-r--r--Utilities/cmbzip2/bzip2.txt391
-rw-r--r--Utilities/cmbzip2/bzip2recover.c18
-rw-r--r--Utilities/cmbzip2/bzlib.c13
-rw-r--r--Utilities/cmbzip2/bzlib.h4
-rw-r--r--Utilities/cmbzip2/bzlib_private.h23
-rw-r--r--Utilities/cmbzip2/bzmore61
-rw-r--r--Utilities/cmbzip2/bzmore.1152
-rw-r--r--Utilities/cmbzip2/compress.c18
-rw-r--r--Utilities/cmbzip2/crctable.c4
-rw-r--r--Utilities/cmbzip2/decompress.c34
-rw-r--r--Utilities/cmbzip2/dlltest.c350
-rw-r--r--Utilities/cmbzip2/entities.xml9
-rwxr-xr-xUtilities/cmbzip2/format.pl68
-rw-r--r--Utilities/cmbzip2/huffman.c4
-rw-r--r--Utilities/cmbzip2/libbz2.def27
-rw-r--r--Utilities/cmbzip2/libbz2.libbin60774 -> 0 bytes
-rw-r--r--Utilities/cmbzip2/makefile.msc63
-rw-r--r--Utilities/cmbzip2/manual.html2540
-rw-r--r--Utilities/cmbzip2/manual.pdfbin289422 -> 0 bytes
-rw-r--r--Utilities/cmbzip2/manual.ps82900
-rw-r--r--Utilities/cmbzip2/manual.xml2964
-rw-r--r--Utilities/cmbzip2/mk251.c4
-rw-r--r--Utilities/cmbzip2/randtable.c4
-rw-r--r--Utilities/cmbzip2/sample1.rb2bin32558 -> 0 bytes
-rw-r--r--Utilities/cmbzip2/sample1.refbin98869 -> 0 bytes
-rw-r--r--Utilities/cmbzip2/sample1.tstbin98869 -> 0 bytes
-rw-r--r--Utilities/cmbzip2/sample2.rb2bin74143 -> 0 bytes
-rw-r--r--Utilities/cmbzip2/sample2.refbin212610 -> 0 bytes
-rw-r--r--Utilities/cmbzip2/sample2.tstbin212610 -> 0 bytes
-rw-r--r--Utilities/cmbzip2/sample3.rb2bin237 -> 0 bytes
-rw-r--r--Utilities/cmbzip2/sample3.ref30007
-rw-r--r--Utilities/cmbzip2/sample3.tst30007
-rw-r--r--Utilities/cmbzip2/spewG.c6
-rw-r--r--Utilities/cmbzip2/unzcrash.c4
-rw-r--r--Utilities/cmbzip2/words09
-rw-r--r--Utilities/cmbzip2/words14
-rw-r--r--Utilities/cmbzip2/words25
-rw-r--r--Utilities/cmbzip2/words330
-rwxr-xr-xUtilities/cmbzip2/xmlproc.sh114
-rw-r--r--Utilities/cmlibarchive/CMakeLists.txt488
-rw-r--r--Utilities/cmlibarchive/COPYING9
-rw-r--r--Utilities/cmlibarchive/build/cmake/FindMbedTLS.cmake13
-rw-r--r--Utilities/cmlibarchive/build/cmake/config.h.in15
-rw-r--r--Utilities/cmlibarchive/build/version2
-rw-r--r--Utilities/cmlibarchive/libarchive/CMakeLists.txt40
-rw-r--r--Utilities/cmlibarchive/libarchive/archive.h12
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_acl.c88
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_acl_private.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_blake2.h195
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_blake2_impl.h161
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_blake2s_ref.c367
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_blake2sp_ref.c359
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_cmdline_private.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_crc32.h5
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_cryptor.c69
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_cryptor_private.h24
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_digest.c228
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_digest_private.h43
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_disk_acl_sunos.c6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_endian.h11
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry.37
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry.c318
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry.h15
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry_acl.380
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry_locale.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry_misc.363
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry_paths.310
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry_perms.312
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry_private.h9
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry_stat.36
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_entry_time.36
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_getdate.c151
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_getdate.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_hmac.c51
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_hmac_private.h12
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_match.c33
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_openssl_evp_private.h5
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_openssl_hmac_private.h5
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_options_private.h4
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_pack_dev.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_pathmatch.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_platform.h2
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_platform_acl.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_platform_xattr.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_ppmd7.c2
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_ppmd7_private.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_ppmd8.c1287
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_ppmd8_private.h148
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_ppmd_private.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_private.h11
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_random_private.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_rb.h21
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read.36
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read.c14
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_add_passphrase.310
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_data.34
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_disk.313
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_disk_entry_from_file.c11
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c113
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_disk_private.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c182
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_extract.32
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_filter.34
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_format.36
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_free.36
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_header.32
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_new.32
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_open.34
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_open_file.c3
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_private.h9
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_set_format.c3
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_set_options.341
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_filter_gzip.c70
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_filter_lz4.c10
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_filter_uu.c30
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c22
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_all.c1
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_ar.c9
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_by_code.c3
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c4
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_cpio.c3
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c17
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_lha.c206
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_mtree.c16
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_rar.c88
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_rar5.c4103
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_raw.c4
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c29
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_warc.c11
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_xar.c64
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c1083
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_string.c45
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_string.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_string_composition.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_util.316
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_util.c230
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_windows.c3
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_windows.h13
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write.36
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write.c91
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_b64encode.c12
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_bzip2.c10
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_compress.c22
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_gzip.c9
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_lz4.c11
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_lzop.c10
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_program.c12
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_uuencode.c12
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_xz.c16
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_add_filter_zstd.c12
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_blocksize.32
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_data.32
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_disk.312
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c421
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_disk_private.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_disk_windows.c377
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_filter.34
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_finish_entry.32
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_format.34
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_free.34
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_header.32
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_new.32
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_open.34
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_private.h14
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format.c45
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_ar.c6
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio.c4
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio_newc.c4
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_gnutar.c20
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c32
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_mtree.c20
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_pax.c145
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_private.h42
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c11
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_ustar.c39
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_v7tar.c40
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_warc.c18
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_xar.c80
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_format_zip.c47
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_options.3285
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_write_set_passphrase.312
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_xxhash.h5
-rw-r--r--Utilities/cmlibarchive/libarchive/config_freebsd.h1
-rw-r--r--Utilities/cmlibarchive/libarchive/filter_fork.h6
-rw-r--r--Utilities/cmlibarchive/libarchive/libarchive_changes.35
-rw-r--r--Utilities/cmlibarchive/libarchive/libarchive_internals.34
-rw-r--r--Utilities/cmlibarchive/libarchive/mtree.57
-rw-r--r--Utilities/cmlibarchive/libarchive/tar.59
320 files changed, 17573 insertions, 158063 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c7d139b..88dacdc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -547,21 +547,25 @@ macro (CMAKE_BUILD_UTILITIES)
set(ZLIB_INCLUDE_DIR ${CMAKE_ZLIB_INCLUDES})
set(ZLIB_LIBRARY ${CMAKE_ZLIB_LIBRARIES})
add_definitions(-DLIBARCHIVE_STATIC)
+ set(ENABLE_MBEDTLS OFF CACHE INTERNAL "Enable use of mbed TLS")
set(ENABLE_NETTLE OFF CACHE INTERNAL "Enable use of Nettle")
set(ENABLE_OPENSSL ${CMAKE_USE_OPENSSL} CACHE INTERNAL "Enable use of OpenSSL")
+ set(ENABLE_LIBB2 OFF CACHE INTERNAL "Enable the use of the system LIBB2 library if found")
set(ENABLE_LZMA ON CACHE INTERNAL "Enable the use of the system LZMA library if found")
set(ENABLE_LZ4 OFF CACHE INTERNAL "Enable the use of the system LZ4 library if found")
set(ENABLE_LZO OFF CACHE INTERNAL "Enable the use of the system LZO library if found")
set(ENABLE_ZLIB ON CACHE INTERNAL "Enable the use of the system ZLIB library if found")
set(ENABLE_BZip2 ON CACHE INTERNAL "Enable the use of the system BZip2 library if found")
+ set(ENABLE_ZSTD ON CACHE INTERNAL "Enable the use of the system zstd library if found")
set(ENABLE_LIBXML2 OFF CACHE INTERNAL "Enable the use of the system libxml2 library if found")
- set(ENABLE_EXPAT ON CACHE INTERNAL "Enable the use of the system EXPAT library if found")
+ set(ENABLE_EXPAT OFF CACHE INTERNAL "Enable the use of the system EXPAT library if found")
set(ENABLE_PCREPOSIX OFF CACHE INTERNAL "Enable the use of the system PCREPOSIX library if found")
set(ENABLE_LibGCC OFF CACHE INTERNAL "Enable the use of the system LibGCC library if found")
set(ENABLE_XATTR OFF CACHE INTERNAL "Enable extended attribute support")
set(ENABLE_ACL OFF CACHE INTERNAL "Enable ACL support")
set(ENABLE_ICONV OFF CACHE INTERNAL "Enable iconv support")
set(ENABLE_CNG OFF CACHE INTERNAL "Enable the use of CNG(Crypto Next Generation)")
+ SET(POSIX_REGEX_LIB "" CACHE INTERNAL "Choose what library should provide POSIX regular expression support")
add_subdirectory(Utilities/cmlibarchive)
CMAKE_SET_TARGET_FOLDER(cmlibarchive "Utilities/3rdParty")
set(CMAKE_TAR_LIBRARIES cmlibarchive ${BZIP2_LIBRARIES})
diff --git a/Help/command/file.rst b/Help/command/file.rst
index df7d8ba..5877d43 100644
--- a/Help/command/file.rst
+++ b/Help/command/file.rst
@@ -54,7 +54,9 @@ Reading
Read content from a file called ``<filename>`` and store it in a
``<variable>``. Optionally start from the given ``<offset>`` and
read at most ``<max-in>`` bytes. The ``HEX`` option causes data to
-be converted to a hexadecimal representation (useful for binary data).
+be converted to a hexadecimal representation (useful for binary data). If the
+``HEX`` option is specified, letters in the output (``a`` through ``f``) are in
+lowercase.
.. _STRINGS:
diff --git a/Help/command/install.rst b/Help/command/install.rst
index 5affc5b..abf6b17 100644
--- a/Help/command/install.rst
+++ b/Help/command/install.rst
@@ -30,13 +30,20 @@ signatures that specify them. The common options are:
``DESTINATION``
Specify the directory on disk to which a file will be installed.
- If a full path (with a leading slash or drive letter) is given
- it is used directly. If a relative path is given it is interpreted
- relative to the value of the :variable:`CMAKE_INSTALL_PREFIX` variable.
+ Arguments can be relative or absolute paths.
+
+ If a relative path is given it is interpreted relative to the value
+ of the :variable:`CMAKE_INSTALL_PREFIX` variable.
The prefix can be relocated at install time using the ``DESTDIR``
mechanism explained in the :variable:`CMAKE_INSTALL_PREFIX` variable
documentation.
+ If an absolute path (with a leading slash or drive letter) is given
+ it is used verbatim.
+
+ As absolute paths are not supported by :manual:`cpack <cpack(1)>` installer
+ generators, it is preferable to use relative paths throughout.
+
``PERMISSIONS``
Specify permissions for installed files. Valid permissions are
``OWNER_READ``, ``OWNER_WRITE``, ``OWNER_EXECUTE``, ``GROUP_READ``,
@@ -119,31 +126,38 @@ Installing Targets
)
The ``TARGETS`` form specifies rules for installing targets from a
-project. There are several kinds of target files that may be installed:
+project. There are several kinds of target :ref:`Output Artifacts`
+that may be installed:
``ARCHIVE``
- Static libraries are treated as ``ARCHIVE`` targets, except those
- marked with the ``FRAMEWORK`` property on macOS (see ``FRAMEWORK``
- below.) For DLL platforms (all Windows-based systems including
- Cygwin), the DLL import library is treated as an ``ARCHIVE`` target.
- On AIX, the linker import file created for executables with
- :prop_tgt:`ENABLE_EXPORTS` is treated as an ``ARCHIVE`` target.
+ Target artifacts of this kind include:
+
+ * *Static libraries*
+ (except on macOS when marked as ``FRAMEWORK``, see below);
+ * *DLL import libraries*
+ (on all Windows-based systems including Cygwin; they have extension
+ ``.lib``, in contrast to the ``.dll`` libraries that go to ``RUNTIME``);
+ * On AIX, the *linker import file* created for executables with
+ :prop_tgt:`ENABLE_EXPORTS` enabled.
``LIBRARY``
- Module libraries are always treated as ``LIBRARY`` targets. For non-
- DLL platforms shared libraries are treated as ``LIBRARY`` targets,
- except those marked with the ``FRAMEWORK`` property on macOS (see
- ``FRAMEWORK`` below.)
+ Target artifacts of this kind include:
+
+ * *Shared libraries*, except
+
+ - DLLs (these go to ``RUNTIME``, see below),
+ - on macOS when marked as ``FRAMEWORK`` (see below).
``RUNTIME``
- Executables are treated as ``RUNTIME`` objects, except those marked
- with the ``MACOSX_BUNDLE`` property on macOS (see ``BUNDLE`` below.)
- For DLL platforms (all Windows-based systems including Cygwin), the
- DLL part of a shared library is treated as a ``RUNTIME`` target.
+ Target artifacts of this kind include:
+
+ * *Executables*
+ (except on macOS when marked as ``MACOSX_BUNDLE``, see ``BUNDLE`` below);
+ * DLLs (on all Windows-based systems including Cygwin; note that the
+ accompanying import libraries are of kind ``ARCHIVE``).
``OBJECTS``
- Object libraries (a simple group of object files) are always treated
- as ``OBJECTS`` targets.
+ Object files associated with *object libraries*.
``FRAMEWORK``
Both static and shared libraries marked with the ``FRAMEWORK``
diff --git a/Help/command/string.rst b/Help/command/string.rst
index 81a2061..cfcf914 100644
--- a/Help/command/string.rst
+++ b/Help/command/string.rst
@@ -11,8 +11,6 @@ Synopsis
`Search and Replace`_
string(`FIND`_ <string> <substring> <out-var> [...])
string(`REPLACE`_ <match-string> <replace-string> <out-var> <input>...)
-
- `Regular Expressions`_
string(`REGEX MATCH`_ <match-regex> <out-var> <input>...)
string(`REGEX MATCHALL`_ <match-regex> <out-var> <input>...)
string(`REGEX REPLACE`_ <match-regex> <replace-expr> <out-var> <input>...)
@@ -38,6 +36,7 @@ Synopsis
`Generation`_
string(`ASCII`_ <number>... <out-var>)
+ string(`HEX`_ <string> <out-var>)
string(`CONFIGURE`_ <string> <out-var> [...])
string(`MAKE_C_IDENTIFIER`_ <string> <out-var>)
string(`RANDOM`_ [<option>...] <out-var>)
@@ -47,6 +46,9 @@ Synopsis
Search and Replace
^^^^^^^^^^^^^^^^^^
+Search and Replace With Plain Strings
+"""""""""""""""""""""""""""""""""""""
+
.. _FIND:
.. code-block:: cmake
@@ -74,8 +76,8 @@ so strings containing multi-byte characters may lead to unexpected results.
Replace all occurrences of ``<match_string>`` in the ``<input>``
with ``<replace_string>`` and store the result in the ``<output_variable>``.
-Regular Expressions
-^^^^^^^^^^^^^^^^^^^
+Search and Replace With Regular Expressions
+"""""""""""""""""""""""""""""""""""""""""""
.. _`REGEX MATCH`:
@@ -87,6 +89,7 @@ Regular Expressions
Match the ``<regular_expression>`` once and store the match in the
``<output_variable>``.
All ``<input>`` arguments are concatenated before matching.
+Regular expressions are specified in the subsection just below.
.. _`REGEX MATCHALL`:
@@ -353,6 +356,16 @@ Generation
Convert all numbers into corresponding ASCII characters.
+.. _HEX:
+
+.. code-block:: cmake
+
+ string(HEX <string> <output_variable>)
+
+Convert each byte in the input ``<string>`` to its hexadecimal representation
+and store the concatenated hex digits in the ``<output_variable>``. Letters in
+the output (``a`` through ``f``) are in lowercase.
+
.. _CONFIGURE:
.. code-block:: cmake
diff --git a/Help/cpack_gen/archive.rst b/Help/cpack_gen/archive.rst
index d455f4b..e9904ae 100644
--- a/Help/cpack_gen/archive.rst
+++ b/Help/cpack_gen/archive.rst
@@ -1,8 +1,8 @@
CPack Archive Generator
-----------------------
-Archive CPack generator that supports packaging of sources and binaries in
-different formats:
+CPack generator for packaging files into an archive, which can have
+any of the following formats:
- 7Z - 7zip - (.7z)
- TBZ2 (.tar.bz2)
@@ -12,25 +12,42 @@ different formats:
- TZST (.tar.zst)
- ZIP (.zip)
+When this generator is called from ``CPackSourceConfig.cmake`` (or through
+the ``package_source`` target), then the generated archive will contain all
+files in the project directory, except those specified in
+:variable:`CPACK_SOURCE_IGNORE_FILES`. The following is one example of
+packaging all source files of a project:
+
+.. code-block:: cmake
+
+ set(CPACK_SOURCE_GENERATOR "TGZ")
+ set(CPACK_SOURCE_IGNORE_FILES
+ \\.git/
+ build/
+ ".*~$"
+ )
+ set(CPACK_VERBATIM_VARIABLES YES)
+ include(CPack)
+
+When this generator is called from ``CPackConfig.cmake`` (or through the
+``package`` target), then the generated archive will contain all files
+that have been installed via CMake's :command:`install` command (and the
+deprecated commands :command:`install_files`, :command:`install_programs`,
+and :command:`install_targets`).
+
Variables specific to CPack Archive generator
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. variable:: CPACK_ARCHIVE_FILE_NAME
CPACK_ARCHIVE_<component>_FILE_NAME
- Package file name without extension which is added automatically depending
- on the archive format.
-
- * Mandatory : YES
- * Default : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].<extension>`` with
- spaces replaced by '-'
+ Package file name without extension. The extension is determined from the
+ archive format (see list above) and automatically appended to the file name.
+ The default is ``<CPACK_PACKAGE_FILE_NAME>[-<component>]``, with spaces
+ replaced by '-'.
.. variable:: CPACK_ARCHIVE_COMPONENT_INSTALL
- Enable component packaging for CPackArchive
-
- * Mandatory : NO
- * Default : OFF
-
- If enabled (ON) multiple packages are generated. By default a single package
- containing files of all components is generated.
+ Enable component packaging. If enabled (ON), then the archive generator
+ creates multiple packages. The default is OFF, which means that a single
+ package containing files of all components is generated.
diff --git a/Help/cpack_gen/ifw.rst b/Help/cpack_gen/ifw.rst
index 4a9ab99..d7c71b4 100644
--- a/Help/cpack_gen/ifw.rst
+++ b/Help/cpack_gen/ifw.rst
@@ -1,46 +1,28 @@
CPack IFW Generator
-------------------
+Configure and run the Qt Installer Framework to generate a Qt installer.
+
+.. only:: html
+
+ .. contents::
+
Overview
^^^^^^^^
This :manual:`cpack generator <cpack-generators(7)>` generates
configuration and meta information for the `Qt Installer Framework
-<http://doc.qt.io/qtinstallerframework/index.html>`_ (QtIFW).
+<http://doc.qt.io/qtinstallerframework/index.html>`_ (QtIFW),
+and runs QtIFW tools to generate a Qt installer.
QtIFW provides tools and utilities to create installers for
the platforms supported by `Qt <https://www.qt.io>`_: Linux,
Microsoft Windows, and macOS.
-To make use of this generator, QtIFW should also be installed.
-The module :module:`CPackIFW` looks for the location of the
-QtIFW command-line utilities.
-
-Hints
-^^^^^
-
-Generally, the CPack ``IFW`` generator automatically finds QtIFW tools,
-but if you don't use a default path for installation of the QtIFW tools,
-the path may be specified in either a CMake or an environment variable:
-
-.. variable:: CPACK_IFW_ROOT
-
- An CMake variable which specifies the location of the QtIFW tool suite.
-
- The variable will be cached in the ``CPackConfig.cmake`` file and used at
- CPack runtime.
-
-.. variable:: QTIFWDIR
-
- An environment variable which specifies the location of the QtIFW tool
- suite.
-
-.. note::
- The specified path should not contain "bin" at the end
- (for example: "D:\\DevTools\\QtIFW2.0.5").
-
-The :variable:`CPACK_IFW_ROOT` variable has a higher priority and overrides
-the value of the :variable:`QTIFWDIR` variable.
+To make use of this generator, QtIFW needs to be installed.
+The :module:`CPackIFW` module looks for the location of the
+QtIFW command-line utilities, and defines several commands to
+control the behavior of this generator.
Internationalization
^^^^^^^^^^^^^^^^^^^^
@@ -157,6 +139,8 @@ Package
Default target directory for installation.
By default used
"@ApplicationsDir@/:variable:`CPACK_PACKAGE_INSTALL_DIRECTORY`"
+ (variables embedded in '@' are expanded by the
+ `QtIFW scripting engine <https://doc.qt.io/qtinstallerframework/scripting.html>`_).
You can use predefined variables.
@@ -263,36 +247,58 @@ Components
repack dependent components. This feature available only
since QtIFW 3.1.
-Tools
-"""""
+QtIFW Tools
+"""""""""""
.. variable:: CPACK_IFW_FRAMEWORK_VERSION
The version of used QtIFW tools.
-.. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
+The following variables provide the locations of the QtIFW
+command-line tools as discovered by the module :module:`CPackIFW`.
+These variables are cached, and may be configured if needed.
- The path to "binarycreator" command line client.
+.. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
- This variable is cached and may be configured if needed.
+ The path to ``binarycreator``.
.. variable:: CPACK_IFW_REPOGEN_EXECUTABLE
- The path to "repogen" command line client.
-
- This variable is cached and may be configured if needed.
+ The path to ``repogen``.
.. variable:: CPACK_IFW_INSTALLERBASE_EXECUTABLE
- The path to "installerbase" installer executable base.
-
- This variable is cached and may be configured if needed.
+ The path to ``installerbase``.
.. variable:: CPACK_IFW_DEVTOOL_EXECUTABLE
- The path to "devtool" command line client.
+ The path to ``devtool``.
+
+Hints for Finding QtIFW
+"""""""""""""""""""""""
+
+Generally, the CPack ``IFW`` generator automatically finds QtIFW tools,
+but if you don't use a default path for installation of the QtIFW tools,
+the path may be specified in either a CMake or an environment variable:
+
+.. variable:: CPACK_IFW_ROOT
- This variable is cached and may be configured if needed.
+ An CMake variable which specifies the location of the QtIFW tool suite.
+
+ The variable will be cached in the ``CPackConfig.cmake`` file and used at
+ CPack runtime.
+
+.. variable:: QTIFWDIR
+
+ An environment variable which specifies the location of the QtIFW tool
+ suite.
+
+.. note::
+ The specified path should not contain "bin" at the end
+ (for example: "D:\\DevTools\\QtIFW2.0.5").
+
+The :variable:`CPACK_IFW_ROOT` variable has a higher priority and overrides
+the value of the :variable:`QTIFWDIR` variable.
Online installer
@@ -330,5 +336,5 @@ Qt Installer Framework Manual:
* Promoting Updates:
http://doc.qt.io/qtinstallerframework/ifw-updates.html
-Download Qt Installer Framework for you platform from Qt site:
+Download Qt Installer Framework for your platform from Qt site:
http://download.qt.io/official_releases/qt-installer-framework
diff --git a/Help/manual/ctest.1.rst b/Help/manual/ctest.1.rst
index 2bfaafe..6503f0e 100644
--- a/Help/manual/ctest.1.rst
+++ b/Help/manual/ctest.1.rst
@@ -1331,6 +1331,15 @@ the running machine. This allows CTest to internally keep track of which
resources are in use and which are free, scheduling tests in a way that
prevents them from trying to claim resources that are not available.
+When the resource allocation feature is used, CTest will not oversubscribe
+resources. For example, if a resource has 8 slots, CTest will not run tests
+that collectively use more than 8 slots at a time. This has the effect of
+limiting how many tests can run at any given time, even if a high ``-j``
+argument is used, if those tests all use some slots from the same resource.
+In addition, it means that a single test that uses more of a resource than is
+available on a machine will not run at all (and will be reported as
+``Not Run``).
+
A common use case for this feature is for tests that require the use of a GPU.
Multiple tests can simultaneously allocate memory from a GPU, but if too many
tests try to do this at once, some of them will fail to allocate, resulting in
diff --git a/Help/release/dev/0-sample-topic.rst b/Help/release/dev/0-sample-topic.rst
new file mode 100644
index 0000000..e4cc01e
--- /dev/null
+++ b/Help/release/dev/0-sample-topic.rst
@@ -0,0 +1,7 @@
+0-sample-topic
+--------------
+
+* This is a sample release note for the change in a topic.
+ Developers should add similar notes for each topic branch
+ making a noteworthy change. Each document should be named
+ and titled to match the topic name to avoid merge conflicts.
diff --git a/Help/release/dev/cmake-gui-env-platform-defaults.rst b/Help/release/dev/cmake-gui-env-platform-defaults.rst
new file mode 100644
index 0000000..0960ef1
--- /dev/null
+++ b/Help/release/dev/cmake-gui-env-platform-defaults.rst
@@ -0,0 +1,8 @@
+cmake-gui-env-platform-defaults
+-------------------------------
+
+* :manual:`cmake-gui(1)` now populates its generator selection
+ widget default value from the :envvar:`CMAKE_GENERATOR` environment
+ variable. Additionally, environment variables
+ :envvar:`CMAKE_GENERATOR_PLATFORM` and :envvar:`CMAKE_GENERATOR_TOOLSET`
+ are used to populate their respective widget defaults.
diff --git a/Help/release/dev/deprecate-policy-old.rst b/Help/release/dev/deprecate-policy-old.rst
new file mode 100644
index 0000000..cffd206
--- /dev/null
+++ b/Help/release/dev/deprecate-policy-old.rst
@@ -0,0 +1,8 @@
+deprecate-policy-old
+--------------------
+
+* An explicit deprecation diagnostic was added for policy ``CMP0070``
+ and policy ``CMP0071`` (``CMP0069`` and below were already deprecated).
+ The :manual:`cmake-policies(7)` manual explains that the OLD behaviors
+ of all policies are deprecated and that projects should port to the
+ NEW behaviors.
diff --git a/Help/release/dev/string-hex.rst b/Help/release/dev/string-hex.rst
new file mode 100644
index 0000000..f220aca
--- /dev/null
+++ b/Help/release/dev/string-hex.rst
@@ -0,0 +1,5 @@
+string-hex
+----------
+
+* The :command:`string` command learned a new ``HEX`` sub-command, which
+ converts strings into their hexadecimal representation.
diff --git a/Help/release/dev/useswig-fortran.rst b/Help/release/dev/useswig-fortran.rst
new file mode 100644
index 0000000..17baf96
--- /dev/null
+++ b/Help/release/dev/useswig-fortran.rst
@@ -0,0 +1,7 @@
+useswig-fortran
+---------------
+
+* The :module:`UseSWIG` module now supports Fortran as a target language if
+ the ``SWIG_EXECUTABLE`` is SWIG-Fortran_.
+
+.. _`SWIG-Fortran`: https://github.com/swig-fortran/swig
diff --git a/Help/release/index.rst b/Help/release/index.rst
index 5d1f8a2..22b1a09 100644
--- a/Help/release/index.rst
+++ b/Help/release/index.rst
@@ -7,6 +7,8 @@ CMake Release Notes
This file should include the adjacent "dev.txt" file
in development versions but not in release versions.
+.. include:: dev.txt
+
Releases
========
diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake
index baf7e47..6234b9d 100644
--- a/Modules/CPack.cmake
+++ b/Modules/CPack.cmake
@@ -5,7 +5,7 @@
CPack
-----
-Configure the binary and source package installers.
+Configure generators for binary installers and source packages.
Introduction
^^^^^^^^^^^^
@@ -19,13 +19,17 @@ Depending on the CMake generator, the CPack module may also add two new build
targets, ``package`` and ``package_source``. See the `packaging targets`_
section below for details.
-The generated binary installers contain everything installed via CMake's
-:command:`install` command (and the deprecated commands :command:`install_files`,
-:command:`install_programs`, and :command:`install_targets`).
-For certain kinds of binary installers (including the graphical
-installers on macOS and Windows), CPack generates installers that
-allow users to select individual application components to install.
-See :module:`CPackComponent` module for further details.
+The generated binary installers will contain all files that have been installed
+via CMake's :command:`install` command (and the deprecated commands
+:command:`install_files`, :command:`install_programs`, and
+:command:`install_targets`). Certain kinds of binary installers can be
+configured such that users can select individual application components to
+install. See the :module:`CPackComponent` module for further details.
+
+Source packages (configured through ``CPackSourceConfig.cmake`` and generated
+by the :cpack_gen:`CPack Archive Generator`) will contain all source files in
+the project directory except those specified in
+:variable:`CPACK_SOURCE_IGNORE_FILES`.
CPack Generators
^^^^^^^^^^^^^^^^
@@ -38,10 +42,6 @@ generator. In a :variable:`CPACK_PROJECT_CONFIG_FILE`,
:variable:`CPACK_GENERATOR` is a *string naming a single generator*. If you
need per-cpack-generator logic to control *other* cpack settings, then you
need a :variable:`CPACK_PROJECT_CONFIG_FILE`.
-
-The CMake source tree itself contains a :variable:`CPACK_PROJECT_CONFIG_FILE`.
-See the top level file ``CMakeCPackOptions.cmake.in`` for an example.
-
If set, the :variable:`CPACK_PROJECT_CONFIG_FILE` is included automatically
on a per-generator basis. It only need contain overrides.
diff --git a/Modules/CPackComponent.cmake b/Modules/CPackComponent.cmake
index 211d767..1f8c38c 100644
--- a/Modules/CPackComponent.cmake
+++ b/Modules/CPackComponent.cmake
@@ -5,29 +5,34 @@
CPackComponent
--------------
-Build binary and source package installers
+Configure components for binary installers and source packages.
-Variables concerning CPack Components
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. only:: html
-The CPackComponent module is the module which handles the component
-part of CPack. See CPack module for general information about CPack.
+ .. contents::
-For certain kinds of binary installers (including the graphical
-installers on macOS and Windows), CPack generates installers that
-allow users to select individual application components to install.
-The contents of each of the components are identified by the COMPONENT
-argument of CMake's INSTALL command. These components can be
+Introduction
+^^^^^^^^^^^^
+
+This module is automatically included by :module:`CPack`.
+
+Certain binary installers (especially the graphical installers) generated
+by CPack allow users to select individual application *components* to install.
+This module allows developers to configure the packaging of such components.
+
+Contents is assigned to components by the ``COMPONENT``
+argument of CMake's :command:`install` command. Components can be
annotated with user-friendly names and descriptions, inter-component
dependencies, etc., and grouped in various ways to customize the
-resulting installer. See the cpack_add_* commands, described below,
-for more information about component-specific installations.
+resulting installer, using the commands described below.
+
+To specify different groupings for different CPack generators use
+a CPACK_PROJECT_CONFIG_FILE.
-Component-specific installation allows users to select specific sets
-of components to install during the install process. Installation
-components are identified by the COMPONENT argument of CMake's INSTALL
-commands, and should be further described by the following CPack
-commands:
+Variables
+^^^^^^^^^
+
+The following variables influence the component-specific packaging:
.. variable:: CPACK_COMPONENTS_ALL
@@ -61,16 +66,14 @@ commands:
Specify how components are grouped for multi-package component-aware CPack
generators.
- Some generators like RPM or ARCHIVE family (TGZ, ZIP, ...) generates
- several packages files when asked for component packaging. They group
- the component differently depending on the value of this variable:
-
- * ONE_PER_GROUP (default): creates one package file per component group
- * ALL_COMPONENTS_IN_ONE : creates a single package with all (requested) components
- * IGNORE : creates one package per component, i.e. IGNORE component group
+ Some generators like RPM or ARCHIVE (TGZ, ZIP, ...) may generate
+ several packages files when there are components, depending
+ on the value of this variable:
- One can specify different grouping for different CPack generator by
- using a CPACK_PROJECT_CONFIG_FILE.
+ * ONE_PER_GROUP (default): create one package per component group
+ * IGNORE : create one package per component (ignore the groups)
+ * ALL_COMPONENTS_IN_ONE : create a single package with all requested
+ components
.. variable:: CPACK_COMPONENT_<compName>_DISPLAY_NAME
@@ -100,10 +103,15 @@ commands:
True if this component is not selected to be installed by default.
+Commands
+^^^^^^^^
+
+Add component
+"""""""""""""
+
.. command:: cpack_add_component
-Describes a CPack installation
-component named by the COMPONENT argument to a CMake INSTALL command.
+Describe an installation component.
::
@@ -118,13 +126,11 @@ component named by the COMPONENT argument to a CMake INSTALL command.
[ARCHIVE_FILE filename]
[PLIST filename])
-
-
-The cmake_add_component command describes an installation component,
-which the user can opt to install or remove as part of the graphical
-installation process. compname is the name of the component, as
-provided to the COMPONENT argument of one or more CMake INSTALL
-commands.
+``compname`` is the name of an installation component, as defined by the
+``COMPONENT`` argument of one or more CMake :command:`install` commands.
+With the ``cpack_add_component`` command one can set a name, a description,
+and other attributes of an installation component.
+One can also assign a component to a component group.
DISPLAY_NAME is the displayed name of the component, used in graphical
installers to display the component name. This value can be any
@@ -177,6 +183,9 @@ the component. See cpack_configure_downloads for more information.
PLIST gives a filename that is passed to pkgbuild with the
``--component-plist`` argument when using the productbuild generator.
+Add component group
+"""""""""""""""""""
+
.. command:: cpack_add_component_group
Describes a group of related CPack installation components.
@@ -225,6 +234,9 @@ single entry.
BOLD_TITLE indicates that the group title should appear in bold, to
call the user's attention to the group.
+Add installation type
+"""""""""""""""""""""
+
.. command:: cpack_add_install_type
Add a new installation type containing
@@ -249,6 +261,9 @@ DISPLAY_NAME is the displayed name of the install type, which will
typically show up in a drop-down box within a graphical installer.
This value can be any string.
+Configure downloads
+"""""""""""""""""""
+
.. command:: cpack_configure_downloads
Configure CPack to download
@@ -281,8 +296,6 @@ requires the ZipDLL plug-in for NSIS, available at:
http://nsis.sourceforge.net/ZipDLL_plug-in
-
-
On macOS, installers that download components on-the-fly can only
be built and installed on system using macOS 10.5 or later.
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index 5bac0d8..326ee06 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -9,8 +9,11 @@ ExternalProject
.. contents::
+Commands
+^^^^^^^^
+
External Project Definition
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+"""""""""""""""""""""""""""
.. command:: ExternalProject_Add
@@ -665,7 +668,7 @@ External Project Definition
automatic substitutions that are supported for some options.
Obtaining Project Properties
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+""""""""""""""""""""""""""""
.. command:: ExternalProject_Get_Property
@@ -686,7 +689,7 @@ Obtaining Project Properties
message("Source dir of myExtProj = ${SOURCE_DIR}")
Explicit Step Management
-^^^^^^^^^^^^^^^^^^^^^^^^
+""""""""""""""""""""""""
The ``ExternalProject_Add()`` function on its own is often sufficient for
incorporating an external project into the main build. Certain scenarios
diff --git a/Modules/FetchContent.cmake b/Modules/FetchContent.cmake
index f3e1b51..0e98f49 100644
--- a/Modules/FetchContent.cmake
+++ b/Modules/FetchContent.cmake
@@ -76,8 +76,11 @@ sometimes useful as part of implementing some higher level feature or to
populate some content in CMake's script mode.
+Commands
+^^^^^^^^
+
Declaring Content Details
-^^^^^^^^^^^^^^^^^^^^^^^^^
+"""""""""""""""""""""""""
.. command:: FetchContent_Declare
@@ -130,7 +133,7 @@ Declaring Content Details
)
Populating The Content
-^^^^^^^^^^^^^^^^^^^^^^
+""""""""""""""""""""""
For most common scenarios, population means making content available to the
main build according to previously declared details for that dependency.
diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake
index b488418..c1888a4 100644
--- a/Modules/FindHDF5.cmake
+++ b/Modules/FindHDF5.cmake
@@ -19,9 +19,12 @@ The module will optionally accept the ``COMPONENTS`` argument. If no
``COMPONENTS`` are specified, then the find module will default to finding
only the ``HDF5`` C library. If one or more ``COMPONENTS`` are specified, the
module will attempt to find the language bindings for the specified
-components. The only valid components are ``C``, ``CXX``, ``Fortran``, ``HL``,
-and ``Fortran_HL``. If the ``COMPONENTS`` argument is not given, the module will
+components. The valid components are ``C``, ``CXX``, ``Fortran``, ``HL``.
+``HL`` refers to the "high-level" HDF5 functions for C and Fortran.
+If the ``COMPONENTS`` argument is not given, the module will
attempt to find only the C bindings.
+For example, to use Fortran HDF5 and HDF5-HL functions, do:
+``find_package(HDF5 COMPONENTS Fortran HL)``.
This module will read the variable
``HDF5_USE_STATIC_LIBRARIES`` to determine whether or not to prefer a
@@ -29,11 +32,6 @@ static link to a dynamic link for ``HDF5`` and all of it's dependencies.
To use this feature, make sure that the ``HDF5_USE_STATIC_LIBRARIES``
variable is set before the call to find_package.
-To provide the module with a hint about where to find your ``HDF5``
-installation, you can set the environment variable ``HDF5_ROOT``. The
-Find module will then look in this path when searching for ``HDF5``
-executables, paths, and libraries.
-
Both the serial and parallel ``HDF5`` wrappers are considered and the first
directory to contain either one will be used. In the event that both appear
in the same directory the serial version is preferentially selected. This
@@ -115,10 +113,10 @@ also be defined. With all components enabled, the following variables will be d
Hints
^^^^^
-The following variable can be set to guide the search for HDF5 libraries and includes:
+The following variables can be set to guide the search for HDF5 libraries and includes:
-``HDF5_ROOT``
- Specify the path to the HDF5 installation to use.
+``HDF5_PREFER_PARALLEL``
+ set ``true`` to prefer parallel HDF5 (by default, serial is preferred)
``HDF5_FIND_DEBUG``
Set ``true`` to get extra debugging output.
@@ -343,35 +341,46 @@ macro( _HDF5_invoke_compiler language output return_value version is_parallel)
elseif("${language}" STREQUAL "Fortran")
set(test_file ${scratch_dir}/cmake_hdf5_test.f90)
endif()
+ # Verify that the compiler wrapper can actually compile: sometimes the compiler
+ # wrapper exists, but not the compiler. E.g. Miniconda / Anaconda Python
execute_process(
- COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} -show ${lib_type_args} ${test_file}
- OUTPUT_VARIABLE ${output}
- ERROR_VARIABLE ${output}
+ COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} ${test_file}
RESULT_VARIABLE ${return_value}
)
if(NOT ${${return_value}} EQUAL 0)
- message(STATUS
- "Unable to determine HDF5 ${language} flags from HDF5 wrapper.")
- endif()
- execute_process(
- COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} -showconfig
- OUTPUT_VARIABLE config_output
- ERROR_VARIABLE config_output
- RESULT_VARIABLE config_return
- )
- if(NOT ${return_value} EQUAL 0)
- message( STATUS
- "Unable to determine HDF5 ${language} version from HDF5 wrapper.")
- endif()
- string(REGEX MATCH "HDF5 Version: ([a-zA-Z0-9\\.\\-]*)" version_match "${config_output}")
- if(version_match)
- string(REPLACE "HDF5 Version: " "" ${version} "${version_match}")
- string(REPLACE "-patch" "." ${version} "${${version}}")
- endif()
- if(config_output MATCHES "Parallel HDF5: yes")
- set(${is_parallel} TRUE)
+ message(STATUS
+ "HDF5 ${language} compiler wrapper is unable to compile a minimal HDF5 program.")
else()
- set(${is_parallel} FALSE)
+ execute_process(
+ COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} -show ${lib_type_args} ${test_file}
+ OUTPUT_VARIABLE ${output}
+ ERROR_VARIABLE ${output}
+ RESULT_VARIABLE ${return_value}
+ )
+ if(NOT ${${return_value}} EQUAL 0)
+ message(STATUS
+ "Unable to determine HDF5 ${language} flags from HDF5 wrapper.")
+ endif()
+ execute_process(
+ COMMAND ${HDF5_${language}_COMPILER_EXECUTABLE} -showconfig
+ OUTPUT_VARIABLE config_output
+ ERROR_VARIABLE config_output
+ RESULT_VARIABLE config_return
+ )
+ if(NOT ${return_value} EQUAL 0)
+ message( STATUS
+ "Unable to determine HDF5 ${language} version from HDF5 wrapper.")
+ endif()
+ string(REGEX MATCH "HDF5 Version: ([a-zA-Z0-9\\.\\-]*)" version_match "${config_output}")
+ if(version_match)
+ string(REPLACE "HDF5 Version: " "" ${version} "${version_match}")
+ string(REPLACE "-patch" "." ${version} "${${version}}")
+ endif()
+ if(config_output MATCHES "Parallel HDF5: yes")
+ set(${is_parallel} TRUE)
+ else()
+ set(${is_parallel} FALSE)
+ endif()
endif()
endmacro()
@@ -769,6 +778,17 @@ if( NOT HDF5_FOUND )
set(HDF5_Fortran_LIBRARY_NAMES hdf5_fortran ${HDF5_C_LIBRARY_NAMES})
set(HDF5_Fortran_HL_LIBRARY_NAMES hdf5hl_fortran ${HDF5_C_HL_LIBRARY_NAMES} ${HDF5_Fortran_LIBRARY_NAMES})
+ # suffixes as seen on Linux, MSYS2, ...
+ set(_lib_suffixes hdf5)
+ if(NOT HDF5_PREFER_PARALLEL)
+ list(APPEND _lib_suffixes hdf5/serial)
+ endif()
+ if(HDF5_USE_STATIC_LIBRARIES)
+ set(_inc_suffixes include/static)
+ else()
+ set(_inc_suffixes include/shared)
+ endif()
+
foreach(__lang IN LISTS HDF5_LANGUAGE_BINDINGS)
# find the HDF5 include directories
if("${__lang}" STREQUAL "Fortran")
@@ -782,7 +802,7 @@ if( NOT HDF5_FOUND )
find_path(HDF5_${__lang}_INCLUDE_DIR ${HDF5_INCLUDE_FILENAME}
HINTS ${HDF5_ROOT}
PATHS $ENV{HOME}/.local/include
- PATH_SUFFIXES include Include
+ PATH_SUFFIXES include Include ${_inc_suffixes} ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
mark_as_advanced(HDF5_${__lang}_INCLUDE_DIR)
@@ -811,14 +831,15 @@ if( NOT HDF5_FOUND )
endif()
find_library(HDF5_${LIB}_LIBRARY_DEBUG
NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+ HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
- find_library( HDF5_${LIB}_LIBRARY_RELEASE
+ find_library(HDF5_${LIB}_LIBRARY_RELEASE
NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+ HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
+
select_library_configurations( HDF5_${LIB} )
list(APPEND HDF5_${__lang}_LIBRARIES ${HDF5_${LIB}_LIBRARY})
endforeach()
@@ -848,14 +869,15 @@ if( NOT HDF5_FOUND )
endif()
find_library(HDF5_${LIB}_LIBRARY_DEBUG
NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+ HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
- find_library( HDF5_${LIB}_LIBRARY_RELEASE
+ find_library(HDF5_${LIB}_LIBRARY_RELEASE
NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
- HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib
+ HINTS ${HDF5_ROOT} PATH_SUFFIXES lib Lib ${_lib_suffixes}
${_HDF5_SEARCH_OPTS}
)
+
select_library_configurations( HDF5_${LIB} )
list(APPEND HDF5_${__lang}_HL_LIBRARIES ${HDF5_${LIB}_LIBRARY})
endforeach()
diff --git a/Modules/FindOpenCL.cmake b/Modules/FindOpenCL.cmake
index 9891724..34a203e 100644
--- a/Modules/FindOpenCL.cmake
+++ b/Modules/FindOpenCL.cmake
@@ -78,6 +78,8 @@ find_path(OpenCL_INCLUDE_DIR
ENV CUDA_PATH
ENV ATISTREAMSDKROOT
ENV OCL_ROOT
+ /usr/local/cuda
+ /opt/cuda
PATH_SUFFIXES
include
OpenCL/common/inc
@@ -126,6 +128,8 @@ else()
PATHS
ENV AMDAPPSDKROOT
ENV CUDA_PATH
+ /usr/local/cuda
+ /opt/cuda
PATH_SUFFIXES
lib/x86
lib)
@@ -135,6 +139,8 @@ else()
PATHS
ENV AMDAPPSDKROOT
ENV CUDA_PATH
+ /usr/local/cuda
+ /opt/cuda
PATH_SUFFIXES
lib/x86_64
lib/x64
diff --git a/Modules/GoogleTestAddTests.cmake b/Modules/GoogleTestAddTests.cmake
index 4abbbec..4f52ad2 100644
--- a/Modules/GoogleTestAddTests.cmake
+++ b/Modules/GoogleTestAddTests.cmake
@@ -1,6 +1,8 @@
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
+cmake_minimum_required(VERSION ${CMAKE_VERSION})
+
set(prefix "${TEST_PREFIX}")
set(suffix "${TEST_SUFFIX}")
set(extra_args ${TEST_EXTRA_ARGS})
@@ -8,18 +10,41 @@ set(properties ${TEST_PROPERTIES})
set(script)
set(suite)
set(tests)
+set(tests_buffer)
+
+# Overwrite possibly existing ${CTEST_FILE} with empty file
+file(WRITE "${CTEST_FILE}" "")
+
+# Flushes script to ${CTEST_FILE}
+macro(flush_script)
+ file(APPEND "${CTEST_FILE}" "${script}")
+ set(script "")
+endmacro()
+
+# Flushes tests_buffer to tests
+macro(flush_tests_buffer)
+ list(APPEND tests "${tests_buffer}")
+ set(tests_buffer "")
+endmacro()
-function(add_command NAME)
+macro(add_command NAME)
set(_args "")
foreach(_arg ${ARGN})
if(_arg MATCHES "[^-./:a-zA-Z0-9_]")
- set(_args "${_args} [==[${_arg}]==]")
+ string(APPEND _args " [==[${_arg}]==]")
else()
- set(_args "${_args} ${_arg}")
+ string(APPEND _args " ${_arg}")
endif()
endforeach()
- set(script "${script}${NAME}(${_args})\n" PARENT_SCOPE)
-endfunction()
+ string(APPEND script "${NAME}(${_args})\n")
+ string(LENGTH "${script}" _script_len)
+ if(${_script_len} GREATER "50000")
+ flush_script()
+ endif()
+ # Unsets macro local variables to prevent leakage outside of this macro.
+ unset(_args)
+ unset(_script_len)
+endmacro()
# Run test executable to get list of available tests
if(NOT EXISTS "${TEST_EXECUTABLE}")
@@ -93,14 +118,20 @@ foreach(line ${output})
WORKING_DIRECTORY "${TEST_WORKING_DIR}"
${properties}
)
- list(APPEND tests "${prefix}${pretty_suite}.${pretty_test}${suffix}")
+ list(APPEND tests_buffer "${prefix}${pretty_suite}.${pretty_test}${suffix}")
+ list(LENGTH tests_buffer tests_buffer_length)
+ if(${tests_buffer_length} GREATER "250")
+ flush_tests_buffer()
+ endif()
endif()
endif()
endforeach()
+
# Create a list of all discovered tests, which users may use to e.g. set
# properties on the tests
+flush_tests_buffer()
add_command(set ${TEST_LIST} ${tests})
# Write CTest script
-file(WRITE "${CTEST_FILE}" "${script}")
+flush_script()
diff --git a/Modules/Internal/CPack/CPackNuGet.cmake b/Modules/Internal/CPack/CPackNuGet.cmake
index 1f4bcfd..20eed2e 100644
--- a/Modules/Internal/CPack/CPackNuGet.cmake
+++ b/Modules/Internal/CPack/CPackNuGet.cmake
@@ -287,7 +287,11 @@ if(CPACK_NUGET_ORDINAL_MONOLITIC)
execute_process(
COMMAND "${NUGET_EXECUTABLE}" pack ${CPACK_NUGET_PACK_ADDITIONAL_OPTIONS}
WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
+ RESULT_VARIABLE _nuget_result
)
+ if(NOT _nuget_result EQUAL 0)
+ message(FATAL_ERROR "Nuget pack failed")
+ endif()
elseif(CPACK_NUGET_ALL_IN_ONE)
# This variable `CPACK_NUGET_ALL_IN_ONE` set by C++ code:
@@ -300,7 +304,11 @@ elseif(CPACK_NUGET_ALL_IN_ONE)
execute_process(
COMMAND "${NUGET_EXECUTABLE}" pack ${CPACK_NUGET_PACK_ADDITIONAL_OPTIONS}
WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
+ RESULT_VARIABLE _nuget_result
)
+ if(NOT _nuget_result EQUAL 0)
+ message(FATAL_ERROR "Nuget pack failed")
+ endif()
else()
# Is there any grouped component?
@@ -322,7 +330,11 @@ else()
execute_process(
COMMAND "${NUGET_EXECUTABLE}" pack ${CPACK_NUGET_PACK_ADDITIONAL_OPTIONS}
WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
+ RESULT_VARIABLE _nuget_result
)
+ if(NOT _nuget_result EQUAL 0)
+ message(FATAL_ERROR "Nuget pack failed")
+ endif()
endforeach()
endif()
# Is there any single component package needed?
@@ -341,7 +353,11 @@ else()
execute_process(
COMMAND "${NUGET_EXECUTABLE}" pack ${CPACK_NUGET_PACK_ADDITIONAL_OPTIONS}
WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
+ RESULT_VARIABLE _nuget_result
)
+ if(NOT _nuget_result EQUAL 0)
+ message(FATAL_ERROR "Nuget pack failed")
+ endif()
endforeach()
endif()
endif()
diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake
index 78522da..f6a20f8 100644
--- a/Modules/UseSWIG.cmake
+++ b/Modules/UseSWIG.cmake
@@ -341,6 +341,23 @@ function(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile)
list(APPEND files "${extra_file}")
endforeach()
+ if (language STREQUAL "FORTRAN" AND CMAKE_Fortran_COMPILER_LOADED)
+ # Process possible user-supplied extension in flags (obtained via parent
+ # scope variable) to determine the source file name.
+ list(FIND SWIG_COMPILATION_FLAGS "-fext" fext_idx)
+ if (fext_idx EQUAL -1)
+ # Default Fortran generated extension
+ set(fext "f90")
+ else()
+ # Get extension from user-provided flag
+ math(EXPR fext_idx "${fext_idx} + 1")
+ list(GET SWIG_COMPILATION_FLAGS "${fext_idx}" fext)
+ endif()
+ set(extra_file "${generatedpath}/${module_basename}.${fext}")
+ set_source_files_properties("${extra_file}" PROPERTIES LANGUAGE "Fortran")
+ list(APPEND files "${extra_file}")
+ endif()
+
set (${outfiles} ${files} PARENT_SCOPE)
endfunction()
@@ -415,6 +432,7 @@ function(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
get_filename_component(swig_source_file_fullname "${infile}" ABSOLUTE)
if (NOT SWIG_MODULE_${name}_NOPROXY)
+ set(SWIG_COMPILATION_FLAGS ${swig_source_file_flags})
SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE}
swig_extra_generated_files
"${outdir}"
@@ -787,6 +805,8 @@ function(SWIG_ADD_LIBRARY name)
if (APPLE)
set_target_properties (${target_name} PROPERTIES SUFFIX ".dylib")
endif ()
+ elseif (swig_lowercase_language STREQUAL "fortran")
+ # Do *not* override the target's library prefix
else()
# assume empty prefix because we expect the module to be dynamically loaded
set_target_properties (${target_name} PROPERTIES PREFIX "")
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index ffd96ee..6d0beef 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,8 +1,8 @@
# CMake version number components.
set(CMake_VERSION_MAJOR 3)
set(CMake_VERSION_MINOR 17)
-set(CMake_VERSION_PATCH 0)
-set(CMake_VERSION_RC 1)
+set(CMake_VERSION_PATCH 20200226)
+#set(CMake_VERSION_RC 0)
set(CMake_VERSION_IS_DIRTY 0)
# Start with the full version number used in tags. It has no dev info.
diff --git a/Source/QtDialog/FirstConfigure.cxx b/Source/QtDialog/FirstConfigure.cxx
index ca28b19..3c24b9b 100644
--- a/Source/QtDialog/FirstConfigure.cxx
+++ b/Source/QtDialog/FirstConfigure.cxx
@@ -10,8 +10,12 @@
#include "Compilers.h"
-StartCompilerSetup::StartCompilerSetup(QWidget* p)
+StartCompilerSetup::StartCompilerSetup(QString defaultGeneratorPlatform,
+ QString defaultGeneratorToolset,
+ QWidget* p)
: QWizardPage(p)
+ , DefaultGeneratorPlatform(std::move(defaultGeneratorPlatform))
+ , DefaultGeneratorToolset(std::move(defaultGeneratorToolset))
{
QVBoxLayout* l = new QVBoxLayout(this);
l->addWidget(new QLabel(tr("Specify the generator for this project")));
@@ -68,6 +72,10 @@ QFrame* StartCompilerSetup::CreateToolsetWidgets()
Toolset = new QLineEdit(frame);
l->addWidget(Toolset);
+ // Default to CMAKE_GENERATOR_TOOLSET env var if set
+ if (!DefaultGeneratorToolset.isEmpty()) {
+ this->Toolset->setText(DefaultGeneratorToolset);
+ }
return frame;
}
@@ -199,6 +207,14 @@ void StartCompilerSetup::onGeneratorChanged(QString const& name)
this->PlatformOptions->addItems(platform_list);
PlatformFrame->show();
+
+ // Default to generator platform from environment
+ if (!DefaultGeneratorPlatform.isEmpty()) {
+ int platform_index = platforms.indexOf(DefaultGeneratorPlatform);
+ if (platform_index != -1) {
+ this->PlatformOptions->setCurrentIndex(platform_index);
+ }
+ }
} else {
PlatformFrame->hide();
}
@@ -421,8 +437,26 @@ void ToolchainCompilerSetup::setToolchainFile(const QString& t)
FirstConfigure::FirstConfigure()
{
+ const char* env_generator = std::getenv("CMAKE_GENERATOR");
+ const char* env_generator_platform = nullptr;
+ const char* env_generator_toolset = nullptr;
+ if (env_generator && std::strlen(env_generator)) {
+ mDefaultGenerator = env_generator;
+ env_generator_platform = std::getenv("CMAKE_GENERATOR_PLATFORM");
+ env_generator_toolset = std::getenv("CMAKE_GENERATOR_TOOLSET");
+ }
+
+ if (!env_generator_platform) {
+ env_generator_platform = "";
+ }
+
+ if (!env_generator_toolset) {
+ env_generator_toolset = "";
+ }
+
// this->setOption(QWizard::HaveFinishButtonOnEarlyPages, true);
- this->mStartCompilerSetupPage = new StartCompilerSetup(this);
+ this->mStartCompilerSetupPage = new StartCompilerSetup(
+ env_generator_platform, env_generator_toolset, this);
this->setPage(Start, this->mStartCompilerSetupPage);
QObject::connect(this->mStartCompilerSetupPage, SIGNAL(selectionChanged()),
this, SLOT(restart()));
@@ -504,6 +538,17 @@ void FirstConfigure::loadFromSettings()
this->mCrossCompilerSetupPage->setIncludeMode(
settings.value("IncludeMode", 0).toInt());
settings.endGroup();
+
+ // environment variables take precedence over application settings because...
+ // - they're harder to set
+ // - settings always exist after the program is run once, so the environment
+ // variables would never be used otherwise
+ // - platform and toolset are populated only from environment variables, so
+ // this prevents them from being taken from environment, while the
+ // generator is taken from application settings
+ if (!mDefaultGenerator.isEmpty()) {
+ this->mStartCompilerSetupPage->setCurrentGenerator(mDefaultGenerator);
+ }
}
void FirstConfigure::saveToSettings()
diff --git a/Source/QtDialog/FirstConfigure.h b/Source/QtDialog/FirstConfigure.h
index d1db5bf..c26f489 100644
--- a/Source/QtDialog/FirstConfigure.h
+++ b/Source/QtDialog/FirstConfigure.h
@@ -29,7 +29,8 @@ class StartCompilerSetup : public QWizardPage
{
Q_OBJECT
public:
- StartCompilerSetup(QWidget* p);
+ StartCompilerSetup(QString defaultGeneratorPlatform,
+ QString defaultGeneratorToolset, QWidget* p);
~StartCompilerSetup();
void setGenerators(std::vector<cmake::GeneratorInfo> const& gens);
void setCurrentGenerator(const QString& gen);
@@ -64,6 +65,7 @@ protected:
QStringList GeneratorsSupportingPlatform;
QMultiMap<QString, QString> GeneratorSupportedPlatforms;
QMap<QString, QString> GeneratorDefaultPlatform;
+ QString DefaultGeneratorPlatform, DefaultGeneratorToolset;
private:
QFrame* CreateToolsetWidgets();
@@ -197,6 +199,7 @@ protected:
NativeCompilerSetup* mNativeCompilerSetupPage;
CrossCompilerSetup* mCrossCompilerSetupPage;
ToolchainCompilerSetup* mToolchainCompilerSetupPage;
+ QString mDefaultGenerator;
};
#endif // FirstConfigure_h
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index b1e26b2..12a5167 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -46,7 +46,8 @@
#include "cmake.h"
const char* cmGlobalNinjaGenerator::NINJA_BUILD_FILE = "build.ninja";
-const char* cmGlobalNinjaGenerator::NINJA_RULES_FILE = "rules.ninja";
+const char* cmGlobalNinjaGenerator::NINJA_RULES_FILE =
+ "CMakeFiles/rules.ninja";
const char* cmGlobalNinjaGenerator::INDENT = " ";
#ifdef _WIN32
std::string const cmGlobalNinjaGenerator::SHELL_NOOP = "cd .";
@@ -147,15 +148,15 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream& os,
{
// Make sure there is a rule.
if (build.Rule.empty()) {
- cmSystemTools::Error("No rule for WriteBuild! called with comment: " +
- build.Comment);
+ cmSystemTools::Error(cmStrCat(
+ "No rule for WriteBuild! called with comment: ", build.Comment));
return;
}
// Make sure there is at least one output file.
if (build.Outputs.empty()) {
- cmSystemTools::Error(
- "No output files for WriteBuild! called with comment: " + build.Comment);
+ cmSystemTools::Error(cmStrCat(
+ "No output files for WriteBuild! called with comment: ", build.Comment));
return;
}
@@ -166,7 +167,7 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream& os,
{
// Write explicit outputs
for (std::string const& output : build.Outputs) {
- buildStr += " " + EncodePath(output);
+ buildStr += cmStrCat(' ', EncodePath(output));
if (this->ComputingUnknownDependencies) {
this->CombinedBuildOutputs.insert(output);
}
@@ -175,14 +176,13 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream& os,
if (!build.ImplicitOuts.empty()) {
buildStr += " |";
for (std::string const& implicitOut : build.ImplicitOuts) {
- buildStr += " " + EncodePath(implicitOut);
+ buildStr += cmStrCat(' ', EncodePath(implicitOut));
}
}
- buildStr += ":";
+ buildStr += ':';
// Write the rule.
- buildStr += " ";
- buildStr += build.Rule;
+ buildStr += cmStrCat(' ', build.Rule);
}
std::string arguments;
@@ -191,14 +191,14 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream& os,
// Write explicit dependencies.
for (std::string const& explicitDep : build.ExplicitDeps) {
- arguments += " " + EncodePath(explicitDep);
+ arguments += cmStrCat(' ', EncodePath(explicitDep));
}
// Write implicit dependencies.
if (!build.ImplicitDeps.empty()) {
arguments += " |";
for (std::string const& implicitDep : build.ImplicitDeps) {
- arguments += " " + EncodePath(implicitDep);
+ arguments += cmStrCat(' ', EncodePath(implicitDep));
}
}
@@ -206,11 +206,11 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream& os,
if (!build.OrderOnlyDeps.empty()) {
arguments += " ||";
for (std::string const& orderOnlyDep : build.OrderOnlyDeps) {
- arguments += " " + EncodePath(orderOnlyDep);
+ arguments += cmStrCat(' ', EncodePath(orderOnlyDep));
}
}
- arguments += "\n";
+ arguments += '\n';
}
// Write the variables bound to this build statement.
@@ -309,7 +309,7 @@ void cmGlobalNinjaGenerator::WriteCustomCommandBuild(
void cmGlobalNinjaGenerator::AddMacOSXContentRule()
{
cmNinjaRule rule("COPY_OSX_CONTENT");
- rule.Command = CMakeCmd() + " -E copy $in $out";
+ rule.Command = cmStrCat(CMakeCmd(), " -E copy $in $out");
rule.Description = "Copying OS X Content $out";
rule.Comment = "Rule for copying OS X bundle content file.";
this->AddRule(rule);
@@ -334,23 +334,24 @@ void cmGlobalNinjaGenerator::WriteRule(std::ostream& os,
// -- Parameter checks
// Make sure the rule has a name.
if (rule.Name.empty()) {
- cmSystemTools::Error("No name given for WriteRule! called with comment: " +
- rule.Comment);
+ cmSystemTools::Error(cmStrCat(
+ "No name given for WriteRule! called with comment: ", rule.Comment));
return;
}
// Make sure a command is given.
if (rule.Command.empty()) {
- cmSystemTools::Error(
- "No command given for WriteRule! called with comment: " + rule.Comment);
+ cmSystemTools::Error(cmStrCat(
+ "No command given for WriteRule! called with comment: ", rule.Comment));
return;
}
// Make sure response file content is given
if (!rule.RspFile.empty() && rule.RspContent.empty()) {
- cmSystemTools::Error("rspfile but no rspfile_content given for WriteRule! "
- "called with comment: " +
- rule.Comment);
+ cmSystemTools::Error(
+ cmStrCat("rspfile but no rspfile_content given for WriteRule! "
+ "called with comment: ",
+ rule.Comment));
return;
}
@@ -392,9 +393,9 @@ void cmGlobalNinjaGenerator::WriteVariable(std::ostream& os,
{
// Make sure we have a name.
if (name.empty()) {
- cmSystemTools::Error("No name given for WriteVariable! called "
- "with comment: " +
- comment);
+ cmSystemTools::Error(cmStrCat("No name given for WriteVariable! called "
+ "with comment: ",
+ comment));
return;
}
@@ -558,11 +559,11 @@ void cmGlobalNinjaGenerator::CleanMetaData()
nullptr,
cmSystemTools::OUTPUT_NONE)) {
this->GetCMakeInstance()->IssueMessage(MessageType::FATAL_ERROR,
- "Running\n '" +
- cmJoin(command, "' '") +
- "'\n"
- "failed with:\n " +
- error);
+ cmStrCat("Running\n '",
+ cmJoin(command, "' '"),
+ "'\n"
+ "failed with:\n ",
+ error));
cmSystemTools::SetFatalErrorOccured();
}
};
@@ -626,10 +627,10 @@ bool cmGlobalNinjaGenerator::FindMakeProgram(cmMakefile* mf)
nullptr,
cmSystemTools::OUTPUT_NONE)) {
mf->IssueMessage(MessageType::FATAL_ERROR,
- "Running\n '" + cmJoin(command, "' '") +
- "'\n"
- "failed with:\n " +
- error);
+ cmStrCat("Running\n '", cmJoin(command, "' '"),
+ "'\n"
+ "failed with:\n ",
+ error));
cmSystemTools::SetFatalErrorOccured();
return false;
}
@@ -713,7 +714,7 @@ bool cmGlobalNinjaGenerator::CheckFortran(cmMakefile* mf) const
/* clang-format off */
e <<
"The Ninja generator does not support Fortran using Ninja version\n"
- " " + this->NinjaVersion + "\n"
+ " " << this->NinjaVersion << "\n"
"due to lack of required features. "
"Kitware has implemented the required features and they have been "
"merged to upstream ninja for inclusion in Ninja 1.10 and higher. "
@@ -998,7 +999,8 @@ void cmGlobalNinjaGenerator::AddCXXCompileCommand(
std::string buildFileDir =
this->GetCMakeInstance()->GetHomeOutputDirectory();
if (!this->CompileCommandsStream) {
- std::string buildFilePath = buildFileDir + "/compile_commands.json";
+ std::string buildFilePath =
+ cmStrCat(buildFileDir, "/compile_commands.json");
if (this->ComputingUnknownDependencies) {
this->CombinedBuildOutputs.insert(
this->NinjaOutputPath("compile_commands.json"));
@@ -1064,8 +1066,8 @@ void cmGlobalNinjaGenerator::WriteAssumedSourceDependencies()
std::string cmGlobalNinjaGenerator::OrderDependsTargetForTarget(
cmGeneratorTarget const* target, const std::string& config)
{
- return "cmake_object_order_depends_target_" + target->GetName() + "_" +
- config;
+ return cmStrCat("cmake_object_order_depends_target_", target->GetName(), '_',
+ config);
}
void cmGlobalNinjaGenerator::AppendTargetOutputs(
@@ -1103,8 +1105,8 @@ void cmGlobalNinjaGenerator::AppendTargetOutputs(
case cmStateEnums::GLOBAL_TARGET:
case cmStateEnums::UTILITY: {
std::string path =
- target->GetLocalGenerator()->GetCurrentBinaryDirectory() +
- std::string("/") + target->GetName();
+ cmStrCat(target->GetLocalGenerator()->GetCurrentBinaryDirectory(), '/',
+ target->GetName());
std::string output = this->ConvertToNinjaPath(path);
if (target->Target->IsPerConfig()) {
output = this->BuildAlias(output, config);
@@ -1128,8 +1130,8 @@ void cmGlobalNinjaGenerator::AppendTargetDepends(
for (BT<std::pair<std::string, bool>> const& util :
target->GetUtilities()) {
std::string d =
- target->GetLocalGenerator()->GetCurrentBinaryDirectory() + "/" +
- util.Value.first;
+ cmStrCat(target->GetLocalGenerator()->GetCurrentBinaryDirectory(), '/',
+ util.Value.first);
outputs.push_back(this->BuildAlias(this->ConvertToNinjaPath(d), config));
}
} else {
@@ -1355,12 +1357,13 @@ void cmGlobalNinjaGenerator::WriteFolderTargets(std::ostream& os)
// Setup target
cmNinjaDeps configDeps;
- build.Comment = "Folder: " + currentBinaryDir;
+ build.Comment = cmStrCat("Folder: ", currentBinaryDir);
build.Outputs.emplace_back();
+ std::string const buildDirAllTarget =
+ this->ConvertToNinjaPath(cmStrCat(currentBinaryDir, "/all"));
for (auto const& config : configs) {
build.ExplicitDeps.clear();
- build.Outputs.front() = this->BuildAlias(
- this->ConvertToNinjaPath(currentBinaryDir + "/all"), config);
+ build.Outputs.front() = this->BuildAlias(buildDirAllTarget, config);
configDeps.emplace_back(build.Outputs.front());
for (DirectoryTarget::Target const& t : dt.Targets) {
if (!t.ExcludeFromAll) {
@@ -1370,7 +1373,7 @@ void cmGlobalNinjaGenerator::WriteFolderTargets(std::ostream& os)
for (DirectoryTarget::Dir const& d : dt.Children) {
if (!d.ExcludeFromAll) {
build.ExplicitDeps.emplace_back(this->BuildAlias(
- this->ConvertToNinjaPath(d.Path + "/all"), config));
+ this->ConvertToNinjaPath(cmStrCat(d.Path, "/all")), config));
}
}
// Write target
@@ -1384,21 +1387,18 @@ void cmGlobalNinjaGenerator::WriteFolderTargets(std::ostream& os)
// Add shortcut target
if (this->IsMultiConfig()) {
for (auto const& config : configs) {
- build.ExplicitDeps = { this->BuildAlias(
- this->ConvertToNinjaPath(currentBinaryDir + "/all"), config) };
- build.Outputs.front() =
- this->ConvertToNinjaPath(currentBinaryDir + "/all");
+ build.ExplicitDeps = { this->BuildAlias(buildDirAllTarget, config) };
+ build.Outputs.front() = buildDirAllTarget;
this->WriteBuild(*this->GetConfigFileStream(config), build);
}
if (!this->DefaultFileConfig.empty()) {
build.ExplicitDeps.clear();
for (auto const& config : this->DefaultConfigs) {
- build.ExplicitDeps.push_back(this->BuildAlias(
- this->ConvertToNinjaPath(currentBinaryDir + "/all"), config));
+ build.ExplicitDeps.push_back(
+ this->BuildAlias(buildDirAllTarget, config));
}
- build.Outputs.front() =
- this->ConvertToNinjaPath(currentBinaryDir + "/all");
+ build.Outputs.front() = buildDirAllTarget;
this->WriteBuild(*this->GetDefaultFileStream(), build);
}
}
@@ -1407,11 +1407,10 @@ void cmGlobalNinjaGenerator::WriteFolderTargets(std::ostream& os)
if (this->EnableCrossConfigBuild()) {
build.ExplicitDeps.clear();
for (auto const& config : this->CrossConfigs) {
- build.ExplicitDeps.push_back(this->BuildAlias(
- this->ConvertToNinjaPath(currentBinaryDir + "/all"), config));
+ build.ExplicitDeps.push_back(
+ this->BuildAlias(buildDirAllTarget, config));
}
- build.Outputs.front() = this->BuildAlias(
- this->ConvertToNinjaPath(currentBinaryDir + "/all"), "all");
+ build.Outputs.front() = this->BuildAlias(buildDirAllTarget, "all");
this->WriteBuild(os, build);
}
}
@@ -1623,7 +1622,8 @@ void cmGlobalNinjaGenerator::WriteTargetRebuildManifest(std::ostream& os)
cmNinjaBuild phonyBuild("phony");
phonyBuild.Comment = "Phony target to force glob verification run.";
- phonyBuild.Outputs.push_back(cm->GetGlobVerifyScript() + "_force");
+ phonyBuild.Outputs.push_back(
+ cmStrCat(cm->GetGlobVerifyScript(), "_force"));
this->WriteBuild(os, phonyBuild);
reBuild.Variables["restat"] = "1";
@@ -1814,7 +1814,7 @@ void cmGlobalNinjaGenerator::WriteTargetClean(std::ostream& os)
// Write rule
{
cmNinjaRule rule("CLEAN");
- rule.Command = NinjaCmd() + " $FILE_ARG -t clean $TARGETS";
+ rule.Command = cmStrCat(NinjaCmd(), " $FILE_ARG -t clean $TARGETS");
rule.Description = "Cleaning all built files...";
rule.Comment = "Rule for cleaning all built files.";
WriteRule(*this->RulesFileStream, rule);
@@ -1928,7 +1928,7 @@ void cmGlobalNinjaGenerator::WriteTargetHelp(std::ostream& os)
{
{
cmNinjaRule rule("HELP");
- rule.Command = NinjaCmd() + " -t targets";
+ rule.Command = cmStrCat(NinjaCmd(), " -t targets");
rule.Description = "All primary targets available:";
rule.Comment = "Rule for printing all primary targets available.";
WriteRule(*this->RulesFileStream, rule);
@@ -1955,7 +1955,7 @@ std::string cmGlobalNinjaGenerator::NinjaOutputPath(
if (!this->HasOutputPathPrefix() || cmSystemTools::FileIsFullPath(path)) {
return path;
}
- return this->OutputPathPrefix + path;
+ return cmStrCat(this->OutputPathPrefix, path);
}
void cmGlobalNinjaGenerator::StripNinjaOutputPathPrefixAsSuffix(
@@ -2083,7 +2083,8 @@ int cmcmd_cmake_ninja_depends(std::vector<std::string>::const_iterator argBeg,
} else if (cmHasLiteralPrefix(arg, "--lang=")) {
arg_lang = arg.substr(7);
} else {
- cmSystemTools::Error("-E cmake_ninja_depends unknown argument: " + arg);
+ cmSystemTools::Error(
+ cmStrCat("-E cmake_ninja_depends unknown argument: ", arg));
return 1;
}
}
@@ -2154,7 +2155,8 @@ int cmcmd_cmake_ninja_depends(std::vector<std::string>::const_iterator argBeg,
cmGeneratedFileStream ddif(arg_ddi);
ddif << ddi;
if (!ddif) {
- cmSystemTools::Error("-E cmake_ninja_depends failed to write " + arg_ddi);
+ cmSystemTools::Error(
+ cmStrCat("-E cmake_ninja_depends failed to write ", arg_ddi));
return 1;
}
return 0;
@@ -2200,7 +2202,8 @@ std::unique_ptr<cmSourceInfo> cmcmd_cmake_ninja_depends_fortran(
std::set<std::string> defines;
cmFortranParser parser(fc, includes, defines, finfo);
if (!cmFortranParser_FilePush(&parser, arg_pp.c_str())) {
- cmSystemTools::Error("-E cmake_ninja_depends failed to open " + arg_pp);
+ cmSystemTools::Error(
+ cmStrCat("-E cmake_ninja_depends failed to open ", arg_pp));
return nullptr;
}
if (cmFortran_yyparse(parser.Scanner) != 0) {
@@ -2303,7 +2306,7 @@ bool cmGlobalNinjaGenerator::WriteDyndepFile(
Json::Value tm = Json::objectValue;
for (cmDyndepObjectInfo const& object : objects) {
for (std::string const& p : object.Provides) {
- std::string const mod = module_dir + p;
+ std::string const mod = cmStrCat(module_dir, p);
mod_files[p] = mod;
tm[p] = mod;
}
@@ -2339,8 +2342,8 @@ bool cmGlobalNinjaGenerator::WriteDyndepFile(
// Store the map of modules provided by this target in a file for
// use by dependents that reference this target in linked-target-dirs.
- std::string const target_mods_file =
- cmSystemTools::GetFilenamePath(arg_dd) + "/" + arg_lang + "Modules.json";
+ std::string const target_mods_file = cmStrCat(
+ cmSystemTools::GetFilenamePath(arg_dd), '/', arg_lang, "Modules.json");
cmGeneratedFileStream tmf(target_mods_file);
tmf << tm;
@@ -2373,7 +2376,8 @@ int cmcmd_cmake_ninja_dyndep(std::vector<std::string>::const_iterator argBeg,
cmHasLiteralSuffix(arg, ".ddi")) {
arg_ddis.push_back(arg);
} else {
- cmSystemTools::Error("-E cmake_ninja_dyndep unknown argument: " + arg);
+ cmSystemTools::Error(
+ cmStrCat("-E cmake_ninja_dyndep unknown argument: ", arg));
return 1;
}
}
@@ -2409,7 +2413,7 @@ int cmcmd_cmake_ninja_dyndep(std::vector<std::string>::const_iterator argBeg,
std::string const dir_top_src = tdi["dir-top-src"].asString();
std::string module_dir = tdi["module-dir"].asString();
if (!module_dir.empty() && !cmHasLiteralSuffix(module_dir, "/")) {
- module_dir += "/";
+ module_dir += '/';
}
std::vector<std::string> linked_target_dirs;
Json::Value const& tdi_linked_target_dirs = tdi["linked-target-dirs"];
@@ -2437,9 +2441,7 @@ void cmGlobalNinjaGenerator::AppendDirectoryForConfig(
const std::string& suffix, std::string& dir)
{
if (!config.empty() && this->IsMultiConfig()) {
- dir += prefix;
- dir += config;
- dir += suffix;
+ dir += cmStrCat(prefix, config, suffix);
}
}
diff --git a/Source/cmGlobalUnixMakefileGenerator3.cxx b/Source/cmGlobalUnixMakefileGenerator3.cxx
index 90c9ef0..d123830 100644
--- a/Source/cmGlobalUnixMakefileGenerator3.cxx
+++ b/Source/cmGlobalUnixMakefileGenerator3.cxx
@@ -343,19 +343,18 @@ void cmGlobalUnixMakefileGenerator3::WriteMainCMakefile()
const std::string& binDir = lg.GetBinaryDirectory();
// CMake must rerun if a byproduct is missing.
- {
- cmakefileStream << "# Byproducts of CMake generate step:\n"
- << "set(CMAKE_MAKEFILE_PRODUCTS\n";
- for (std::string const& outfile : lg.GetMakefile()->GetOutputFiles()) {
+ cmakefileStream << "# Byproducts of CMake generate step:\n"
+ << "set(CMAKE_MAKEFILE_PRODUCTS\n";
+
+ // add in any byproducts and all the directory information files
+ std::string tmpStr;
+ for (const auto& localGen : this->LocalGenerators) {
+ for (std::string const& outfile :
+ localGen->GetMakefile()->GetOutputFiles()) {
cmakefileStream << " \""
<< lg.MaybeConvertToRelativePath(binDir, outfile)
<< "\"\n";
}
- }
-
- // add in all the directory information files
- std::string tmpStr;
- for (const auto& localGen : this->LocalGenerators) {
tmpStr = cmStrCat(localGen->GetCurrentBinaryDirectory(),
"/CMakeFiles/CMakeDirectoryInformation.cmake");
cmakefileStream << " \""
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index b2e59bd..ed627f8 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -4492,7 +4492,7 @@ bool cmMakefile::SetPolicy(cmPolicies::PolicyID id,
// Deprecate old policies, especially those that require a lot
// of code to maintain the old behavior.
- if (status == cmPolicies::OLD && id <= cmPolicies::CMP0069 &&
+ if (status == cmPolicies::OLD && id <= cmPolicies::CMP0071 &&
!(this->GetCMakeInstance()->GetIsInTryCompile() &&
(
// Policies set by cmCoreTryCompile::TryCompileCode.
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 0e74678..3803621 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -94,17 +94,19 @@ cmGlobalNinjaGenerator* cmNinjaTargetGenerator::GetGlobalGenerator() const
std::string cmNinjaTargetGenerator::LanguageCompilerRule(
const std::string& lang, const std::string& config) const
{
- return lang + "_COMPILER__" +
- cmGlobalNinjaGenerator::EncodeRuleName(this->GeneratorTarget->GetName()) +
- "_" + config;
+ return cmStrCat(
+ lang, "_COMPILER__",
+ cmGlobalNinjaGenerator::EncodeRuleName(this->GeneratorTarget->GetName()),
+ '_', config);
}
std::string cmNinjaTargetGenerator::LanguagePreprocessRule(
std::string const& lang, const std::string& config) const
{
- return lang + "_PREPROCESS__" +
- cmGlobalNinjaGenerator::EncodeRuleName(this->GeneratorTarget->GetName()) +
- "_" + config;
+ return cmStrCat(
+ lang, "_PREPROCESS__",
+ cmGlobalNinjaGenerator::EncodeRuleName(this->GeneratorTarget->GetName()),
+ '_', config);
}
bool cmNinjaTargetGenerator::NeedExplicitPreprocessing(
@@ -129,9 +131,10 @@ bool cmNinjaTargetGenerator::CompilePreprocessedSourceWithDefines(
std::string cmNinjaTargetGenerator::LanguageDyndepRule(
const std::string& lang, const std::string& config) const
{
- return lang + "_DYNDEP__" +
- cmGlobalNinjaGenerator::EncodeRuleName(this->GeneratorTarget->GetName()) +
- "_" + config;
+ return cmStrCat(
+ lang, "_DYNDEP__",
+ cmGlobalNinjaGenerator::EncodeRuleName(this->GeneratorTarget->GetName()),
+ '_', config);
}
bool cmNinjaTargetGenerator::NeedDyndep(std::string const& lang) const
@@ -219,8 +222,8 @@ void cmNinjaTargetGenerator::AddIncludeFlags(std::string& languageFlags,
bool cmNinjaTargetGenerator::NeedDepTypeMSVC(const std::string& lang) const
{
- std::string const& deptype =
- this->GetMakefile()->GetSafeDefinition("CMAKE_NINJA_DEPTYPE_" + lang);
+ std::string const& deptype = this->GetMakefile()->GetSafeDefinition(
+ cmStrCat("CMAKE_NINJA_DEPTYPE_", lang));
if (deptype == "msvc") {
return true;
}
@@ -355,13 +358,12 @@ std::string cmNinjaTargetGenerator::GetObjectFilePath(
{
std::string path = this->LocalGenerator->GetHomeRelativeOutputPath();
if (!path.empty()) {
- path += "/";
+ path += '/';
}
std::string const& objectName = this->GeneratorTarget->GetObjectName(source);
- path += this->LocalGenerator->GetTargetDirectory(this->GeneratorTarget);
- path += this->GetGlobalGenerator()->ConfigDirectory(config);
- path += "/";
- path += objectName;
+ path += cmStrCat(
+ this->LocalGenerator->GetTargetDirectory(this->GeneratorTarget),
+ this->GetGlobalGenerator()->ConfigDirectory(config), '/', objectName);
return path;
}
@@ -389,16 +391,15 @@ std::string cmNinjaTargetGenerator::GetPreprocessedFilePath(
this->GetGlobalGenerator()->GetLanguageOutputExtension(*source);
assert(objName.size() >= objExt.size());
std::string const ppName =
- objName.substr(0, objName.size() - objExt.size()) + "-pp." + ppExt;
+ cmStrCat(objName.substr(0, objName.size() - objExt.size()), "-pp.", ppExt);
std::string path = this->LocalGenerator->GetHomeRelativeOutputPath();
if (!path.empty()) {
- path += "/";
+ path += '/';
}
- path += this->LocalGenerator->GetTargetDirectory(this->GeneratorTarget);
- path += this->GetGlobalGenerator()->ConfigDirectory(config);
- path += "/";
- path += ppName;
+ path +=
+ cmStrCat(this->LocalGenerator->GetTargetDirectory(this->GeneratorTarget),
+ this->GetGlobalGenerator()->ConfigDirectory(config), '/', ppName);
return path;
}
@@ -407,13 +408,11 @@ std::string cmNinjaTargetGenerator::GetDyndepFilePath(
{
std::string path = this->LocalGenerator->GetHomeRelativeOutputPath();
if (!path.empty()) {
- path += "/";
+ path += '/';
}
- path += this->LocalGenerator->GetTargetDirectory(this->GeneratorTarget);
- path += this->GetGlobalGenerator()->ConfigDirectory(config);
- path += "/";
- path += lang;
- path += ".dd";
+ path += cmStrCat(
+ this->LocalGenerator->GetTargetDirectory(this->GeneratorTarget),
+ this->GetGlobalGenerator()->ConfigDirectory(config), '/', lang, ".dd");
return path;
}
@@ -442,8 +441,7 @@ std::string cmNinjaTargetGenerator::GetTargetFilePath(
if (path.empty() || path == ".") {
return name;
}
- path += "/";
- path += name;
+ path += cmStrCat('/', name);
return path;
}
@@ -522,7 +520,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
bool const lang_supports_response = lang != "RC";
if (lang_supports_response && this->ForceResponseFile()) {
std::string const responseFlagVar =
- "CMAKE_" + lang + "_RESPONSE_FILE_FLAG";
+ cmStrCat("CMAKE_", lang, "_RESPONSE_FILE_FLAG");
responseFlag = this->Makefile->GetSafeDefinition(responseFlagVar);
if (responseFlag.empty() && lang != "CUDA") {
responseFlag = "@";
@@ -587,7 +585,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
rule.RspFile = "$RSP_FILE";
rule.RspContent =
cmStrCat(' ', ppVars.Defines, ' ', ppVars.Includes, ' ', ppFlags);
- ppFlags = responseFlag + rule.RspFile;
+ ppFlags = cmStrCat(responseFlag, rule.RspFile);
ppVars.Defines = "";
ppVars.Includes = "";
}
@@ -658,7 +656,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
rule.RspFile = "$RSP_FILE";
rule.RspContent =
cmStrCat(' ', vars.Defines, ' ', vars.Includes, ' ', flags);
- flags = responseFlag + rule.RspFile;
+ flags = cmStrCat(responseFlag, rule.RspFile);
vars.Defines = "";
vars.Includes = "";
}
@@ -671,7 +669,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
rule.DepType = "msvc";
rule.DepFile.clear();
flags += " /showIncludes";
- } else if (mf->IsOn("CMAKE_NINJA_CMCLDEPS_" + lang)) {
+ } else if (mf->IsOn(cmStrCat("CMAKE_NINJA_CMCLDEPS_", lang))) {
// For the MS resource compiler we need cmcldeps, but skip dependencies
// for source-file try_compile cases because they are always fresh.
if (!mf->GetIsSourceFileTryCompile()) {
@@ -688,14 +686,14 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
} else {
rule.DepType = "gcc";
rule.DepFile = "$DEP_FILE";
- const std::string flagsName = "CMAKE_DEPFILE_FLAGS_" + lang;
+ const std::string flagsName = cmStrCat("CMAKE_DEPFILE_FLAGS_", lang);
std::string depfileFlags = mf->GetSafeDefinition(flagsName);
if (!depfileFlags.empty()) {
cmSystemTools::ReplaceString(depfileFlags, "<DEPFILE>", "$DEP_FILE");
cmSystemTools::ReplaceString(depfileFlags, "<OBJECT>", "$out");
cmSystemTools::ReplaceString(depfileFlags, "<CMAKE_C_COMPILER>",
mf->GetDefinition("CMAKE_C_COMPILER"));
- flags += " " + depfileFlags;
+ flags += cmStrCat(' ', depfileFlags);
}
}
@@ -718,7 +716,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
const std::string& compileCmd = mf->GetRequiredDefinition(cmdVar);
cmExpandList(compileCmd, compileCmds);
} else {
- const std::string cmdVar = "CMAKE_" + lang + "_COMPILE_OBJECT";
+ const std::string cmdVar = cmStrCat("CMAKE_", lang, "_COMPILE_OBJECT");
const std::string& compileCmd = mf->GetRequiredDefinition(cmdVar);
cmExpandList(compileCmd, compileCmds);
}
@@ -728,7 +726,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
if (!compileCmds.empty() &&
(lang == "C" || lang == "CXX" || lang == "Fortran" || lang == "CUDA" ||
lang == "OBJC" || lang == "OBJCXX")) {
- std::string const clauncher_prop = lang + "_COMPILER_LAUNCHER";
+ std::string const clauncher_prop = cmStrCat(lang, "_COMPILER_LAUNCHER");
const char* clauncher = this->GeneratorTarget->GetProperty(clauncher_prop);
if (clauncher && *clauncher) {
compilerLauncher = clauncher;
@@ -737,13 +735,13 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
// Maybe insert an include-what-you-use runner.
if (!compileCmds.empty() && (lang == "C" || lang == "CXX")) {
- std::string const iwyu_prop = lang + "_INCLUDE_WHAT_YOU_USE";
+ std::string const iwyu_prop = cmStrCat(lang, "_INCLUDE_WHAT_YOU_USE");
const char* iwyu = this->GeneratorTarget->GetProperty(iwyu_prop);
- std::string const tidy_prop = lang + "_CLANG_TIDY";
+ std::string const tidy_prop = cmStrCat(lang, "_CLANG_TIDY");
const char* tidy = this->GeneratorTarget->GetProperty(tidy_prop);
- std::string const cpplint_prop = lang + "_CPPLINT";
+ std::string const cpplint_prop = cmStrCat(lang, "_CPPLINT");
const char* cpplint = this->GeneratorTarget->GetProperty(cpplint_prop);
- std::string const cppcheck_prop = lang + "_CPPCHECK";
+ std::string const cppcheck_prop = cmStrCat(lang, "_CPPCHECK");
const char* cppcheck = this->GeneratorTarget->GetProperty(cppcheck_prop);
if ((iwyu && *iwyu) || (tidy && *tidy) || (cpplint && *cpplint) ||
(cppcheck && *cppcheck)) {
@@ -751,18 +749,19 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
if (!compilerLauncher.empty()) {
// In __run_co_compile case the launcher command is supplied
// via --launcher=<maybe-list> and consumed
- run_iwyu += " --launcher=";
- run_iwyu += this->LocalGenerator->EscapeForShell(compilerLauncher);
+ run_iwyu +=
+ cmStrCat(" --launcher=",
+ this->LocalGenerator->EscapeForShell(compilerLauncher));
compilerLauncher.clear();
}
if (iwyu && *iwyu) {
- run_iwyu += " --iwyu=";
- run_iwyu += this->GetLocalGenerator()->EscapeForShell(iwyu);
+ run_iwyu += cmStrCat(" --iwyu=",
+ this->GetLocalGenerator()->EscapeForShell(iwyu));
}
if (tidy && *tidy) {
run_iwyu += " --tidy=";
const char* driverMode = this->Makefile->GetDefinition(
- "CMAKE_" + lang + "_CLANG_TIDY_DRIVER_MODE");
+ cmStrCat("CMAKE_", lang, "_CLANG_TIDY_DRIVER_MODE"));
if (!(driverMode && *driverMode)) {
driverMode = lang == "C" ? "gcc" : "g++";
}
@@ -770,12 +769,12 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
cmStrCat(tidy, ";--extra-arg-before=--driver-mode=", driverMode));
}
if (cpplint && *cpplint) {
- run_iwyu += " --cpplint=";
- run_iwyu += this->GetLocalGenerator()->EscapeForShell(cpplint);
+ run_iwyu += cmStrCat(
+ " --cpplint=", this->GetLocalGenerator()->EscapeForShell(cpplint));
}
if (cppcheck && *cppcheck) {
- run_iwyu += " --cppcheck=";
- run_iwyu += this->GetLocalGenerator()->EscapeForShell(cppcheck);
+ run_iwyu += cmStrCat(
+ " --cppcheck=", this->GetLocalGenerator()->EscapeForShell(cppcheck));
}
if ((tidy && *tidy) || (cpplint && *cpplint) ||
(cppcheck && *cppcheck)) {
@@ -797,7 +796,7 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
i = this->LocalGenerator->EscapeForShell(i);
}
}
- compileCmds.front().insert(0, cmJoin(args, " ") + " ");
+ compileCmds.front().insert(0, cmStrCat(cmJoin(args, " "), ' '));
}
if (!compileCmds.empty()) {
@@ -872,7 +871,8 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatements(
{
cmNinjaBuild build("phony");
- build.Comment = "Order-only phony target for " + this->GetTargetName();
+ build.Comment =
+ cmStrCat("Order-only phony target for ", this->GetTargetName());
build.Outputs.push_back(this->OrderDependsTargetForTarget(config));
cmNinjaDeps& orderOnlyDeps = build.OrderOnlyDeps;
@@ -952,16 +952,16 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatements(
this->GetImplFileStream(fileConfig) << "\n";
if (!this->Configs[config].SwiftOutputMap.empty()) {
- std::string const mapFilePath =
- this->GeneratorTarget->GetSupportDirectory() + "/output-file-map.json";
+ std::string const mapFilePath = cmStrCat(
+ this->GeneratorTarget->GetSupportDirectory(), "/output-file-map.json");
std::string const targetSwiftDepsPath = [this, config]() -> std::string {
cmGeneratorTarget const* target = this->GeneratorTarget;
if (const char* name = target->GetProperty("Swift_DEPENDENCIES_FILE")) {
return name;
}
- return this->ConvertToNinjaPath(target->GetSupportDirectory() + "/" +
- config + "/" + target->GetName() +
- ".swiftdeps");
+ return this->ConvertToNinjaPath(
+ cmStrCat(target->GetSupportDirectory(), '/', config, '/',
+ target->GetName(), ".swiftdeps"));
}();
// build the global target dependencies
@@ -993,7 +993,7 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
std::string cmakeVarLang = cmStrCat("CMAKE_", language);
// build response file name
- std::string cmakeLinkVar = cmakeVarLang + "_RESPONSE_FILE_FLAG";
+ std::string cmakeLinkVar = cmStrCat(cmakeVarLang, "_RESPONSE_FILE_FLAG");
const char* flag = GetMakefile()->GetDefinition(cmakeLinkVar);
@@ -1018,14 +1018,15 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
if (!replaceExt) {
// use original code
vars["DEP_FILE"] = this->GetLocalGenerator()->ConvertToOutputFormat(
- objectFileName + ".d", cmOutputConverter::SHELL);
+ cmStrCat(objectFileName, ".d"), cmOutputConverter::SHELL);
} else {
// Replace the original source file extension with the
// depend file extension.
- std::string dependFileName =
- cmSystemTools::GetFilenameWithoutLastExtension(objectFileName) + ".d";
+ std::string dependFileName = cmStrCat(
+ cmSystemTools::GetFilenameWithoutLastExtension(objectFileName), ".d");
vars["DEP_FILE"] = this->GetLocalGenerator()->ConvertToOutputFormat(
- objectFileDir + "/" + dependFileName, cmOutputConverter::SHELL);
+ cmStrCat(objectFileDir, '/', dependFileName),
+ cmOutputConverter::SHELL);
}
}
@@ -1100,7 +1101,7 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
this->ConvertToNinjaPath(this->GetPreprocessedFilePath(source, config));
ppBuild.Outputs.push_back(ppFileName);
- ppBuild.RspFile = ppFileName + ".rsp";
+ ppBuild.RspFile = cmStrCat(ppFileName, ".rsp");
bool const compilePP = this->UsePreprocessedSource(language);
bool const compilePPWithDefines =
@@ -1129,7 +1130,7 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
// In case compilation requires flags that are incompatible with
// preprocessing, include them here.
std::string const& postFlag = this->Makefile->GetSafeDefinition(
- "CMAKE_" + language + "_POSTPROCESS_FLAG");
+ cmStrCat("CMAKE_", language, "_POSTPROCESS_FLAG"));
this->LocalGenerator->AppendFlags(vars["FLAGS"], postFlag);
}
@@ -1157,13 +1158,13 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
sourceDirectory, this->GeneratorTarget, language, false, false,
config);
- vars["INCLUDES"] = sourceDirectoryFlag + " " + vars["INCLUDES"];
+ vars["INCLUDES"] = cmStrCat(sourceDirectoryFlag, ' ', vars["INCLUDES"]);
}
// Explicit preprocessing always uses a depfile.
ppBuild.Variables["DEP_FILE"] =
this->GetLocalGenerator()->ConvertToOutputFormat(
- objectFileName + ".pp.d", cmOutputConverter::SHELL);
+ cmStrCat(objectFileName, ".pp.d"), cmOutputConverter::SHELL);
if (compilePP) {
// The actual compilation does not need a depfile because it
// depends on the already-preprocessed source.
@@ -1176,7 +1177,7 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
ppBuild.Variables["OBJ_FILE"] = objectFileName;
// Tell dependency scanner where to store dyndep intermediate results.
- std::string const ddiFile = objectFileName + ".ddi";
+ std::string const ddiFile = cmStrCat(objectFileName, ".ddi");
ppBuild.Variables["DYNDEP_INTERMEDIATE_FILE"] = ddiFile;
ppBuild.ImplicitOuts.push_back(ddiFile);
if (firstForConfig) {
@@ -1215,7 +1216,7 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
this->SetMsvcTargetPdbVariable(vars, config);
- objBuild.RspFile = objectFileName + ".rsp";
+ objBuild.RspFile = cmStrCat(objectFileName, ".rsp");
if (language == "Swift") {
this->EmitSwiftDependencyInfo(source, config);
@@ -1241,8 +1242,8 @@ void cmNinjaTargetGenerator::WriteTargetDependInfo(std::string const& lang,
{
Json::Value tdi(Json::objectValue);
tdi["language"] = lang;
- tdi["compiler-id"] =
- this->Makefile->GetSafeDefinition("CMAKE_" + lang + "_COMPILER_ID");
+ tdi["compiler-id"] = this->Makefile->GetSafeDefinition(
+ cmStrCat("CMAKE_", lang, "_COMPILER_ID"));
if (lang == "Fortran") {
std::string mod_dir = this->GeneratorTarget->GetFortranModuleDirectory(
@@ -1294,13 +1295,13 @@ void cmNinjaTargetGenerator::EmitSwiftDependencyInfo(
if (const char* name = source->GetProperty("Swift_DEPENDENCIES_FILE")) {
return name;
}
- return objectFilePath + ".swiftdeps";
+ return cmStrCat(objectFilePath, ".swiftdeps");
}();
std::string const swiftDiaPath = [source, objectFilePath]() -> std::string {
if (const char* name = source->GetProperty("Swift_DIAGNOSTICS_FILE")) {
return name;
}
- return objectFilePath + ".dia";
+ return cmStrCat(objectFilePath, ".dia");
}();
std::string const makeDepsPath = [this, source, config]() -> std::string {
cmLocalNinjaGenerator const* local = this->GetLocalGenerator();
@@ -1310,12 +1311,13 @@ void cmNinjaTargetGenerator::EmitSwiftDependencyInfo(
cmSystemTools::GetFilenamePath(objectFileName);
if (this->Makefile->IsOn("CMAKE_Swift_DEPFLE_EXTNSION_REPLACE")) {
- std::string dependFileName =
- cmSystemTools::GetFilenameWithoutLastExtension(objectFileName) + ".d";
- return local->ConvertToOutputFormat(objectFileDir + "/" + dependFileName,
- cmOutputConverter::SHELL);
+ std::string dependFileName = cmStrCat(
+ cmSystemTools::GetFilenameWithoutLastExtension(objectFileName), ".d");
+ return local->ConvertToOutputFormat(
+ cmStrCat(objectFileDir, '/', dependFileName),
+ cmOutputConverter::SHELL);
}
- return local->ConvertToOutputFormat(objectFileName + ".d",
+ return local->ConvertToOutputFormat(cmStrCat(objectFileName, ".d"),
cmOutputConverter::SHELL);
}();
@@ -1380,7 +1382,7 @@ void cmNinjaTargetGenerator::ExportObjectCompileCommand(
this->GetMakefile()->GetRequiredDefinition(cmdVar);
cmExpandList(compileCmd, compileCmds);
} else {
- const std::string cmdVar = "CMAKE_" + language + "_COMPILE_OBJECT";
+ const std::string cmdVar = cmStrCat("CMAKE_", language, "_COMPILE_OBJECT");
const std::string& compileCmd =
this->GetMakefile()->GetRequiredDefinition(cmdVar);
cmExpandList(compileCmd, compileCmds);
diff --git a/Source/cmStringCommand.cxx b/Source/cmStringCommand.cxx
index 9212195..7662204 100644
--- a/Source/cmStringCommand.cxx
+++ b/Source/cmStringCommand.cxx
@@ -124,6 +124,27 @@ bool HandleAsciiCommand(std::vector<std::string> const& args,
return true;
}
+bool HandleHexCommand(std::vector<std::string> const& args,
+ cmExecutionStatus& status)
+{
+ if (args.size() != 3) {
+ status.SetError("Incorrect number of arguments");
+ return false;
+ }
+ auto const& instr = args[1];
+ auto const& outvar = args[2];
+ std::string output(instr.size() * 2, ' ');
+
+ std::string::size_type hexIndex = 0;
+ for (auto const& c : instr) {
+ sprintf(&output[hexIndex], "%.2x", static_cast<unsigned char>(c) & 0xFF);
+ hexIndex += 2;
+ }
+
+ status.GetMakefile().AddDefinition(outvar, output);
+ return true;
+}
+
bool HandleConfigureCommand(std::vector<std::string> const& args,
cmExecutionStatus& status)
{
@@ -936,6 +957,7 @@ bool cmStringCommand(std::vector<std::string> const& args,
{ "TOUPPER"_s, HandleToUpperCommand },
{ "COMPARE"_s, HandleCompareCommand },
{ "ASCII"_s, HandleAsciiCommand },
+ { "HEX"_s, HandleHexCommand },
{ "CONFIGURE"_s, HandleConfigureCommand },
{ "LENGTH"_s, HandleLengthCommand },
{ "APPEND"_s, HandleAppendCommand },
diff --git a/Source/cm_get_date.c b/Source/cm_get_date.c
index 4bef803..49f5577 100644
--- a/Source/cm_get_date.c
+++ b/Source/cm_get_date.c
@@ -2,6 +2,10 @@
file Copyright.txt or https://cmake.org/licensing for details. */
#include "cm_get_date.h"
+// FIXME: This suppresses use of localtime_r because archive_getdate.c
+// depends the rest of libarchive's checks for that.
+#define CM_GET_DATE
+
#define __archive_get_date cm_get_date
#include "../Utilities/cmlibarchive/libarchive/archive_getdate.c"
diff --git a/Source/kwsys/CMakeLists.txt b/Source/kwsys/CMakeLists.txt
index 09bcdb9..aa788e9 100644
--- a/Source/kwsys/CMakeLists.txt
+++ b/Source/kwsys/CMakeLists.txt
@@ -536,7 +536,7 @@ IF(KWSYS_USE_SystemInformation)
ENDIF()
IF(WIN32)
INCLUDE(CheckSymbolExists)
- SET(CMAKE_REQUIRED_LIBRARIES Psapi)
+ SET(CMAKE_REQUIRED_LIBRARIES psapi)
CHECK_SYMBOL_EXISTS(GetProcessMemoryInfo "windows.h;psapi.h" KWSYS_SYS_HAS_PSAPI)
UNSET(CMAKE_REQUIRED_LIBRARIES)
IF(KWSYS_SYS_HAS_PSAPI)
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-check.py b/Tests/RunCMake/FileAPI/codemodel-v2-check.py
index de6253f..9ee0c20 100644
--- a/Tests/RunCMake/FileAPI/codemodel-v2-check.py
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-check.py
@@ -1,8 +1,14 @@
from check_index import *
+import json
import sys
import os
+def read_codemodel_json_data(filename):
+ abs_filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), "codemodel-v2-data", filename)
+ with open(abs_filename, "r") as f:
+ return json.load(f)
+
def check_objects(o, g):
assert is_list(o)
assert len(o) == 1
@@ -471,154 +477,15 @@ def check_project(c):
def gen_check_directories(c, g):
expected = [
- {
- "source": "^\\.$",
- "build": "^\\.$",
- "parentSource": None,
- "childSources": [
- "^alias$",
- "^custom$",
- "^cxx$",
- "^imported$",
- "^object$",
- "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "^dir$",
- ],
- "targetIds": [
- "^ALL_BUILD::@6890427a1f51a3e7e1df$",
- "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "^c_exe::@6890427a1f51a3e7e1df$",
- "^c_lib::@6890427a1f51a3e7e1df$",
- "^c_shared_exe::@6890427a1f51a3e7e1df$",
- "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "^c_static_exe::@6890427a1f51a3e7e1df$",
- "^c_static_lib::@6890427a1f51a3e7e1df$",
- "^interface_exe::@6890427a1f51a3e7e1df$",
- ],
- "projectName": "codemodel-v2",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": True,
- },
- {
- "source": "^alias$",
- "build": "^alias$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@53632cba2752272bb008$",
- "^ZERO_CHECK::@53632cba2752272bb008$",
- "^c_alias_exe::@53632cba2752272bb008$",
- "^cxx_alias_exe::@53632cba2752272bb008$",
- ],
- "projectName": "Alias",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^custom$",
- "build": "^custom$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@c11385ffed57b860da63$",
- "^ZERO_CHECK::@c11385ffed57b860da63$",
- "^custom_exe::@c11385ffed57b860da63$",
- "^custom_tgt::@c11385ffed57b860da63$",
- ],
- "projectName": "Custom",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^cxx$",
- "build": "^cxx$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@a56b12a3f5c0529fb296$",
- "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "^cxx_exe::@a56b12a3f5c0529fb296$",
- "^cxx_lib::@a56b12a3f5c0529fb296$",
- "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- ],
- "projectName": "Cxx",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^imported$",
- "build": "^imported$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
- "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- ],
- "projectName": "Imported",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^object$",
- "build": "^object$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
- "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- ],
- "projectName": "Object",
- "minimumCMakeVersion": "3.13",
- "hasInstallRule": True,
- },
- {
- "source": "^dir$",
- "build": "^dir$",
- "parentSource": "^\\.$",
- "childSources": [
- "^dir/dir$",
- ],
- "targetIds": None,
- "projectName": "codemodel-v2",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^dir/dir$",
- "build": "^dir/dir$",
- "parentSource": "^dir$",
- "childSources": None,
- "targetIds": None,
- "projectName": "codemodel-v2",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
- {
- "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "parentSource": "^\\.$",
- "childSources": None,
- "targetIds": [
- "^ALL_BUILD::@[0-9a-f]+$",
- "^ZERO_CHECK::@[0-9a-f]+$",
- "^generated_exe::@[0-9a-f]+$",
- ],
- "projectName": "External",
- "minimumCMakeVersion": "3.12",
- "hasInstallRule": None,
- },
+ read_codemodel_json_data("directories/top.json"),
+ read_codemodel_json_data("directories/alias.json"),
+ read_codemodel_json_data("directories/custom.json"),
+ read_codemodel_json_data("directories/cxx.json"),
+ read_codemodel_json_data("directories/imported.json"),
+ read_codemodel_json_data("directories/object.json"),
+ read_codemodel_json_data("directories/dir.json"),
+ read_codemodel_json_data("directories/dir_dir.json"),
+ read_codemodel_json_data("directories/external.json"),
]
if matches(g["name"], "^Visual Studio "):
@@ -646,4428 +513,52 @@ def check_directories(c, g):
def gen_check_targets(c, g, inSource):
expected = [
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^interface_exe::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_lib::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_exe::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_shared_exe::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_static_exe::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- {
- "id": "^c_alias_exe::@53632cba2752272bb008$",
- "backtrace": None,
- },
- {
- "id": "^cxx_alias_exe::@53632cba2752272bb008$",
- "backtrace": None,
- },
- {
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^custom_exe::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- {
- "id": "^generated_exe::@[0-9a-f]+$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "interface_exe",
- "id": "^interface_exe::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^include_test\\.cmake$",
- "line": 3,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^include_test\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": [
- {
- "define": "interface_exe_EXPORTS",
- "backtrace": None,
- },
- ],
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^include_test\\.cmake$",
- "line": 3,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^include_test\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^my_interface_exe\\.myexe$",
- "artifacts": [
- {
- "path": "^bin/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?my_interface_exe\\.myexe$",
- "_dllExtra": False,
- },
- {
- "path": "^lib/my_interface_exe\\.imp$",
- "_aixExtra": True,
- "_dllExtra": False,
- },
- {
- "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?my_interface_exe\\.(dll\\.a|lib)$",
- "_dllExtra": True,
- },
- {
- "path": "^bin/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?my_interface_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_lib",
- "id": "^c_lib::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "STATIC_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 5,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 5,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib)?c_lib\\.(a|lib)$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_lib\\.(a|lib)$",
- "_dllExtra": False,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": None,
- "archive": {
- "lto": None,
- },
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_exe",
- "id": "^c_exe::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 6,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 6,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_lib::@6890427a1f51a3e7e1df$",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 7,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_shared_lib",
- "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "SHARED_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": [
- {
- "define": "c_shared_lib_EXPORTS",
- "backtrace": None,
- },
- ],
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib|cyg)?c_shared_lib\\.(so|dylib|dll)$",
- "artifacts": [
- {
- "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?c_shared_lib\\.(so|dylib|dll)$",
- "_dllExtra": False,
- },
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_shared_lib\\.(dll\\.a|lib)$",
- "_dllExtra": True,
- },
- {
- "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?c_shared_lib\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": True,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_shared_exe",
- "id": "^c_shared_exe::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_shared_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_shared_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_shared_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": True,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 11,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_static_lib",
- "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "STATIC_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 13,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 13,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib)?c_static_lib\\.(a|lib)$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_static_lib\\.(a|lib)$",
- "_dllExtra": False,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": None,
- "archive": {
- "lto": True,
- },
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_static_exe",
- "id": "^c_static_exe::@6890427a1f51a3e7e1df$",
- "directorySource": "^\\.$",
- "projectName": "codemodel-v2",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 14,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 14,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_static_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_static_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_static_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^\\.$",
- "source": "^\\.$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 15,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- {
- "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "cxx_lib",
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "STATIC_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 4,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 4,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib)?cxx_lib\\.(a|lib)$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_lib\\.(a|lib)$",
- "_dllExtra": False,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": None,
- "archive": {
- "lto": None,
- },
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_exe",
- "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": [
- {
- "fragment" : "TargetCompileOptions",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 17,
- "command": "target_compile_options",
- "hasParent": True,
- },
- {
- "file" : "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- }
- ],
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": "bin",
- "nameOnDisk": "^cxx_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": {
- "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
- "destinations": [
- {
- "path": "bin",
- "backtrace": [
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": 37,
- "command": "install",
- "hasParent": True,
- },
- {
- "file": "^codemodel-v2\\.cmake$",
- "line": None,
- "command": None,
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": 3,
- "command": "include",
- "hasParent": True,
- },
- {
- "file": "^CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- },
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": [
- {
- "fragment" : "TargetLinkOptions",
- "role" : "flags",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 18,
- "command": "target_link_options",
- "hasParent": True,
- },
- {
- "file" : "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "fragment" : ".*TargetLinkDir\\\"?$",
- "role" : "libraryPath",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 19,
- "command": "target_link_directories",
- "hasParent": True,
- },
- {
- "file" : "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "fragment" : ".*cxx_lib.*",
- "role" : "libraries",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 6,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file" : "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 6,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_shared_lib",
- "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "SHARED_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": [
- {
- "define": "cxx_shared_lib_EXPORTS",
- "backtrace": None,
- },
- ],
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib|cyg)?cxx_shared_lib\\.(so|dylib|dll)$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?cxx_shared_lib\\.(so|dylib|dll)$",
- "_dllExtra": False,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_shared_lib\\.(dll\\.a|lib)$",
- "_dllExtra": True,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?cxx_shared_lib\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_shared_exe",
- "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^cxx_shared_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_shared_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_shared_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 11,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_static_lib",
- "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "STATIC_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 13,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 13,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^(lib)?cxx_static_lib\\.(a|lib)$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_static_lib\\.(a|lib)$",
- "_dllExtra": False,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": None,
- "archive": {
- "lto": None,
- },
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_static_exe",
- "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- "directorySource": "^cxx$",
- "projectName": "Cxx",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 14,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 14,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^cxx_static_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_static_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_static_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^cxx$",
- "source": "^cxx$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "backtrace": [
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": 15,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^cxx/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@53632cba2752272bb008$",
- "directorySource": "^alias$",
- "projectName": "Alias",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^alias$",
- "source": "^alias$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@53632cba2752272bb008$",
- "backtrace": None,
- },
- {
- "id": "^c_alias_exe::@53632cba2752272bb008$",
- "backtrace": None,
- },
- {
- "id": "^cxx_alias_exe::@53632cba2752272bb008$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@53632cba2752272bb008$",
- "directorySource": "^alias$",
- "projectName": "Alias",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^alias$",
- "source": "^alias$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "c_alias_exe",
- "id": "^c_alias_exe::@53632cba2752272bb008$",
- "directorySource": "^alias$",
- "projectName": "Alias",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_alias_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_alias_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_alias_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^alias$",
- "source": "^alias$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_lib::@6890427a1f51a3e7e1df$",
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 6,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@53632cba2752272bb008$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_alias_exe",
- "id": "^cxx_alias_exe::@53632cba2752272bb008$",
- "directorySource": "^alias$",
- "projectName": "Alias",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^cxx_alias_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_alias_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_alias_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^alias$",
- "source": "^alias$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
- "backtrace": [
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": 10,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^alias/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@53632cba2752272bb008$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^object$",
- "source": "^object$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- {
- "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^object$",
- "source": "^object$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "c_object_lib",
- "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "OBJECT_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": [
- {
- "path": "^object/.*/empty(\\.c)?\\.o(bj)?$",
- "_dllExtra": False,
- },
- ],
- "build": "^object$",
- "source": "^object$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "c_object_exe",
- "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 6,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.c)?\\.o(bj)?$",
- "isGenerated": True,
- "sourceGroupName": "Object Libraries",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 7,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- {
- "name": "Object Libraries",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.c)?\\.o(bj)?$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 6,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^c_object_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_object_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_object_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^object$",
- "source": "^object$",
- "install": {
- "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
- "destinations": [
- {
- "path": "bin",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 13,
- "command": "install",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- },
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
- # FIXME: Add a backtrace here when it becomes available.
- # You'll know when it's available, because this test will
- # fail.
- "backtrace": None,
- },
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_object_lib",
- "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "OBJECT_LIBRARY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_library",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": [
- {
- "path": "^object/.*/empty(\\.cxx)?\\.o(bj)?$",
- "_dllExtra": False,
- },
- ],
- "build": "^object$",
- "source": "^object$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "cxx_object_exe",
- "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- "directorySource": "^object$",
- "projectName": "Object",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.cxx$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.cxx)?\\.o(bj)?$",
- "isGenerated": True,
- "sourceGroupName": "Object Libraries",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 11,
- "command": "target_link_libraries",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- },
- {
- "name": "Object Libraries",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.cxx)?\\.o(bj)?$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "CXX",
- "sourcePaths": [
- "^empty\\.cxx$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 10,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^cxx_object_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_object_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_object_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^object$",
- "source": "^object$",
- "install": {
- "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
- "destinations": [
- {
- "path": "bin",
- "backtrace": [
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": 13,
- "command": "install",
- "hasParent": True,
- },
- {
- "file": "^object/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- },
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- # FIXME: Add a backtrace here when it becomes available.
- # You'll know when it's available, because this test will
- # fail.
- "backtrace": None,
- },
- {
- "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- {
- "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "link_imported_exe",
- "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "link_imported_shared_exe",
- "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 9,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_shared_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_shared_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_shared_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "link_imported_static_exe",
- "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 13,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 13,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_static_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_static_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_static_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "link_imported_object_exe",
- "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 18,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 18,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_object_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_object_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_object_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "link_imported_interface_exe",
- "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- "directorySource": "^imported$",
- "projectName": "Imported",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 23,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": 23,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^imported/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^link_imported_interface_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^imported$",
- "source": "^imported$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@c11385ffed57b860da63$",
- "directorySource": "^custom$",
- "projectName": "Custom",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^custom$",
- "source": "^custom$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- {
- "id": "^custom_exe::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
- "directorySource": "^custom$",
- "projectName": "Custom",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^custom$",
- "source": "^custom$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "custom_tgt",
- "id": "^custom_tgt::@c11385ffed57b860da63$",
- "directorySource": "^custom$",
- "projectName": "Custom",
- "type": "UTILITY",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/custom_tgt$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 3,
- "command": "add_custom_target",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/(custom/)?CMakeFiles/([0-9a-f]+/)?custom_tgt\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/custom_tgt$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/(custom/)?CMakeFiles/([0-9a-f]+/)?custom_tgt\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 3,
- "command": "add_custom_target",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^custom$",
- "source": "^custom$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "custom_exe",
- "id": "^custom_exe::@c11385ffed57b860da63$",
- "directorySource": "^custom$",
- "projectName": "Custom",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 4,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^empty\\.c$",
- ],
- "includes": None,
- "defines": None,
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 4,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^custom_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^custom/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?custom_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^custom/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?custom_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^custom$",
- "source": "^custom$",
- "install": None,
- "link": {
- "language": "C",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^custom_tgt::@c11385ffed57b860da63$",
- "backtrace": [
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_dependencies",
- "hasParent": True,
- },
- {
- "file": "^custom/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ALL_BUILD",
- "id": "^ALL_BUILD::@[0-9a-f]+$",
- "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "projectName": "External",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@[0-9a-f]+$",
- "backtrace": None,
- },
- {
- "id": "^generated_exe::@[0-9a-f]+$",
- "backtrace": None,
- },
- ],
- },
- {
- "name": "ZERO_CHECK",
- "id": "^ZERO_CHECK::@[0-9a-f]+$",
- "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "projectName": "External",
- "type": "UTILITY",
- "isGeneratorProvided": True,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK$",
- "isGenerated": True,
- "sourceGroupName": "",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK\\.rule$",
- "isGenerated": True,
- "sourceGroupName": "CMake Rules",
- "compileGroupLanguage": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK$",
- ],
- },
- {
- "name": "CMake Rules",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK\\.rule$",
- ],
- },
- ],
- "compileGroups": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": None,
- "artifacts": None,
- "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "install": None,
- "link": None,
- "archive": None,
- "dependencies": None,
- },
- {
- "name": "generated_exe",
- "id": "^generated_exe::@[0-9a-f]+$",
- "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "projectName": "External",
- "type": "EXECUTABLE",
- "isGeneratorProvided": None,
- "sources": [
- {
- "path": "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$",
- "isGenerated": None,
- "sourceGroupName": "Source Files",
- "compileGroupLanguage": "C",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$",
- "isGenerated": True,
- "sourceGroupName": "Generated Source Files",
- "compileGroupLanguage": "CXX",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 6,
- "command": "target_sources",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "sourceGroups": [
- {
- "name": "Source Files",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$",
- ],
- },
- {
- "name": "Generated Source Files",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$",
- ],
- },
- ],
- "compileGroups": [
- {
- "language": "C",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$",
- ],
- "includes": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "isSystem": None,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 10,
- "command": "set_property",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "isSystem": True,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 11,
- "command": "target_include_directories",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "defines": [
- {
- "define": "EMPTY_C=1",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 9,
- "command": "set_property",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "define": "SRC_DUMMY",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 9,
- "command": "set_property",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "define": "GENERATED_EXE=1",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 12,
- "command": "target_compile_definitions",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "define": "TGT_DUMMY",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 12,
- "command": "target_compile_definitions",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "compileCommandFragments": [
- {
- "fragment" : "SRC_COMPILE_OPTIONS_DUMMY",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 13,
- "command": "set_source_files_properties",
- "hasParent": True,
- },
- {
- "file" : "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- }
- ],
- },
- {
- "language": "CXX",
- "sourcePaths": [
- "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$",
- ],
- "includes": [
- {
- "path": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "isSystem": True,
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 11,
- "command": "target_include_directories",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "defines": [
- {
- "define": "GENERATED_EXE=1",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 12,
- "command": "target_compile_definitions",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- {
- "define": "TGT_DUMMY",
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 12,
- "command": "target_compile_definitions",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- },
- ],
- "compileCommandFragments": None,
- },
- ],
- "backtrace": [
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": 5,
- "command": "add_executable",
- "hasParent": True,
- },
- {
- "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
- "line": None,
- "command": None,
- "hasParent": False,
- },
- ],
- "folder": None,
- "nameOnDisk": "^generated_exe(\\.exe)?$",
- "artifacts": [
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?generated_exe(\\.exe)?$",
- "_dllExtra": False,
- },
- {
- "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?generated_exe\\.pdb$",
- "_dllExtra": True,
- },
- ],
- "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
- "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
- "install": None,
- "link": {
- "language": "CXX",
- "lto": None,
- "commandFragments": None,
- },
- "archive": None,
- "dependencies": [
- {
- "id": "^ZERO_CHECK::@[0-9a-f]+$",
- "backtrace": None,
- },
- ],
- },
+ read_codemodel_json_data("targets/all_build_top.json"),
+ read_codemodel_json_data("targets/zero_check_top.json"),
+ read_codemodel_json_data("targets/interface_exe.json"),
+ read_codemodel_json_data("targets/c_lib.json"),
+ read_codemodel_json_data("targets/c_exe.json"),
+ read_codemodel_json_data("targets/c_shared_lib.json"),
+ read_codemodel_json_data("targets/c_shared_exe.json"),
+ read_codemodel_json_data("targets/c_static_lib.json"),
+ read_codemodel_json_data("targets/c_static_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_cxx.json"),
+ read_codemodel_json_data("targets/zero_check_cxx.json"),
+ read_codemodel_json_data("targets/cxx_lib.json"),
+ read_codemodel_json_data("targets/cxx_exe.json"),
+ read_codemodel_json_data("targets/cxx_shared_lib.json"),
+ read_codemodel_json_data("targets/cxx_shared_exe.json"),
+ read_codemodel_json_data("targets/cxx_static_lib.json"),
+ read_codemodel_json_data("targets/cxx_static_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_alias.json"),
+ read_codemodel_json_data("targets/zero_check_alias.json"),
+ read_codemodel_json_data("targets/c_alias_exe.json"),
+ read_codemodel_json_data("targets/cxx_alias_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_object.json"),
+ read_codemodel_json_data("targets/zero_check_object.json"),
+ read_codemodel_json_data("targets/c_object_lib.json"),
+ read_codemodel_json_data("targets/c_object_exe.json"),
+ read_codemodel_json_data("targets/cxx_object_lib.json"),
+ read_codemodel_json_data("targets/cxx_object_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_imported.json"),
+ read_codemodel_json_data("targets/zero_check_imported.json"),
+ read_codemodel_json_data("targets/link_imported_exe.json"),
+ read_codemodel_json_data("targets/link_imported_shared_exe.json"),
+ read_codemodel_json_data("targets/link_imported_static_exe.json"),
+ read_codemodel_json_data("targets/link_imported_object_exe.json"),
+ read_codemodel_json_data("targets/link_imported_interface_exe.json"),
+
+ read_codemodel_json_data("targets/all_build_custom.json"),
+ read_codemodel_json_data("targets/zero_check_custom.json"),
+ read_codemodel_json_data("targets/custom_tgt.json"),
+ read_codemodel_json_data("targets/custom_exe.json"),
+ read_codemodel_json_data("targets/all_build_external.json"),
+ read_codemodel_json_data("targets/zero_check_external.json"),
+ read_codemodel_json_data("targets/generated_exe.json"),
]
if not os.path.exists(os.path.join(reply_dir, "..", "..", "..", "..", "ipo_enabled.txt")):
@@ -5164,126 +655,13 @@ def check_targets(c, g, inSource):
def gen_check_projects(c, g):
expected = [
- {
- "name": "codemodel-v2",
- "parentName": None,
- "childNames": [
- "Alias",
- "Custom",
- "Cxx",
- "Imported",
- "Object",
- "External",
- ],
- "directorySources": [
- "^\\.$",
- "^dir$",
- "^dir/dir$",
- ],
- "targetIds": [
- "^ALL_BUILD::@6890427a1f51a3e7e1df$",
- "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
- "^interface_exe::@6890427a1f51a3e7e1df$",
- "^c_lib::@6890427a1f51a3e7e1df$",
- "^c_exe::@6890427a1f51a3e7e1df$",
- "^c_shared_lib::@6890427a1f51a3e7e1df$",
- "^c_shared_exe::@6890427a1f51a3e7e1df$",
- "^c_static_lib::@6890427a1f51a3e7e1df$",
- "^c_static_exe::@6890427a1f51a3e7e1df$",
- ],
- },
- {
- "name": "Cxx",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^cxx$",
- ],
- "targetIds": [
- "^ALL_BUILD::@a56b12a3f5c0529fb296$",
- "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
- "^cxx_lib::@a56b12a3f5c0529fb296$",
- "^cxx_exe::@a56b12a3f5c0529fb296$",
- "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
- "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
- "^cxx_static_lib::@a56b12a3f5c0529fb296$",
- "^cxx_static_exe::@a56b12a3f5c0529fb296$",
- ],
- },
- {
- "name": "Alias",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^alias$",
- ],
- "targetIds": [
- "^ALL_BUILD::@53632cba2752272bb008$",
- "^ZERO_CHECK::@53632cba2752272bb008$",
- "^c_alias_exe::@53632cba2752272bb008$",
- "^cxx_alias_exe::@53632cba2752272bb008$",
- ],
- },
- {
- "name": "Object",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^object$",
- ],
- "targetIds": [
- "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
- "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
- "^c_object_lib::@5ed5358f70faf8d8af7a$",
- "^c_object_exe::@5ed5358f70faf8d8af7a$",
- "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
- "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
- ],
- },
- {
- "name": "Imported",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^imported$",
- ],
- "targetIds": [
- "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
- "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
- "^link_imported_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
- "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
- ],
- },
- {
- "name": "Custom",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^custom$",
- ],
- "targetIds": [
- "^ALL_BUILD::@c11385ffed57b860da63$",
- "^ZERO_CHECK::@c11385ffed57b860da63$",
- "^custom_tgt::@c11385ffed57b860da63$",
- "^custom_exe::@c11385ffed57b860da63$",
- ],
- },
- {
- "name": "External",
- "parentName": "codemodel-v2",
- "childNames": None,
- "directorySources": [
- "^.*/Tests/RunCMake/FileAPIExternalSource$",
- ],
- "targetIds": [
- "^ALL_BUILD::@[0-9a-f]+$",
- "^ZERO_CHECK::@[0-9a-f]+$",
- "^generated_exe::@[0-9a-f]+$",
- ],
- },
+ read_codemodel_json_data("projects/codemodel-v2.json"),
+ read_codemodel_json_data("projects/cxx.json"),
+ read_codemodel_json_data("projects/alias.json"),
+ read_codemodel_json_data("projects/object.json"),
+ read_codemodel_json_data("projects/imported.json"),
+ read_codemodel_json_data("projects/custom.json"),
+ read_codemodel_json_data("projects/external.json"),
]
if matches(g["name"], "^Visual Studio "):
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/alias.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/alias.json
new file mode 100644
index 0000000..9f0c48a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/alias.json
@@ -0,0 +1,15 @@
+{
+ "source": "^alias$",
+ "build": "^alias$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@53632cba2752272bb008$",
+ "^ZERO_CHECK::@53632cba2752272bb008$",
+ "^c_alias_exe::@53632cba2752272bb008$",
+ "^cxx_alias_exe::@53632cba2752272bb008$"
+ ],
+ "projectName": "Alias",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/custom.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/custom.json
new file mode 100644
index 0000000..afd41f3
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/custom.json
@@ -0,0 +1,15 @@
+{
+ "source": "^custom$",
+ "build": "^custom$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@c11385ffed57b860da63$",
+ "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "^custom_exe::@c11385ffed57b860da63$",
+ "^custom_tgt::@c11385ffed57b860da63$"
+ ],
+ "projectName": "Custom",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/cxx.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/cxx.json
new file mode 100644
index 0000000..ebe717a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/cxx.json
@@ -0,0 +1,19 @@
+{
+ "source": "^cxx$",
+ "build": "^cxx$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@a56b12a3f5c0529fb296$",
+ "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_static_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_static_lib::@a56b12a3f5c0529fb296$"
+ ],
+ "projectName": "Cxx",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir.json
new file mode 100644
index 0000000..afbd43a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir.json
@@ -0,0 +1,12 @@
+{
+ "source": "^dir$",
+ "build": "^dir$",
+ "parentSource": "^\\.$",
+ "childSources": [
+ "^dir/dir$"
+ ],
+ "targetIds": null,
+ "projectName": "codemodel-v2",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir_dir.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir_dir.json
new file mode 100644
index 0000000..3737ad5
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/dir_dir.json
@@ -0,0 +1,10 @@
+{
+ "source": "^dir/dir$",
+ "build": "^dir/dir$",
+ "parentSource": "^dir$",
+ "childSources": null,
+ "targetIds": null,
+ "projectName": "codemodel-v2",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/external.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/external.json
new file mode 100644
index 0000000..521e3c7
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/external.json
@@ -0,0 +1,14 @@
+{
+ "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@[0-9a-f]+$",
+ "^ZERO_CHECK::@[0-9a-f]+$",
+ "^generated_exe::@[0-9a-f]+$"
+ ],
+ "projectName": "External",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/imported.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/imported.json
new file mode 100644
index 0000000..a41b79b
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/imported.json
@@ -0,0 +1,18 @@
+{
+ "source": "^imported$",
+ "build": "^imported$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
+ "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_static_exe::@ba7eb709d0b48779c6c8$"
+ ],
+ "projectName": "Imported",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/object.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/object.json
new file mode 100644
index 0000000..1e647ad
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/object.json
@@ -0,0 +1,17 @@
+{
+ "source": "^object$",
+ "build": "^object$",
+ "parentSource": "^\\.$",
+ "childSources": null,
+ "targetIds": [
+ "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
+ "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
+ "^cxx_object_lib::@5ed5358f70faf8d8af7a$"
+ ],
+ "projectName": "Object",
+ "minimumCMakeVersion": "3.13",
+ "hasInstallRule": true
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/top.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/top.json
new file mode 100644
index 0000000..c144953
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/directories/top.json
@@ -0,0 +1,28 @@
+{
+ "source": "^\\.$",
+ "build": "^\\.$",
+ "parentSource": null,
+ "childSources": [
+ "^alias$",
+ "^custom$",
+ "^cxx$",
+ "^imported$",
+ "^object$",
+ "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "^dir$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@6890427a1f51a3e7e1df$",
+ "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "^c_exe::@6890427a1f51a3e7e1df$",
+ "^c_lib::@6890427a1f51a3e7e1df$",
+ "^c_shared_exe::@6890427a1f51a3e7e1df$",
+ "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "^c_static_exe::@6890427a1f51a3e7e1df$",
+ "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "^interface_exe::@6890427a1f51a3e7e1df$"
+ ],
+ "projectName": "codemodel-v2",
+ "minimumCMakeVersion": "3.12",
+ "hasInstallRule": true
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/alias.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/alias.json
new file mode 100644
index 0000000..8ede60f
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/alias.json
@@ -0,0 +1,14 @@
+{
+ "name": "Alias",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^alias$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@53632cba2752272bb008$",
+ "^ZERO_CHECK::@53632cba2752272bb008$",
+ "^c_alias_exe::@53632cba2752272bb008$",
+ "^cxx_alias_exe::@53632cba2752272bb008$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/codemodel-v2.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/codemodel-v2.json
new file mode 100644
index 0000000..f3aac63
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/codemodel-v2.json
@@ -0,0 +1,28 @@
+{
+ "name": "codemodel-v2",
+ "parentName": null,
+ "childNames": [
+ "Alias",
+ "Custom",
+ "Cxx",
+ "Imported",
+ "Object",
+ "External"
+ ],
+ "directorySources": [
+ "^\\.$",
+ "^dir$",
+ "^dir/dir$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@6890427a1f51a3e7e1df$",
+ "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "^interface_exe::@6890427a1f51a3e7e1df$",
+ "^c_lib::@6890427a1f51a3e7e1df$",
+ "^c_exe::@6890427a1f51a3e7e1df$",
+ "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "^c_shared_exe::@6890427a1f51a3e7e1df$",
+ "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "^c_static_exe::@6890427a1f51a3e7e1df$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/custom.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/custom.json
new file mode 100644
index 0000000..0aeb727
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/custom.json
@@ -0,0 +1,14 @@
+{
+ "name": "Custom",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^custom$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@c11385ffed57b860da63$",
+ "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "^custom_tgt::@c11385ffed57b860da63$",
+ "^custom_exe::@c11385ffed57b860da63$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/cxx.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/cxx.json
new file mode 100644
index 0000000..296ae6c
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/cxx.json
@@ -0,0 +1,18 @@
+{
+ "name": "Cxx",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^cxx$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@a56b12a3f5c0529fb296$",
+ "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "^cxx_static_exe::@a56b12a3f5c0529fb296$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/external.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/external.json
new file mode 100644
index 0000000..3c9afff
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/external.json
@@ -0,0 +1,13 @@
+{
+ "name": "External",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^.*/Tests/RunCMake/FileAPIExternalSource$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@[0-9a-f]+$",
+ "^ZERO_CHECK::@[0-9a-f]+$",
+ "^generated_exe::@[0-9a-f]+$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/imported.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/imported.json
new file mode 100644
index 0000000..dc40b72
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/imported.json
@@ -0,0 +1,17 @@
+{
+ "name": "Imported",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^imported$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
+ "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/object.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/object.json
new file mode 100644
index 0000000..219f4eb
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/projects/object.json
@@ -0,0 +1,16 @@
+{
+ "name": "Object",
+ "parentName": "codemodel-v2",
+ "childNames": null,
+ "directorySources": [
+ "^object$"
+ ],
+ "targetIds": [
+ "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
+ "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "^cxx_object_exe::@5ed5358f70faf8d8af7a$"
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_alias.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_alias.json
new file mode 100644
index 0000000..eabf739
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_alias.json
@@ -0,0 +1,83 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@53632cba2752272bb008$",
+ "directorySource": "^alias$",
+ "projectName": "Alias",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^alias$",
+ "source": "^alias$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@53632cba2752272bb008$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_alias_exe::@53632cba2752272bb008$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_alias_exe::@53632cba2752272bb008$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_custom.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_custom.json
new file mode 100644
index 0000000..a5ff686
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_custom.json
@@ -0,0 +1,79 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@c11385ffed57b860da63$",
+ "directorySource": "^custom$",
+ "projectName": "Custom",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^custom$",
+ "source": "^custom$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "backtrace": null
+ },
+ {
+ "id": "^custom_exe::@c11385ffed57b860da63$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_cxx.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_cxx.json
new file mode 100644
index 0000000..92a7944
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_cxx.json
@@ -0,0 +1,99 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_external.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_external.json
new file mode 100644
index 0000000..017335c
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_external.json
@@ -0,0 +1,79 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@[0-9a-f]+$",
+ "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "projectName": "External",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@[0-9a-f]+$",
+ "backtrace": null
+ },
+ {
+ "id": "^generated_exe::@[0-9a-f]+$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_imported.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_imported.json
new file mode 100644
index 0000000..2de5b15
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_imported.json
@@ -0,0 +1,95 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_object.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_object.json
new file mode 100644
index 0000000..9d8899a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_object.json
@@ -0,0 +1,91 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^object$",
+ "source": "^object$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_top.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_top.json
new file mode 100644
index 0000000..b4def78
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/all_build_top.json
@@ -0,0 +1,179 @@
+{
+ "name": "ALL_BUILD",
+ "id": "^ALL_BUILD::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ALL_BUILD\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^interface_exe::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_exe::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_shared_exe::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_static_exe::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_alias_exe::@53632cba2752272bb008$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_alias_exe::@53632cba2752272bb008$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ },
+ {
+ "id": "^custom_exe::@c11385ffed57b860da63$",
+ "backtrace": null
+ },
+ {
+ "id": "^generated_exe::@[0-9a-f]+$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_alias_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_alias_exe.json
new file mode 100644
index 0000000..ac7c94d
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_alias_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "c_alias_exe",
+ "id": "^c_alias_exe::@53632cba2752272bb008$",
+ "directorySource": "^alias$",
+ "projectName": "Alias",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_alias_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_alias_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_alias_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^alias$",
+ "source": "^alias$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@53632cba2752272bb008$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_exe.json
new file mode 100644
index 0000000..7af74c4
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_exe.json
@@ -0,0 +1,143 @@
+{
+ "name": "c_exe",
+ "id": "^c_exe::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 6,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 6,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 7,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_lib.json
new file mode 100644
index 0000000..0ca1962
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_lib.json
@@ -0,0 +1,108 @@
+{
+ "name": "c_lib",
+ "id": "^c_lib::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "STATIC_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 5,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 5,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib)?c_lib\\.(a|lib)$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_lib\\.(a|lib)$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": null,
+ "archive": {
+ "lto": null
+ },
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_exe.json
new file mode 100644
index 0000000..91951c3
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_exe.json
@@ -0,0 +1,141 @@
+{
+ "name": "c_object_exe",
+ "id": "^c_object_exe::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.c)?\\.o(bj)?$",
+ "isGenerated": true,
+ "sourceGroupName": "Object Libraries",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 7,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ },
+ {
+ "name": "Object Libraries",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.c)?\\.o(bj)?$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_object_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_object_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_object_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^object$",
+ "source": "^object$",
+ "install": {
+ "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
+ "destinations": [
+ {
+ "path": "bin",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "install",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_lib.json
new file mode 100644
index 0000000..e3a20df
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_object_lib.json
@@ -0,0 +1,82 @@
+{
+ "name": "c_object_lib",
+ "id": "^c_object_lib::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "OBJECT_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": [
+ {
+ "path": "^object/.*/empty(\\.c)?\\.o(bj)?$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^object$",
+ "source": "^object$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_exe.json
new file mode 100644
index 0000000..0d4018a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_exe.json
@@ -0,0 +1,143 @@
+{
+ "name": "c_shared_exe",
+ "id": "^c_shared_exe::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_shared_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_shared_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_shared_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": true,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 11,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_lib.json
new file mode 100644
index 0000000..176a857
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_shared_lib.json
@@ -0,0 +1,123 @@
+{
+ "name": "c_shared_lib",
+ "id": "^c_shared_lib::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "SHARED_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": [
+ {
+ "define": "c_shared_lib_EXPORTS",
+ "backtrace": null
+ }
+ ],
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib|cyg)?c_shared_lib\\.(so|dylib|dll)$",
+ "artifacts": [
+ {
+ "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?c_shared_lib\\.(so|dylib|dll)$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_shared_lib\\.(dll\\.a|lib)$",
+ "_dllExtra": true
+ },
+ {
+ "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?c_shared_lib\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": true,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_exe.json
new file mode 100644
index 0000000..5542277
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_exe.json
@@ -0,0 +1,143 @@
+{
+ "name": "c_static_exe",
+ "id": "^c_static_exe::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 14,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 14,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^c_static_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_static_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?c_static_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 15,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_lib.json
new file mode 100644
index 0000000..4b63897
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/c_static_lib.json
@@ -0,0 +1,108 @@
+{
+ "name": "c_static_lib",
+ "id": "^c_static_lib::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "STATIC_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 13,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 13,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib)?c_static_lib\\.(a|lib)$",
+ "artifacts": [
+ {
+ "path": "^((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?c_static_lib\\.(a|lib)$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": null,
+ "archive": {
+ "lto": true
+ },
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_exe.json
new file mode 100644
index 0000000..ab301e9
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "custom_exe",
+ "id": "^custom_exe::@c11385ffed57b860da63$",
+ "directorySource": "^custom$",
+ "projectName": "Custom",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 4,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 4,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^custom_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^custom/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?custom_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^custom/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?custom_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^custom$",
+ "source": "^custom$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^custom_tgt::@c11385ffed57b860da63$",
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_dependencies",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_tgt.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_tgt.json
new file mode 100644
index 0000000..a7106fc
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/custom_tgt.json
@@ -0,0 +1,87 @@
+{
+ "name": "custom_tgt",
+ "id": "^custom_tgt::@c11385ffed57b860da63$",
+ "directorySource": "^custom$",
+ "projectName": "Custom",
+ "type": "UTILITY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/custom_tgt$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 3,
+ "command": "add_custom_target",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/(custom/)?CMakeFiles/([0-9a-f]+/)?custom_tgt\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/custom_tgt$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/(custom/)?CMakeFiles/([0-9a-f]+/)?custom_tgt\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": 3,
+ "command": "add_custom_target",
+ "hasParent": true
+ },
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^custom$",
+ "source": "^custom$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_alias_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_alias_exe.json
new file mode 100644
index 0000000..837f252
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_alias_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "cxx_alias_exe",
+ "id": "^cxx_alias_exe::@53632cba2752272bb008$",
+ "directorySource": "^alias$",
+ "projectName": "Alias",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^cxx_alias_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_alias_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^alias/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_alias_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^alias$",
+ "source": "^alias$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@53632cba2752272bb008$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_exe.json
new file mode 100644
index 0000000..7631837
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_exe.json
@@ -0,0 +1,213 @@
+{
+ "name": "cxx_exe",
+ "id": "^cxx_exe::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": [
+ {
+ "fragment" : "TargetCompileOptions",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 17,
+ "command": "target_compile_options",
+ "hasParent": true
+ },
+ {
+ "file" : "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": "bin",
+ "nameOnDisk": "^cxx_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": {
+ "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
+ "destinations": [
+ {
+ "path": "bin",
+ "backtrace": [
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 37,
+ "command": "install",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": [
+ {
+ "fragment" : "TargetLinkOptions",
+ "role" : "flags",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 18,
+ "command": "target_link_options",
+ "hasParent": true
+ },
+ {
+ "file" : "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "fragment" : ".*TargetLinkDir\\\"?$",
+ "role" : "libraryPath",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 19,
+ "command": "target_link_directories",
+ "hasParent": true
+ },
+ {
+ "file" : "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "fragment" : ".*cxx_lib.*",
+ "role" : "libraries",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file" : "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_lib.json
new file mode 100644
index 0000000..94ac081
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_lib.json
@@ -0,0 +1,84 @@
+{
+ "name": "cxx_lib",
+ "id": "^cxx_lib::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "STATIC_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 4,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 4,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib)?cxx_lib\\.(a|lib)$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_lib\\.(a|lib)$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": null,
+ "archive": {
+ "lto": null
+ },
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_exe.json
new file mode 100644
index 0000000..a33370a
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_exe.json
@@ -0,0 +1,141 @@
+{
+ "name": "cxx_object_exe",
+ "id": "^cxx_object_exe::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.cxx)?\\.o(bj)?$",
+ "isGenerated": true,
+ "sourceGroupName": "Object Libraries",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 11,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ },
+ {
+ "name": "Object Libraries",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/.*/empty(\\.cxx)?\\.o(bj)?$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^cxx_object_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_object_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^object/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_object_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^object$",
+ "source": "^object$",
+ "install": {
+ "prefix": "^(/usr/local|[A-Za-z]:.*/codemodel-v2)$",
+ "destinations": [
+ {
+ "path": "bin",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "install",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ },
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_lib.json
new file mode 100644
index 0000000..8e99f7d
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_object_lib.json
@@ -0,0 +1,82 @@
+{
+ "name": "cxx_object_lib",
+ "id": "^cxx_object_lib::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "OBJECT_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": [
+ {
+ "path": "^object/.*/empty(\\.cxx)?\\.o(bj)?$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^object$",
+ "source": "^object$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_exe.json
new file mode 100644
index 0000000..4421c8f
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "cxx_shared_exe",
+ "id": "^cxx_shared_exe::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^cxx_shared_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_shared_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_shared_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 11,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_lib.json
new file mode 100644
index 0000000..171a4f5
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_shared_lib.json
@@ -0,0 +1,99 @@
+{
+ "name": "cxx_shared_lib",
+ "id": "^cxx_shared_lib::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "SHARED_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": [
+ {
+ "define": "cxx_shared_lib_EXPORTS",
+ "backtrace": null
+ }
+ ],
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib|cyg)?cxx_shared_lib\\.(so|dylib|dll)$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?cxx_shared_lib\\.(so|dylib|dll)$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_shared_lib\\.(dll\\.a|lib)$",
+ "_dllExtra": true
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib|cyg)?cxx_shared_lib\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_exe.json
new file mode 100644
index 0000000..52c42de
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_exe.json
@@ -0,0 +1,107 @@
+{
+ "name": "cxx_static_exe",
+ "id": "^cxx_static_exe::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 14,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 14,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^cxx_static_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_static_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?cxx_static_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 15,
+ "command": "target_link_libraries",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_lib.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_lib.json
new file mode 100644
index 0000000..98298be
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/cxx_static_lib.json
@@ -0,0 +1,84 @@
+{
+ "name": "cxx_static_lib",
+ "id": "^cxx_static_lib::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "STATIC_LIBRARY",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.cxx$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^empty\\.cxx$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "add_library",
+ "hasParent": true
+ },
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^(lib)?cxx_static_lib\\.(a|lib)$",
+ "artifacts": [
+ {
+ "path": "^cxx/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?cxx_static_lib\\.(a|lib)$",
+ "_dllExtra": false
+ }
+ ],
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": null,
+ "archive": {
+ "lto": null
+ },
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/generated_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/generated_exe.json
new file mode 100644
index 0000000..d41bbb2
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/generated_exe.json
@@ -0,0 +1,303 @@
+{
+ "name": "generated_exe",
+ "id": "^generated_exe::@[0-9a-f]+$",
+ "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "projectName": "External",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$",
+ "isGenerated": true,
+ "sourceGroupName": "Generated Source Files",
+ "compileGroupLanguage": "CXX",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 6,
+ "command": "target_sources",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$"
+ ]
+ },
+ {
+ "name": "Generated Source Files",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPIExternalSource/empty\\.c$"
+ ],
+ "includes": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "isSystem": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 10,
+ "command": "set_property",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "isSystem": true,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 11,
+ "command": "target_include_directories",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "defines": [
+ {
+ "define": "EMPTY_C=1",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "set_property",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "define": "SRC_DUMMY",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "set_property",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "define": "GENERATED_EXE=1",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 12,
+ "command": "target_compile_definitions",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "define": "TGT_DUMMY",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 12,
+ "command": "target_compile_definitions",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "compileCommandFragments": [
+ {
+ "fragment" : "SRC_COMPILE_OPTIONS_DUMMY",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "set_source_files_properties",
+ "hasParent": true
+ },
+ {
+ "file" : "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "language": "CXX",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/generated\\.cxx$"
+ ],
+ "includes": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "isSystem": true,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 11,
+ "command": "target_include_directories",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "defines": [
+ {
+ "define": "GENERATED_EXE=1",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 12,
+ "command": "target_compile_definitions",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "define": "TGT_DUMMY",
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 12,
+ "command": "target_compile_definitions",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^generated_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?generated_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?generated_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "install": null,
+ "link": {
+ "language": "CXX",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@[0-9a-f]+$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/interface_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/interface_exe.json
new file mode 100644
index 0000000..fe0524c
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/interface_exe.json
@@ -0,0 +1,152 @@
+{
+ "name": "interface_exe",
+ "id": "^interface_exe::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^include_test\\.cmake$",
+ "line": 3,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^include_test\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": [
+ {
+ "define": "interface_exe_EXPORTS",
+ "backtrace": null
+ }
+ ],
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^include_test\\.cmake$",
+ "line": 3,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^include_test\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^codemodel-v2\\.cmake$",
+ "line": null,
+ "command": null,
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": 3,
+ "command": "include",
+ "hasParent": true
+ },
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^my_interface_exe\\.myexe$",
+ "artifacts": [
+ {
+ "path": "^bin/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?my_interface_exe\\.myexe$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^lib/my_interface_exe\\.imp$",
+ "_aixExtra": true,
+ "_dllExtra": false
+ },
+ {
+ "path": "^lib/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?(lib)?my_interface_exe\\.(dll\\.a|lib)$",
+ "_dllExtra": true
+ },
+ {
+ "path": "^bin/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?my_interface_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_exe.json
new file mode 100644
index 0000000..312f4c5
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_exe",
+ "id": "^link_imported_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 5,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_interface_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_interface_exe.json
new file mode 100644
index 0000000..7d0e6df
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_interface_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_interface_exe",
+ "id": "^link_imported_interface_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 23,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 23,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_interface_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_interface_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_object_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_object_exe.json
new file mode 100644
index 0000000..4aec524
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_object_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_object_exe",
+ "id": "^link_imported_object_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 18,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 18,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_object_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_object_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_object_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_shared_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_shared_exe.json
new file mode 100644
index 0000000..f5846ec
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_shared_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_shared_exe",
+ "id": "^link_imported_shared_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 9,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_shared_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_shared_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_shared_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_static_exe.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_static_exe.json
new file mode 100644
index 0000000..29a1695
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/link_imported_static_exe.json
@@ -0,0 +1,90 @@
+{
+ "name": "link_imported_static_exe",
+ "id": "^link_imported_static_exe::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "EXECUTABLE",
+ "isGeneratorProvided": null,
+ "sources": [
+ {
+ "path": "^empty\\.c$",
+ "isGenerated": null,
+ "sourceGroupName": "Source Files",
+ "compileGroupLanguage": "C",
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "Source Files",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ]
+ }
+ ],
+ "compileGroups": [
+ {
+ "language": "C",
+ "sourcePaths": [
+ "^empty\\.c$"
+ ],
+ "includes": null,
+ "defines": null,
+ "compileCommandFragments": null
+ }
+ ],
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": 13,
+ "command": "add_executable",
+ "hasParent": true
+ },
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": "^link_imported_static_exe(\\.exe)?$",
+ "artifacts": [
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_static_exe(\\.exe)?$",
+ "_dllExtra": false
+ },
+ {
+ "path": "^imported/((Debug|Release|RelWithDebInfo|MinSizeRel)/)?link_imported_static_exe\\.pdb$",
+ "_dllExtra": true
+ }
+ ],
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": {
+ "language": "C",
+ "lto": null,
+ "commandFragments": null
+ },
+ "archive": null,
+ "dependencies": [
+ {
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "backtrace": null
+ }
+ ]
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_alias.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_alias.json
new file mode 100644
index 0000000..941c172
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_alias.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@53632cba2752272bb008$",
+ "directorySource": "^alias$",
+ "projectName": "Alias",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/alias/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^alias/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^alias$",
+ "source": "^alias$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_custom.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_custom.json
new file mode 100644
index 0000000..98c6dd9
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_custom.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@c11385ffed57b860da63$",
+ "directorySource": "^custom$",
+ "projectName": "Custom",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/custom/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^custom/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^custom$",
+ "source": "^custom$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_cxx.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_cxx.json
new file mode 100644
index 0000000..b72ff82
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_cxx.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@a56b12a3f5c0529fb296$",
+ "directorySource": "^cxx$",
+ "projectName": "Cxx",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/cxx/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^cxx/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^cxx$",
+ "source": "^cxx$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_external.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_external.json
new file mode 100644
index 0000000..9e73806
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_external.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@[0-9a-f]+$",
+ "directorySource": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "projectName": "External",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^.*/Tests/RunCMake/FileAPIExternalSource/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^.*/Tests/RunCMake/FileAPI/FileAPIExternalBuild$",
+ "source": "^.*/Tests/RunCMake/FileAPIExternalSource$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_imported.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_imported.json
new file mode 100644
index 0000000..7534c84
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_imported.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@ba7eb709d0b48779c6c8$",
+ "directorySource": "^imported$",
+ "projectName": "Imported",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/imported/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^imported/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^imported$",
+ "source": "^imported$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_object.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_object.json
new file mode 100644
index 0000000..bcd7616
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_object.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@5ed5358f70faf8d8af7a$",
+ "directorySource": "^object$",
+ "projectName": "Object",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/object/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^object/CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^object$",
+ "source": "^object$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_top.json b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_top.json
new file mode 100644
index 0000000..b3030bd
--- /dev/null
+++ b/Tests/RunCMake/FileAPI/codemodel-v2-data/targets/zero_check_top.json
@@ -0,0 +1,70 @@
+{
+ "name": "ZERO_CHECK",
+ "id": "^ZERO_CHECK::@6890427a1f51a3e7e1df$",
+ "directorySource": "^\\.$",
+ "projectName": "codemodel-v2",
+ "type": "UTILITY",
+ "isGeneratorProvided": true,
+ "sources": [
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK$",
+ "isGenerated": true,
+ "sourceGroupName": "",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ },
+ {
+ "path": "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK\\.rule$",
+ "isGenerated": true,
+ "sourceGroupName": "CMake Rules",
+ "compileGroupLanguage": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ]
+ }
+ ],
+ "sourceGroups": [
+ {
+ "name": "",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK$"
+ ]
+ },
+ {
+ "name": "CMake Rules",
+ "sourcePaths": [
+ "^.*/Tests/RunCMake/FileAPI/codemodel-v2-build/CMakeFiles/ZERO_CHECK\\.rule$"
+ ]
+ }
+ ],
+ "compileGroups": null,
+ "backtrace": [
+ {
+ "file": "^CMakeLists\\.txt$",
+ "line": null,
+ "command": null,
+ "hasParent": false
+ }
+ ],
+ "folder": null,
+ "nameOnDisk": null,
+ "artifacts": null,
+ "build": "^\\.$",
+ "source": "^\\.$",
+ "install": null,
+ "link": null,
+ "archive": null,
+ "dependencies": null
+}
diff --git a/Tests/RunCMake/File_Generate/CMP0070-OLD-stderr.txt b/Tests/RunCMake/File_Generate/CMP0070-OLD-stderr.txt
new file mode 100644
index 0000000..bb578e5
--- /dev/null
+++ b/Tests/RunCMake/File_Generate/CMP0070-OLD-stderr.txt
@@ -0,0 +1,10 @@
+^CMake Deprecation Warning at CMP0070-OLD.cmake:[0-9]+ \(cmake_policy\):
+ The OLD behavior for policy CMP0070 will be removed from a future version
+ of CMake.
+
+ The cmake-policies\(7\) manual explains that the OLD behaviors of all
+ policies are deprecated and that a policy should be set to OLD only under
+ specific short-term circumstances. Projects should be ported to the NEW
+ behavior and not rely on setting a policy to OLD.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:[0-9]+ \(include\)$
diff --git a/Tests/RunCMake/configure_file/RerunCMake.cmake b/Tests/RunCMake/configure_file/RerunCMake.cmake
index 890cc1f..98387d0 100644
--- a/Tests/RunCMake/configure_file/RerunCMake.cmake
+++ b/Tests/RunCMake/configure_file/RerunCMake.cmake
@@ -1,8 +1,4 @@
message("Running CMake on RerunCMake") # write to stderr if cmake reruns
-configure_file(
- "${CMAKE_CURRENT_BINARY_DIR}/ConfigureFileInput.txt.in"
- "${CMAKE_CURRENT_BINARY_DIR}/ConfigureFileOutput.txt"
- @ONLY
- )
+add_subdirectory(RerunCMake)
# make sure CMakeCache.txt is newer than ConfigureFileOutput.txt
execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1)
diff --git a/Tests/RunCMake/configure_file/RerunCMake/CMakeLists.txt b/Tests/RunCMake/configure_file/RerunCMake/CMakeLists.txt
new file mode 100644
index 0000000..c9681c7
--- /dev/null
+++ b/Tests/RunCMake/configure_file/RerunCMake/CMakeLists.txt
@@ -0,0 +1,5 @@
+configure_file(
+ "${CMAKE_CURRENT_BINARY_DIR}/ConfigureFileInput.txt.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/ConfigureFileOutput.txt"
+ @ONLY
+ )
diff --git a/Tests/RunCMake/configure_file/RunCMakeTest.cmake b/Tests/RunCMake/configure_file/RunCMakeTest.cmake
index de14468..32a0770 100644
--- a/Tests/RunCMake/configure_file/RunCMakeTest.cmake
+++ b/Tests/RunCMake/configure_file/RunCMakeTest.cmake
@@ -22,7 +22,7 @@ if(RunCMake_GENERATOR MATCHES "Make")
set(RunCMake_TEST_NO_CLEAN 1)
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
- set(in_conf "${RunCMake_TEST_BINARY_DIR}/ConfigureFileInput.txt.in")
+ set(in_conf "${RunCMake_TEST_BINARY_DIR}/RerunCMake/ConfigureFileInput.txt.in")
file(WRITE "${in_conf}" "1")
message(STATUS "RerunCMake: first configuration...")
@@ -42,7 +42,7 @@ if(RunCMake_GENERATOR MATCHES "Make")
run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
message(STATUS "RerunCMake: remove configure_file output...")
- file(REMOVE "${RunCMake_TEST_BINARY_DIR}/ConfigureFileOutput.txt")
+ file(REMOVE "${RunCMake_TEST_BINARY_DIR}/RerunCMake/ConfigureFileOutput.txt")
run_cmake_command(RerunCMake-rerun ${CMAKE_COMMAND} --build .)
run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
diff --git a/Tests/RunCMake/string/Hex.cmake b/Tests/RunCMake/string/Hex.cmake
new file mode 100644
index 0000000..1c5aaa1
--- /dev/null
+++ b/Tests/RunCMake/string/Hex.cmake
@@ -0,0 +1,20 @@
+function(assert_strequal input actual expected)
+ if(NOT expected STREQUAL actual)
+ message(SEND_ERROR "Output did not match expected\nInput string:\n ${input}\nExpected:\n ${expected}\nActual:\n ${actual}")
+ endif()
+endfunction()
+
+set(_input1 "The quick brown fox jumps over the lazy dog.")
+string(HEX "${_input1}" _result1)
+assert_strequal("${_input1}" "${_result1}" "54686520717569636b2062726f776e20666f78206a756d7073206f76657220746865206c617a7920646f672e")
+
+set(_input2 "Hello world!")
+string(HEX "${_input2}" _result2)
+assert_strequal("${_input2}" "${_result2}" "48656c6c6f20776f726c6421")
+
+set(_input3 "Ash nazg durbatulûk\nAsh nazg gimbatul\nAsh nazg thrakatulûk\nAgh burzum-ishi krimpatul")
+string(HEX "${_input3}" _result3)
+assert_strequal("${_input3}" "${_result3}" "417368206e617a6720647572626174756cc3bb6b0a417368206e617a672067696d626174756c0a417368206e617a6720746872616b6174756cc3bb6b0a416768206275727a756d2d69736869206b72696d706174756c")
+
+string(HEX "" _result_empty)
+assert_strequal("" "${_result_empty}" "")
diff --git a/Tests/RunCMake/string/HexNotEnoughArgs-result.txt b/Tests/RunCMake/string/HexNotEnoughArgs-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/string/HexNotEnoughArgs-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/string/HexNotEnoughArgs-stderr.txt b/Tests/RunCMake/string/HexNotEnoughArgs-stderr.txt
new file mode 100644
index 0000000..444f79d
--- /dev/null
+++ b/Tests/RunCMake/string/HexNotEnoughArgs-stderr.txt
@@ -0,0 +1,4 @@
+^CMake Error at HexNotEnoughArgs\.cmake:[0-9]+ \(string\):
+ string Incorrect number of arguments
+Call Stack \(most recent call first\):
+ CMakeLists\.txt:3 \(include\)$
diff --git a/Tests/RunCMake/string/HexNotEnoughArgs.cmake b/Tests/RunCMake/string/HexNotEnoughArgs.cmake
new file mode 100644
index 0000000..7002af0
--- /dev/null
+++ b/Tests/RunCMake/string/HexNotEnoughArgs.cmake
@@ -0,0 +1 @@
+string(HEX "Hello world!")
diff --git a/Tests/RunCMake/string/HexTooManyArgs-result.txt b/Tests/RunCMake/string/HexTooManyArgs-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/string/HexTooManyArgs-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/string/HexTooManyArgs-stderr.txt b/Tests/RunCMake/string/HexTooManyArgs-stderr.txt
new file mode 100644
index 0000000..91b40ed
--- /dev/null
+++ b/Tests/RunCMake/string/HexTooManyArgs-stderr.txt
@@ -0,0 +1,4 @@
+^CMake Error at HexTooManyArgs\.cmake:[0-9]+ \(string\):
+ string Incorrect number of arguments
+Call Stack \(most recent call first\):
+ CMakeLists\.txt:3 \(include\)$
diff --git a/Tests/RunCMake/string/HexTooManyArgs.cmake b/Tests/RunCMake/string/HexTooManyArgs.cmake
new file mode 100644
index 0000000..8986cf8
--- /dev/null
+++ b/Tests/RunCMake/string/HexTooManyArgs.cmake
@@ -0,0 +1 @@
+string(HEX "Hello world!" _output bad)
diff --git a/Tests/RunCMake/string/RunCMakeTest.cmake b/Tests/RunCMake/string/RunCMakeTest.cmake
index c432b4e..bb7cb17 100644
--- a/Tests/RunCMake/string/RunCMakeTest.cmake
+++ b/Tests/RunCMake/string/RunCMakeTest.cmake
@@ -37,3 +37,7 @@ run_cmake(UTF-32LE)
run_cmake(Repeat)
run_cmake(RepeatNoArgs)
run_cmake(RepeatNegativeCount)
+
+run_cmake(Hex)
+run_cmake(HexTooManyArgs)
+run_cmake(HexNotEnoughArgs)
diff --git a/Tests/UseSWIG/BasicConfiguration.cmake b/Tests/UseSWIG/BasicConfiguration.cmake
index fd3ac40..d054953 100644
--- a/Tests/UseSWIG/BasicConfiguration.cmake
+++ b/Tests/UseSWIG/BasicConfiguration.cmake
@@ -18,6 +18,9 @@ unset(SWIG_LANG_LIBRARIES)
if(${language} MATCHES csharp)
set(SWIG_LANG_TYPE TYPE SHARED)
endif()
+if(${language} MATCHES fortran)
+ set(SWIG_LANG_TYPE TYPE SHARED)
+endif()
if(${language} MATCHES python)
find_package(Python REQUIRED COMPONENTS Interpreter Development)
set(SWIG_LANG_INCLUDE_DIRECTORIES ${Python_INCLUDE_DIRS})
diff --git a/Tests/UseSWIG/BasicFortran/CMakeLists.txt b/Tests/UseSWIG/BasicFortran/CMakeLists.txt
new file mode 100644
index 0000000..e81fb85
--- /dev/null
+++ b/Tests/UseSWIG/BasicFortran/CMakeLists.txt
@@ -0,0 +1,23 @@
+cmake_minimum_required(VERSION 3.12...3.13)
+
+project(TestBasicFortran CXX Fortran)
+
+include(CTest)
+
+set(language "fortran")
+
+include (../BasicConfiguration.cmake)
+get_target_property(EXAMPLE_PREFIX example PREFIX)
+if (NOT EXAMPLE_PREFIX STREQUAL "${CMAKE_SHARED_LIBRARY_PREFIX}"
+ AND NOT EXAMPLE_PREFIX STREQUAL "EXAMPLE_PREFIX-NOTFOUND")
+ message(FATAL_ERROR "Unexpected library prefix on target: got "
+ "'${EXAMPLE_PREFIX}' but expected '${CMAKE_SHARED_LIBRARY_PREFIX}'")
+endif()
+
+
+add_executable(runme ${CMAKE_CURRENT_SOURCE_DIR}/../runme.f90)
+target_link_libraries(runme example)
+set_target_properties(runme PROPERTIES LINKER_LANGUAGE Fortran)
+
+add_test (NAME BasicFortran
+ COMMAND $<TARGET_FILE:runme>)
diff --git a/Tests/UseSWIG/CMakeLists.txt b/Tests/UseSWIG/CMakeLists.txt
index 3cc910f..d102846 100644
--- a/Tests/UseSWIG/CMakeLists.txt
+++ b/Tests/UseSWIG/CMakeLists.txt
@@ -55,6 +55,21 @@ add_test(NAME UseSWIG.BasicPerl COMMAND
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
)
+if (CMake_TEST_UseSWIG_Fortran)
+ check_language(Fortran)
+ if (CMAKE_Fortran_COMPILER)
+ add_test(NAME UseSWIG.BasicFortran COMMAND
+ ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
+ --build-and-test
+ "${CMake_SOURCE_DIR}/Tests/UseSWIG/BasicFortran"
+ "${CMake_BINARY_DIR}/Tests/UseSWIG/BasicFortran"
+ ${build_generator_args}
+ --build-project TestBasicFortran
+ --build-options ${build_options}
+ --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
+ )
+ endif()
+endif()
add_test(NAME UseSWIG.MultipleModules COMMAND
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
diff --git a/Tests/UseSWIG/runme.f90 b/Tests/UseSWIG/runme.f90
new file mode 100644
index 0000000..1d985d3
--- /dev/null
+++ b/Tests/UseSWIG/runme.f90
@@ -0,0 +1,77 @@
+! File : runme.f90
+program runme
+ use ISO_FORTRAN_ENV
+ implicit none
+ integer, parameter :: STDOUT = OUTPUT_UNIT
+
+ call run()
+contains
+
+subroutine run()
+ use example
+ use iso_c_binding
+ implicit none
+
+ type(Circle) :: c
+ type(Square), target :: s ! 'target' allows it to be pointed to
+ class(Shape), pointer :: sh
+ integer(C_INT) :: n_shapes
+
+ ! ----- Object creation -----
+
+ write(STDOUT,*) "Creating some objects"
+ c = Circle(10.0d0)
+ s = Square(10.0d0)
+
+ ! ----- Access a static member -----
+ write(STDOUT,'(a,i2,a)')"A total of", s%get_nshapes(), " shapes were created"
+
+ ! ----- Member data access -----
+
+ ! Notice how we can do this using functions specific to
+ ! the 'Circle' class.
+ call c%set_x(20.0d0)
+ call c%set_y(30.0d0)
+
+ ! Now use the same functions in the base class
+ sh => s
+ call sh%set_x(-10.0d0)
+ call sh%set_y( 5.0d0)
+
+ write(STDOUT,*)"Here is their current position:"
+ write(STDOUT,'(a,f5.1,a,f5.1,a)')" Circle = (", c%get_x(), ",", c%get_y(), " )"
+ write(STDOUT,'(a,f5.1,a,f5.1,a)')" Square = (", s%get_x(), ",", s%get_y(), " )"
+
+ ! ----- Call some methods -----
+
+ write(STDOUT,*)"Here are some properties of the shapes:"
+ call print_shape(c)
+ call print_shape(s)
+
+ ! ----- Delete everything -----
+
+ ! Note: this invokes the virtual destructor
+ call c%release()
+ call s%release()
+
+ n_shapes = c%get_nshapes()
+ write(STDOUT,*) n_shapes, "shapes remain"
+ if (n_shapes /= 0) then
+ write(STDOUT,*) "Shapes were not freed properly!"
+ stop 1
+ endif
+
+ write(STDOUT,*) "Goodbye"
+end subroutine
+
+subroutine print_shape(s)
+ use example, only : Shape
+ use iso_c_binding
+ implicit none
+ class(Shape), intent(in) :: s
+
+ write(STDOUT,*)" area = ",s%area()
+ write(STDOUT,*)" perimeter = ",s%perimeter()
+end subroutine
+
+end program
diff --git a/Utilities/Release/win32_release.cmake b/Utilities/Release/win32_release.cmake
index 14e5cba..993db6e 100644
--- a/Utilities/Release/win32_release.cmake
+++ b/Utilities/Release/win32_release.cmake
@@ -34,6 +34,7 @@ CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=${qt_win_libs}
CMAKE_PREFIX_PATH:STRING=${qt_prefix}
CMake_TEST_Qt4:BOOL=OFF
CMake_TEST_Qt5:BOOL=OFF
+PYTHON_EXECUTABLE:FILEPATH=C:/Python/3.8-64/python.exe
")
set(ppflags "-D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000")
set(CFLAGS "${ppflags}")
diff --git a/Utilities/Release/win64_release.cmake b/Utilities/Release/win64_release.cmake
index 149d378..3042889 100644
--- a/Utilities/Release/win64_release.cmake
+++ b/Utilities/Release/win64_release.cmake
@@ -34,6 +34,7 @@ CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES:STRING=${qt_win_libs}
CMAKE_PREFIX_PATH:STRING=${qt_prefix}
CMake_TEST_Qt4:BOOL=OFF
CMake_TEST_Qt5:BOOL=OFF
+PYTHON_EXECUTABLE:FILEPATH=C:/Python/3.8-64/python.exe
")
set(ppflags "-D_WIN32_WINNT=0x601 -DNTDDI_VERSION=0x06010000")
set(CFLAGS "${ppflags}")
diff --git a/Utilities/Scripts/update-bzip2.bash b/Utilities/Scripts/update-bzip2.bash
new file mode 100755
index 0000000..83439d1
--- /dev/null
+++ b/Utilities/Scripts/update-bzip2.bash
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+
+set -e
+set -x
+shopt -s dotglob
+
+readonly name="bzip2"
+readonly ownership="bzip2 upstream <kwrobot@kitware.com>"
+readonly subtree="Utilities/cmbzip2"
+readonly repo="https://sourceware.org/git/bzip2.git"
+readonly tag="bzip2-1.0.8"
+readonly shortlog=false
+readonly paths="
+ LICENSE
+ README
+ *.c
+ *.h
+"
+
+extract_source () {
+ git_archive
+ pushd "${extractdir}/${name}-reduced"
+ echo "* -whitespace" > .gitattributes
+ popd
+}
+
+. "${BASH_SOURCE%/*}/update-third-party.bash"
diff --git a/Utilities/Scripts/update-libarchive.bash b/Utilities/Scripts/update-libarchive.bash
index 3188658..3db89ff 100755
--- a/Utilities/Scripts/update-libarchive.bash
+++ b/Utilities/Scripts/update-libarchive.bash
@@ -8,7 +8,7 @@ readonly name="LibArchive"
readonly ownership="LibArchive Upstream <libarchive-discuss@googlegroups.com>"
readonly subtree="Utilities/cmlibarchive"
readonly repo="https://github.com/libarchive/libarchive.git"
-readonly tag="v3.3.3"
+readonly tag="v3.4.2"
readonly shortlog=false
readonly paths="
CMakeLists.txt
@@ -25,6 +25,7 @@ extract_source () {
git_archive
pushd "${extractdir}/${name}-reduced"
fromdos build/cmake/Find*.cmake
+ echo "* -whitespace" > .gitattributes
popd
}
diff --git a/Utilities/cmbzip2/.gitattributes b/Utilities/cmbzip2/.gitattributes
new file mode 100644
index 0000000..562b12e
--- /dev/null
+++ b/Utilities/cmbzip2/.gitattributes
@@ -0,0 +1 @@
+* -whitespace
diff --git a/Utilities/cmbzip2/CHANGES b/Utilities/cmbzip2/CHANGES
deleted file mode 100644
index 6e4f65e..0000000
--- a/Utilities/cmbzip2/CHANGES
+++ /dev/null
@@ -1,319 +0,0 @@
- ------------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ------------------------------------------------------------------
-
-
-0.9.0
-~~~~~
-First version.
-
-
-0.9.0a
-~~~~~~
-Removed 'ranlib' from Makefile, since most modern Unix-es
-don't need it, or even know about it.
-
-
-0.9.0b
-~~~~~~
-Fixed a problem with error reporting in bzip2.c. This does not effect
-the library in any way. Problem is: versions 0.9.0 and 0.9.0a (of the
-program proper) compress and decompress correctly, but give misleading
-error messages (internal panics) when an I/O error occurs, instead of
-reporting the problem correctly. This shouldn't give any data loss
-(as far as I can see), but is confusing.
-
-Made the inline declarations disappear for non-GCC compilers.
-
-
-0.9.0c
-~~~~~~
-Fixed some problems in the library pertaining to some boundary cases.
-This makes the library behave more correctly in those situations. The
-fixes apply only to features (calls and parameters) not used by
-bzip2.c, so the non-fixedness of them in previous versions has no
-effect on reliability of bzip2.c.
-
-In bzlib.c:
- * made zero-length BZ_FLUSH work correctly in bzCompress().
- * fixed bzWrite/bzRead to ignore zero-length requests.
- * fixed bzread to correctly handle read requests after EOF.
- * wrong parameter order in call to bzDecompressInit in
- bzBuffToBuffDecompress. Fixed.
-
-In compress.c:
- * changed setting of nGroups in sendMTFValues() so as to
- do a bit better on small files. This _does_ effect
- bzip2.c.
-
-
-0.9.5a
-~~~~~~
-Major change: add a fallback sorting algorithm (blocksort.c)
-to give reasonable behaviour even for very repetitive inputs.
-Nuked --repetitive-best and --repetitive-fast since they are
-no longer useful.
-
-Minor changes: mostly a whole bunch of small changes/
-bugfixes in the driver (bzip2.c). Changes pertaining to the
-user interface are:
-
- allow decompression of symlink'd files to stdout
- decompress/test files even without .bz2 extension
- give more accurate error messages for I/O errors
- when compressing/decompressing to stdout, don't catch control-C
- read flags from BZIP2 and BZIP environment variables
- decline to break hard links to a file unless forced with -f
- allow -c flag even with no filenames
- preserve file ownerships as far as possible
- make -s -1 give the expected block size (100k)
- add a flag -q --quiet to suppress nonessential warnings
- stop decoding flags after --, so files beginning in - can be handled
- resolved inconsistent naming: bzcat or bz2cat ?
- bzip2 --help now returns 0
-
-Programming-level changes are:
-
- fixed syntax error in GET_LL4 for Borland C++ 5.02
- let bzBuffToBuffDecompress return BZ_DATA_ERROR{_MAGIC}
- fix overshoot of mode-string end in bzopen_or_bzdopen
- wrapped bzlib.h in #ifdef __cplusplus ... extern "C" { ... }
- close file handles under all error conditions
- added minor mods so it compiles with DJGPP out of the box
- fixed Makefile so it doesn't give problems with BSD make
- fix uninitialised memory reads in dlltest.c
-
-0.9.5b
-~~~~~~
-Open stdin/stdout in binary mode for DJGPP.
-
-0.9.5c
-~~~~~~
-Changed BZ_N_OVERSHOOT to be ... + 2 instead of ... + 1. The + 1
-version could cause the sorted order to be wrong in some extremely
-obscure cases. Also changed setting of quadrant in blocksort.c.
-
-0.9.5d
-~~~~~~
-The only functional change is to make bzlibVersion() in the library
-return the correct string. This has no effect whatsoever on the
-functioning of the bzip2 program or library. Added a couple of casts
-so the library compiles without warnings at level 3 in MS Visual
-Studio 6.0. Included a Y2K statement in the file Y2K_INFO. All other
-changes are minor documentation changes.
-
-1.0
-~~~
-Several minor bugfixes and enhancements:
-
-* Large file support. The library uses 64-bit counters to
- count the volume of data passing through it. bzip2.c
- is now compiled with -D_FILE_OFFSET_BITS=64 to get large
- file support from the C library. -v correctly prints out
- file sizes greater than 4 gigabytes. All these changes have
- been made without assuming a 64-bit platform or a C compiler
- which supports 64-bit ints, so, except for the C library
- aspect, they are fully portable.
-
-* Decompression robustness. The library/program should be
- robust to any corruption of compressed data, detecting and
- handling _all_ corruption, instead of merely relying on
- the CRCs. What this means is that the program should
- never crash, given corrupted data, and the library should
- always return BZ_DATA_ERROR.
-
-* Fixed an obscure race-condition bug only ever observed on
- Solaris, in which, if you were very unlucky and issued
- control-C at exactly the wrong time, both input and output
- files would be deleted.
-
-* Don't run out of file handles on test/decompression when
- large numbers of files have invalid magic numbers.
-
-* Avoid library namespace pollution. Prefix all exported
- symbols with BZ2_.
-
-* Minor sorting enhancements from my DCC2000 paper.
-
-* Advance the version number to 1.0, so as to counteract the
- (false-in-this-case) impression some people have that programs
- with version numbers less than 1.0 are in some way, experimental,
- pre-release versions.
-
-* Create an initial Makefile-libbz2_so to build a shared library.
- Yes, I know I should really use libtool et al ...
-
-* Make the program exit with 2 instead of 0 when decompression
- fails due to a bad magic number (ie, an invalid bzip2 header).
- Also exit with 1 (as the manual claims :-) whenever a diagnostic
- message would have been printed AND the corresponding operation
- is aborted, for example
- bzip2: Output file xx already exists.
- When a diagnostic message is printed but the operation is not
- aborted, for example
- bzip2: Can't guess original name for wurble -- using wurble.out
- then the exit value 0 is returned, unless some other problem is
- also detected.
-
- I think it corresponds more closely to what the manual claims now.
-
-
-1.0.1
-~~~~~
-* Modified dlltest.c so it uses the new BZ2_ naming scheme.
-* Modified makefile-msc to fix minor build probs on Win2k.
-* Updated README.COMPILATION.PROBLEMS.
-
-There are no functionality changes or bug fixes relative to version
-1.0.0. This is just a documentation update + a fix for minor Win32
-build problems. For almost everyone, upgrading from 1.0.0 to 1.0.1 is
-utterly pointless. Don't bother.
-
-
-1.0.2
-~~~~~
-A bug fix release, addressing various minor issues which have appeared
-in the 18 or so months since 1.0.1 was released. Most of the fixes
-are to do with file-handling or documentation bugs. To the best of my
-knowledge, there have been no data-loss-causing bugs reported in the
-compression/decompression engine of 1.0.0 or 1.0.1.
-
-Note that this release does not improve the rather crude build system
-for Unix platforms. The general plan here is to autoconfiscate/
-libtoolise 1.0.2 soon after release, and release the result as 1.1.0
-or perhaps 1.2.0. That, however, is still just a plan at this point.
-
-Here are the changes in 1.0.2. Bug-reporters and/or patch-senders in
-parentheses.
-
-* Fix an infinite segfault loop in 1.0.1 when a directory is
- encountered in -f (force) mode.
- (Trond Eivind Glomsrod, Nicholas Nethercote, Volker Schmidt)
-
-* Avoid double fclose() of output file on certain I/O error paths.
- (Solar Designer)
-
-* Don't fail with internal error 1007 when fed a long stream (> 48MB)
- of byte 251. Also print useful message suggesting that 1007s may be
- caused by bad memory.
- (noticed by Juan Pedro Vallejo, fixed by me)
-
-* Fix uninitialised variable silly bug in demo prog dlltest.c.
- (Jorj Bauer)
-
-* Remove 512-MB limitation on recovered file size for bzip2recover
- on selected platforms which support 64-bit ints. At the moment
- all GCC supported platforms, and Win32.
- (me, Alson van der Meulen)
-
-* Hard-code header byte values, to give correct operation on platforms
- using EBCDIC as their native character set (IBM's OS/390).
- (Leland Lucius)
-
-* Copy file access times correctly.
- (Marty Leisner)
-
-* Add distclean and check targets to Makefile.
- (Michael Carmack)
-
-* Parameterise use of ar and ranlib in Makefile. Also add $(LDFLAGS).
- (Rich Ireland, Bo Thorsen)
-
-* Pass -p (create parent dirs as needed) to mkdir during make install.
- (Jeremy Fusco)
-
-* Dereference symlinks when copying file permissions in -f mode.
- (Volker Schmidt)
-
-* Majorly simplify implementation of uInt64_qrm10.
- (Bo Lindbergh)
-
-* Check the input file still exists before deleting the output one,
- when aborting in cleanUpAndFail().
- (Joerg Prante, Robert Linden, Matthias Krings)
-
-Also a bunch of patches courtesy of Philippe Troin, the Debian maintainer
-of bzip2:
-
-* Wrapper scripts (with manpages): bzdiff, bzgrep, bzmore.
-
-* Spelling changes and minor enhancements in bzip2.1.
-
-* Avoid race condition between creating the output file and setting its
- interim permissions safely, by using fopen_output_safely().
- No changes to bzip2recover since there is no issue with file
- permissions there.
-
-* do not print senseless report with -v when compressing an empty
- file.
-
-* bzcat -f works on non-bzip2 files.
-
-* do not try to escape shell meta-characters on unix (the shell takes
- care of these).
-
-* added --fast and --best aliases for -1 -9 for gzip compatibility.
-
-
-1.0.3 (15 Feb 05)
-~~~~~~~~~~~~~~~~~
-Fixes some minor bugs since the last version, 1.0.2.
-
-* Further robustification against corrupted compressed data.
- There are currently no known bitstreams which can cause the
- decompressor to crash, loop or access memory which does not
- belong to it. If you are using bzip2 or the library to
- decompress bitstreams from untrusted sources, an upgrade
- to 1.0.3 is recommended. This fixes CAN-2005-1260.
-
-* The documentation has been converted to XML, from which html
- and pdf can be derived.
-
-* Various minor bugs in the documentation have been fixed.
-
-* Fixes for various compilation warnings with newer versions of
- gcc, and on 64-bit platforms.
-
-* The BZ_NO_STDIO cpp symbol was not properly observed in 1.0.2.
- This has been fixed.
-
-
-1.0.4 (20 Dec 06)
-~~~~~~~~~~~~~~~~~
-Fixes some minor bugs since the last version, 1.0.3.
-
-* Fix file permissions race problem (CAN-2005-0953).
-
-* Avoid possible segfault in BZ2_bzclose. From Coverity's NetBSD
- scan.
-
-* 'const'/prototype cleanups in the C code.
-
-* Change default install location to /usr/local, and handle multiple
- 'make install's without error.
-
-* Sanitise file names more carefully in bzgrep. Fixes CAN-2005-0758
- to the extent that applies to bzgrep.
-
-* Use 'mktemp' rather than 'tempfile' in bzdiff.
-
-* Tighten up a couple of assertions in blocksort.c following automated
- analysis.
-
-* Fix minor doc/comment bugs.
-
-
-1.0.5 (10 Dec 07)
-~~~~~~~~~~~~~~~~~
-Security fix only. Fixes CERT-FI 20469 as it applies to bzip2.
-
diff --git a/Utilities/cmbzip2/CMakeLists.txt b/Utilities/cmbzip2/CMakeLists.txt
index 2aff69c..cb4a038 100644
--- a/Utilities/cmbzip2/CMakeLists.txt
+++ b/Utilities/cmbzip2/CMakeLists.txt
@@ -1,4 +1,13 @@
project(bzip2)
+
+# Disable warnings to avoid changing 3rd party code.
+if(CMAKE_C_COMPILER_ID MATCHES
+ "^(GNU|Clang|AppleClang|XLClang|XL|VisualAge|SunPro|HP|Intel)$")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
+elseif(CMAKE_C_COMPILER_ID STREQUAL "PathScale")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -woffall")
+endif()
+
add_definitions(-D_FILE_OFFSET_BITS=64)
add_library(cmbzip2
blocksort.c huffman.c crctable.c randtable.c compress.c decompress.c bzlib.c)
diff --git a/Utilities/cmbzip2/LICENSE b/Utilities/cmbzip2/LICENSE
index f420cff..81a37ea 100644
--- a/Utilities/cmbzip2/LICENSE
+++ b/Utilities/cmbzip2/LICENSE
@@ -2,7 +2,7 @@
--------------------------------------------------------------------------
This program, "bzip2", the associated library "libbzip2", and all
-documentation, are copyright (C) 1996-2007 Julian R Seward. All
+documentation, are copyright (C) 1996-2019 Julian R Seward. All
rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -36,7 +36,7 @@ WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-Julian Seward, jseward@bzip.org
-bzip2/libbzip2 version 1.0.5 of 10 December 2007
+Julian Seward, jseward@acm.org
+bzip2/libbzip2 version 1.0.8 of 13 July 2019
--------------------------------------------------------------------------
diff --git a/Utilities/cmbzip2/Makefile-libbz2_so b/Utilities/cmbzip2/Makefile-libbz2_so
deleted file mode 100644
index 8370887..0000000
--- a/Utilities/cmbzip2/Makefile-libbz2_so
+++ /dev/null
@@ -1,59 +0,0 @@
-
-# This Makefile builds a shared version of the library,
-# libbz2.so.1.0.4, with soname libbz2.so.1.0,
-# at least on x86-Linux (RedHat 7.2),
-# with gcc-2.96 20000731 (Red Hat Linux 7.1 2.96-98).
-# Please see the README file for some important info
-# about building the library like this.
-
-# ------------------------------------------------------------------
-# This file is part of bzip2/libbzip2, a program and library for
-# lossless, block-sorting data compression.
-#
-# bzip2/libbzip2 version 1.0.5 of 10 December 2007
-# Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
-#
-# Please read the WARNING, DISCLAIMER and PATENTS sections in the
-# README file.
-#
-# This program is released under the terms of the license contained
-# in the file LICENSE.
-# ------------------------------------------------------------------
-
-
-SHELL=/bin/sh
-CC=gcc
-BIGFILES=-D_FILE_OFFSET_BITS=64
-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
-
-OBJS= blocksort.o \
- huffman.o \
- crctable.o \
- randtable.o \
- compress.o \
- decompress.o \
- bzlib.o
-
-all: $(OBJS)
- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.4 $(OBJS)
- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.4
- rm -f libbz2.so.1.0
- ln -s libbz2.so.1.0.4 libbz2.so.1.0
-
-clean:
- rm -f $(OBJS) bzip2.o libbz2.so.1.0.4 libbz2.so.1.0 bzip2-shared
-
-blocksort.o: blocksort.c
- $(CC) $(CFLAGS) -c blocksort.c
-huffman.o: huffman.c
- $(CC) $(CFLAGS) -c huffman.c
-crctable.o: crctable.c
- $(CC) $(CFLAGS) -c crctable.c
-randtable.o: randtable.c
- $(CC) $(CFLAGS) -c randtable.c
-compress.o: compress.c
- $(CC) $(CFLAGS) -c compress.c
-decompress.o: decompress.c
- $(CC) $(CFLAGS) -c decompress.c
-bzlib.o: bzlib.c
- $(CC) $(CFLAGS) -c bzlib.c
diff --git a/Utilities/cmbzip2/README b/Utilities/cmbzip2/README
index e17a84e..b9c6099 100644
--- a/Utilities/cmbzip2/README
+++ b/Utilities/cmbzip2/README
@@ -6,8 +6,8 @@ This version is fully compatible with the previous public releases.
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
-bzip2/libbzip2 version 1.0.5 of 10 December 2007
-Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+bzip2/libbzip2 version 1.0.8 of 13 July 2019
+Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in this file.
@@ -73,7 +73,7 @@ HOW TO BUILD -- Windows 95, NT, DOS, Mac, etc.
It's difficult for me to support compilation on all these platforms.
My approach is to collect binaries for these platforms, and put them
-on the master web site (http://www.bzip.org). Look there. However
+on the master web site (https://sourceware.org/bzip2/). Look there. However
(FWIW), bzip2-1.0.X is very standard ANSI C and should compile
unmodified with MS Visual C. If you have difficulties building, you
might want to read README.COMPILATION.PROBLEMS.
@@ -161,39 +161,22 @@ WHAT'S NEW IN 0.9.5 ?
* Many small improvements in file and flag handling.
* A Y2K statement.
-WHAT'S NEW IN 1.0.0 ?
+WHAT'S NEW IN 1.0.x ?
See the CHANGES file.
-WHAT'S NEW IN 1.0.2 ?
-
- See the CHANGES file.
-
-WHAT'S NEW IN 1.0.3 ?
-
- See the CHANGES file.
-
-WHAT'S NEW IN 1.0.4 ?
-
- See the CHANGES file.
-
-WHAT'S NEW IN 1.0.5 ?
-
- See the CHANGES file.
-
-
-I hope you find bzip2 useful. Feel free to contact me at
- jseward@bzip.org
+I hope you find bzip2 useful. Feel free to contact the developers at
+ bzip2-devel@sourceware.org
if you have any suggestions or queries. Many people mailed me with
comments, suggestions and patches after the releases of bzip-0.15,
bzip-0.21, and bzip2 versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
1.0.2 and 1.0.3, and the changes in bzip2 are largely a result of this
feedback. I thank you for your comments.
-bzip2's "home" is http://www.bzip.org/
+bzip2's "home" is https://sourceware.org/bzip2/
Julian Seward
-jseward@bzip.org
+jseward@acm.org
Cambridge, UK.
18 July 1996 (version 0.15)
@@ -208,3 +191,6 @@ Cambridge, UK.
15 February 2005 (bzip2, version 1.0.3)
20 December 2006 (bzip2, version 1.0.4)
10 December 2007 (bzip2, version 1.0.5)
+ 6 Sept 2010 (bzip2, version 1.0.6)
+27 June 2019 (bzip2, version 1.0.7)
+13 July 2019 (bzip2, version 1.0.8)
diff --git a/Utilities/cmbzip2/README.COMPILATION.PROBLEMS b/Utilities/cmbzip2/README.COMPILATION.PROBLEMS
deleted file mode 100644
index 22b95c6..0000000
--- a/Utilities/cmbzip2/README.COMPILATION.PROBLEMS
+++ /dev/null
@@ -1,58 +0,0 @@
-------------------------------------------------------------------
-This file is part of bzip2/libbzip2, a program and library for
-lossless, block-sorting data compression.
-
-bzip2/libbzip2 version 1.0.5 of 10 December 2007
-Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
-
-Please read the WARNING, DISCLAIMER and PATENTS sections in the
-README file.
-
-This program is released under the terms of the license contained
-in the file LICENSE.
-------------------------------------------------------------------
-
-bzip2-1.0.5 should compile without problems on the vast majority of
-platforms. Using the supplied Makefile, I've built and tested it
-myself for x86-linux and amd64-linux. With makefile.msc, Visual C++
-6.0 and nmake, you can build a native Win32 version too. Large file
-support seems to work correctly on at least on amd64-linux.
-
-When I say "large file" I mean a file of size 2,147,483,648 (2^31)
-bytes or above. Many older OSs can't handle files above this size,
-but many newer ones can. Large files are pretty huge -- most files
-you'll encounter are not Large Files.
-
-Early versions of bzip2 (0.1, 0.9.0, 0.9.5) compiled on a wide variety
-of platforms without difficulty, and I hope this version will continue
-in that tradition. However, in order to support large files, I've had
-to include the define -D_FILE_OFFSET_BITS=64 in the Makefile. This
-can cause problems.
-
-The technique of adding -D_FILE_OFFSET_BITS=64 to get large file
-support is, as far as I know, the Recommended Way to get correct large
-file support. For more details, see the Large File Support
-Specification, published by the Large File Summit, at
-
- http://ftp.sas.com/standards/large.file
-
-As a general comment, if you get compilation errors which you think
-are related to large file support, try removing the above define from
-the Makefile, ie, delete the line
-
- BIGFILES=-D_FILE_OFFSET_BITS=64
-
-from the Makefile, and do 'make clean ; make'. This will give you a
-version of bzip2 without large file support, which, for most
-applications, is probably not a problem.
-
-Alternatively, try some of the platform-specific hints listed below.
-
-You can use the spewG.c program to generate huge files to test bzip2's
-large file support, if you are feeling paranoid. Be aware though that
-any compilation problems which affect bzip2 will also affect spewG.c,
-alas.
-
-AIX: I have reports that for large file support, you need to specify
--D_LARGE_FILES rather than -D_FILE_OFFSET_BITS=64. I have not tested
-this myself.
diff --git a/Utilities/cmbzip2/README.XML.STUFF b/Utilities/cmbzip2/README.XML.STUFF
deleted file mode 100644
index 1a5b4c5..0000000
--- a/Utilities/cmbzip2/README.XML.STUFF
+++ /dev/null
@@ -1,45 +0,0 @@
- ----------------------------------------------------------------
- This file is part of bzip2/libbzip2, a program and library for
- lossless, block-sorting data compression.
-
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
-
- Please read the WARNING, DISCLAIMER and PATENTS sections in the
- README file.
-
- This program is released under the terms of the license contained
- in the file LICENSE.
- ----------------------------------------------------------------
-
-The script xmlproc.sh takes an xml file as input,
-and processes it to create .pdf, .html or .ps output.
-It uses format.pl, a perl script to format <pre> blocks nicely,
- and add CDATA tags so writers do not have to use eg. &lt;
-
-The file "entities.xml" must be edited to reflect current
-version, year, etc.
-
-
-Usage:
-
- ./xmlproc.sh -v manual.xml
- Validates an xml file to ensure no dtd-compliance errors
-
- ./xmlproc.sh -html manual.xml
- Output: manual.html
-
- ./xmlproc.sh -pdf manual.xml
- Output: manual.pdf
-
- ./xmlproc.sh -ps manual.xml
- Output: manual.ps
-
-
-Notum bene:
-- pdfxmltex barfs if given a filename with an underscore in it
-
-- xmltex won't work yet - there's a bug in passivetex
- which we are all waiting for Sebastian to fix.
- So we are going the xml -> pdf -> ps route for the time being,
- using pdfxmltex.
diff --git a/Utilities/cmbzip2/blocksort.c b/Utilities/cmbzip2/blocksort.c
index 95adb5e..92d81fe 100644
--- a/Utilities/cmbzip2/blocksort.c
+++ b/Utilities/cmbzip2/blocksort.c
@@ -8,8 +8,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
@@ -202,9 +202,9 @@ void fallbackQSort3 ( UInt32* fmap,
bhtab [ 0 .. 2+(nblock/32) ] destroyed
*/
-#define SET_BH(zz) bhtab[(zz) >> 5] |= (1 << ((zz) & 31))
-#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~(1 << ((zz) & 31))
-#define ISSET_BH(zz) (bhtab[(zz) >> 5] & (1 << ((zz) & 31)))
+#define SET_BH(zz) bhtab[(zz) >> 5] |= ((UInt32)1 << ((zz) & 31))
+#define CLEAR_BH(zz) bhtab[(zz) >> 5] &= ~((UInt32)1 << ((zz) & 31))
+#define ISSET_BH(zz) (bhtab[(zz) >> 5] & ((UInt32)1 << ((zz) & 31)))
#define WORD_BH(zz) bhtab[(zz) >> 5]
#define UNALIGNED_BH(zz) ((zz) & 0x01f)
@@ -274,7 +274,7 @@ void fallbackSort ( UInt32* fmap,
r = -1;
while (1) {
- /*-- find the next non-singleton bucket --*/
+ /*-- find the next non-singleton bucket --*/
k = r + 1;
while (ISSET_BH(k) && UNALIGNED_BH(k)) k++;
if (ISSET_BH(k)) {
diff --git a/Utilities/cmbzip2/bz-common.xsl b/Utilities/cmbzip2/bz-common.xsl
deleted file mode 100644
index 66fcd6f..0000000
--- a/Utilities/cmbzip2/bz-common.xsl
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0"?> <!-- -*- sgml -*- -->
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<!-- we like '1.2 Title' -->
-<xsl:param name="section.autolabel" select="'1'"/>
-<xsl:param name="section.label.includes.component.label" select="'1'"/>
-
-<!-- Do not put 'Chapter' at the start of eg 'Chapter 1. Doing This' -->
-<xsl:param name="local.l10n.xml" select="document('')"/>
-<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
- <l:l10n language="en">
- <l:context name="title-numbered">
- <l:template name="chapter" text="%n.&#160;%t"/>
- </l:context>
- </l:l10n>
-</l:i18n>
-
-<!-- don't generate sub-tocs for qanda sets -->
-<xsl:param name="generate.toc">
-set toc,title
-book toc,title,figure,table,example,equation
-chapter toc,title
-section toc
-sect1 toc
-sect2 toc
-sect3 toc
-sect4 nop
-sect5 nop
-qandaset toc
-qandadiv nop
-appendix toc,title
-article/appendix nop
-article toc,title
-preface toc,title
-reference toc,title
-</xsl:param>
-
-</xsl:stylesheet>
diff --git a/Utilities/cmbzip2/bz-fo.xsl b/Utilities/cmbzip2/bz-fo.xsl
deleted file mode 100644
index ba3e301..0000000
--- a/Utilities/cmbzip2/bz-fo.xsl
+++ /dev/null
@@ -1,276 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?> <!-- -*- sgml -*- -->
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
-
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl"/>
-<xsl:import href="bz-common.xsl"/>
-
-<!-- set indent = yes while debugging, then change to NO -->
-<xsl:output method="xml" indent="yes"/>
-
-<!-- ensure only passivetex extensions are on -->
-<xsl:param name="stylesheet.result.type" select="'fo'"/>
-<!-- fo extensions: PDF bookmarks and index terms -->
-<xsl:param name="use.extensions" select="'1'"/>
-<xsl:param name="xep.extensions" select="0"/>
-<xsl:param name="fop.extensions" select="0"/>
-<xsl:param name="saxon.extensions" select="0"/>
-<xsl:param name="passivetex.extensions" select="1"/>
-<xsl:param name="tablecolumns.extension" select="'1'"/>
-
-<!-- ensure we are using single sided -->
-<xsl:param name="double.sided" select="'0'"/>
-
-<!-- insert cross references to page numbers -->
-<xsl:param name="insert.xref.page.number" select="1"/>
-
-<!-- <?custom-pagebreak?> inserts a page break at this point -->
-<xsl:template match="processing-instruction('custom-pagebreak')">
- <fo:block break-before='page'/>
-</xsl:template>
-
-<!-- show links in color -->
-<xsl:attribute-set name="xref.properties">
- <xsl:attribute name="color">blue</xsl:attribute>
-</xsl:attribute-set>
-
-<!-- make pre listings indented a bit + a bg colour -->
-<xsl:template match="programlisting | screen">
- <fo:block start-indent="0.25in" wrap-option="no-wrap"
- white-space-collapse="false" text-align="start"
- font-family="monospace" background-color="#f2f2f9"
- linefeed-treatment="preserve"
- xsl:use-attribute-sets="normal.para.spacing">
- <xsl:apply-templates/>
- </fo:block>
-</xsl:template>
-<!-- make verbatim output prettier -->
-<xsl:template match="literallayout">
- <fo:block start-indent="0.25in" wrap-option="no-wrap"
- white-space-collapse="false" text-align="start"
- font-family="monospace" background-color="#edf7f4"
- linefeed-treatment="preserve"
- space-before="0em" space-after="0em">
- <xsl:apply-templates/>
- </fo:block>
-</xsl:template>
-
-<!-- workaround bug in passivetex fo output for itemizedlist -->
-<xsl:template match="itemizedlist/listitem">
- <xsl:variable name="id">
- <xsl:call-template name="object.id"/></xsl:variable>
- <xsl:variable name="itemsymbol">
- <xsl:call-template name="list.itemsymbol">
- <xsl:with-param name="node" select="parent::itemizedlist"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="item.contents">
- <fo:list-item-label end-indent="label-end()">
- <fo:block>
- <xsl:choose>
- <xsl:when test="$itemsymbol='disc'">&#x2022;</xsl:when>
- <xsl:when test="$itemsymbol='bullet'">&#x2022;</xsl:when>
- <xsl:otherwise>&#x2022;</xsl:otherwise>
- </xsl:choose>
- </fo:block>
- </fo:list-item-label>
- <fo:list-item-body start-indent="body-start()">
- <xsl:apply-templates/> <!-- removed extra block wrapper -->
- </fo:list-item-body>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="parent::*/@spacing = 'compact'">
- <fo:list-item id="{$id}"
- xsl:use-attribute-sets="compact.list.item.spacing">
- <xsl:copy-of select="$item.contents"/>
- </fo:list-item>
- </xsl:when>
- <xsl:otherwise>
- <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
- <xsl:copy-of select="$item.contents"/>
- </fo:list-item>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<!-- workaround bug in passivetex fo output for orderedlist -->
-<xsl:template match="orderedlist/listitem">
- <xsl:variable name="id">
- <xsl:call-template name="object.id"/></xsl:variable>
- <xsl:variable name="item.contents">
- <fo:list-item-label end-indent="label-end()">
- <fo:block>
- <xsl:apply-templates select="." mode="item-number"/>
- </fo:block>
- </fo:list-item-label>
- <fo:list-item-body start-indent="body-start()">
- <xsl:apply-templates/> <!-- removed extra block wrapper -->
- </fo:list-item-body>
- </xsl:variable>
- <xsl:choose>
- <xsl:when test="parent::*/@spacing = 'compact'">
- <fo:list-item id="{$id}"
- xsl:use-attribute-sets="compact.list.item.spacing">
- <xsl:copy-of select="$item.contents"/>
- </fo:list-item>
- </xsl:when>
- <xsl:otherwise>
- <fo:list-item id="{$id}" xsl:use-attribute-sets="list.item.spacing">
- <xsl:copy-of select="$item.contents"/>
- </fo:list-item>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<!-- workaround bug in passivetex fo output for variablelist -->
-<xsl:param name="variablelist.as.blocks" select="1"/>
-<xsl:template match="varlistentry" mode="vl.as.blocks">
- <xsl:variable name="id">
- <xsl:call-template name="object.id"/></xsl:variable>
- <fo:block id="{$id}" xsl:use-attribute-sets="list.item.spacing"
- keep-together.within-column="always"
- keep-with-next.within-column="always">
- <xsl:apply-templates select="term"/>
- </fo:block>
- <fo:block start-indent="0.5in" end-indent="0in"
- space-after.minimum="0.2em"
- space-after.optimum="0.4em"
- space-after.maximum="0.6em">
- <fo:block>
- <xsl:apply-templates select="listitem"/>
- </fo:block>
- </fo:block>
-</xsl:template>
-
-
-<!-- workaround bug in footers: force right-align w/two 80|30 cols -->
-<xsl:template name="footer.table">
- <xsl:param name="pageclass" select="''"/>
- <xsl:param name="sequence" select="''"/>
- <xsl:param name="gentext-key" select="''"/>
- <xsl:choose>
- <xsl:when test="$pageclass = 'index'">
- <xsl:attribute name="margin-left">0pt</xsl:attribute>
- </xsl:when>
- </xsl:choose>
- <xsl:variable name="candidate">
- <fo:table table-layout="fixed" width="100%">
- <fo:table-column column-number="1" column-width="80%"/>
- <fo:table-column column-number="2" column-width="20%"/>
- <fo:table-body>
- <fo:table-row height="14pt">
- <fo:table-cell text-align="left" display-align="after">
- <xsl:attribute name="relative-align">baseline</xsl:attribute>
- <fo:block>
- <fo:block> </fo:block><!-- empty cell -->
- </fo:block>
- </fo:table-cell>
- <fo:table-cell text-align="center" display-align="after">
- <xsl:attribute name="relative-align">baseline</xsl:attribute>
- <fo:block>
- <xsl:call-template name="footer.content">
- <xsl:with-param name="pageclass" select="$pageclass"/>
- <xsl:with-param name="sequence" select="$sequence"/>
- <xsl:with-param name="position" select="'center'"/>
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
- </xsl:call-template>
- </fo:block>
- </fo:table-cell>
- </fo:table-row>
- </fo:table-body>
- </fo:table>
- </xsl:variable>
- <!-- Really output a footer? -->
- <xsl:choose>
- <xsl:when test="$pageclass='titlepage' and $gentext-key='book'
- and $sequence='first'">
- <!-- no, book titlepages have no footers at all -->
- </xsl:when>
- <xsl:when test="$sequence = 'blank' and $footers.on.blank.pages = 0">
- <!-- no output -->
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$candidate"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-
-<!-- fix bug in headers: force right-align w/two 40|60 cols -->
-<xsl:template name="header.table">
- <xsl:param name="pageclass" select="''"/>
- <xsl:param name="sequence" select="''"/>
- <xsl:param name="gentext-key" select="''"/>
- <xsl:choose>
- <xsl:when test="$pageclass = 'index'">
- <xsl:attribute name="margin-left">0pt</xsl:attribute>
- </xsl:when>
- </xsl:choose>
- <xsl:variable name="candidate">
- <fo:table table-layout="fixed" width="100%">
- <xsl:call-template name="head.sep.rule">
- <xsl:with-param name="pageclass" select="$pageclass"/>
- <xsl:with-param name="sequence" select="$sequence"/>
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
- </xsl:call-template>
- <fo:table-column column-number="1" column-width="40%"/>
- <fo:table-column column-number="2" column-width="60%"/>
- <fo:table-body>
- <fo:table-row height="14pt">
- <fo:table-cell text-align="left" display-align="before">
- <xsl:attribute name="relative-align">baseline</xsl:attribute>
- <fo:block>
- <fo:block> </fo:block><!-- empty cell -->
- </fo:block>
- </fo:table-cell>
- <fo:table-cell text-align="center" display-align="before">
- <xsl:attribute name="relative-align">baseline</xsl:attribute>
- <fo:block>
- <xsl:call-template name="header.content">
- <xsl:with-param name="pageclass" select="$pageclass"/>
- <xsl:with-param name="sequence" select="$sequence"/>
- <xsl:with-param name="position" select="'center'"/>
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
- </xsl:call-template>
- </fo:block>
- </fo:table-cell>
- </fo:table-row>
- </fo:table-body>
- </fo:table>
- </xsl:variable>
- <!-- Really output a header? -->
- <xsl:choose>
- <xsl:when test="$pageclass = 'titlepage' and $gentext-key = 'book'
- and $sequence='first'">
- <!-- no, book titlepages have no headers at all -->
- </xsl:when>
- <xsl:when test="$sequence = 'blank' and $headers.on.blank.pages = 0">
- <!-- no output -->
- </xsl:when>
- <xsl:otherwise>
- <xsl:copy-of select="$candidate"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-
-<!-- Bug-fix for Suse 10 PassiveTex version -->
-<!-- Precompute attribute values 'cos PassiveTex is too stupid: -->
-<xsl:attribute-set name="component.title.properties">
- <xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
- <xsl:attribute name="space-before.optimum">
- <xsl:value-of select="concat($body.font.master, 'pt')"/>
- </xsl:attribute>
- <xsl:attribute name="space-before.minimum">
- <xsl:value-of select="$body.font.master * 0.8"/>
- <xsl:text>pt</xsl:text>
- </xsl:attribute>
- <xsl:attribute name="space-before.maximum">
- <xsl:value-of select="$body.font.master * 1.2"/>
- <xsl:text>pt</xsl:text>
- </xsl:attribute>
- <xsl:attribute name="hyphenate">false</xsl:attribute>
-</xsl:attribute-set>
-
-
-</xsl:stylesheet>
diff --git a/Utilities/cmbzip2/bz-html.xsl b/Utilities/cmbzip2/bz-html.xsl
deleted file mode 100644
index 1785fff..0000000
--- a/Utilities/cmbzip2/bz-html.xsl
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?> <!-- -*- sgml -*- -->
-<!DOCTYPE xsl:stylesheet [ <!ENTITY bz-css SYSTEM "./bzip.css"> ]>
-
-<xsl:stylesheet
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
-
-<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl"/>
-<xsl:import href="bz-common.xsl"/>
-
-<!-- use 8859-1 encoding -->
-<xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>
-
-<!-- we include the css directly when generating one large file -->
-<xsl:template name="user.head.content">
- <style type="text/css" media="screen">
- <xsl:text>&bz-css;</xsl:text>
- </style>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/Utilities/cmbzip2/bzdiff b/Utilities/cmbzip2/bzdiff
deleted file mode 100644
index c4c9964..0000000
--- a/Utilities/cmbzip2/bzdiff
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/bin/sh
-# sh is buggy on RS/6000 AIX 3.2. Replace above line with #!/bin/ksh
-
-# Bzcmp/diff wrapped for bzip2,
-# adapted from zdiff by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-
-# Bzcmp and bzdiff are used to invoke the cmp or the diff pro-
-# gram on compressed files. All options specified are passed
-# directly to cmp or diff. If only 1 file is specified, then
-# the files compared are file1 and an uncompressed file1.gz.
-# If two files are specified, then they are uncompressed (if
-# necessary) and fed to cmp or diff. The exit status from cmp
-# or diff is preserved.
-
-PATH="/usr/bin:/bin:$PATH"; export PATH
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
- *cmp) comp=${CMP-cmp} ;;
- *) comp=${DIFF-diff} ;;
-esac
-
-OPTIONS=
-FILES=
-for ARG
-do
- case "$ARG" in
- -*) OPTIONS="$OPTIONS $ARG";;
- *) if test -f "$ARG"; then
- FILES="$FILES $ARG"
- else
- echo "${prog}: $ARG not found or not a regular file"
- exit 1
- fi ;;
- esac
-done
-if test -z "$FILES"; then
- echo "Usage: $prog [${comp}_options] file [file]"
- exit 1
-fi
-tmp=`mktemp ${TMPDIR:-/tmp}/bzdiff.XXXXXXXXXX` || {
- echo 'cannot create a temporary file' >&2
- exit 1
-}
-set $FILES
-if test $# -eq 1; then
- FILE=`echo "$1" | sed 's/.bz2$//'`
- bzip2 -cd "$FILE.bz2" | $comp $OPTIONS - "$FILE"
- STAT="$?"
-
-elif test $# -eq 2; then
- case "$1" in
- *.bz2)
- case "$2" in
- *.bz2)
- F=`echo "$2" | sed 's|.*/||;s|.bz2$||'`
- bzip2 -cdfq "$2" > $tmp
- bzip2 -cdfq "$1" | $comp $OPTIONS - $tmp
- STAT="$?"
- /bin/rm -f $tmp;;
-
- *) bzip2 -cdfq "$1" | $comp $OPTIONS - "$2"
- STAT="$?";;
- esac;;
- *) case "$2" in
- *.bz2)
- bzip2 -cdfq "$2" | $comp $OPTIONS "$1" -
- STAT="$?";;
- *) $comp $OPTIONS "$1" "$2"
- STAT="$?";;
- esac;;
- esac
- exit "$STAT"
-else
- echo "Usage: $prog [${comp}_options] file [file]"
- exit 1
-fi
diff --git a/Utilities/cmbzip2/bzdiff.1 b/Utilities/cmbzip2/bzdiff.1
deleted file mode 100644
index adb7a8e..0000000
--- a/Utilities/cmbzip2/bzdiff.1
+++ /dev/null
@@ -1,47 +0,0 @@
-\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
-\"for Debian GNU/Linux
-.TH BZDIFF 1
-.SH NAME
-bzcmp, bzdiff \- compare bzip2 compressed files
-.SH SYNOPSIS
-.B bzcmp
-[ cmp_options ] file1
-[ file2 ]
-.br
-.B bzdiff
-[ diff_options ] file1
-[ file2 ]
-.SH DESCRIPTION
-.I Bzcmp
-and
-.I bzdiff
-are used to invoke the
-.I cmp
-or the
-.I diff
-program on bzip2 compressed files. All options specified are passed
-directly to
-.I cmp
-or
-.IR diff "."
-If only 1 file is specified, then the files compared are
-.I file1
-and an uncompressed
-.IR file1 ".bz2."
-If two files are specified, then they are uncompressed if necessary and fed to
-.I cmp
-or
-.IR diff "."
-The exit status from
-.I cmp
-or
-.I diff
-is preserved.
-.SH "SEE ALSO"
-cmp(1), diff(1), bzmore(1), bzless(1), bzgrep(1), bzip2(1)
-.SH BUGS
-Messages from the
-.I cmp
-or
-.I diff
-programs refer to temporary filenames instead of those specified.
diff --git a/Utilities/cmbzip2/bzgrep b/Utilities/cmbzip2/bzgrep
deleted file mode 100644
index 8ccf919..0000000
--- a/Utilities/cmbzip2/bzgrep
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/sh
-
-# Bzgrep wrapped for bzip2,
-# adapted from zgrep by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-## zgrep notice:
-## zgrep -- a wrapper around a grep program that decompresses files as needed
-## Adapted from a version sent by Charles Levert <charles@comm.polymtl.ca>
-
-PATH="/usr/bin:$PATH"; export PATH
-
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
- *egrep) grep=${EGREP-egrep} ;;
- *fgrep) grep=${FGREP-fgrep} ;;
- *) grep=${GREP-grep} ;;
-esac
-pat=""
-while test $# -ne 0; do
- case "$1" in
- -e | -f) opt="$opt $1"; shift; pat="$1"
- if test "$grep" = grep; then # grep is buggy with -e on SVR4
- grep=egrep
- fi;;
- -A | -B) opt="$opt $1 $2"; shift;;
- -*) opt="$opt $1";;
- *) if test -z "$pat"; then
- pat="$1"
- else
- break;
- fi;;
- esac
- shift
-done
-
-if test -z "$pat"; then
- echo "grep through bzip2 files"
- echo "usage: $prog [grep_options] pattern [files]"
- exit 1
-fi
-
-list=0
-silent=0
-op=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'`
-case "$op" in
- *l*) list=1
-esac
-case "$op" in
- *h*) silent=1
-esac
-
-if test $# -eq 0; then
- bzip2 -cdfq | $grep $opt "$pat"
- exit $?
-fi
-
-res=0
-for i do
- if test -f "$i"; then :; else if test -f "$i.bz2"; then i="$i.bz2"; fi; fi
- if test $list -eq 1; then
- bzip2 -cdfq "$i" | $grep $opt "$pat" 2>&1 > /dev/null && echo $i
- r=$?
- elif test $# -eq 1 -o $silent -eq 1; then
- bzip2 -cdfq "$i" | $grep $opt "$pat"
- r=$?
- else
- j=${i//\\/\\\\}
- j=${j//|/\\|}
- j=${j//&/\\&}
- j=`printf "%s" "$j" | tr '\n' ' '`
- bzip2 -cdfq "$i" | $grep $opt "$pat" | sed "s|^|${j}:|"
- r=$?
- fi
- test "$r" -ne 0 && res="$r"
-done
-exit $res
diff --git a/Utilities/cmbzip2/bzgrep.1 b/Utilities/cmbzip2/bzgrep.1
deleted file mode 100644
index 930af8c..0000000
--- a/Utilities/cmbzip2/bzgrep.1
+++ /dev/null
@@ -1,56 +0,0 @@
-\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
-\"for Debian GNU/Linux
-.TH BZGREP 1
-.SH NAME
-bzgrep, bzfgrep, bzegrep \- search possibly bzip2 compressed files for a regular expression
-.SH SYNOPSIS
-.B bzgrep
-[ grep_options ]
-.BI [\ -e\ ] " pattern"
-.IR filename ".\|.\|."
-.br
-.B bzegrep
-[ egrep_options ]
-.BI [\ -e\ ] " pattern"
-.IR filename ".\|.\|."
-.br
-.B bzfgrep
-[ fgrep_options ]
-.BI [\ -e\ ] " pattern"
-.IR filename ".\|.\|."
-.SH DESCRIPTION
-.IR Bzgrep
-is used to invoke the
-.I grep
-on bzip2-compressed files. All options specified are passed directly to
-.I grep.
-If no file is specified, then the standard input is decompressed
-if necessary and fed to grep.
-Otherwise the given files are uncompressed if necessary and fed to
-.I grep.
-.PP
-If
-.I bzgrep
-is invoked as
-.I bzegrep
-or
-.I bzfgrep
-then
-.I egrep
-or
-.I fgrep
-is used instead of
-.I grep.
-If the GREP environment variable is set,
-.I bzgrep
-uses it as the
-.I grep
-program to be invoked. For example:
-
- for sh: GREP=fgrep bzgrep string files
- for csh: (setenv GREP fgrep; bzgrep string files)
-.SH AUTHOR
-Charles Levert (charles@comm.polymtl.ca). Adapted to bzip2 by Philippe
-Troin <phil@fifi.org> for Debian GNU/Linux.
-.SH "SEE ALSO"
-grep(1), egrep(1), fgrep(1), bzdiff(1), bzmore(1), bzless(1), bzip2(1)
diff --git a/Utilities/cmbzip2/bzip.css b/Utilities/cmbzip2/bzip.css
deleted file mode 100644
index 4feb401..0000000
--- a/Utilities/cmbzip2/bzip.css
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Colours:
-#74240f dark brown h1, h2, h3, h4
-#336699 medium blue links
-#339999 turquoise link hover colour
-#202020 almost black general text
-#761596 purple md5sum text
-#626262 dark gray pre border
-#eeeeee very light gray pre background
-#f2f2f9 very light blue nav table background
-#3366cc medium blue nav table border
-*/
-
-a, a:link, a:visited, a:active { color: #336699; }
-a:hover { color: #339999; }
-
-body { font: 80%/126% sans-serif; }
-h1, h2, h3, h4 { color: #74240f; }
-
-dt { color: #336699; font-weight: bold }
-dd {
- margin-left: 1.5em;
- padding-bottom: 0.8em;
-}
-
-/* -- ruler -- */
-div.hr_blue {
- height: 3px;
- background:#ffffff url("/images/hr_blue.png") repeat-x; }
-div.hr_blue hr { display:none; }
-
-/* release styles */
-#release p { margin-top: 0.4em; }
-#release .md5sum { color: #761596; }
-
-
-/* ------ styles for docs|manuals|howto ------ */
-/* -- lists -- */
-ul {
- margin: 0px 4px 16px 16px;
- padding: 0px;
- list-style: url("/images/li-blue.png");
-}
-ul li {
- margin-bottom: 10px;
-}
-ul ul {
- list-style-type: none;
- list-style-image: none;
- margin-left: 0px;
-}
-
-/* header / footer nav tables */
-table.nav {
- border: solid 1px #3366cc;
- background: #f2f2f9;
- background-color: #f2f2f9;
- margin-bottom: 0.5em;
-}
-/* don't have underlined links in chunked nav menus */
-table.nav a { text-decoration: none; }
-table.nav a:hover { text-decoration: underline; }
-table.nav td { font-size: 85%; }
-
-code, tt, pre { font-size: 120%; }
-code, tt { color: #761596; }
-
-div.literallayout, pre.programlisting, pre.screen {
- color: #000000;
- padding: 0.5em;
- background: #eeeeee;
- border: 1px solid #626262;
- background-color: #eeeeee;
- margin: 4px 0px 4px 0px;
-}
diff --git a/Utilities/cmbzip2/bzip2.1 b/Utilities/cmbzip2/bzip2.1
deleted file mode 100644
index a313f2d..0000000
--- a/Utilities/cmbzip2/bzip2.1
+++ /dev/null
@@ -1,454 +0,0 @@
-.PU
-.TH bzip2 1
-.SH NAME
-bzip2, bunzip2 \- a block-sorting file compressor, v1.0.4
-.br
-bzcat \- decompresses files to stdout
-.br
-bzip2recover \- recovers data from damaged bzip2 files
-
-.SH SYNOPSIS
-.ll +8
-.B bzip2
-.RB [ " \-cdfkqstvzVL123456789 " ]
-[
-.I "filenames \&..."
-]
-.ll -8
-.br
-.B bunzip2
-.RB [ " \-fkvsVL " ]
-[
-.I "filenames \&..."
-]
-.br
-.B bzcat
-.RB [ " \-s " ]
-[
-.I "filenames \&..."
-]
-.br
-.B bzip2recover
-.I "filename"
-
-.SH DESCRIPTION
-.I bzip2
-compresses files using the Burrows-Wheeler block sorting
-text compression algorithm, and Huffman coding. Compression is
-generally considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of the PPM
-family of statistical compressors.
-
-The command-line options are deliberately very similar to
-those of
-.I GNU gzip,
-but they are not identical.
-
-.I bzip2
-expects a list of file names to accompany the
-command-line flags. Each file is replaced by a compressed version of
-itself, with the name "original_name.bz2".
-Each compressed file
-has the same modification date, permissions, and, when possible,
-ownership as the corresponding original, so that these properties can
-be correctly restored at decompression time. File name handling is
-naive in the sense that there is no mechanism for preserving original
-file names, permissions, ownerships or dates in filesystems which lack
-these concepts, or have serious file name length restrictions, such as
-MS-DOS.
-
-.I bzip2
-and
-.I bunzip2
-will by default not overwrite existing
-files. If you want this to happen, specify the \-f flag.
-
-If no file names are specified,
-.I bzip2
-compresses from standard
-input to standard output. In this case,
-.I bzip2
-will decline to
-write compressed output to a terminal, as this would be entirely
-incomprehensible and therefore pointless.
-
-.I bunzip2
-(or
-.I bzip2 \-d)
-decompresses all
-specified files. Files which were not created by
-.I bzip2
-will be detected and ignored, and a warning issued.
-.I bzip2
-attempts to guess the filename for the decompressed file
-from that of the compressed file as follows:
-
- filename.bz2 becomes filename
- filename.bz becomes filename
- filename.tbz2 becomes filename.tar
- filename.tbz becomes filename.tar
- anyothername becomes anyothername.out
-
-If the file does not end in one of the recognised endings,
-.I .bz2,
-.I .bz,
-.I .tbz2
-or
-.I .tbz,
-.I bzip2
-complains that it cannot
-guess the name of the original file, and uses the original name
-with
-.I .out
-appended.
-
-As with compression, supplying no
-filenames causes decompression from
-standard input to standard output.
-
-.I bunzip2
-will correctly decompress a file which is the
-concatenation of two or more compressed files. The result is the
-concatenation of the corresponding uncompressed files. Integrity
-testing (\-t)
-of concatenated
-compressed files is also supported.
-
-You can also compress or decompress files to the standard output by
-giving the \-c flag. Multiple files may be compressed and
-decompressed like this. The resulting outputs are fed sequentially to
-stdout. Compression of multiple files
-in this manner generates a stream
-containing multiple compressed file representations. Such a stream
-can be decompressed correctly only by
-.I bzip2
-version 0.9.0 or
-later. Earlier versions of
-.I bzip2
-will stop after decompressing
-the first file in the stream.
-
-.I bzcat
-(or
-.I bzip2 -dc)
-decompresses all specified files to
-the standard output.
-
-.I bzip2
-will read arguments from the environment variables
-.I BZIP2
-and
-.I BZIP,
-in that order, and will process them
-before any arguments read from the command line. This gives a
-convenient way to supply default arguments.
-
-Compression is always performed, even if the compressed
-file is slightly
-larger than the original. Files of less than about one hundred bytes
-tend to get larger, since the compression mechanism has a constant
-overhead in the region of 50 bytes. Random data (including the output
-of most file compressors) is coded at about 8.05 bits per byte, giving
-an expansion of around 0.5%.
-
-As a self-check for your protection,
-.I
-bzip2
-uses 32-bit CRCs to
-make sure that the decompressed version of a file is identical to the
-original. This guards against corruption of the compressed data, and
-against undetected bugs in
-.I bzip2
-(hopefully very unlikely). The
-chances of data corruption going undetected is microscopic, about one
-chance in four billion for each file processed. Be aware, though, that
-the check occurs upon decompression, so it can only tell you that
-something is wrong. It can't help you
-recover the original uncompressed
-data. You can use
-.I bzip2recover
-to try to recover data from
-damaged files.
-
-Return values: 0 for a normal exit, 1 for environmental problems (file
-not found, invalid flags, I/O errors, &c), 2 to indicate a corrupt
-compressed file, 3 for an internal consistency error (eg, bug) which
-caused
-.I bzip2
-to panic.
-
-.SH OPTIONS
-.TP
-.B \-c --stdout
-Compress or decompress to standard output.
-.TP
-.B \-d --decompress
-Force decompression.
-.I bzip2,
-.I bunzip2
-and
-.I bzcat
-are
-really the same program, and the decision about what actions to take is
-done on the basis of which name is used. This flag overrides that
-mechanism, and forces
-.I bzip2
-to decompress.
-.TP
-.B \-z --compress
-The complement to \-d: forces compression, regardless of the
-invocation name.
-.TP
-.B \-t --test
-Check integrity of the specified file(s), but don't decompress them.
-This really performs a trial decompression and throws away the result.
-.TP
-.B \-f --force
-Force overwrite of output files. Normally,
-.I bzip2
-will not overwrite
-existing output files. Also forces
-.I bzip2
-to break hard links
-to files, which it otherwise wouldn't do.
-
-bzip2 normally declines to decompress files which don't have the
-correct magic header bytes. If forced (-f), however, it will pass
-such files through unmodified. This is how GNU gzip behaves.
-.TP
-.B \-k --keep
-Keep (don't delete) input files during compression
-or decompression.
-.TP
-.B \-s --small
-Reduce memory usage, for compression, decompression and testing. Files
-are decompressed and tested using a modified algorithm which only
-requires 2.5 bytes per block byte. This means any file can be
-decompressed in 2300k of memory, albeit at about half the normal speed.
-
-During compression, \-s selects a block size of 200k, which limits
-memory use to around the same figure, at the expense of your compression
-ratio. In short, if your machine is low on memory (8 megabytes or
-less), use \-s for everything. See MEMORY MANAGEMENT below.
-.TP
-.B \-q --quiet
-Suppress non-essential warning messages. Messages pertaining to
-I/O errors and other critical events will not be suppressed.
-.TP
-.B \-v --verbose
-Verbose mode -- show the compression ratio for each file processed.
-Further \-v's increase the verbosity level, spewing out lots of
-information which is primarily of interest for diagnostic purposes.
-.TP
-.B \-L --license -V --version
-Display the software version, license terms and conditions.
-.TP
-.B \-1 (or \-\-fast) to \-9 (or \-\-best)
-Set the block size to 100 k, 200 k .. 900 k when compressing. Has no
-effect when decompressing. See MEMORY MANAGEMENT below.
-The \-\-fast and \-\-best aliases are primarily for GNU gzip
-compatibility. In particular, \-\-fast doesn't make things
-significantly faster.
-And \-\-best merely selects the default behaviour.
-.TP
-.B \--
-Treats all subsequent arguments as file names, even if they start
-with a dash. This is so you can handle files with names beginning
-with a dash, for example: bzip2 \-- \-myfilename.
-.TP
-.B \--repetitive-fast --repetitive-best
-These flags are redundant in versions 0.9.5 and above. They provided
-some coarse control over the behaviour of the sorting algorithm in
-earlier versions, which was sometimes useful. 0.9.5 and above have an
-improved algorithm which renders these flags irrelevant.
-
-.SH MEMORY MANAGEMENT
-.I bzip2
-compresses large files in blocks. The block size affects
-both the compression ratio achieved, and the amount of memory needed for
-compression and decompression. The flags \-1 through \-9
-specify the block size to be 100,000 bytes through 900,000 bytes (the
-default) respectively. At decompression time, the block size used for
-compression is read from the header of the compressed file, and
-.I bunzip2
-then allocates itself just enough memory to decompress
-the file. Since block sizes are stored in compressed files, it follows
-that the flags \-1 to \-9 are irrelevant to and so ignored
-during decompression.
-
-Compression and decompression requirements,
-in bytes, can be estimated as:
-
- Compression: 400k + ( 8 x block size )
-
- Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )
-
-Larger block sizes give rapidly diminishing marginal returns. Most of
-the compression comes from the first two or three hundred k of block
-size, a fact worth bearing in mind when using
-.I bzip2
-on small machines.
-It is also important to appreciate that the decompression memory
-requirement is set at compression time by the choice of block size.
-
-For files compressed with the default 900k block size,
-.I bunzip2
-will require about 3700 kbytes to decompress. To support decompression
-of any file on a 4 megabyte machine,
-.I bunzip2
-has an option to
-decompress using approximately half this amount of memory, about 2300
-kbytes. Decompression speed is also halved, so you should use this
-option only where necessary. The relevant flag is -s.
-
-In general, try and use the largest block size memory constraints allow,
-since that maximises the compression achieved. Compression and
-decompression speed are virtually unaffected by block size.
-
-Another significant point applies to files which fit in a single block
--- that means most files you'd encounter using a large block size. The
-amount of real memory touched is proportional to the size of the file,
-since the file is smaller than a block. For example, compressing a file
-20,000 bytes long with the flag -9 will cause the compressor to
-allocate around 7600k of memory, but only touch 400k + 20000 * 8 = 560
-kbytes of it. Similarly, the decompressor will allocate 3700k but only
-touch 100k + 20000 * 4 = 180 kbytes.
-
-Here is a table which summarises the maximum memory usage for different
-block sizes. Also recorded is the total compressed size for 14 files of
-the Calgary Text Compression Corpus totalling 3,141,622 bytes. This
-column gives some feel for how compression varies with block size.
-These figures tend to understate the advantage of larger block sizes for
-larger files, since the Corpus is dominated by smaller files.
-
- Compress Decompress Decompress Corpus
- Flag usage usage -s usage Size
-
- -1 1200k 500k 350k 914704
- -2 2000k 900k 600k 877703
- -3 2800k 1300k 850k 860338
- -4 3600k 1700k 1100k 846899
- -5 4400k 2100k 1350k 845160
- -6 5200k 2500k 1600k 838626
- -7 6100k 2900k 1850k 834096
- -8 6800k 3300k 2100k 828642
- -9 7600k 3700k 2350k 828642
-
-.SH RECOVERING DATA FROM DAMAGED FILES
-.I bzip2
-compresses files in blocks, usually 900kbytes long. Each
-block is handled independently. If a media or transmission error causes
-a multi-block .bz2
-file to become damaged, it may be possible to
-recover data from the undamaged blocks in the file.
-
-The compressed representation of each block is delimited by a 48-bit
-pattern, which makes it possible to find the block boundaries with
-reasonable certainty. Each block also carries its own 32-bit CRC, so
-damaged blocks can be distinguished from undamaged ones.
-
-.I bzip2recover
-is a simple program whose purpose is to search for
-blocks in .bz2 files, and write each block out into its own .bz2
-file. You can then use
-.I bzip2
-\-t
-to test the
-integrity of the resulting files, and decompress those which are
-undamaged.
-
-.I bzip2recover
-takes a single argument, the name of the damaged file,
-and writes a number of files "rec00001file.bz2",
-"rec00002file.bz2", etc, containing the extracted blocks.
-The output filenames are designed so that the use of
-wildcards in subsequent processing -- for example,
-"bzip2 -dc rec*file.bz2 > recovered_data" -- processes the files in
-the correct order.
-
-.I bzip2recover
-should be of most use dealing with large .bz2
-files, as these will contain many blocks. It is clearly
-futile to use it on damaged single-block files, since a
-damaged block cannot be recovered. If you wish to minimise
-any potential data loss through media or transmission errors,
-you might consider compressing with a smaller
-block size.
-
-.SH PERFORMANCE NOTES
-The sorting phase of compression gathers together similar strings in the
-file. Because of this, files containing very long runs of repeated
-symbols, like "aabaabaabaab ..." (repeated several hundred times) may
-compress more slowly than normal. Versions 0.9.5 and above fare much
-better than previous versions in this respect. The ratio between
-worst-case and average-case compression time is in the region of 10:1.
-For previous versions, this figure was more like 100:1. You can use the
-\-vvvv option to monitor progress in great detail, if you want.
-
-Decompression speed is unaffected by these phenomena.
-
-.I bzip2
-usually allocates several megabytes of memory to operate
-in, and then charges all over it in a fairly random fashion. This means
-that performance, both for compressing and decompressing, is largely
-determined by the speed at which your machine can service cache misses.
-Because of this, small changes to the code to reduce the miss rate have
-been observed to give disproportionately large performance improvements.
-I imagine
-.I bzip2
-will perform best on machines with very large caches.
-
-.SH CAVEATS
-I/O error messages are not as helpful as they could be.
-.I bzip2
-tries hard to detect I/O errors and exit cleanly, but the details of
-what the problem is sometimes seem rather misleading.
-
-This manual page pertains to version 1.0.4 of
-.I bzip2.
-Compressed data created by this version is entirely forwards and
-backwards compatible with the previous public releases, versions
-0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1, 1.0.2 and 1.0.3, but with the following
-exception: 0.9.0 and above can correctly decompress multiple
-concatenated compressed files. 0.1pl2 cannot do this; it will stop
-after decompressing just the first file in the stream.
-
-.I bzip2recover
-versions prior to 1.0.2 used 32-bit integers to represent
-bit positions in compressed files, so they could not handle compressed
-files more than 512 megabytes long. Versions 1.0.2 and above use
-64-bit ints on some platforms which support them (GNU supported
-targets, and Windows). To establish whether or not bzip2recover was
-built with such a limitation, run it without arguments. In any event
-you can build yourself an unlimited version if you can recompile it
-with MaybeUInt64 set to be an unsigned 64-bit integer.
-
-
-
-.SH AUTHOR
-Julian Seward, jsewardbzip.org.
-
-http://www.bzip.org
-
-The ideas embodied in
-.I bzip2
-are due to (at least) the following
-people: Michael Burrows and David Wheeler (for the block sorting
-transformation), David Wheeler (again, for the Huffman coder), Peter
-Fenwick (for the structured coding model in the original
-.I bzip,
-and many refinements), and Alistair Moffat, Radford Neal and Ian Witten
-(for the arithmetic coder in the original
-.I bzip).
-I am much
-indebted for their help, support and advice. See the manual in the
-source distribution for pointers to sources of documentation. Christian
-von Roques encouraged me to look for faster sorting algorithms, so as to
-speed up compression. Bela Lubkin encouraged me to improve the
-worst-case compression performance.
-Donna Robinson XMLised the documentation.
-The bz* scripts are derived from those of GNU gzip.
-Many people sent patches, helped
-with portability problems, lent machines, gave advice and were generally
-helpful.
diff --git a/Utilities/cmbzip2/bzip2.1.preformatted b/Utilities/cmbzip2/bzip2.1.preformatted
deleted file mode 100644
index 15e16e5..0000000
--- a/Utilities/cmbzip2/bzip2.1.preformatted
+++ /dev/null
@@ -1,399 +0,0 @@
-bzip2(1) bzip2(1)
-
-
-
-NNAAMMEE
- bzip2, bunzip2 − a blockâ€sorting file compressor, v1.0.4
- bzcat − decompresses files to stdout
- bzip2recover − recovers data from damaged bzip2 files
-
-
-SSYYNNOOPPSSIISS
- bbzziipp22 [ −−ccddffkkqqssttvvzzVVLL112233445566778899 ] [ _f_i_l_e_n_a_m_e_s _._._. ]
- bbuunnzziipp22 [ −−ffkkvvssVVLL ] [ _f_i_l_e_n_a_m_e_s _._._. ]
- bbzzccaatt [ −−ss ] [ _f_i_l_e_n_a_m_e_s _._._. ]
- bbzziipp22rreeccoovveerr _f_i_l_e_n_a_m_e
-
-
-DDEESSCCRRIIPPTTIIOONN
- _b_z_i_p_2 compresses files using the Burrowsâ€Wheeler block
- sorting text compression algorithm, and Huffman coding.
- Compression is generally considerably better than that
- achieved by more conventional LZ77/LZ78â€based compressors,
- and approaches the performance of the PPM family of sta­
- tistical compressors.
-
- The commandâ€line options are deliberately very similar to
- those of _G_N_U _g_z_i_p_, but they are not identical.
-
- _b_z_i_p_2 expects a list of file names to accompany the com­
- mandâ€line flags. Each file is replaced by a compressed
- version of itself, with the name "original_name.bz2".
- Each compressed file has the same modification date, per­
- missions, and, when possible, ownership as the correspond­
- ing original, so that these properties can be correctly
- restored at decompression time. File name handling is
- naive in the sense that there is no mechanism for preserv­
- ing original file names, permissions, ownerships or dates
- in filesystems which lack these concepts, or have serious
- file name length restrictions, such as MSâ€DOS.
-
- _b_z_i_p_2 and _b_u_n_z_i_p_2 will by default not overwrite existing
- files. If you want this to happen, specify the −f flag.
-
- If no file names are specified, _b_z_i_p_2 compresses from
- standard input to standard output. In this case, _b_z_i_p_2
- will decline to write compressed output to a terminal, as
- this would be entirely incomprehensible and therefore
- pointless.
-
- _b_u_n_z_i_p_2 (or _b_z_i_p_2 _−_d_) decompresses all specified files.
- Files which were not created by _b_z_i_p_2 will be detected and
- ignored, and a warning issued. _b_z_i_p_2 attempts to guess
- the filename for the decompressed file from that of the
- compressed file as follows:
-
- filename.bz2 becomes filename
- filename.bz becomes filename
- filename.tbz2 becomes filename.tar
- filename.tbz becomes filename.tar
- anyothername becomes anyothername.out
-
- If the file does not end in one of the recognised endings,
- _._b_z_2_, _._b_z_, _._t_b_z_2 or _._t_b_z_, _b_z_i_p_2 complains that it cannot
- guess the name of the original file, and uses the original
- name with _._o_u_t appended.
-
- As with compression, supplying no filenames causes decom­
- pression from standard input to standard output.
-
- _b_u_n_z_i_p_2 will correctly decompress a file which is the con­
- catenation of two or more compressed files. The result is
- the concatenation of the corresponding uncompressed files.
- Integrity testing (−t) of concatenated compressed files is
- also supported.
-
- You can also compress or decompress files to the standard
- output by giving the −c flag. Multiple files may be com­
- pressed and decompressed like this. The resulting outputs
- are fed sequentially to stdout. Compression of multiple
- files in this manner generates a stream containing multi­
- ple compressed file representations. Such a stream can be
- decompressed correctly only by _b_z_i_p_2 version 0.9.0 or
- later. Earlier versions of _b_z_i_p_2 will stop after decom­
- pressing the first file in the stream.
-
- _b_z_c_a_t (or _b_z_i_p_2 _â€_d_c_) decompresses all specified files to
- the standard output.
-
- _b_z_i_p_2 will read arguments from the environment variables
- _B_Z_I_P_2 and _B_Z_I_P_, in that order, and will process them
- before any arguments read from the command line. This
- gives a convenient way to supply default arguments.
-
- Compression is always performed, even if the compressed
- file is slightly larger than the original. Files of less
- than about one hundred bytes tend to get larger, since the
- compression mechanism has a constant overhead in the
- region of 50 bytes. Random data (including the output of
- most file compressors) is coded at about 8.05 bits per
- byte, giving an expansion of around 0.5%.
-
- As a selfâ€check for your protection, _b_z_i_p_2 uses 32â€bit
- CRCs to make sure that the decompressed version of a file
- is identical to the original. This guards against corrup­
- tion of the compressed data, and against undetected bugs
- in _b_z_i_p_2 (hopefully very unlikely). The chances of data
- corruption going undetected is microscopic, about one
- chance in four billion for each file processed. Be aware,
- though, that the check occurs upon decompression, so it
- can only tell you that something is wrong. It can’t help
- you recover the original uncompressed data. You can use
- _b_z_i_p_2_r_e_c_o_v_e_r to try to recover data from damaged files.
-
- Return values: 0 for a normal exit, 1 for environmental
- problems (file not found, invalid flags, I/O errors, &c),
- 2 to indicate a corrupt compressed file, 3 for an internal
- consistency error (eg, bug) which caused _b_z_i_p_2 to panic.
-
-
-OOPPTTIIOONNSS
- −−cc â€â€â€â€ssttddoouutt
- Compress or decompress to standard output.
-
- −−dd â€â€â€â€ddeeccoommpprreessss
- Force decompression. _b_z_i_p_2_, _b_u_n_z_i_p_2 and _b_z_c_a_t are
- really the same program, and the decision about
- what actions to take is done on the basis of which
- name is used. This flag overrides that mechanism,
- and forces _b_z_i_p_2 to decompress.
-
- −−zz â€â€â€â€ccoommpprreessss
- The complement to −d: forces compression,
- regardless of the invocation name.
-
- −−tt â€â€â€â€tteesstt
- Check integrity of the specified file(s), but don’t
- decompress them. This really performs a trial
- decompression and throws away the result.
-
- −−ff â€â€â€â€ffoorrccee
- Force overwrite of output files. Normally, _b_z_i_p_2
- will not overwrite existing output files. Also
- forces _b_z_i_p_2 to break hard links to files, which it
- otherwise wouldn’t do.
-
- bzip2 normally declines to decompress files which
- don’t have the correct magic header bytes. If
- forced (â€f), however, it will pass such files
- through unmodified. This is how GNU gzip behaves.
-
- −−kk â€â€â€â€kkeeeepp
- Keep (don’t delete) input files during compression
- or decompression.
-
- −−ss â€â€â€â€ssmmaallll
- Reduce memory usage, for compression, decompression
- and testing. Files are decompressed and tested
- using a modified algorithm which only requires 2.5
- bytes per block byte. This means any file can be
- decompressed in 2300k of memory, albeit at about
- half the normal speed.
-
- During compression, −s selects a block size of
- 200k, which limits memory use to around the same
- figure, at the expense of your compression ratio.
- In short, if your machine is low on memory (8
- megabytes or less), use −s for everything. See
- MEMORY MANAGEMENT below.
-
- −−qq â€â€â€â€qquuiieett
- Suppress nonâ€essential warning messages. Messages
- pertaining to I/O errors and other critical events
- will not be suppressed.
-
- −−vv â€â€â€â€vveerrbboossee
- Verbose mode â€â€ show the compression ratio for each
- file processed. Further −v’s increase the ver­
- bosity level, spewing out lots of information which
- is primarily of interest for diagnostic purposes.
-
- −−LL â€â€â€â€lliicceennssee â€â€VV â€â€â€â€vveerrssiioonn
- Display the software version, license terms and
- conditions.
-
- −−11 ((oorr −−−−ffaasstt)) ttoo −−99 ((oorr −−−−bbeesstt))
- Set the block size to 100 k, 200 k .. 900 k when
- compressing. Has no effect when decompressing.
- See MEMORY MANAGEMENT below. The −−fast and −−best
- aliases are primarily for GNU gzip compatibility.
- In particular, −−fast doesn’t make things signifi­
- cantly faster. And −−best merely selects the
- default behaviour.
-
- −− Treats all subsequent arguments as file names, even
- if they start with a dash. This is so you can han­
- dle files with names beginning with a dash, for
- example: bzip2 −†−myfilename.
-
- −−â€â€rreeppeettiittiivveeâ€â€ffaasstt â€â€â€â€rreeppeettiittiivveeâ€â€bbeesstt
- These flags are redundant in versions 0.9.5 and
- above. They provided some coarse control over the
- behaviour of the sorting algorithm in earlier ver­
- sions, which was sometimes useful. 0.9.5 and above
- have an improved algorithm which renders these
- flags irrelevant.
-
-
-MMEEMMOORRYY MMAANNAAGGEEMMEENNTT
- _b_z_i_p_2 compresses large files in blocks. The block size
- affects both the compression ratio achieved, and the
- amount of memory needed for compression and decompression.
- The flags −1 through −9 specify the block size to be
- 100,000 bytes through 900,000 bytes (the default) respec­
- tively. At decompression time, the block size used for
- compression is read from the header of the compressed
- file, and _b_u_n_z_i_p_2 then allocates itself just enough memory
- to decompress the file. Since block sizes are stored in
- compressed files, it follows that the flags −1 to −9 are
- irrelevant to and so ignored during decompression.
-
- Compression and decompression requirements, in bytes, can
- be estimated as:
-
- Compression: 400k + ( 8 x block size )
-
- Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )
-
- Larger block sizes give rapidly diminishing marginal
- returns. Most of the compression comes from the first two
- or three hundred k of block size, a fact worth bearing in
- mind when using _b_z_i_p_2 on small machines. It is also
- important to appreciate that the decompression memory
- requirement is set at compression time by the choice of
- block size.
-
- For files compressed with the default 900k block size,
- _b_u_n_z_i_p_2 will require about 3700 kbytes to decompress. To
- support decompression of any file on a 4 megabyte machine,
- _b_u_n_z_i_p_2 has an option to decompress using approximately
- half this amount of memory, about 2300 kbytes. Decompres­
- sion speed is also halved, so you should use this option
- only where necessary. The relevant flag is â€s.
-
- In general, try and use the largest block size memory con­
- straints allow, since that maximises the compression
- achieved. Compression and decompression speed are virtu­
- ally unaffected by block size.
-
- Another significant point applies to files which fit in a
- single block â€â€ that means most files you’d encounter
- using a large block size. The amount of real memory
- touched is proportional to the size of the file, since the
- file is smaller than a block. For example, compressing a
- file 20,000 bytes long with the flag â€9 will cause the
- compressor to allocate around 7600k of memory, but only
- touch 400k + 20000 * 8 = 560 kbytes of it. Similarly, the
- decompressor will allocate 3700k but only touch 100k +
- 20000 * 4 = 180 kbytes.
-
- Here is a table which summarises the maximum memory usage
- for different block sizes. Also recorded is the total
- compressed size for 14 files of the Calgary Text Compres­
- sion Corpus totalling 3,141,622 bytes. This column gives
- some feel for how compression varies with block size.
- These figures tend to understate the advantage of larger
- block sizes for larger files, since the Corpus is domi­
- nated by smaller files.
-
- Compress Decompress Decompress Corpus
- Flag usage usage â€s usage Size
-
- â€1 1200k 500k 350k 914704
- â€2 2000k 900k 600k 877703
- â€3 2800k 1300k 850k 860338
- â€4 3600k 1700k 1100k 846899
- â€5 4400k 2100k 1350k 845160
- â€6 5200k 2500k 1600k 838626
- â€7 6100k 2900k 1850k 834096
- â€8 6800k 3300k 2100k 828642
- â€9 7600k 3700k 2350k 828642
-
-
-RREECCOOVVEERRIINNGG DDAATTAA FFRROOMM DDAAMMAAGGEEDD FFIILLEESS
- _b_z_i_p_2 compresses files in blocks, usually 900kbytes long.
- Each block is handled independently. If a media or trans­
- mission error causes a multiâ€block .bz2 file to become
- damaged, it may be possible to recover data from the
- undamaged blocks in the file.
-
- The compressed representation of each block is delimited
- by a 48â€bit pattern, which makes it possible to find the
- block boundaries with reasonable certainty. Each block
- also carries its own 32â€bit CRC, so damaged blocks can be
- distinguished from undamaged ones.
-
- _b_z_i_p_2_r_e_c_o_v_e_r is a simple program whose purpose is to
- search for blocks in .bz2 files, and write each block out
- into its own .bz2 file. You can then use _b_z_i_p_2 −t to test
- the integrity of the resulting files, and decompress those
- which are undamaged.
-
- _b_z_i_p_2_r_e_c_o_v_e_r takes a single argument, the name of the dam­
- aged file, and writes a number of files
- "rec00001file.bz2", "rec00002file.bz2", etc, containing
- the extracted blocks. The output filenames are
- designed so that the use of wildcards in subsequent pro­
- cessing â€â€ for example, "bzip2 â€dc rec*file.bz2 > recov­
- ered_data" â€â€ processes the files in the correct order.
-
- _b_z_i_p_2_r_e_c_o_v_e_r should be of most use dealing with large .bz2
- files, as these will contain many blocks. It is clearly
- futile to use it on damaged singleâ€block files, since a
- damaged block cannot be recovered. If you wish to min­
- imise any potential data loss through media or transmis­
- sion errors, you might consider compressing with a smaller
- block size.
-
-
-PPEERRFFOORRMMAANNCCEE NNOOTTEESS
- The sorting phase of compression gathers together similar
- strings in the file. Because of this, files containing
- very long runs of repeated symbols, like "aabaabaabaab
- ..." (repeated several hundred times) may compress more
- slowly than normal. Versions 0.9.5 and above fare much
- better than previous versions in this respect. The ratio
- between worstâ€case and averageâ€case compression time is in
- the region of 10:1. For previous versions, this figure
- was more like 100:1. You can use the −vvvv option to mon­
- itor progress in great detail, if you want.
-
- Decompression speed is unaffected by these phenomena.
-
- _b_z_i_p_2 usually allocates several megabytes of memory to
- operate in, and then charges all over it in a fairly ran­
- dom fashion. This means that performance, both for com­
- pressing and decompressing, is largely determined by the
- speed at which your machine can service cache misses.
- Because of this, small changes to the code to reduce the
- miss rate have been observed to give disproportionately
- large performance improvements. I imagine _b_z_i_p_2 will per­
- form best on machines with very large caches.
-
-
-CCAAVVEEAATTSS
- I/O error messages are not as helpful as they could be.
- _b_z_i_p_2 tries hard to detect I/O errors and exit cleanly,
- but the details of what the problem is sometimes seem
- rather misleading.
-
- This manual page pertains to version 1.0.4 of _b_z_i_p_2_. Com­
- pressed data created by this version is entirely forwards
- and backwards compatible with the previous public
- releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
- 1.0.2 and 1.0.3, but with the following exception: 0.9.0
- and above can correctly decompress multiple concatenated
- compressed files. 0.1pl2 cannot do this; it will stop
- after decompressing just the first file in the stream.
-
- _b_z_i_p_2_r_e_c_o_v_e_r versions prior to 1.0.2 used 32â€bit integers
- to represent bit positions in compressed files, so they
- could not handle compressed files more than 512 megabytes
- long. Versions 1.0.2 and above use 64â€bit ints on some
- platforms which support them (GNU supported targets, and
- Windows). To establish whether or not bzip2recover was
- built with such a limitation, run it without arguments.
- In any event you can build yourself an unlimited version
- if you can recompile it with MaybeUInt64 set to be an
- unsigned 64â€bit integer.
-
-
-
-
-AAUUTTHHOORR
- Julian Seward, jsewardbzip.org.
-
- http://www.bzip.org
-
- The ideas embodied in _b_z_i_p_2 are due to (at least) the fol­
- lowing people: Michael Burrows and David Wheeler (for the
- block sorting transformation), David Wheeler (again, for
- the Huffman coder), Peter Fenwick (for the structured cod­
- ing model in the original _b_z_i_p_, and many refinements), and
- Alistair Moffat, Radford Neal and Ian Witten (for the
- arithmetic coder in the original _b_z_i_p_)_. I am much
- indebted for their help, support and advice. See the man­
- ual in the source distribution for pointers to sources of
- documentation. Christian von Roques encouraged me to look
- for faster sorting algorithms, so as to speed up compres­
- sion. Bela Lubkin encouraged me to improve the worstâ€case
- compression performance. Donna Robinson XMLised the docu­
- mentation. The bz* scripts are derived from those of GNU
- gzip. Many people sent patches, helped with portability
- problems, lent machines, gave advice and were generally
- helpful.
-
-
-
- bzip2(1)
diff --git a/Utilities/cmbzip2/bzip2.c b/Utilities/cmbzip2/bzip2.c
index 88e5f09..d95d280 100644
--- a/Utilities/cmbzip2/bzip2.c
+++ b/Utilities/cmbzip2/bzip2.c
@@ -7,8 +7,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
@@ -128,12 +128,12 @@
#if BZ_LCCWIN32
# include <io.h>
# include <fcntl.h>
-# include <sys\stat.h>
+# include <sys/stat.h>
# define NORETURN /**/
# define PATH_SEP '\\'
-# define MY_LSTAT _stat
-# define MY_STAT _stat
+# define MY_LSTAT _stati64
+# define MY_STAT _stati64
# define MY_S_ISREG(x) ((x) & _S_IFREG)
# define MY_S_ISDIR(x) ((x) & _S_IFDIR)
@@ -380,27 +380,27 @@ void compressStream ( FILE *stream, FILE *zStream )
if (verbosity >= 1) {
if (nbytes_in_lo32 == 0 && nbytes_in_hi32 == 0) {
- fprintf ( stderr, " no data compressed.\n");
+ fprintf ( stderr, " no data compressed.\n");
} else {
- Char buf_nin[32], buf_nout[32];
- UInt64 nbytes_in, nbytes_out;
- double nbytes_in_d, nbytes_out_d;
- uInt64_from_UInt32s ( &nbytes_in,
- nbytes_in_lo32, nbytes_in_hi32 );
- uInt64_from_UInt32s ( &nbytes_out,
- nbytes_out_lo32, nbytes_out_hi32 );
- nbytes_in_d = uInt64_to_double ( &nbytes_in );
- nbytes_out_d = uInt64_to_double ( &nbytes_out );
- uInt64_toAscii ( buf_nin, &nbytes_in );
- uInt64_toAscii ( buf_nout, &nbytes_out );
- fprintf ( stderr, "%6.3f:1, %6.3f bits/byte, "
- "%5.2f%% saved, %s in, %s out.\n",
- nbytes_in_d / nbytes_out_d,
- (8.0 * nbytes_out_d) / nbytes_in_d,
- 100.0 * (1.0 - nbytes_out_d / nbytes_in_d),
- buf_nin,
- buf_nout
- );
+ Char buf_nin[32], buf_nout[32];
+ UInt64 nbytes_in, nbytes_out;
+ double nbytes_in_d, nbytes_out_d;
+ uInt64_from_UInt32s ( &nbytes_in,
+ nbytes_in_lo32, nbytes_in_hi32 );
+ uInt64_from_UInt32s ( &nbytes_out,
+ nbytes_out_lo32, nbytes_out_hi32 );
+ nbytes_in_d = uInt64_to_double ( &nbytes_in );
+ nbytes_out_d = uInt64_to_double ( &nbytes_out );
+ uInt64_toAscii ( buf_nin, &nbytes_in );
+ uInt64_toAscii ( buf_nout, &nbytes_out );
+ fprintf ( stderr, "%6.3f:1, %6.3f bits/byte, "
+ "%5.2f%% saved, %s in, %s out.\n",
+ nbytes_in_d / nbytes_out_d,
+ (8.0 * nbytes_out_d) / nbytes_in_d,
+ 100.0 * (1.0 - nbytes_out_d / nbytes_in_d),
+ buf_nin,
+ buf_nout
+ );
}
}
@@ -505,11 +505,11 @@ Bool uncompressStream ( FILE *zStream, FILE *stream )
if (forceOverwrite) {
rewind(zStream);
while (True) {
- if (myfeof(zStream)) break;
- nread = fread ( obuf, sizeof(UChar), 5000, zStream );
- if (ferror(zStream)) goto errhandler_io;
- if (nread > 0) fwrite ( obuf, sizeof(UChar), nread, stream );
- if (ferror(stream)) goto errhandler_io;
+ if (myfeof(zStream)) break;
+ nread = fread ( obuf, sizeof(UChar), 5000, zStream );
+ if (ferror(zStream)) goto errhandler_io;
+ if (nread > 0) fwrite ( obuf, sizeof(UChar), nread, stream );
+ if (ferror(stream)) goto errhandler_io;
}
goto closeok;
}
@@ -554,7 +554,7 @@ static
Bool testStream ( FILE *zStream )
{
BZFILE* bzf = NULL;
- Int32 bzerr, bzerr_dummy, ret, nread, streamNo, i;
+ Int32 bzerr, bzerr_dummy, ret, streamNo, i;
UChar obuf[5000];
UChar unused[BZ_MAX_UNUSED];
Int32 nUnused;
@@ -577,7 +577,7 @@ Bool testStream ( FILE *zStream )
streamNo++;
while (bzerr == BZ_OK) {
- nread = BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
+ BZ2_bzRead ( &bzerr, bzf, obuf, 5000 );
if (bzerr == BZ_DATA_ERROR_MAGIC) goto errhandler;
}
if (bzerr != BZ_STREAM_END) goto errhandler;
@@ -748,8 +748,8 @@ void panic ( const Char* s )
fprintf ( stderr,
"\n%s: PANIC -- internal consistency error:\n"
"\t%s\n"
- "\tThis is a BUG. Please report it to me at:\n"
- "\tjseward@bzip.org\n",
+ "\tThis is a BUG. Please report it to:\n"
+ "\tbzip2-devel@sourceware.org\n",
progName, s );
showFileNames();
cleanUpAndFail( 3 );
@@ -775,9 +775,9 @@ void compressedStreamEOF ( void )
{
if (noisy) {
fprintf ( stderr,
- "\n%s: Compressed file ends unexpectedly;\n\t"
- "perhaps it is corrupted? *Possible* reason follows.\n",
- progName );
+ "\n%s: Compressed file ends unexpectedly;\n\t"
+ "perhaps it is corrupted? *Possible* reason follows.\n",
+ progName );
perror ( progName );
showFileNames();
cadvise();
@@ -829,7 +829,7 @@ void mySIGSEGVorSIGBUScatcher ( IntNative n )
" The user's manual, Section 4.3, has more info on (1) and (2).\n"
" \n"
" If you suspect this is a bug in bzip2, or are unsure about (1)\n"
- " or (2), feel free to report it to me at: jseward@bzip.org.\n"
+ " or (2), feel free to report it to: bzip2-devel@sourceware.org.\n"
" Section 4.3 of the user's manual describes the info a useful\n"
" bug report should have. If the manual is available on your\n"
" system, please try and read it before mailing me. If you don't\n"
@@ -852,7 +852,7 @@ void mySIGSEGVorSIGBUScatcher ( IntNative n )
" The user's manual, Section 4.3, has more info on (2) and (3).\n"
" \n"
" If you suspect this is a bug in bzip2, or are unsure about (2)\n"
- " or (3), feel free to report it to me at: jseward@bzip.org.\n"
+ " or (3), feel free to report it to: bzip2-devel@sourceware.org.\n"
" Section 4.3 of the user's manual describes the info a useful\n"
" bug report should have. If the manual is available on your\n"
" system, please try and read it before mailing me. If you don't\n"
@@ -1200,12 +1200,12 @@ void compress ( Char *name )
}
if ( srcMode == SM_F2F && fileExists ( outName ) ) {
if (forceOverwrite) {
- remove(outName);
+ remove(outName);
} else {
- fprintf ( stderr, "%s: Output file %s already exists.\n",
- progName, outName );
- setExit(1);
- return;
+ fprintf ( stderr, "%s: Output file %s already exists.\n",
+ progName, outName );
+ setExit(1);
+ return;
}
}
if ( srcMode == SM_F2F && !forceOverwrite &&
@@ -1386,7 +1386,7 @@ void uncompress ( Char *name )
}
if ( srcMode == SM_F2F && fileExists ( outName ) ) {
if (forceOverwrite) {
- remove(outName);
+ remove(outName);
} else {
fprintf ( stderr, "%s: Output file %s already exists.\n",
progName, outName );
@@ -1605,11 +1605,11 @@ void license ( void )
"bzip2, a block-sorting file compressor. "
"Version %s.\n"
" \n"
- " Copyright (C) 1996-2007 by Julian Seward.\n"
+ " Copyright (C) 1996-2019 by Julian Seward.\n"
" \n"
" This program is free software; you can redistribute it and/or modify\n"
" it under the terms set out in the LICENSE file, which is included\n"
- " in the bzip2-1.0.5 source distribution.\n"
+ " in the bzip2 source distribution.\n"
" \n"
" This program is distributed in the hope that it will be useful,\n"
" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1997,18 +1997,20 @@ IntNative main ( IntNative argc, Char *argv[] )
} else {
decode = True;
for (aa = argList; aa != NULL; aa = aa->link) {
- if (ISFLAG("--")) { decode = False; continue; }
+ if (ISFLAG("--")) { decode = False; continue; }
if (aa->name[0] == '-' && decode) continue;
numFilesProcessed++;
testf ( aa->name );
- }
+ }
}
- if (testFailsExist && noisy) {
- fprintf ( stderr,
- "\n"
- "You can use the `bzip2recover' program to attempt to recover\n"
- "data from undamaged sections of corrupted files.\n\n"
- );
+ if (testFailsExist) {
+ if (noisy) {
+ fprintf ( stderr,
+ "\n"
+ "You can use the `bzip2recover' program to attempt to recover\n"
+ "data from undamaged sections of corrupted files.\n\n"
+ );
+ }
setExit(2);
exit(exitValue);
}
diff --git a/Utilities/cmbzip2/bzip2.txt b/Utilities/cmbzip2/bzip2.txt
deleted file mode 100644
index 4fb9c74..0000000
--- a/Utilities/cmbzip2/bzip2.txt
+++ /dev/null
@@ -1,391 +0,0 @@
-
-NAME
- bzip2, bunzip2 - a block-sorting file compressor, v1.0.4
- bzcat - decompresses files to stdout
- bzip2recover - recovers data from damaged bzip2 files
-
-
-SYNOPSIS
- bzip2 [ -cdfkqstvzVL123456789 ] [ filenames ... ]
- bunzip2 [ -fkvsVL ] [ filenames ... ]
- bzcat [ -s ] [ filenames ... ]
- bzip2recover filename
-
-
-DESCRIPTION
- bzip2 compresses files using the Burrows-Wheeler block
- sorting text compression algorithm, and Huffman coding.
- Compression is generally considerably better than that
- achieved by more conventional LZ77/LZ78-based compressors,
- and approaches the performance of the PPM family of sta-
- tistical compressors.
-
- The command-line options are deliberately very similar to
- those of GNU gzip, but they are not identical.
-
- bzip2 expects a list of file names to accompany the com-
- mand-line flags. Each file is replaced by a compressed
- version of itself, with the name "original_name.bz2".
- Each compressed file has the same modification date, per-
- missions, and, when possible, ownership as the correspond-
- ing original, so that these properties can be correctly
- restored at decompression time. File name handling is
- naive in the sense that there is no mechanism for preserv-
- ing original file names, permissions, ownerships or dates
- in filesystems which lack these concepts, or have serious
- file name length restrictions, such as MS-DOS.
-
- bzip2 and bunzip2 will by default not overwrite existing
- files. If you want this to happen, specify the -f flag.
-
- If no file names are specified, bzip2 compresses from
- standard input to standard output. In this case, bzip2
- will decline to write compressed output to a terminal, as
- this would be entirely incomprehensible and therefore
- pointless.
-
- bunzip2 (or bzip2 -d) decompresses all specified files.
- Files which were not created by bzip2 will be detected and
- ignored, and a warning issued. bzip2 attempts to guess
- the filename for the decompressed file from that of the
- compressed file as follows:
-
- filename.bz2 becomes filename
- filename.bz becomes filename
- filename.tbz2 becomes filename.tar
- filename.tbz becomes filename.tar
- anyothername becomes anyothername.out
-
- If the file does not end in one of the recognised endings,
- .bz2, .bz, .tbz2 or .tbz, bzip2 complains that it cannot
- guess the name of the original file, and uses the original
- name with .out appended.
-
- As with compression, supplying no filenames causes decom-
- pression from standard input to standard output.
-
- bunzip2 will correctly decompress a file which is the con-
- catenation of two or more compressed files. The result is
- the concatenation of the corresponding uncompressed files.
- Integrity testing (-t) of concatenated compressed files is
- also supported.
-
- You can also compress or decompress files to the standard
- output by giving the -c flag. Multiple files may be com-
- pressed and decompressed like this. The resulting outputs
- are fed sequentially to stdout. Compression of multiple
- files in this manner generates a stream containing multi-
- ple compressed file representations. Such a stream can be
- decompressed correctly only by bzip2 version 0.9.0 or
- later. Earlier versions of bzip2 will stop after decom-
- pressing the first file in the stream.
-
- bzcat (or bzip2 -dc) decompresses all specified files to
- the standard output.
-
- bzip2 will read arguments from the environment variables
- BZIP2 and BZIP, in that order, and will process them
- before any arguments read from the command line. This
- gives a convenient way to supply default arguments.
-
- Compression is always performed, even if the compressed
- file is slightly larger than the original. Files of less
- than about one hundred bytes tend to get larger, since the
- compression mechanism has a constant overhead in the
- region of 50 bytes. Random data (including the output of
- most file compressors) is coded at about 8.05 bits per
- byte, giving an expansion of around 0.5%.
-
- As a self-check for your protection, bzip2 uses 32-bit
- CRCs to make sure that the decompressed version of a file
- is identical to the original. This guards against corrup-
- tion of the compressed data, and against undetected bugs
- in bzip2 (hopefully very unlikely). The chances of data
- corruption going undetected is microscopic, about one
- chance in four billion for each file processed. Be aware,
- though, that the check occurs upon decompression, so it
- can only tell you that something is wrong. It can't help
- you recover the original uncompressed data. You can use
- bzip2recover to try to recover data from damaged files.
-
- Return values: 0 for a normal exit, 1 for environmental
- problems (file not found, invalid flags, I/O errors, &c),
- 2 to indicate a corrupt compressed file, 3 for an internal
- consistency error (eg, bug) which caused bzip2 to panic.
-
-
-OPTIONS
- -c --stdout
- Compress or decompress to standard output.
-
- -d --decompress
- Force decompression. bzip2, bunzip2 and bzcat are
- really the same program, and the decision about
- what actions to take is done on the basis of which
- name is used. This flag overrides that mechanism,
- and forces bzip2 to decompress.
-
- -z --compress
- The complement to -d: forces compression,
- regardless of the invocation name.
-
- -t --test
- Check integrity of the specified file(s), but don't
- decompress them. This really performs a trial
- decompression and throws away the result.
-
- -f --force
- Force overwrite of output files. Normally, bzip2
- will not overwrite existing output files. Also
- forces bzip2 to break hard links to files, which it
- otherwise wouldn't do.
-
- bzip2 normally declines to decompress files which
- don't have the correct magic header bytes. If
- forced (-f), however, it will pass such files
- through unmodified. This is how GNU gzip behaves.
-
- -k --keep
- Keep (don't delete) input files during compression
- or decompression.
-
- -s --small
- Reduce memory usage, for compression, decompression
- and testing. Files are decompressed and tested
- using a modified algorithm which only requires 2.5
- bytes per block byte. This means any file can be
- decompressed in 2300k of memory, albeit at about
- half the normal speed.
-
- During compression, -s selects a block size of
- 200k, which limits memory use to around the same
- figure, at the expense of your compression ratio.
- In short, if your machine is low on memory (8
- megabytes or less), use -s for everything. See
- MEMORY MANAGEMENT below.
-
- -q --quiet
- Suppress non-essential warning messages. Messages
- pertaining to I/O errors and other critical events
- will not be suppressed.
-
- -v --verbose
- Verbose mode -- show the compression ratio for each
- file processed. Further -v's increase the ver-
- bosity level, spewing out lots of information which
- is primarily of interest for diagnostic purposes.
-
- -L --license -V --version
- Display the software version, license terms and
- conditions.
-
- -1 (or --fast) to -9 (or --best)
- Set the block size to 100 k, 200 k .. 900 k when
- compressing. Has no effect when decompressing.
- See MEMORY MANAGEMENT below. The --fast and --best
- aliases are primarily for GNU gzip compatibility.
- In particular, --fast doesn't make things signifi-
- cantly faster. And --best merely selects the
- default behaviour.
-
- -- Treats all subsequent arguments as file names, even
- if they start with a dash. This is so you can han-
- dle files with names beginning with a dash, for
- example: bzip2 -- -myfilename.
-
- --repetitive-fast --repetitive-best
- These flags are redundant in versions 0.9.5 and
- above. They provided some coarse control over the
- behaviour of the sorting algorithm in earlier ver-
- sions, which was sometimes useful. 0.9.5 and above
- have an improved algorithm which renders these
- flags irrelevant.
-
-
-MEMORY MANAGEMENT
- bzip2 compresses large files in blocks. The block size
- affects both the compression ratio achieved, and the
- amount of memory needed for compression and decompression.
- The flags -1 through -9 specify the block size to be
- 100,000 bytes through 900,000 bytes (the default) respec-
- tively. At decompression time, the block size used for
- compression is read from the header of the compressed
- file, and bunzip2 then allocates itself just enough memory
- to decompress the file. Since block sizes are stored in
- compressed files, it follows that the flags -1 to -9 are
- irrelevant to and so ignored during decompression.
-
- Compression and decompression requirements, in bytes, can
- be estimated as:
-
- Compression: 400k + ( 8 x block size )
-
- Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )
-
- Larger block sizes give rapidly diminishing marginal
- returns. Most of the compression comes from the first two
- or three hundred k of block size, a fact worth bearing in
- mind when using bzip2 on small machines. It is also
- important to appreciate that the decompression memory
- requirement is set at compression time by the choice of
- block size.
-
- For files compressed with the default 900k block size,
- bunzip2 will require about 3700 kbytes to decompress. To
- support decompression of any file on a 4 megabyte machine,
- bunzip2 has an option to decompress using approximately
- half this amount of memory, about 2300 kbytes. Decompres-
- sion speed is also halved, so you should use this option
- only where necessary. The relevant flag is -s.
-
- In general, try and use the largest block size memory con-
- straints allow, since that maximises the compression
- achieved. Compression and decompression speed are virtu-
- ally unaffected by block size.
-
- Another significant point applies to files which fit in a
- single block -- that means most files you'd encounter
- using a large block size. The amount of real memory
- touched is proportional to the size of the file, since the
- file is smaller than a block. For example, compressing a
- file 20,000 bytes long with the flag -9 will cause the
- compressor to allocate around 7600k of memory, but only
- touch 400k + 20000 * 8 = 560 kbytes of it. Similarly, the
- decompressor will allocate 3700k but only touch 100k +
- 20000 * 4 = 180 kbytes.
-
- Here is a table which summarises the maximum memory usage
- for different block sizes. Also recorded is the total
- compressed size for 14 files of the Calgary Text Compres-
- sion Corpus totalling 3,141,622 bytes. This column gives
- some feel for how compression varies with block size.
- These figures tend to understate the advantage of larger
- block sizes for larger files, since the Corpus is domi-
- nated by smaller files.
-
- Compress Decompress Decompress Corpus
- Flag usage usage -s usage Size
-
- -1 1200k 500k 350k 914704
- -2 2000k 900k 600k 877703
- -3 2800k 1300k 850k 860338
- -4 3600k 1700k 1100k 846899
- -5 4400k 2100k 1350k 845160
- -6 5200k 2500k 1600k 838626
- -7 6100k 2900k 1850k 834096
- -8 6800k 3300k 2100k 828642
- -9 7600k 3700k 2350k 828642
-
-
-RECOVERING DATA FROM DAMAGED FILES
- bzip2 compresses files in blocks, usually 900kbytes long.
- Each block is handled independently. If a media or trans-
- mission error causes a multi-block .bz2 file to become
- damaged, it may be possible to recover data from the
- undamaged blocks in the file.
-
- The compressed representation of each block is delimited
- by a 48-bit pattern, which makes it possible to find the
- block boundaries with reasonable certainty. Each block
- also carries its own 32-bit CRC, so damaged blocks can be
- distinguished from undamaged ones.
-
- bzip2recover is a simple program whose purpose is to
- search for blocks in .bz2 files, and write each block out
- into its own .bz2 file. You can then use bzip2 -t to test
- the integrity of the resulting files, and decompress those
- which are undamaged.
-
- bzip2recover takes a single argument, the name of the dam-
- aged file, and writes a number of files
- "rec00001file.bz2", "rec00002file.bz2", etc, containing
- the extracted blocks. The output filenames are
- designed so that the use of wildcards in subsequent pro-
- cessing -- for example, "bzip2 -dc rec*file.bz2 > recov-
- ered_data" -- processes the files in the correct order.
-
- bzip2recover should be of most use dealing with large .bz2
- files, as these will contain many blocks. It is clearly
- futile to use it on damaged single-block files, since a
- damaged block cannot be recovered. If you wish to min-
- imise any potential data loss through media or transmis-
- sion errors, you might consider compressing with a smaller
- block size.
-
-
-PERFORMANCE NOTES
- The sorting phase of compression gathers together similar
- strings in the file. Because of this, files containing
- very long runs of repeated symbols, like "aabaabaabaab
- ..." (repeated several hundred times) may compress more
- slowly than normal. Versions 0.9.5 and above fare much
- better than previous versions in this respect. The ratio
- between worst-case and average-case compression time is in
- the region of 10:1. For previous versions, this figure
- was more like 100:1. You can use the -vvvv option to mon-
- itor progress in great detail, if you want.
-
- Decompression speed is unaffected by these phenomena.
-
- bzip2 usually allocates several megabytes of memory to
- operate in, and then charges all over it in a fairly ran-
- dom fashion. This means that performance, both for com-
- pressing and decompressing, is largely determined by the
- speed at which your machine can service cache misses.
- Because of this, small changes to the code to reduce the
- miss rate have been observed to give disproportionately
- large performance improvements. I imagine bzip2 will per-
- form best on machines with very large caches.
-
-
-CAVEATS
- I/O error messages are not as helpful as they could be.
- bzip2 tries hard to detect I/O errors and exit cleanly,
- but the details of what the problem is sometimes seem
- rather misleading.
-
- This manual page pertains to version 1.0.4 of bzip2. Com-
- pressed data created by this version is entirely forwards
- and backwards compatible with the previous public
- releases, versions 0.1pl2, 0.9.0, 0.9.5, 1.0.0, 1.0.1,
- 1.0.2 and 1.0.3, but with the following exception: 0.9.0
- and above can correctly decompress multiple concatenated
- compressed files. 0.1pl2 cannot do this; it will stop
- after decompressing just the first file in the stream.
-
- bzip2recover versions prior to 1.0.2 used 32-bit integers
- to represent bit positions in compressed files, so they
- could not handle compressed files more than 512 megabytes
- long. Versions 1.0.2 and above use 64-bit ints on some
- platforms which support them (GNU supported targets, and
- Windows). To establish whether or not bzip2recover was
- built with such a limitation, run it without arguments.
- In any event you can build yourself an unlimited version
- if you can recompile it with MaybeUInt64 set to be an
- unsigned 64-bit integer.
-
-
-AUTHOR
- Julian Seward, jsewardbzip.org.
-
- http://www.bzip.org
-
- The ideas embodied in bzip2 are due to (at least) the fol-
- lowing people: Michael Burrows and David Wheeler (for the
- block sorting transformation), David Wheeler (again, for
- the Huffman coder), Peter Fenwick (for the structured cod-
- ing model in the original bzip, and many refinements), and
- Alistair Moffat, Radford Neal and Ian Witten (for the
- arithmetic coder in the original bzip). I am much
- indebted for their help, support and advice. See the man-
- ual in the source distribution for pointers to sources of
- documentation. Christian von Roques encouraged me to look
- for faster sorting algorithms, so as to speed up compres-
- sion. Bela Lubkin encouraged me to improve the worst-case
- compression performance. Donna Robinson XMLised the docu-
- mentation. The bz* scripts are derived from those of GNU
- gzip. Many people sent patches, helped with portability
- problems, lent machines, gave advice and were generally
- helpful.
-
diff --git a/Utilities/cmbzip2/bzip2recover.c b/Utilities/cmbzip2/bzip2recover.c
index 6e47b60..a8131e0 100644
--- a/Utilities/cmbzip2/bzip2recover.c
+++ b/Utilities/cmbzip2/bzip2recover.c
@@ -7,8 +7,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
@@ -18,7 +18,7 @@
------------------------------------------------------------------ */
/* This program is a complete hack and should be rewritten properly.
- It isn't very complicated. */
+ It isn't very complicated. */
#include <stdio.h>
#include <errno.h>
@@ -309,11 +309,12 @@ Int32 main ( Int32 argc, Char** argv )
UInt32 buffHi, buffLo, blockCRC;
Char* p;
- strcpy ( progName, argv[0] );
+ strncpy ( progName, argv[0], BZ_MAX_FILENAME-1);
+ progName[BZ_MAX_FILENAME-1]='\0';
inFileName[0] = outFileName[0] = 0;
fprintf ( stderr,
- "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" );
+ "bzip2recover 1.0.8: extracts blocks from damaged .bz2 files.\n" );
if (argc != 2) {
fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n",
@@ -393,7 +394,7 @@ Int32 main ( Int32 argc, Char** argv )
bEnd[currBlock] = 0;
}
if (currBlock > 0 &&
- (bEnd[currBlock] - bStart[currBlock]) >= 130) {
+ (bEnd[currBlock] - bStart[currBlock]) >= 130) {
fprintf ( stderr, " block %d runs from " MaybeUInt64_FMT
" to " MaybeUInt64_FMT "\n",
rbCtr+1, bStart[currBlock], bEnd[currBlock] );
@@ -457,6 +458,7 @@ Int32 main ( Int32 argc, Char** argv )
bsPutUChar ( bsWr, 0x50 ); bsPutUChar ( bsWr, 0x90 );
bsPutUInt32 ( bsWr, blockCRC );
bsClose ( bsWr );
+ outFile = NULL;
}
if (wrBlock >= rbCtr) break;
wrBlock++;
@@ -474,8 +476,8 @@ Int32 main ( Int32 argc, Char** argv )
split = outFileName;
} else {
++split;
- }
- /* Now split points to the start of the basename. */
+ }
+ /* Now split points to the start of the basename. */
ofs = split - outFileName;
sprintf (split, "rec%5d", wrBlock+1);
for (p = split; *p != 0; p++) if (*p == ' ') *p = '0';
diff --git a/Utilities/cmbzip2/bzlib.c b/Utilities/cmbzip2/bzlib.c
index aeecef1..2178655 100644
--- a/Utilities/cmbzip2/bzlib.c
+++ b/Utilities/cmbzip2/bzlib.c
@@ -8,8 +8,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
@@ -43,12 +43,12 @@ void BZ2_bz__AssertH__fail ( int errcode )
fprintf(stderr,
"\n\nbzip2/libbzip2: internal error number %d.\n"
"This is a bug in bzip2/libbzip2, %s.\n"
- "Please report it to me at: jseward@bzip.org. If this happened\n"
+ "Please report it to: bzip2-devel@sourceware.org. If this happened\n"
"when you were using some program which uses libbzip2 as a\n"
"component, you should also report this bug to the author(s)\n"
"of that program. Please make an effort to report this bug;\n"
"timely and accurate bug reports eventually lead to higher\n"
- "quality software. Thanks. Julian Seward, 10 December 2007.\n\n",
+ "quality software. Thanks.\n\n",
errcode,
BZ2_bzlibVersion()
);
@@ -102,7 +102,6 @@ static
void* default_bzalloc ( void* opaque, Int32 items, Int32 size )
{
void* v = malloc ( items * size );
- (void)opaque;
return v;
}
@@ -110,7 +109,6 @@ static
void default_bzfree ( void* opaque, void* addr )
{
if (addr != NULL) free ( addr );
- (void)opaque;
}
@@ -427,7 +425,7 @@ int BZ_API(BZ2_bzCompress) ( bz_stream *strm, int action )
return progress ? BZ_RUN_OK : BZ_PARAM_ERROR;
}
else
- if (action == BZ_FLUSH) {
+ if (action == BZ_FLUSH) {
s->avail_in_expect = strm->avail_in;
s->mode = BZ_M_FLUSHING;
goto preswitch;
@@ -1507,7 +1505,6 @@ int BZ_API(BZ2_bzwrite) (BZFILE* b, void* buf, int len )
/*---------------------------------------------------*/
int BZ_API(BZ2_bzflush) (BZFILE *b)
{
- (void) b;
/* do nothing now... */
return 0;
}
diff --git a/Utilities/cmbzip2/bzlib.h b/Utilities/cmbzip2/bzlib.h
index c5b75d6..8966a6c 100644
--- a/Utilities/cmbzip2/bzlib.h
+++ b/Utilities/cmbzip2/bzlib.h
@@ -8,8 +8,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
diff --git a/Utilities/cmbzip2/bzlib_private.h b/Utilities/cmbzip2/bzlib_private.h
index 02a667f..3755a6f 100644
--- a/Utilities/cmbzip2/bzlib_private.h
+++ b/Utilities/cmbzip2/bzlib_private.h
@@ -8,8 +8,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
@@ -33,27 +33,10 @@
#include "bzlib.h"
-#if defined(__BORLANDC__)
-# pragma warn -8004 /* Assigned value never used. */
-# pragma warn -8008 /* Condition is always true/false. */
-# pragma warn -8066 /* Unreachable code. */
-# pragma warn -8057 /* Unused parameter. */
-#endif
-#if defined(_MSC_VER)
-/* 'integral size mismatch in argument; conversion supplied */
-# pragma warning(disable:4244)
-/* conversion from 'size_t' to 'off_t', possible loss of data */
-# pragma warning(disable:4267)
-/* warning C4127: conditional expression is constant*/
-# pragma warning(disable:4127)
-#endif
-#if defined(__clang__)
-# pragma clang diagnostic ignored "-Wcast-align"
-#endif
/*-- General stuff. --*/
-#define BZ_VERSION "1.0.5, 10-Dec-2007"
+#define BZ_VERSION "1.0.8, 13-Jul-2019"
typedef char Char;
typedef unsigned char Bool;
diff --git a/Utilities/cmbzip2/bzmore b/Utilities/cmbzip2/bzmore
deleted file mode 100644
index 21b1de6..0000000
--- a/Utilities/cmbzip2/bzmore
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/bin/sh
-
-# Bzmore wrapped for bzip2,
-# adapted from zmore by Philippe Troin <phil@fifi.org> for Debian GNU/Linux.
-
-PATH="/usr/bin:$PATH"; export PATH
-
-prog=`echo $0 | sed 's|.*/||'`
-case "$prog" in
- *less) more=less ;;
- *) more=more ;;
-esac
-
-if test "`echo -n a`" = "-n a"; then
- # looks like a SysV system:
- n1=''; n2='\c'
-else
- n1='-n'; n2=''
-fi
-oldtty=`stty -g 2>/dev/null`
-if stty -cbreak 2>/dev/null; then
- cb='cbreak'; ncb='-cbreak'
-else
- # 'stty min 1' resets eof to ^a on both SunOS and SysV!
- cb='min 1 -icanon'; ncb='icanon eof ^d'
-fi
-if test $? -eq 0 -a -n "$oldtty"; then
- trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15
-else
- trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15
-fi
-
-if test $# = 0; then
- if test -t 0; then
- echo usage: $prog files...
- else
- bzip2 -cdfq | eval $more
- fi
-else
- FIRST=1
- for FILE
- do
- if test $FIRST -eq 0; then
- echo $n1 "--More--(Next file: $FILE)$n2"
- stty $cb -echo 2>/dev/null
- ANS=`dd bs=1 count=1 2>/dev/null`
- stty $ncb echo 2>/dev/null
- echo " "
- if test "$ANS" = 'e' -o "$ANS" = 'q'; then
- exit
- fi
- fi
- if test "$ANS" != 's'; then
- echo "------> $FILE <------"
- bzip2 -cdfq "$FILE" | eval $more
- fi
- if test -t; then
- FIRST=0
- fi
- done
-fi
diff --git a/Utilities/cmbzip2/bzmore.1 b/Utilities/cmbzip2/bzmore.1
deleted file mode 100644
index c6868ed..0000000
--- a/Utilities/cmbzip2/bzmore.1
+++ /dev/null
@@ -1,152 +0,0 @@
-.\"Shamelessly copied from zmore.1 by Philippe Troin <phil@fifi.org>
-.\"for Debian GNU/Linux
-.TH BZMORE 1
-.SH NAME
-bzmore, bzless \- file perusal filter for crt viewing of bzip2 compressed text
-.SH SYNOPSIS
-.B bzmore
-[ name ... ]
-.br
-.B bzless
-[ name ... ]
-.SH NOTE
-In the following description,
-.I bzless
-and
-.I less
-can be used interchangeably with
-.I bzmore
-and
-.I more.
-.SH DESCRIPTION
-.I Bzmore
-is a filter which allows examination of compressed or plain text files
-one screenful at a time on a soft-copy terminal.
-.I bzmore
-works on files compressed with
-.I bzip2
-and also on uncompressed files.
-If a file does not exist,
-.I bzmore
-looks for a file of the same name with the addition of a .bz2 suffix.
-.PP
-.I Bzmore
-normally pauses after each screenful, printing --More--
-at the bottom of the screen.
-If the user then types a carriage return, one more line is displayed.
-If the user hits a space,
-another screenful is displayed. Other possibilities are enumerated later.
-.PP
-.I Bzmore
-looks in the file
-.I /etc/termcap
-to determine terminal characteristics,
-and to determine the default window size.
-On a terminal capable of displaying 24 lines,
-the default window size is 22 lines.
-Other sequences which may be typed when
-.I bzmore
-pauses, and their effects, are as follows (\fIi\fP is an optional integer
-argument, defaulting to 1) :
-.PP
-.IP \fIi\|\fP<space>
-display
-.I i
-more lines, (or another screenful if no argument is given)
-.PP
-.IP ^D
-display 11 more lines (a ``scroll'').
-If
-.I i
-is given, then the scroll size is set to \fIi\|\fP.
-.PP
-.IP d
-same as ^D (control-D)
-.PP
-.IP \fIi\|\fPz
-same as typing a space except that \fIi\|\fP, if present, becomes the new
-window size. Note that the window size reverts back to the default at the
-end of the current file.
-.PP
-.IP \fIi\|\fPs
-skip \fIi\|\fP lines and print a screenful of lines
-.PP
-.IP \fIi\|\fPf
-skip \fIi\fP screenfuls and print a screenful of lines
-.PP
-.IP "q or Q"
-quit reading the current file; go on to the next (if any)
-.PP
-.IP "e or q"
-When the prompt --More--(Next file:
-.IR file )
-is printed, this command causes bzmore to exit.
-.PP
-.IP s
-When the prompt --More--(Next file:
-.IR file )
-is printed, this command causes bzmore to skip the next file and continue.
-.PP
-.IP =
-Display the current line number.
-.PP
-.IP \fIi\|\fP/expr
-search for the \fIi\|\fP-th occurrence of the regular expression \fIexpr.\fP
-If the pattern is not found,
-.I bzmore
-goes on to the next file (if any).
-Otherwise, a screenful is displayed, starting two lines before the place
-where the expression was found.
-The user's erase and kill characters may be used to edit the regular
-expression.
-Erasing back past the first column cancels the search command.
-.PP
-.IP \fIi\|\fPn
-search for the \fIi\|\fP-th occurrence of the last regular expression entered.
-.PP
-.IP !command
-invoke a shell with \fIcommand\|\fP.
-The character `!' in "command" are replaced with the
-previous shell command. The sequence "\\!" is replaced by "!".
-.PP
-.IP ":q or :Q"
-quit reading the current file; go on to the next (if any)
-(same as q or Q).
-.PP
-.IP .
-(dot) repeat the previous command.
-.PP
-The commands take effect immediately, i.e., it is not necessary to
-type a carriage return.
-Up to the time when the command character itself is given,
-the user may hit the line kill character to cancel the numerical
-argument being formed.
-In addition, the user may hit the erase character to redisplay the
---More-- message.
-.PP
-At any time when output is being sent to the terminal, the user can
-hit the quit key (normally control\-\\).
-.I Bzmore
-will stop sending output, and will display the usual --More--
-prompt.
-The user may then enter one of the above commands in the normal manner.
-Unfortunately, some output is lost when this is done, due to the
-fact that any characters waiting in the terminal's output queue
-are flushed when the quit signal occurs.
-.PP
-The terminal is set to
-.I noecho
-mode by this program so that the output can be continuous.
-What you type will thus not show on your terminal, except for the / and !
-commands.
-.PP
-If the standard output is not a teletype, then
-.I bzmore
-acts just like
-.I bzcat,
-except that a header is printed before each file.
-.SH FILES
-.DT
-/etc/termcap Terminal data base
-.SH "SEE ALSO"
-more(1), less(1), bzip2(1), bzdiff(1), bzgrep(1)
diff --git a/Utilities/cmbzip2/compress.c b/Utilities/cmbzip2/compress.c
index feea233..5dfa002 100644
--- a/Utilities/cmbzip2/compress.c
+++ b/Utilities/cmbzip2/compress.c
@@ -8,8 +8,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
@@ -239,7 +239,7 @@ static
void sendMTFValues ( EState* s )
{
Int32 v, t, i, j, gs, ge, totc, bt, bc, iter;
- Int32 nSelectors = 0, alphaSize, minLen, maxLen, selCtr;
+ Int32 nSelectors, alphaSize, minLen, maxLen, selCtr;
Int32 nGroups, nBytes;
/*--
@@ -329,14 +329,14 @@ void sendMTFValues ( EState* s )
/*---
Set up an auxiliary length table which is used to fast-track
- the common case (nGroups == 6).
+ the common case (nGroups == 6).
---*/
if (nGroups == 6) {
for (v = 0; v < alphaSize; v++) {
s->len_pack[v][0] = (s->len[1][v] << 16) | s->len[0][v];
s->len_pack[v][1] = (s->len[3][v] << 16) | s->len[2][v];
s->len_pack[v][2] = (s->len[5][v] << 16) | s->len[4][v];
- }
+ }
}
nSelectors = 0;
@@ -385,7 +385,7 @@ void sendMTFValues ( EState* s )
cost[4] = cost45 & 0xffff; cost[5] = cost45 >> 16;
} else {
- /*--- slow version which correctly handles all situations ---*/
+ /*--- slow version which correctly handles all situations ---*/
for (i = gs; i <= ge; i++) {
UInt16 icv = mtfv[i];
for (t = 0; t < nGroups; t++) cost[t] += s->len[t][icv];
@@ -426,7 +426,7 @@ void sendMTFValues ( EState* s )
# undef BZ_ITUR
} else {
- /*--- slow version which correctly handles all situations ---*/
+ /*--- slow version which correctly handles all situations ---*/
for (i = gs; i <= ge; i++)
s->rfreq[bt][ mtfv[i] ]++;
}
@@ -454,7 +454,7 @@ void sendMTFValues ( EState* s )
AssertH( nGroups < 8, 3002 );
AssertH( nSelectors < 32768 &&
- nSelectors <= (2 + (900000 / BZ_G_SIZE)),
+ nSelectors <= BZ_MAX_SELECTORS,
3003 );
@@ -579,7 +579,7 @@ void sendMTFValues ( EState* s )
# undef BZ_ITAH
} else {
- /*--- slow version which correctly handles all situations ---*/
+ /*--- slow version which correctly handles all situations ---*/
for (i = gs; i <= ge; i++) {
bsW ( s,
s->len [s->selector[selCtr]] [mtfv[i]],
diff --git a/Utilities/cmbzip2/crctable.c b/Utilities/cmbzip2/crctable.c
index 215687b..2b33c25 100644
--- a/Utilities/cmbzip2/crctable.c
+++ b/Utilities/cmbzip2/crctable.c
@@ -8,8 +8,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
diff --git a/Utilities/cmbzip2/decompress.c b/Utilities/cmbzip2/decompress.c
index bba5e0f..a1a0bac 100644
--- a/Utilities/cmbzip2/decompress.c
+++ b/Utilities/cmbzip2/decompress.c
@@ -8,8 +8,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
@@ -285,7 +285,7 @@ Int32 BZ2_decompress ( DState* s )
/*--- Now the selectors ---*/
GET_BITS(BZ_X_SELECTOR_1, nGroups, 3);
- if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR);
+ if (nGroups < 2 || nGroups > BZ_N_GROUPS) RETURN(BZ_DATA_ERROR);
GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15);
if (nSelectors < 1) RETURN(BZ_DATA_ERROR);
for (i = 0; i < nSelectors; i++) {
@@ -296,8 +296,14 @@ Int32 BZ2_decompress ( DState* s )
j++;
if (j >= nGroups) RETURN(BZ_DATA_ERROR);
}
- s->selectorMtf[i] = j;
+ /* Having more than BZ_MAX_SELECTORS doesn't make much sense
+ since they will never be used, but some implementations might
+ "round up" the number of selectors, so just ignore those. */
+ if (i < BZ_MAX_SELECTORS)
+ s->selectorMtf[i] = j;
}
+ if (nSelectors > BZ_MAX_SELECTORS)
+ nSelectors = BZ_MAX_SELECTORS;
/*--- Undo the MTF values for the selectors. ---*/
{
@@ -381,6 +387,13 @@ Int32 BZ2_decompress ( DState* s )
es = -1;
N = 1;
do {
+ /* Check that N doesn't get too big, so that es doesn't
+ go negative. The maximum value that can be
+ RUNA/RUNB encoded is equal to the block size (post
+ the initial RLE), viz, 900k, so bounding N at 2
+ million should guard against overflow without
+ rejecting any legitimate inputs. */
+ if (N >= 2*1024*1024) RETURN(BZ_DATA_ERROR);
if (nextSym == BZ_RUNA) es = es + (0+1) * N; else
if (nextSym == BZ_RUNB) es = es + (1+1) * N;
N = N * 2;
@@ -485,15 +498,28 @@ Int32 BZ2_decompress ( DState* s )
RETURN(BZ_DATA_ERROR);
/*-- Set up cftab to facilitate generation of T^(-1) --*/
+ /* Check: unzftab entries in range. */
+ for (i = 0; i <= 255; i++) {
+ if (s->unzftab[i] < 0 || s->unzftab[i] > nblock)
+ RETURN(BZ_DATA_ERROR);
+ }
+ /* Actually generate cftab. */
s->cftab[0] = 0;
for (i = 1; i <= 256; i++) s->cftab[i] = s->unzftab[i-1];
for (i = 1; i <= 256; i++) s->cftab[i] += s->cftab[i-1];
+ /* Check: cftab entries in range. */
for (i = 0; i <= 256; i++) {
if (s->cftab[i] < 0 || s->cftab[i] > nblock) {
/* s->cftab[i] can legitimately be == nblock */
RETURN(BZ_DATA_ERROR);
}
}
+ /* Check: cftab entries non-descending. */
+ for (i = 1; i <= 256; i++) {
+ if (s->cftab[i-1] > s->cftab[i]) {
+ RETURN(BZ_DATA_ERROR);
+ }
+ }
s->state_out_len = 0;
s->state_out_ch = 0;
diff --git a/Utilities/cmbzip2/dlltest.c b/Utilities/cmbzip2/dlltest.c
index 4e27da2..03fa146 100644
--- a/Utilities/cmbzip2/dlltest.c
+++ b/Utilities/cmbzip2/dlltest.c
@@ -1,175 +1,175 @@
-/*
- minibz2
- libbz2.dll test program.
- by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
- This file is Public Domain. Welcome any email to me.
-
- usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]
-*/
-
-#define BZ_IMPORT
-#include <stdio.h>
-#include <stdlib.h>
-#include "bzlib.h"
-#ifdef _WIN32
-#include <io.h>
-#endif
-
-
-#ifdef _WIN32
-
-#define BZ2_LIBNAME "libbz2-1.0.2.DLL"
-
-#include <windows.h>
-static int BZ2DLLLoaded = 0;
-static HINSTANCE BZ2DLLhLib;
-int BZ2DLLLoadLibrary(void)
-{
- HINSTANCE hLib;
-
- if(BZ2DLLLoaded==1){return 0;}
- hLib=LoadLibrary(BZ2_LIBNAME);
- if(hLib == NULL){
- fprintf(stderr,"Can't load %s\n",BZ2_LIBNAME);
- return -1;
- }
- BZ2_bzlibVersion=GetProcAddress(hLib,"BZ2_bzlibVersion");
- BZ2_bzopen=GetProcAddress(hLib,"BZ2_bzopen");
- BZ2_bzdopen=GetProcAddress(hLib,"BZ2_bzdopen");
- BZ2_bzread=GetProcAddress(hLib,"BZ2_bzread");
- BZ2_bzwrite=GetProcAddress(hLib,"BZ2_bzwrite");
- BZ2_bzflush=GetProcAddress(hLib,"BZ2_bzflush");
- BZ2_bzclose=GetProcAddress(hLib,"BZ2_bzclose");
- BZ2_bzerror=GetProcAddress(hLib,"BZ2_bzerror");
-
- if (!BZ2_bzlibVersion || !BZ2_bzopen || !BZ2_bzdopen
- || !BZ2_bzread || !BZ2_bzwrite || !BZ2_bzflush
- || !BZ2_bzclose || !BZ2_bzerror) {
- fprintf(stderr,"GetProcAddress failed.\n");
- return -1;
- }
- BZ2DLLLoaded=1;
- BZ2DLLhLib=hLib;
- return 0;
-
-}
-int BZ2DLLFreeLibrary(void)
-{
- if(BZ2DLLLoaded==0){return 0;}
- FreeLibrary(BZ2DLLhLib);
- BZ2DLLLoaded=0;
-}
-#endif /* WIN32 */
-
-void usage(void)
-{
- puts("usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]");
-}
-
-int main(int argc,char *argv[])
-{
- int decompress = 0;
- int level = 9;
- char *fn_r = NULL;
- char *fn_w = NULL;
-
-#ifdef _WIN32
- if(BZ2DLLLoadLibrary()<0){
- fprintf(stderr,"Loading of %s failed. Giving up.\n", BZ2_LIBNAME);
- exit(1);
- }
- printf("Loading of %s succeeded. Library version is %s.\n",
- BZ2_LIBNAME, BZ2_bzlibVersion() );
-#endif
- while(++argv,--argc){
- if(**argv =='-' || **argv=='/'){
- char *p;
-
- for(p=*argv+1;*p;p++){
- if(*p=='d'){
- decompress = 1;
- }else if('1'<=*p && *p<='9'){
- level = *p - '0';
- }else{
- usage();
- exit(1);
- }
- }
- }else{
- break;
- }
- }
- if(argc>=1){
- fn_r = *argv;
- argc--;argv++;
- }else{
- fn_r = NULL;
- }
- if(argc>=1){
- fn_w = *argv;
- argc--;argv++;
- }else{
- fn_w = NULL;
- }
- {
- int len;
- char buff[0x1000];
- char mode[10];
-
- if(decompress){
- BZFILE *BZ2fp_r = NULL;
- FILE *fp_w = NULL;
-
- if(fn_w){
- if((fp_w = fopen(fn_w,"wb"))==NULL){
- printf("can't open [%s]\n",fn_w);
- perror("reason:");
- exit(1);
- }
- }else{
- fp_w = stdout;
- }
- if((fn_r == NULL && (BZ2fp_r = BZ2_bzdopen(fileno(stdin),"rb"))==NULL)
- || (fn_r != NULL && (BZ2fp_r = BZ2_bzopen(fn_r,"rb"))==NULL)){
- printf("can't bz2openstream\n");
- exit(1);
- }
- while((len=BZ2_bzread(BZ2fp_r,buff,0x1000))>0){
- fwrite(buff,1,len,fp_w);
- }
- BZ2_bzclose(BZ2fp_r);
- if(fp_w != stdout) fclose(fp_w);
- }else{
- BZFILE *BZ2fp_w = NULL;
- FILE *fp_r = NULL;
-
- if(fn_r){
- if((fp_r = fopen(fn_r,"rb"))==NULL){
- printf("can't open [%s]\n",fn_r);
- perror("reason:");
- exit(1);
- }
- }else{
- fp_r = stdin;
- }
- mode[0]='w';
- mode[1] = '0' + level;
- mode[2] = '\0';
-
- if((fn_w == NULL && (BZ2fp_w = BZ2_bzdopen(fileno(stdout),mode))==NULL)
- || (fn_w !=NULL && (BZ2fp_w = BZ2_bzopen(fn_w,mode))==NULL)){
- printf("can't bz2openstream\n");
- exit(1);
- }
- while((len=fread(buff,1,0x1000,fp_r))>0){
- BZ2_bzwrite(BZ2fp_w,buff,len);
- }
- BZ2_bzclose(BZ2fp_w);
- if(fp_r!=stdin)fclose(fp_r);
- }
- }
-#ifdef _WIN32
- BZ2DLLFreeLibrary();
-#endif
- return 0;
-}
+/*
+ minibz2
+ libbz2.dll test program.
+ by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
+ This file is Public Domain. Welcome any email to me.
+
+ usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]
+*/
+
+#define BZ_IMPORT
+#include <stdio.h>
+#include <stdlib.h>
+#include "bzlib.h"
+#ifdef _WIN32
+#include <io.h>
+#endif
+
+
+#ifdef _WIN32
+
+#define BZ2_LIBNAME "libbz2-1.0.2.DLL"
+
+#include <windows.h>
+static int BZ2DLLLoaded = 0;
+static HINSTANCE BZ2DLLhLib;
+int BZ2DLLLoadLibrary(void)
+{
+ HINSTANCE hLib;
+
+ if(BZ2DLLLoaded==1){return 0;}
+ hLib=LoadLibrary(BZ2_LIBNAME);
+ if(hLib == NULL){
+ fprintf(stderr,"Can't load %s\n",BZ2_LIBNAME);
+ return -1;
+ }
+ BZ2_bzlibVersion=GetProcAddress(hLib,"BZ2_bzlibVersion");
+ BZ2_bzopen=GetProcAddress(hLib,"BZ2_bzopen");
+ BZ2_bzdopen=GetProcAddress(hLib,"BZ2_bzdopen");
+ BZ2_bzread=GetProcAddress(hLib,"BZ2_bzread");
+ BZ2_bzwrite=GetProcAddress(hLib,"BZ2_bzwrite");
+ BZ2_bzflush=GetProcAddress(hLib,"BZ2_bzflush");
+ BZ2_bzclose=GetProcAddress(hLib,"BZ2_bzclose");
+ BZ2_bzerror=GetProcAddress(hLib,"BZ2_bzerror");
+
+ if (!BZ2_bzlibVersion || !BZ2_bzopen || !BZ2_bzdopen
+ || !BZ2_bzread || !BZ2_bzwrite || !BZ2_bzflush
+ || !BZ2_bzclose || !BZ2_bzerror) {
+ fprintf(stderr,"GetProcAddress failed.\n");
+ return -1;
+ }
+ BZ2DLLLoaded=1;
+ BZ2DLLhLib=hLib;
+ return 0;
+
+}
+int BZ2DLLFreeLibrary(void)
+{
+ if(BZ2DLLLoaded==0){return 0;}
+ FreeLibrary(BZ2DLLhLib);
+ BZ2DLLLoaded=0;
+}
+#endif /* WIN32 */
+
+void usage(void)
+{
+ puts("usage: minibz2 [-d] [-{1,2,..9}] [[srcfilename] destfilename]");
+}
+
+int main(int argc,char *argv[])
+{
+ int decompress = 0;
+ int level = 9;
+ char *fn_r = NULL;
+ char *fn_w = NULL;
+
+#ifdef _WIN32
+ if(BZ2DLLLoadLibrary()<0){
+ fprintf(stderr,"Loading of %s failed. Giving up.\n", BZ2_LIBNAME);
+ exit(1);
+ }
+ printf("Loading of %s succeeded. Library version is %s.\n",
+ BZ2_LIBNAME, BZ2_bzlibVersion() );
+#endif
+ while(++argv,--argc){
+ if(**argv =='-' || **argv=='/'){
+ char *p;
+
+ for(p=*argv+1;*p;p++){
+ if(*p=='d'){
+ decompress = 1;
+ }else if('1'<=*p && *p<='9'){
+ level = *p - '0';
+ }else{
+ usage();
+ exit(1);
+ }
+ }
+ }else{
+ break;
+ }
+ }
+ if(argc>=1){
+ fn_r = *argv;
+ argc--;argv++;
+ }else{
+ fn_r = NULL;
+ }
+ if(argc>=1){
+ fn_w = *argv;
+ argc--;argv++;
+ }else{
+ fn_w = NULL;
+ }
+ {
+ int len;
+ char buff[0x1000];
+ char mode[10];
+
+ if(decompress){
+ BZFILE *BZ2fp_r = NULL;
+ FILE *fp_w = NULL;
+
+ if(fn_w){
+ if((fp_w = fopen(fn_w,"wb"))==NULL){
+ printf("can't open [%s]\n",fn_w);
+ perror("reason:");
+ exit(1);
+ }
+ }else{
+ fp_w = stdout;
+ }
+ if((fn_r == NULL && (BZ2fp_r = BZ2_bzdopen(fileno(stdin),"rb"))==NULL)
+ || (fn_r != NULL && (BZ2fp_r = BZ2_bzopen(fn_r,"rb"))==NULL)){
+ printf("can't bz2openstream\n");
+ exit(1);
+ }
+ while((len=BZ2_bzread(BZ2fp_r,buff,0x1000))>0){
+ fwrite(buff,1,len,fp_w);
+ }
+ BZ2_bzclose(BZ2fp_r);
+ if(fp_w != stdout) fclose(fp_w);
+ }else{
+ BZFILE *BZ2fp_w = NULL;
+ FILE *fp_r = NULL;
+
+ if(fn_r){
+ if((fp_r = fopen(fn_r,"rb"))==NULL){
+ printf("can't open [%s]\n",fn_r);
+ perror("reason:");
+ exit(1);
+ }
+ }else{
+ fp_r = stdin;
+ }
+ mode[0]='w';
+ mode[1] = '0' + level;
+ mode[2] = '\0';
+
+ if((fn_w == NULL && (BZ2fp_w = BZ2_bzdopen(fileno(stdout),mode))==NULL)
+ || (fn_w !=NULL && (BZ2fp_w = BZ2_bzopen(fn_w,mode))==NULL)){
+ printf("can't bz2openstream\n");
+ exit(1);
+ }
+ while((len=fread(buff,1,0x1000,fp_r))>0){
+ BZ2_bzwrite(BZ2fp_w,buff,len);
+ }
+ BZ2_bzclose(BZ2fp_w);
+ if(fp_r!=stdin)fclose(fp_r);
+ }
+ }
+#ifdef _WIN32
+ BZ2DLLFreeLibrary();
+#endif
+ return 0;
+}
diff --git a/Utilities/cmbzip2/entities.xml b/Utilities/cmbzip2/entities.xml
deleted file mode 100644
index e9e0553..0000000
--- a/Utilities/cmbzip2/entities.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<!-- misc. strings -->
-<!ENTITY bz-url "http://www.bzip.org">
-<!ENTITY bz-email "jseward@bzip.org">
-<!ENTITY bz-lifespan "1996-2007">
-
-<!ENTITY bz-version "1.0.5">
-<!ENTITY bz-date "10 December 2007">
-
-<!ENTITY manual-title "bzip2 Manual">
diff --git a/Utilities/cmbzip2/format.pl b/Utilities/cmbzip2/format.pl
deleted file mode 100755
index 2b391da..0000000
--- a/Utilities/cmbzip2/format.pl
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/perl -w
-#
-# ------------------------------------------------------------------
-# This file is part of bzip2/libbzip2, a program and library for
-# lossless, block-sorting data compression.
-#
-# bzip2/libbzip2 version 1.0.5 of 10 December 2007
-# Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
-#
-# Please read the WARNING, DISCLAIMER and PATENTS sections in the
-# README file.
-#
-# This program is released under the terms of the license contained
-# in the file LICENSE.
-# ------------------------------------------------------------------
-#
-use strict;
-
-# get command line values:
-if ( $#ARGV !=1 ) {
- die "Usage: $0 xml_infile xml_outfile\n";
-}
-
-my $infile = shift;
-# check infile exists
-die "Can't find file \"$infile\""
- unless -f $infile;
-# check we can read infile
-if (! -r $infile) {
- die "Can't read input $infile\n";
-}
-# check we can open infile
-open( INFILE,"<$infile" ) or
- die "Can't input $infile $!";
-
-#my $outfile = 'fmt-manual.xml';
-my $outfile = shift;
-#print "Infile: $infile, Outfile: $outfile\n";
-# check we can write to outfile
-open( OUTFILE,">$outfile" ) or
- die "Can't output $outfile $! for writing";
-
-my ($prev, $curr, $str);
-$prev = ''; $curr = '';
-while ( <INFILE> ) {
-
- print OUTFILE $prev;
- $prev = $curr;
- $curr = $_;
- $str = '';
-
- if ( $prev =~ /<programlisting>$|<screen>$/ ) {
- chomp $prev;
- $curr = join( '', $prev, "<![CDATA[", $curr );
- $prev = '';
- next;
- }
- elsif ( $curr =~ /<\/programlisting>|<\/screen>/ ) {
- chomp $prev;
- $curr = join( '', $prev, "]]>", $curr );
- $prev = '';
- next;
- }
-}
-print OUTFILE $curr;
-close INFILE;
-close OUTFILE;
-exit;
diff --git a/Utilities/cmbzip2/huffman.c b/Utilities/cmbzip2/huffman.c
index 87e79e3..43a1899 100644
--- a/Utilities/cmbzip2/huffman.c
+++ b/Utilities/cmbzip2/huffman.c
@@ -8,8 +8,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
diff --git a/Utilities/cmbzip2/libbz2.def b/Utilities/cmbzip2/libbz2.def
deleted file mode 100644
index 69fef54..0000000
--- a/Utilities/cmbzip2/libbz2.def
+++ /dev/null
@@ -1,27 +0,0 @@
-LIBRARY LIBBZ2
-DESCRIPTION "libbzip2: library for data compression"
-EXPORTS
- BZ2_bzCompressInit
- BZ2_bzCompress
- BZ2_bzCompressEnd
- BZ2_bzDecompressInit
- BZ2_bzDecompress
- BZ2_bzDecompressEnd
- BZ2_bzReadOpen
- BZ2_bzReadClose
- BZ2_bzReadGetUnused
- BZ2_bzRead
- BZ2_bzWriteOpen
- BZ2_bzWrite
- BZ2_bzWriteClose
- BZ2_bzWriteClose64
- BZ2_bzBuffToBuffCompress
- BZ2_bzBuffToBuffDecompress
- BZ2_bzlibVersion
- BZ2_bzopen
- BZ2_bzdopen
- BZ2_bzread
- BZ2_bzwrite
- BZ2_bzflush
- BZ2_bzclose
- BZ2_bzerror
diff --git a/Utilities/cmbzip2/libbz2.lib b/Utilities/cmbzip2/libbz2.lib
deleted file mode 100644
index 9a97a75..0000000
--- a/Utilities/cmbzip2/libbz2.lib
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmbzip2/makefile.msc b/Utilities/cmbzip2/makefile.msc
deleted file mode 100644
index d5f2e59..0000000
--- a/Utilities/cmbzip2/makefile.msc
+++ /dev/null
@@ -1,63 +0,0 @@
-# Makefile for Microsoft Visual C++ 6.0
-# usage: nmake -f makefile.msc
-# K.M. Syring (syring@gsf.de)
-# Fixed up by JRS for bzip2-0.9.5d release.
-
-CC=cl
-CFLAGS= -DWIN32 -MD -Ox -D_FILE_OFFSET_BITS=64 -nologo
-
-OBJS= blocksort.obj \
- huffman.obj \
- crctable.obj \
- randtable.obj \
- compress.obj \
- decompress.obj \
- bzlib.obj
-
-all: lib bzip2 test
-
-bzip2: lib
- $(CC) $(CFLAGS) -o bzip2 bzip2.c libbz2.lib setargv.obj
- $(CC) $(CFLAGS) -o bzip2recover bzip2recover.c
-
-lib: $(OBJS)
- lib /out:libbz2.lib $(OBJS)
-
-test: bzip2
- type words1
- .\\bzip2 -1 < sample1.ref > sample1.rb2
- .\\bzip2 -2 < sample2.ref > sample2.rb2
- .\\bzip2 -3 < sample3.ref > sample3.rb2
- .\\bzip2 -d < sample1.bz2 > sample1.tst
- .\\bzip2 -d < sample2.bz2 > sample2.tst
- .\\bzip2 -ds < sample3.bz2 > sample3.tst
- @echo All six of the fc's should find no differences.
- @echo If fc finds an error on sample3.bz2, this could be
- @echo because WinZip's 'TAR file smart CR/LF conversion'
- @echo is too clever for its own good. Disable this option.
- @echo The correct size for sample3.ref is 120,244. If it
- @echo is 150,251, WinZip has messed it up.
- fc sample1.bz2 sample1.rb2
- fc sample2.bz2 sample2.rb2
- fc sample3.bz2 sample3.rb2
- fc sample1.tst sample1.ref
- fc sample2.tst sample2.ref
- fc sample3.tst sample3.ref
-
-
-
-clean:
- del *.obj
- del libbz2.lib
- del bzip2.exe
- del bzip2recover.exe
- del sample1.rb2
- del sample2.rb2
- del sample3.rb2
- del sample1.tst
- del sample2.tst
- del sample3.tst
-
-.c.obj:
- $(CC) $(CFLAGS) -c $*.c -o $*.obj
-
diff --git a/Utilities/cmbzip2/manual.html b/Utilities/cmbzip2/manual.html
deleted file mode 100644
index bb44953..0000000
--- a/Utilities/cmbzip2/manual.html
+++ /dev/null
@@ -1,2540 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>bzip2 and libbzip2, version 1.0.5</title>
-<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
-<style type="text/css" media="screen">/* Colours:
-#74240f dark brown h1, h2, h3, h4
-#336699 medium blue links
-#339999 turquoise link hover colour
-#202020 almost black general text
-#761596 purple md5sum text
-#626262 dark gray pre border
-#eeeeee very light gray pre background
-#f2f2f9 very light blue nav table background
-#3366cc medium blue nav table border
-*/
-
-a, a:link, a:visited, a:active { color: #336699; }
-a:hover { color: #339999; }
-
-body { font: 80%/126% sans-serif; }
-h1, h2, h3, h4 { color: #74240f; }
-
-dt { color: #336699; font-weight: bold }
-dd {
- margin-left: 1.5em;
- padding-bottom: 0.8em;
-}
-
-/* -- ruler -- */
-div.hr_blue {
- height: 3px;
- background:#ffffff url("/images/hr_blue.png") repeat-x; }
-div.hr_blue hr { display:none; }
-
-/* release styles */
-#release p { margin-top: 0.4em; }
-#release .md5sum { color: #761596; }
-
-
-/* ------ styles for docs|manuals|howto ------ */
-/* -- lists -- */
-ul {
- margin: 0px 4px 16px 16px;
- padding: 0px;
- list-style: url("/images/li-blue.png");
-}
-ul li {
- margin-bottom: 10px;
-}
-ul ul {
- list-style-type: none;
- list-style-image: none;
- margin-left: 0px;
-}
-
-/* header / footer nav tables */
-table.nav {
- border: solid 1px #3366cc;
- background: #f2f2f9;
- background-color: #f2f2f9;
- margin-bottom: 0.5em;
-}
-/* don't have underlined links in chunked nav menus */
-table.nav a { text-decoration: none; }
-table.nav a:hover { text-decoration: underline; }
-table.nav td { font-size: 85%; }
-
-code, tt, pre { font-size: 120%; }
-code, tt { color: #761596; }
-
-div.literallayout, pre.programlisting, pre.screen {
- color: #000000;
- padding: 0.5em;
- background: #eeeeee;
- border: 1px solid #626262;
- background-color: #eeeeee;
- margin: 4px 0px 4px 0px;
-}
-</style>
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en">
-<div class="titlepage">
-<div>
-<div><h1 class="title">
-<a name="userman"></a>bzip2 and libbzip2, version 1.0.5</h1></div>
-<div><h2 class="subtitle">A program and library for data compression</h2></div>
-<div><div class="authorgroup"><div class="author">
-<h3 class="author">
-<span class="firstname">Julian</span> <span class="surname">Seward</span>
-</h3>
-<div class="affiliation"><span class="orgname">http://www.bzip.org<br></span></div>
-</div></div></div>
-<div><p class="releaseinfo">Version 1.0.5 of 10 December 2007</p></div>
-<div><p class="copyright">Copyright © 1996-2007 Julian Seward</p></div>
-<div><div class="legalnotice">
-<a name="id2499833"></a><p>This program, <code class="computeroutput">bzip2</code>, the
- associated library <code class="computeroutput">libbzip2</code>, and
- all documentation, are copyright © 1996-2007 Julian Seward.
- All rights reserved.</p>
-<p>Redistribution and use in source and binary forms, with
- or without modification, are permitted provided that the
- following conditions are met:</p>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc"><p>Redistributions of source code must retain the
- above copyright notice, this list of conditions and the
- following disclaimer.</p></li>
-<li style="list-style-type: disc"><p>The origin of this software must not be
- misrepresented; you must not claim that you wrote the original
- software. If you use this software in a product, an
- acknowledgment in the product documentation would be
- appreciated but is not required.</p></li>
-<li style="list-style-type: disc"><p>Altered source versions must be plainly marked
- as such, and must not be misrepresented as being the original
- software.</p></li>
-<li style="list-style-type: disc"><p>The name of the author may not be used to
- endorse or promote products derived from this software without
- specific prior written permission.</p></li>
-</ul></div>
-<p>THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY
- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.</p>
-<p>PATENTS: To the best of my knowledge,
- <code class="computeroutput">bzip2</code> and
- <code class="computeroutput">libbzip2</code> do not use any patented
- algorithms. However, I do not have the resources to carry
- out a patent search. Therefore I cannot give any guarantee of
- the above statement.
- </p>
-</div></div>
-</div>
-<hr>
-</div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="chapter"><a href="#intro">1. Introduction</a></span></dt>
-<dt><span class="chapter"><a href="#using">2. How to use bzip2</a></span></dt>
-<dd><dl>
-<dt><span class="sect1"><a href="#name">2.1. NAME</a></span></dt>
-<dt><span class="sect1"><a href="#synopsis">2.2. SYNOPSIS</a></span></dt>
-<dt><span class="sect1"><a href="#description">2.3. DESCRIPTION</a></span></dt>
-<dt><span class="sect1"><a href="#options">2.4. OPTIONS</a></span></dt>
-<dt><span class="sect1"><a href="#memory-management">2.5. MEMORY MANAGEMENT</a></span></dt>
-<dt><span class="sect1"><a href="#recovering">2.6. RECOVERING DATA FROM DAMAGED FILES</a></span></dt>
-<dt><span class="sect1"><a href="#performance">2.7. PERFORMANCE NOTES</a></span></dt>
-<dt><span class="sect1"><a href="#caveats">2.8. CAVEATS</a></span></dt>
-<dt><span class="sect1"><a href="#author">2.9. AUTHOR</a></span></dt>
-</dl></dd>
-<dt><span class="chapter"><a href="#libprog">3.
-Programming with <code class="computeroutput">libbzip2</code>
-</a></span></dt>
-<dd><dl>
-<dt><span class="sect1"><a href="#top-level">3.1. Top-level structure</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#ll-summary">3.1.1. Low-level summary</a></span></dt>
-<dt><span class="sect2"><a href="#hl-summary">3.1.2. High-level summary</a></span></dt>
-<dt><span class="sect2"><a href="#util-fns-summary">3.1.3. Utility functions summary</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#err-handling">3.2. Error handling</a></span></dt>
-<dt><span class="sect1"><a href="#low-level">3.3. Low-level interface</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzcompress-init">3.3.1. <code class="computeroutput">BZ2_bzCompressInit</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzCompress">3.3.2. <code class="computeroutput">BZ2_bzCompress</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzCompress-end">3.3.3. <code class="computeroutput">BZ2_bzCompressEnd</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress-init">3.3.4. <code class="computeroutput">BZ2_bzDecompressInit</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress">3.3.5. <code class="computeroutput">BZ2_bzDecompress</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress-end">3.3.6. <code class="computeroutput">BZ2_bzDecompressEnd</code></a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#hl-interface">3.4. High-level interface</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzreadopen">3.4.1. <code class="computeroutput">BZ2_bzReadOpen</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzread">3.4.2. <code class="computeroutput">BZ2_bzRead</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzreadgetunused">3.4.3. <code class="computeroutput">BZ2_bzReadGetUnused</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzreadclose">3.4.4. <code class="computeroutput">BZ2_bzReadClose</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzwriteopen">3.4.5. <code class="computeroutput">BZ2_bzWriteOpen</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzwrite">3.4.6. <code class="computeroutput">BZ2_bzWrite</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzwriteclose">3.4.7. <code class="computeroutput">BZ2_bzWriteClose</code></a></span></dt>
-<dt><span class="sect2"><a href="#embed">3.4.8. Handling embedded compressed data streams</a></span></dt>
-<dt><span class="sect2"><a href="#std-rdwr">3.4.9. Standard file-reading/writing code</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#util-fns">3.5. Utility functions</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzbufftobuffcompress">3.5.1. <code class="computeroutput">BZ2_bzBuffToBuffCompress</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzbufftobuffdecompress">3.5.2. <code class="computeroutput">BZ2_bzBuffToBuffDecompress</code></a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#zlib-compat">3.6. <code class="computeroutput">zlib</code> compatibility functions</a></span></dt>
-<dt><span class="sect1"><a href="#stdio-free">3.7. Using the library in a <code class="computeroutput">stdio</code>-free environment</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#stdio-bye">3.7.1. Getting rid of <code class="computeroutput">stdio</code></a></span></dt>
-<dt><span class="sect2"><a href="#critical-error">3.7.2. Critical error handling</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#win-dll">3.8. Making a Windows DLL</a></span></dt>
-</dl></dd>
-<dt><span class="chapter"><a href="#misc">4. Miscellanea</a></span></dt>
-<dd><dl>
-<dt><span class="sect1"><a href="#limits">4.1. Limitations of the compressed file format</a></span></dt>
-<dt><span class="sect1"><a href="#port-issues">4.2. Portability issues</a></span></dt>
-<dt><span class="sect1"><a href="#bugs">4.3. Reporting bugs</a></span></dt>
-<dt><span class="sect1"><a href="#package">4.4. Did you get the right package?</a></span></dt>
-<dt><span class="sect1"><a href="#reading">4.5. Further Reading</a></span></dt>
-</dl></dd>
-</dl>
-</div>
-<div class="chapter" lang="en">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="intro"></a>1. Introduction</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> compresses files
-using the Burrows-Wheeler block-sorting text compression
-algorithm, and Huffman coding. Compression is generally
-considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of
-the PPM family of statistical compressors.</p>
-<p><code class="computeroutput">bzip2</code> is built on top of
-<code class="computeroutput">libbzip2</code>, a flexible library for
-handling compressed data in the
-<code class="computeroutput">bzip2</code> format. This manual
-describes both how to use the program and how to work with the
-library interface. Most of the manual is devoted to this
-library, not the program, which is good news if your interest is
-only in the program.</p>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc"><p><a href="#using">How to use bzip2</a> describes how to use
- <code class="computeroutput">bzip2</code>; this is the only part
- you need to read if you just want to know how to operate the
- program.</p></li>
-<li style="list-style-type: disc"><p><a href="#libprog">Programming with libbzip2</a> describes the
- programming interfaces in detail, and</p></li>
-<li style="list-style-type: disc"><p><a href="#misc">Miscellanea</a> records some
- miscellaneous notes which I thought ought to be recorded
- somewhere.</p></li>
-</ul></div>
-</div>
-<div class="chapter" lang="en">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="using"></a>2. How to use bzip2</h2></div></div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="sect1"><a href="#name">2.1. NAME</a></span></dt>
-<dt><span class="sect1"><a href="#synopsis">2.2. SYNOPSIS</a></span></dt>
-<dt><span class="sect1"><a href="#description">2.3. DESCRIPTION</a></span></dt>
-<dt><span class="sect1"><a href="#options">2.4. OPTIONS</a></span></dt>
-<dt><span class="sect1"><a href="#memory-management">2.5. MEMORY MANAGEMENT</a></span></dt>
-<dt><span class="sect1"><a href="#recovering">2.6. RECOVERING DATA FROM DAMAGED FILES</a></span></dt>
-<dt><span class="sect1"><a href="#performance">2.7. PERFORMANCE NOTES</a></span></dt>
-<dt><span class="sect1"><a href="#caveats">2.8. CAVEATS</a></span></dt>
-<dt><span class="sect1"><a href="#author">2.9. AUTHOR</a></span></dt>
-</dl>
-</div>
-<p>This chapter contains a copy of the
-<code class="computeroutput">bzip2</code> man page, and nothing
-else.</p>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="name"></a>2.1. NAME</h2></div></div></div>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc"><p><code class="computeroutput">bzip2</code>,
- <code class="computeroutput">bunzip2</code> - a block-sorting file
- compressor, v1.0.4</p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">bzcat</code> -
- decompresses files to stdout</p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">bzip2recover</code> -
- recovers data from damaged bzip2 files</p></li>
-</ul></div>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="synopsis"></a>2.2. SYNOPSIS</h2></div></div></div>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc"><p><code class="computeroutput">bzip2</code> [
- -cdfkqstvzVL123456789 ] [ filenames ... ]</p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">bunzip2</code> [
- -fkvsVL ] [ filenames ... ]</p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">bzcat</code> [ -s ] [
- filenames ... ]</p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">bzip2recover</code>
- filename</p></li>
-</ul></div>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="description"></a>2.3. DESCRIPTION</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> compresses files
-using the Burrows-Wheeler block sorting text compression
-algorithm, and Huffman coding. Compression is generally
-considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of
-the PPM family of statistical compressors.</p>
-<p>The command-line options are deliberately very similar to
-those of GNU <code class="computeroutput">gzip</code>, but they are
-not identical.</p>
-<p><code class="computeroutput">bzip2</code> expects a list of
-file names to accompany the command-line flags. Each file is
-replaced by a compressed version of itself, with the name
-<code class="computeroutput">original_name.bz2</code>. Each
-compressed file has the same modification date, permissions, and,
-when possible, ownership as the corresponding original, so that
-these properties can be correctly restored at decompression time.
-File name handling is naive in the sense that there is no
-mechanism for preserving original file names, permissions,
-ownerships or dates in filesystems which lack these concepts, or
-have serious file name length restrictions, such as
-MS-DOS.</p>
-<p><code class="computeroutput">bzip2</code> and
-<code class="computeroutput">bunzip2</code> will by default not
-overwrite existing files. If you want this to happen, specify
-the <code class="computeroutput">-f</code> flag.</p>
-<p>If no file names are specified,
-<code class="computeroutput">bzip2</code> compresses from standard
-input to standard output. In this case,
-<code class="computeroutput">bzip2</code> will decline to write
-compressed output to a terminal, as this would be entirely
-incomprehensible and therefore pointless.</p>
-<p><code class="computeroutput">bunzip2</code> (or
-<code class="computeroutput">bzip2 -d</code>) decompresses all
-specified files. Files which were not created by
-<code class="computeroutput">bzip2</code> will be detected and
-ignored, and a warning issued.
-<code class="computeroutput">bzip2</code> attempts to guess the
-filename for the decompressed file from that of the compressed
-file as follows:</p>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc"><p><code class="computeroutput">filename.bz2 </code>
- becomes
- <code class="computeroutput">filename</code></p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">filename.bz </code>
- becomes
- <code class="computeroutput">filename</code></p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">filename.tbz2</code>
- becomes
- <code class="computeroutput">filename.tar</code></p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">filename.tbz </code>
- becomes
- <code class="computeroutput">filename.tar</code></p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">anyothername </code>
- becomes
- <code class="computeroutput">anyothername.out</code></p></li>
-</ul></div>
-<p>If the file does not end in one of the recognised endings,
-<code class="computeroutput">.bz2</code>,
-<code class="computeroutput">.bz</code>,
-<code class="computeroutput">.tbz2</code> or
-<code class="computeroutput">.tbz</code>,
-<code class="computeroutput">bzip2</code> complains that it cannot
-guess the name of the original file, and uses the original name
-with <code class="computeroutput">.out</code> appended.</p>
-<p>As with compression, supplying no filenames causes
-decompression from standard input to standard output.</p>
-<p><code class="computeroutput">bunzip2</code> will correctly
-decompress a file which is the concatenation of two or more
-compressed files. The result is the concatenation of the
-corresponding uncompressed files. Integrity testing
-(<code class="computeroutput">-t</code>) of concatenated compressed
-files is also supported.</p>
-<p>You can also compress or decompress files to the standard
-output by giving the <code class="computeroutput">-c</code> flag.
-Multiple files may be compressed and decompressed like this. The
-resulting outputs are fed sequentially to stdout. Compression of
-multiple files in this manner generates a stream containing
-multiple compressed file representations. Such a stream can be
-decompressed correctly only by
-<code class="computeroutput">bzip2</code> version 0.9.0 or later.
-Earlier versions of <code class="computeroutput">bzip2</code> will
-stop after decompressing the first file in the stream.</p>
-<p><code class="computeroutput">bzcat</code> (or
-<code class="computeroutput">bzip2 -dc</code>) decompresses all
-specified files to the standard output.</p>
-<p><code class="computeroutput">bzip2</code> will read arguments
-from the environment variables
-<code class="computeroutput">BZIP2</code> and
-<code class="computeroutput">BZIP</code>, in that order, and will
-process them before any arguments read from the command line.
-This gives a convenient way to supply default arguments.</p>
-<p>Compression is always performed, even if the compressed
-file is slightly larger than the original. Files of less than
-about one hundred bytes tend to get larger, since the compression
-mechanism has a constant overhead in the region of 50 bytes.
-Random data (including the output of most file compressors) is
-coded at about 8.05 bits per byte, giving an expansion of around
-0.5%.</p>
-<p>As a self-check for your protection,
-<code class="computeroutput">bzip2</code> uses 32-bit CRCs to make
-sure that the decompressed version of a file is identical to the
-original. This guards against corruption of the compressed data,
-and against undetected bugs in
-<code class="computeroutput">bzip2</code> (hopefully very unlikely).
-The chances of data corruption going undetected is microscopic,
-about one chance in four billion for each file processed. Be
-aware, though, that the check occurs upon decompression, so it
-can only tell you that something is wrong. It can't help you
-recover the original uncompressed data. You can use
-<code class="computeroutput">bzip2recover</code> to try to recover
-data from damaged files.</p>
-<p>Return values: 0 for a normal exit, 1 for environmental
-problems (file not found, invalid flags, I/O errors, etc.), 2
-to indicate a corrupt compressed file, 3 for an internal
-consistency error (eg, bug) which caused
-<code class="computeroutput">bzip2</code> to panic.</p>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="options"></a>2.4. OPTIONS</h2></div></div></div>
-<div class="variablelist"><dl>
-<dt><span class="term"><code class="computeroutput">-c --stdout</code></span></dt>
-<dd><p>Compress or decompress to standard
- output.</p></dd>
-<dt><span class="term"><code class="computeroutput">-d --decompress</code></span></dt>
-<dd><p>Force decompression.
- <code class="computeroutput">bzip2</code>,
- <code class="computeroutput">bunzip2</code> and
- <code class="computeroutput">bzcat</code> are really the same
- program, and the decision about what actions to take is done on
- the basis of which name is used. This flag overrides that
- mechanism, and forces bzip2 to decompress.</p></dd>
-<dt><span class="term"><code class="computeroutput">-z --compress</code></span></dt>
-<dd><p>The complement to
- <code class="computeroutput">-d</code>: forces compression,
- regardless of the invokation name.</p></dd>
-<dt><span class="term"><code class="computeroutput">-t --test</code></span></dt>
-<dd><p>Check integrity of the specified file(s), but
- don't decompress them. This really performs a trial
- decompression and throws away the result.</p></dd>
-<dt><span class="term"><code class="computeroutput">-f --force</code></span></dt>
-<dd>
-<p>Force overwrite of output files. Normally,
- <code class="computeroutput">bzip2</code> will not overwrite
- existing output files. Also forces
- <code class="computeroutput">bzip2</code> to break hard links to
- files, which it otherwise wouldn't do.</p>
-<p><code class="computeroutput">bzip2</code> normally declines
- to decompress files which don't have the correct magic header
- bytes. If forced (<code class="computeroutput">-f</code>),
- however, it will pass such files through unmodified. This is
- how GNU <code class="computeroutput">gzip</code> behaves.</p>
-</dd>
-<dt><span class="term"><code class="computeroutput">-k --keep</code></span></dt>
-<dd><p>Keep (don't delete) input files during
- compression or decompression.</p></dd>
-<dt><span class="term"><code class="computeroutput">-s --small</code></span></dt>
-<dd>
-<p>Reduce memory usage, for compression,
- decompression and testing. Files are decompressed and tested
- using a modified algorithm which only requires 2.5 bytes per
- block byte. This means any file can be decompressed in 2300k
- of memory, albeit at about half the normal speed.</p>
-<p>During compression, <code class="computeroutput">-s</code>
- selects a block size of 200k, which limits memory use to around
- the same figure, at the expense of your compression ratio. In
- short, if your machine is low on memory (8 megabytes or less),
- use <code class="computeroutput">-s</code> for everything. See
- <a href="#memory-management">MEMORY MANAGEMENT</a> below.</p>
-</dd>
-<dt><span class="term"><code class="computeroutput">-q --quiet</code></span></dt>
-<dd><p>Suppress non-essential warning messages.
- Messages pertaining to I/O errors and other critical events
- will not be suppressed.</p></dd>
-<dt><span class="term"><code class="computeroutput">-v --verbose</code></span></dt>
-<dd><p>Verbose mode -- show the compression ratio for
- each file processed. Further
- <code class="computeroutput">-v</code>'s increase the verbosity
- level, spewing out lots of information which is primarily of
- interest for diagnostic purposes.</p></dd>
-<dt><span class="term"><code class="computeroutput">-L --license -V --version</code></span></dt>
-<dd><p>Display the software version, license terms and
- conditions.</p></dd>
-<dt><span class="term"><code class="computeroutput">-1</code> (or
- <code class="computeroutput">--fast</code>) to
- <code class="computeroutput">-9</code> (or
- <code class="computeroutput">-best</code>)</span></dt>
-<dd><p>Set the block size to 100 k, 200 k ... 900 k
- when compressing. Has no effect when decompressing. See <a href="#memory-management">MEMORY MANAGEMENT</a> below. The
- <code class="computeroutput">--fast</code> and
- <code class="computeroutput">--best</code> aliases are primarily
- for GNU <code class="computeroutput">gzip</code> compatibility.
- In particular, <code class="computeroutput">--fast</code> doesn't
- make things significantly faster. And
- <code class="computeroutput">--best</code> merely selects the
- default behaviour.</p></dd>
-<dt><span class="term"><code class="computeroutput">--</code></span></dt>
-<dd><p>Treats all subsequent arguments as file names,
- even if they start with a dash. This is so you can handle
- files with names beginning with a dash, for example:
- <code class="computeroutput">bzip2 --
- -myfilename</code>.</p></dd>
-<dt>
-<span class="term"><code class="computeroutput">--repetitive-fast</code>, </span><span class="term"><code class="computeroutput">--repetitive-best</code></span>
-</dt>
-<dd><p>These flags are redundant in versions 0.9.5 and
- above. They provided some coarse control over the behaviour of
- the sorting algorithm in earlier versions, which was sometimes
- useful. 0.9.5 and above have an improved algorithm which
- renders these flags irrelevant.</p></dd>
-</dl></div>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="memory-management"></a>2.5. MEMORY MANAGEMENT</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> compresses large
-files in blocks. The block size affects both the compression
-ratio achieved, and the amount of memory needed for compression
-and decompression. The flags <code class="computeroutput">-1</code>
-through <code class="computeroutput">-9</code> specify the block
-size to be 100,000 bytes through 900,000 bytes (the default)
-respectively. At decompression time, the block size used for
-compression is read from the header of the compressed file, and
-<code class="computeroutput">bunzip2</code> then allocates itself
-just enough memory to decompress the file. Since block sizes are
-stored in compressed files, it follows that the flags
-<code class="computeroutput">-1</code> to
-<code class="computeroutput">-9</code> are irrelevant to and so
-ignored during decompression.</p>
-<p>Compression and decompression requirements, in bytes, can be
-estimated as:</p>
-<pre class="programlisting">Compression: 400k + ( 8 x block size )
-
-Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )</pre>
-<p>Larger block sizes give rapidly diminishing marginal
-returns. Most of the compression comes from the first two or
-three hundred k of block size, a fact worth bearing in mind when
-using <code class="computeroutput">bzip2</code> on small machines.
-It is also important to appreciate that the decompression memory
-requirement is set at compression time by the choice of block
-size.</p>
-<p>For files compressed with the default 900k block size,
-<code class="computeroutput">bunzip2</code> will require about 3700
-kbytes to decompress. To support decompression of any file on a
-4 megabyte machine, <code class="computeroutput">bunzip2</code> has
-an option to decompress using approximately half this amount of
-memory, about 2300 kbytes. Decompression speed is also halved,
-so you should use this option only where necessary. The relevant
-flag is <code class="computeroutput">-s</code>.</p>
-<p>In general, try and use the largest block size memory
-constraints allow, since that maximises the compression achieved.
-Compression and decompression speed are virtually unaffected by
-block size.</p>
-<p>Another significant point applies to files which fit in a
-single block -- that means most files you'd encounter using a
-large block size. The amount of real memory touched is
-proportional to the size of the file, since the file is smaller
-than a block. For example, compressing a file 20,000 bytes long
-with the flag <code class="computeroutput">-9</code> will cause the
-compressor to allocate around 7600k of memory, but only touch
-400k + 20000 * 8 = 560 kbytes of it. Similarly, the decompressor
-will allocate 3700k but only touch 100k + 20000 * 4 = 180
-kbytes.</p>
-<p>Here is a table which summarises the maximum memory usage
-for different block sizes. Also recorded is the total compressed
-size for 14 files of the Calgary Text Compression Corpus
-totalling 3,141,622 bytes. This column gives some feel for how
-compression varies with block size. These figures tend to
-understate the advantage of larger block sizes for larger files,
-since the Corpus is dominated by smaller files.</p>
-<pre class="programlisting"> Compress Decompress Decompress Corpus
-Flag usage usage -s usage Size
-
- -1 1200k 500k 350k 914704
- -2 2000k 900k 600k 877703
- -3 2800k 1300k 850k 860338
- -4 3600k 1700k 1100k 846899
- -5 4400k 2100k 1350k 845160
- -6 5200k 2500k 1600k 838626
- -7 6100k 2900k 1850k 834096
- -8 6800k 3300k 2100k 828642
- -9 7600k 3700k 2350k 828642</pre>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="recovering"></a>2.6. RECOVERING DATA FROM DAMAGED FILES</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> compresses files in
-blocks, usually 900kbytes long. Each block is handled
-independently. If a media or transmission error causes a
-multi-block <code class="computeroutput">.bz2</code> file to become
-damaged, it may be possible to recover data from the undamaged
-blocks in the file.</p>
-<p>The compressed representation of each block is delimited by
-a 48-bit pattern, which makes it possible to find the block
-boundaries with reasonable certainty. Each block also carries
-its own 32-bit CRC, so damaged blocks can be distinguished from
-undamaged ones.</p>
-<p><code class="computeroutput">bzip2recover</code> is a simple
-program whose purpose is to search for blocks in
-<code class="computeroutput">.bz2</code> files, and write each block
-out into its own <code class="computeroutput">.bz2</code> file. You
-can then use <code class="computeroutput">bzip2 -t</code> to test
-the integrity of the resulting files, and decompress those which
-are undamaged.</p>
-<p><code class="computeroutput">bzip2recover</code> takes a
-single argument, the name of the damaged file, and writes a
-number of files <code class="computeroutput">rec0001file.bz2</code>,
-<code class="computeroutput">rec0002file.bz2</code>, etc, containing
-the extracted blocks. The output filenames are designed so that
-the use of wildcards in subsequent processing -- for example,
-<code class="computeroutput">bzip2 -dc rec*file.bz2 &gt;
-recovered_data</code> -- lists the files in the correct
-order.</p>
-<p><code class="computeroutput">bzip2recover</code> should be of
-most use dealing with large <code class="computeroutput">.bz2</code>
-files, as these will contain many blocks. It is clearly futile
-to use it on damaged single-block files, since a damaged block
-cannot be recovered. If you wish to minimise any potential data
-loss through media or transmission errors, you might consider
-compressing with a smaller block size.</p>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="performance"></a>2.7. PERFORMANCE NOTES</h2></div></div></div>
-<p>The sorting phase of compression gathers together similar
-strings in the file. Because of this, files containing very long
-runs of repeated symbols, like "aabaabaabaab ..." (repeated
-several hundred times) may compress more slowly than normal.
-Versions 0.9.5 and above fare much better than previous versions
-in this respect. The ratio between worst-case and average-case
-compression time is in the region of 10:1. For previous
-versions, this figure was more like 100:1. You can use the
-<code class="computeroutput">-vvvv</code> option to monitor progress
-in great detail, if you want.</p>
-<p>Decompression speed is unaffected by these
-phenomena.</p>
-<p><code class="computeroutput">bzip2</code> usually allocates
-several megabytes of memory to operate in, and then charges all
-over it in a fairly random fashion. This means that performance,
-both for compressing and decompressing, is largely determined by
-the speed at which your machine can service cache misses.
-Because of this, small changes to the code to reduce the miss
-rate have been observed to give disproportionately large
-performance improvements. I imagine
-<code class="computeroutput">bzip2</code> will perform best on
-machines with very large caches.</p>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="caveats"></a>2.8. CAVEATS</h2></div></div></div>
-<p>I/O error messages are not as helpful as they could be.
-<code class="computeroutput">bzip2</code> tries hard to detect I/O
-errors and exit cleanly, but the details of what the problem is
-sometimes seem rather misleading.</p>
-<p>This manual page pertains to version 1.0.5 of
-<code class="computeroutput">bzip2</code>. Compressed data created by
-this version is entirely forwards and backwards compatible with the
-previous public releases, versions 0.1pl2, 0.9.0 and 0.9.5, 1.0.0,
-1.0.1, 1.0.2 and 1.0.3, but with the following exception: 0.9.0 and
-above can correctly decompress multiple concatenated compressed files.
-0.1pl2 cannot do this; it will stop after decompressing just the first
-file in the stream.</p>
-<p><code class="computeroutput">bzip2recover</code> versions
-prior to 1.0.2 used 32-bit integers to represent bit positions in
-compressed files, so it could not handle compressed files more
-than 512 megabytes long. Versions 1.0.2 and above use 64-bit ints
-on some platforms which support them (GNU supported targets, and
-Windows). To establish whether or not
-<code class="computeroutput">bzip2recover</code> was built with such
-a limitation, run it without arguments. In any event you can
-build yourself an unlimited version if you can recompile it with
-<code class="computeroutput">MaybeUInt64</code> set to be an
-unsigned 64-bit integer.</p>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="author"></a>2.9. AUTHOR</h2></div></div></div>
-<p>Julian Seward,
-<code class="computeroutput">jseward@bzip.org</code></p>
-<p>The ideas embodied in
-<code class="computeroutput">bzip2</code> are due to (at least) the
-following people: Michael Burrows and David Wheeler (for the
-block sorting transformation), David Wheeler (again, for the
-Huffman coder), Peter Fenwick (for the structured coding model in
-the original <code class="computeroutput">bzip</code>, and many
-refinements), and Alistair Moffat, Radford Neal and Ian Witten
-(for the arithmetic coder in the original
-<code class="computeroutput">bzip</code>). I am much indebted for
-their help, support and advice. See the manual in the source
-distribution for pointers to sources of documentation. Christian
-von Roques encouraged me to look for faster sorting algorithms,
-so as to speed up compression. Bela Lubkin encouraged me to
-improve the worst-case compression performance.
-Donna Robinson XMLised the documentation.
-Many people sent
-patches, helped with portability problems, lent machines, gave
-advice and were generally helpful.</p>
-</div>
-</div>
-<div class="chapter" lang="en">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="libprog"></a>3. 
-Programming with <code class="computeroutput">libbzip2</code>
-</h2></div></div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="sect1"><a href="#top-level">3.1. Top-level structure</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#ll-summary">3.1.1. Low-level summary</a></span></dt>
-<dt><span class="sect2"><a href="#hl-summary">3.1.2. High-level summary</a></span></dt>
-<dt><span class="sect2"><a href="#util-fns-summary">3.1.3. Utility functions summary</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#err-handling">3.2. Error handling</a></span></dt>
-<dt><span class="sect1"><a href="#low-level">3.3. Low-level interface</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzcompress-init">3.3.1. <code class="computeroutput">BZ2_bzCompressInit</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzCompress">3.3.2. <code class="computeroutput">BZ2_bzCompress</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzCompress-end">3.3.3. <code class="computeroutput">BZ2_bzCompressEnd</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress-init">3.3.4. <code class="computeroutput">BZ2_bzDecompressInit</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress">3.3.5. <code class="computeroutput">BZ2_bzDecompress</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzDecompress-end">3.3.6. <code class="computeroutput">BZ2_bzDecompressEnd</code></a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#hl-interface">3.4. High-level interface</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzreadopen">3.4.1. <code class="computeroutput">BZ2_bzReadOpen</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzread">3.4.2. <code class="computeroutput">BZ2_bzRead</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzreadgetunused">3.4.3. <code class="computeroutput">BZ2_bzReadGetUnused</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzreadclose">3.4.4. <code class="computeroutput">BZ2_bzReadClose</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzwriteopen">3.4.5. <code class="computeroutput">BZ2_bzWriteOpen</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzwrite">3.4.6. <code class="computeroutput">BZ2_bzWrite</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzwriteclose">3.4.7. <code class="computeroutput">BZ2_bzWriteClose</code></a></span></dt>
-<dt><span class="sect2"><a href="#embed">3.4.8. Handling embedded compressed data streams</a></span></dt>
-<dt><span class="sect2"><a href="#std-rdwr">3.4.9. Standard file-reading/writing code</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#util-fns">3.5. Utility functions</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#bzbufftobuffcompress">3.5.1. <code class="computeroutput">BZ2_bzBuffToBuffCompress</code></a></span></dt>
-<dt><span class="sect2"><a href="#bzbufftobuffdecompress">3.5.2. <code class="computeroutput">BZ2_bzBuffToBuffDecompress</code></a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#zlib-compat">3.6. <code class="computeroutput">zlib</code> compatibility functions</a></span></dt>
-<dt><span class="sect1"><a href="#stdio-free">3.7. Using the library in a <code class="computeroutput">stdio</code>-free environment</a></span></dt>
-<dd><dl>
-<dt><span class="sect2"><a href="#stdio-bye">3.7.1. Getting rid of <code class="computeroutput">stdio</code></a></span></dt>
-<dt><span class="sect2"><a href="#critical-error">3.7.2. Critical error handling</a></span></dt>
-</dl></dd>
-<dt><span class="sect1"><a href="#win-dll">3.8. Making a Windows DLL</a></span></dt>
-</dl>
-</div>
-<p>This chapter describes the programming interface to
-<code class="computeroutput">libbzip2</code>.</p>
-<p>For general background information, particularly about
-memory use and performance aspects, you'd be well advised to read
-<a href="#using">How to use bzip2</a> as well.</p>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="top-level"></a>3.1. Top-level structure</h2></div></div></div>
-<p><code class="computeroutput">libbzip2</code> is a flexible
-library for compressing and decompressing data in the
-<code class="computeroutput">bzip2</code> data format. Although
-packaged as a single entity, it helps to regard the library as
-three separate parts: the low level interface, and the high level
-interface, and some utility functions.</p>
-<p>The structure of
-<code class="computeroutput">libbzip2</code>'s interfaces is similar
-to that of Jean-loup Gailly's and Mark Adler's excellent
-<code class="computeroutput">zlib</code> library.</p>
-<p>All externally visible symbols have names beginning
-<code class="computeroutput">BZ2_</code>. This is new in version
-1.0. The intention is to minimise pollution of the namespaces of
-library clients.</p>
-<p>To use any part of the library, you need to
-<code class="computeroutput">#include &lt;bzlib.h&gt;</code>
-into your sources.</p>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="ll-summary"></a>3.1.1. Low-level summary</h3></div></div></div>
-<p>This interface provides services for compressing and
-decompressing data in memory. There's no provision for dealing
-with files, streams or any other I/O mechanisms, just straight
-memory-to-memory work. In fact, this part of the library can be
-compiled without inclusion of
-<code class="computeroutput">stdio.h</code>, which may be helpful
-for embedded applications.</p>
-<p>The low-level part of the library has no global variables
-and is therefore thread-safe.</p>
-<p>Six routines make up the low level interface:
-<code class="computeroutput">BZ2_bzCompressInit</code>,
-<code class="computeroutput">BZ2_bzCompress</code>, and
-<code class="computeroutput">BZ2_bzCompressEnd</code> for
-compression, and a corresponding trio
-<code class="computeroutput">BZ2_bzDecompressInit</code>,
-<code class="computeroutput">BZ2_bzDecompress</code> and
-<code class="computeroutput">BZ2_bzDecompressEnd</code> for
-decompression. The <code class="computeroutput">*Init</code>
-functions allocate memory for compression/decompression and do
-other initialisations, whilst the
-<code class="computeroutput">*End</code> functions close down
-operations and release memory.</p>
-<p>The real work is done by
-<code class="computeroutput">BZ2_bzCompress</code> and
-<code class="computeroutput">BZ2_bzDecompress</code>. These
-compress and decompress data from a user-supplied input buffer to
-a user-supplied output buffer. These buffers can be any size;
-arbitrary quantities of data are handled by making repeated calls
-to these functions. This is a flexible mechanism allowing a
-consumer-pull style of activity, or producer-push, or a mixture
-of both.</p>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="hl-summary"></a>3.1.2. High-level summary</h3></div></div></div>
-<p>This interface provides some handy wrappers around the
-low-level interface to facilitate reading and writing
-<code class="computeroutput">bzip2</code> format files
-(<code class="computeroutput">.bz2</code> files). The routines
-provide hooks to facilitate reading files in which the
-<code class="computeroutput">bzip2</code> data stream is embedded
-within some larger-scale file structure, or where there are
-multiple <code class="computeroutput">bzip2</code> data streams
-concatenated end-to-end.</p>
-<p>For reading files,
-<code class="computeroutput">BZ2_bzReadOpen</code>,
-<code class="computeroutput">BZ2_bzRead</code>,
-<code class="computeroutput">BZ2_bzReadClose</code> and
-<code class="computeroutput">BZ2_bzReadGetUnused</code> are
-supplied. For writing files,
-<code class="computeroutput">BZ2_bzWriteOpen</code>,
-<code class="computeroutput">BZ2_bzWrite</code> and
-<code class="computeroutput">BZ2_bzWriteFinish</code> are
-available.</p>
-<p>As with the low-level library, no global variables are used
-so the library is per se thread-safe. However, if I/O errors
-occur whilst reading or writing the underlying compressed files,
-you may have to consult <code class="computeroutput">errno</code> to
-determine the cause of the error. In that case, you'd need a C
-library which correctly supports
-<code class="computeroutput">errno</code> in a multithreaded
-environment.</p>
-<p>To make the library a little simpler and more portable,
-<code class="computeroutput">BZ2_bzReadOpen</code> and
-<code class="computeroutput">BZ2_bzWriteOpen</code> require you to
-pass them file handles (<code class="computeroutput">FILE*</code>s)
-which have previously been opened for reading or writing
-respectively. That avoids portability problems associated with
-file operations and file attributes, whilst not being much of an
-imposition on the programmer.</p>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="util-fns-summary"></a>3.1.3. Utility functions summary</h3></div></div></div>
-<p>For very simple needs,
-<code class="computeroutput">BZ2_bzBuffToBuffCompress</code> and
-<code class="computeroutput">BZ2_bzBuffToBuffDecompress</code> are
-provided. These compress data in memory from one buffer to
-another buffer in a single function call. You should assess
-whether these functions fulfill your memory-to-memory
-compression/decompression requirements before investing effort in
-understanding the more general but more complex low-level
-interface.</p>
-<p>Yoshioka Tsuneo
-(<code class="computeroutput">tsuneo@rr.iij4u.or.jp</code>) has
-contributed some functions to give better
-<code class="computeroutput">zlib</code> compatibility. These
-functions are <code class="computeroutput">BZ2_bzopen</code>,
-<code class="computeroutput">BZ2_bzread</code>,
-<code class="computeroutput">BZ2_bzwrite</code>,
-<code class="computeroutput">BZ2_bzflush</code>,
-<code class="computeroutput">BZ2_bzclose</code>,
-<code class="computeroutput">BZ2_bzerror</code> and
-<code class="computeroutput">BZ2_bzlibVersion</code>. You may find
-these functions more convenient for simple file reading and
-writing, than those in the high-level interface. These functions
-are not (yet) officially part of the library, and are minimally
-documented here. If they break, you get to keep all the pieces.
-I hope to document them properly when time permits.</p>
-<p>Yoshioka also contributed modifications to allow the
-library to be built as a Windows DLL.</p>
-</div>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="err-handling"></a>3.2. Error handling</h2></div></div></div>
-<p>The library is designed to recover cleanly in all
-situations, including the worst-case situation of decompressing
-random data. I'm not 100% sure that it can always do this, so
-you might want to add a signal handler to catch segmentation
-violations during decompression if you are feeling especially
-paranoid. I would be interested in hearing more about the
-robustness of the library to corrupted compressed data.</p>
-<p>Version 1.0.3 more robust in this respect than any
-previous version. Investigations with Valgrind (a tool for detecting
-problems with memory management) indicate
-that, at least for the few files I tested, all single-bit errors
-in the decompressed data are caught properly, with no
-segmentation faults, no uses of uninitialised data, no out of
-range reads or writes, and no infinite looping in the decompressor.
-So it's certainly pretty robust, although
-I wouldn't claim it to be totally bombproof.</p>
-<p>The file <code class="computeroutput">bzlib.h</code> contains
-all definitions needed to use the library. In particular, you
-should definitely not include
-<code class="computeroutput">bzlib_private.h</code>.</p>
-<p>In <code class="computeroutput">bzlib.h</code>, the various
-return values are defined. The following list is not intended as
-an exhaustive description of the circumstances in which a given
-value may be returned -- those descriptions are given later.
-Rather, it is intended to convey the rough meaning of each return
-value. The first five actions are normal and not intended to
-denote an error situation.</p>
-<div class="variablelist"><dl>
-<dt><span class="term"><code class="computeroutput">BZ_OK</code></span></dt>
-<dd><p>The requested action was completed
- successfully.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_RUN_OK, BZ_FLUSH_OK,
- BZ_FINISH_OK</code></span></dt>
-<dd><p>In
- <code class="computeroutput">BZ2_bzCompress</code>, the requested
- flush/finish/nothing-special action was completed
- successfully.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_STREAM_END</code></span></dt>
-<dd><p>Compression of data was completed, or the
- logical stream end was detected during
- decompression.</p></dd>
-</dl></div>
-<p>The following return values indicate an error of some
-kind.</p>
-<div class="variablelist"><dl>
-<dt><span class="term"><code class="computeroutput">BZ_CONFIG_ERROR</code></span></dt>
-<dd><p>Indicates that the library has been improperly
- compiled on your platform -- a major configuration error.
- Specifically, it means that
- <code class="computeroutput">sizeof(char)</code>,
- <code class="computeroutput">sizeof(short)</code> and
- <code class="computeroutput">sizeof(int)</code> are not 1, 2 and
- 4 respectively, as they should be. Note that the library
- should still work properly on 64-bit platforms which follow
- the LP64 programming model -- that is, where
- <code class="computeroutput">sizeof(long)</code> and
- <code class="computeroutput">sizeof(void*)</code> are 8. Under
- LP64, <code class="computeroutput">sizeof(int)</code> is still 4,
- so <code class="computeroutput">libbzip2</code>, which doesn't
- use the <code class="computeroutput">long</code> type, is
- OK.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_SEQUENCE_ERROR</code></span></dt>
-<dd><p>When using the library, it is important to call
- the functions in the correct sequence and with data structures
- (buffers etc) in the correct states.
- <code class="computeroutput">libbzip2</code> checks as much as it
- can to ensure this is happening, and returns
- <code class="computeroutput">BZ_SEQUENCE_ERROR</code> if not.
- Code which complies precisely with the function semantics, as
- detailed below, should never receive this value; such an event
- denotes buggy code which you should
- investigate.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_PARAM_ERROR</code></span></dt>
-<dd><p>Returned when a parameter to a function call is
- out of range or otherwise manifestly incorrect. As with
- <code class="computeroutput">BZ_SEQUENCE_ERROR</code>, this
- denotes a bug in the client code. The distinction between
- <code class="computeroutput">BZ_PARAM_ERROR</code> and
- <code class="computeroutput">BZ_SEQUENCE_ERROR</code> is a bit
- hazy, but still worth making.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_MEM_ERROR</code></span></dt>
-<dd><p>Returned when a request to allocate memory
- failed. Note that the quantity of memory needed to decompress
- a stream cannot be determined until the stream's header has
- been read. So
- <code class="computeroutput">BZ2_bzDecompress</code> and
- <code class="computeroutput">BZ2_bzRead</code> may return
- <code class="computeroutput">BZ_MEM_ERROR</code> even though some
- of the compressed data has been read. The same is not true
- for compression; once
- <code class="computeroutput">BZ2_bzCompressInit</code> or
- <code class="computeroutput">BZ2_bzWriteOpen</code> have
- successfully completed,
- <code class="computeroutput">BZ_MEM_ERROR</code> cannot
- occur.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_DATA_ERROR</code></span></dt>
-<dd><p>Returned when a data integrity error is
- detected during decompression. Most importantly, this means
- when stored and computed CRCs for the data do not match. This
- value is also returned upon detection of any other anomaly in
- the compressed data.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_DATA_ERROR_MAGIC</code></span></dt>
-<dd><p>As a special case of
- <code class="computeroutput">BZ_DATA_ERROR</code>, it is
- sometimes useful to know when the compressed stream does not
- start with the correct magic bytes (<code class="computeroutput">'B' 'Z'
- 'h'</code>).</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_IO_ERROR</code></span></dt>
-<dd><p>Returned by
- <code class="computeroutput">BZ2_bzRead</code> and
- <code class="computeroutput">BZ2_bzWrite</code> when there is an
- error reading or writing in the compressed file, and by
- <code class="computeroutput">BZ2_bzReadOpen</code> and
- <code class="computeroutput">BZ2_bzWriteOpen</code> for attempts
- to use a file for which the error indicator (viz,
- <code class="computeroutput">ferror(f)</code>) is set. On
- receipt of <code class="computeroutput">BZ_IO_ERROR</code>, the
- caller should consult <code class="computeroutput">errno</code>
- and/or <code class="computeroutput">perror</code> to acquire
- operating-system specific information about the
- problem.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_UNEXPECTED_EOF</code></span></dt>
-<dd><p>Returned by
- <code class="computeroutput">BZ2_bzRead</code> when the
- compressed file finishes before the logical end of stream is
- detected.</p></dd>
-<dt><span class="term"><code class="computeroutput">BZ_OUTBUFF_FULL</code></span></dt>
-<dd><p>Returned by
- <code class="computeroutput">BZ2_bzBuffToBuffCompress</code> and
- <code class="computeroutput">BZ2_bzBuffToBuffDecompress</code> to
- indicate that the output data will not fit into the output
- buffer provided.</p></dd>
-</dl></div>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="low-level"></a>3.3. Low-level interface</h2></div></div></div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzcompress-init"></a>3.3.1. <code class="computeroutput">BZ2_bzCompressInit</code></h3></div></div></div>
-<pre class="programlisting">typedef struct {
- char *next_in;
- unsigned int avail_in;
- unsigned int total_in_lo32;
- unsigned int total_in_hi32;
-
- char *next_out;
- unsigned int avail_out;
- unsigned int total_out_lo32;
- unsigned int total_out_hi32;
-
- void *state;
-
- void *(*bzalloc)(void *,int,int);
- void (*bzfree)(void *,void *);
- void *opaque;
-} bz_stream;
-
-int BZ2_bzCompressInit ( bz_stream *strm,
- int blockSize100k,
- int verbosity,
- int workFactor );</pre>
-<p>Prepares for compression. The
-<code class="computeroutput">bz_stream</code> structure holds all
-data pertaining to the compression activity. A
-<code class="computeroutput">bz_stream</code> structure should be
-allocated and initialised prior to the call. The fields of
-<code class="computeroutput">bz_stream</code> comprise the entirety
-of the user-visible data. <code class="computeroutput">state</code>
-is a pointer to the private data structures required for
-compression.</p>
-<p>Custom memory allocators are supported, via fields
-<code class="computeroutput">bzalloc</code>,
-<code class="computeroutput">bzfree</code>, and
-<code class="computeroutput">opaque</code>. The value
-<code class="computeroutput">opaque</code> is passed to as the first
-argument to all calls to <code class="computeroutput">bzalloc</code>
-and <code class="computeroutput">bzfree</code>, but is otherwise
-ignored by the library. The call <code class="computeroutput">bzalloc (
-opaque, n, m )</code> is expected to return a pointer
-<code class="computeroutput">p</code> to <code class="computeroutput">n *
-m</code> bytes of memory, and <code class="computeroutput">bzfree (
-opaque, p )</code> should free that memory.</p>
-<p>If you don't want to use a custom memory allocator, set
-<code class="computeroutput">bzalloc</code>,
-<code class="computeroutput">bzfree</code> and
-<code class="computeroutput">opaque</code> to
-<code class="computeroutput">NULL</code>, and the library will then
-use the standard <code class="computeroutput">malloc</code> /
-<code class="computeroutput">free</code> routines.</p>
-<p>Before calling
-<code class="computeroutput">BZ2_bzCompressInit</code>, fields
-<code class="computeroutput">bzalloc</code>,
-<code class="computeroutput">bzfree</code> and
-<code class="computeroutput">opaque</code> should be filled
-appropriately, as just described. Upon return, the internal
-state will have been allocated and initialised, and
-<code class="computeroutput">total_in_lo32</code>,
-<code class="computeroutput">total_in_hi32</code>,
-<code class="computeroutput">total_out_lo32</code> and
-<code class="computeroutput">total_out_hi32</code> will have been
-set to zero. These four fields are used by the library to inform
-the caller of the total amount of data passed into and out of the
-library, respectively. You should not try to change them. As of
-version 1.0, 64-bit counts are maintained, even on 32-bit
-platforms, using the <code class="computeroutput">_hi32</code>
-fields to store the upper 32 bits of the count. So, for example,
-the total amount of data in is <code class="computeroutput">(total_in_hi32
-&lt;&lt; 32) + total_in_lo32</code>.</p>
-<p>Parameter <code class="computeroutput">blockSize100k</code>
-specifies the block size to be used for compression. It should
-be a value between 1 and 9 inclusive, and the actual block size
-used is 100000 x this figure. 9 gives the best compression but
-takes most memory.</p>
-<p>Parameter <code class="computeroutput">verbosity</code> should
-be set to a number between 0 and 4 inclusive. 0 is silent, and
-greater numbers give increasingly verbose monitoring/debugging
-output. If the library has been compiled with
-<code class="computeroutput">-DBZ_NO_STDIO</code>, no such output
-will appear for any verbosity setting.</p>
-<p>Parameter <code class="computeroutput">workFactor</code>
-controls how the compression phase behaves when presented with
-worst case, highly repetitive, input data. If compression runs
-into difficulties caused by repetitive data, the library switches
-from the standard sorting algorithm to a fallback algorithm. The
-fallback is slower than the standard algorithm by perhaps a
-factor of three, but always behaves reasonably, no matter how bad
-the input.</p>
-<p>Lower values of <code class="computeroutput">workFactor</code>
-reduce the amount of effort the standard algorithm will expend
-before resorting to the fallback. You should set this parameter
-carefully; too low, and many inputs will be handled by the
-fallback algorithm and so compress rather slowly, too high, and
-your average-to-worst case compression times can become very
-large. The default value of 30 gives reasonable behaviour over a
-wide range of circumstances.</p>
-<p>Allowable values range from 0 to 250 inclusive. 0 is a
-special case, equivalent to using the default value of 30.</p>
-<p>Note that the compressed output generated is the same
-regardless of whether or not the fallback algorithm is
-used.</p>
-<p>Be aware also that this parameter may disappear entirely in
-future versions of the library. In principle it should be
-possible to devise a good way to automatically choose which
-algorithm to use. Such a mechanism would render the parameter
-obsolete.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if strm is NULL
- or blockSize &lt; 1 or blockSize &gt; 9
- or verbosity &lt; 0 or verbosity &gt; 4
- or workFactor &lt; 0 or workFactor &gt; 250
-BZ_MEM_ERROR
- if not enough memory is available
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzCompress
- if BZ_OK is returned
- no specific action needed in case of error</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzCompress"></a>3.3.2. <code class="computeroutput">BZ2_bzCompress</code></h3></div></div></div>
-<pre class="programlisting">int BZ2_bzCompress ( bz_stream *strm, int action );</pre>
-<p>Provides more input and/or output buffer space for the
-library. The caller maintains input and output buffers, and
-calls <code class="computeroutput">BZ2_bzCompress</code> to transfer
-data between them.</p>
-<p>Before each call to
-<code class="computeroutput">BZ2_bzCompress</code>,
-<code class="computeroutput">next_in</code> should point at the data
-to be compressed, and <code class="computeroutput">avail_in</code>
-should indicate how many bytes the library may read.
-<code class="computeroutput">BZ2_bzCompress</code> updates
-<code class="computeroutput">next_in</code>,
-<code class="computeroutput">avail_in</code> and
-<code class="computeroutput">total_in</code> to reflect the number
-of bytes it has read.</p>
-<p>Similarly, <code class="computeroutput">next_out</code> should
-point to a buffer in which the compressed data is to be placed,
-with <code class="computeroutput">avail_out</code> indicating how
-much output space is available.
-<code class="computeroutput">BZ2_bzCompress</code> updates
-<code class="computeroutput">next_out</code>,
-<code class="computeroutput">avail_out</code> and
-<code class="computeroutput">total_out</code> to reflect the number
-of bytes output.</p>
-<p>You may provide and remove as little or as much data as you
-like on each call of
-<code class="computeroutput">BZ2_bzCompress</code>. In the limit,
-it is acceptable to supply and remove data one byte at a time,
-although this would be terribly inefficient. You should always
-ensure that at least one byte of output space is available at
-each call.</p>
-<p>A second purpose of
-<code class="computeroutput">BZ2_bzCompress</code> is to request a
-change of mode of the compressed stream.</p>
-<p>Conceptually, a compressed stream can be in one of four
-states: IDLE, RUNNING, FLUSHING and FINISHING. Before
-initialisation
-(<code class="computeroutput">BZ2_bzCompressInit</code>) and after
-termination (<code class="computeroutput">BZ2_bzCompressEnd</code>),
-a stream is regarded as IDLE.</p>
-<p>Upon initialisation
-(<code class="computeroutput">BZ2_bzCompressInit</code>), the stream
-is placed in the RUNNING state. Subsequent calls to
-<code class="computeroutput">BZ2_bzCompress</code> should pass
-<code class="computeroutput">BZ_RUN</code> as the requested action;
-other actions are illegal and will result in
-<code class="computeroutput">BZ_SEQUENCE_ERROR</code>.</p>
-<p>At some point, the calling program will have provided all
-the input data it wants to. It will then want to finish up -- in
-effect, asking the library to process any data it might have
-buffered internally. In this state,
-<code class="computeroutput">BZ2_bzCompress</code> will no longer
-attempt to read data from
-<code class="computeroutput">next_in</code>, but it will want to
-write data to <code class="computeroutput">next_out</code>. Because
-the output buffer supplied by the user can be arbitrarily small,
-the finishing-up operation cannot necessarily be done with a
-single call of
-<code class="computeroutput">BZ2_bzCompress</code>.</p>
-<p>Instead, the calling program passes
-<code class="computeroutput">BZ_FINISH</code> as an action to
-<code class="computeroutput">BZ2_bzCompress</code>. This changes
-the stream's state to FINISHING. Any remaining input (ie,
-<code class="computeroutput">next_in[0 .. avail_in-1]</code>) is
-compressed and transferred to the output buffer. To do this,
-<code class="computeroutput">BZ2_bzCompress</code> must be called
-repeatedly until all the output has been consumed. At that
-point, <code class="computeroutput">BZ2_bzCompress</code> returns
-<code class="computeroutput">BZ_STREAM_END</code>, and the stream's
-state is set back to IDLE.
-<code class="computeroutput">BZ2_bzCompressEnd</code> should then be
-called.</p>
-<p>Just to make sure the calling program does not cheat, the
-library makes a note of <code class="computeroutput">avail_in</code>
-at the time of the first call to
-<code class="computeroutput">BZ2_bzCompress</code> which has
-<code class="computeroutput">BZ_FINISH</code> as an action (ie, at
-the time the program has announced its intention to not supply
-any more input). By comparing this value with that of
-<code class="computeroutput">avail_in</code> over subsequent calls
-to <code class="computeroutput">BZ2_bzCompress</code>, the library
-can detect any attempts to slip in more data to compress. Any
-calls for which this is detected will return
-<code class="computeroutput">BZ_SEQUENCE_ERROR</code>. This
-indicates a programming mistake which should be corrected.</p>
-<p>Instead of asking to finish, the calling program may ask
-<code class="computeroutput">BZ2_bzCompress</code> to take all the
-remaining input, compress it and terminate the current
-(Burrows-Wheeler) compression block. This could be useful for
-error control purposes. The mechanism is analogous to that for
-finishing: call <code class="computeroutput">BZ2_bzCompress</code>
-with an action of <code class="computeroutput">BZ_FLUSH</code>,
-remove output data, and persist with the
-<code class="computeroutput">BZ_FLUSH</code> action until the value
-<code class="computeroutput">BZ_RUN</code> is returned. As with
-finishing, <code class="computeroutput">BZ2_bzCompress</code>
-detects any attempt to provide more input data once the flush has
-begun.</p>
-<p>Once the flush is complete, the stream returns to the
-normal RUNNING state.</p>
-<p>This all sounds pretty complex, but isn't really. Here's a
-table which shows which actions are allowable in each state, what
-action will be taken, what the next state is, and what the
-non-error return values are. Note that you can't explicitly ask
-what state the stream is in, but nor do you need to -- it can be
-inferred from the values returned by
-<code class="computeroutput">BZ2_bzCompress</code>.</p>
-<pre class="programlisting">IDLE/any
- Illegal. IDLE state only exists after BZ2_bzCompressEnd or
- before BZ2_bzCompressInit.
- Return value = BZ_SEQUENCE_ERROR
-
-RUNNING/BZ_RUN
- Compress from next_in to next_out as much as possible.
- Next state = RUNNING
- Return value = BZ_RUN_OK
-
-RUNNING/BZ_FLUSH
- Remember current value of next_in. Compress from next_in
- to next_out as much as possible, but do not accept any more input.
- Next state = FLUSHING
- Return value = BZ_FLUSH_OK
-
-RUNNING/BZ_FINISH
- Remember current value of next_in. Compress from next_in
- to next_out as much as possible, but do not accept any more input.
- Next state = FINISHING
- Return value = BZ_FINISH_OK
-
-FLUSHING/BZ_FLUSH
- Compress from next_in to next_out as much as possible,
- but do not accept any more input.
- If all the existing input has been used up and all compressed
- output has been removed
- Next state = RUNNING; Return value = BZ_RUN_OK
- else
- Next state = FLUSHING; Return value = BZ_FLUSH_OK
-
-FLUSHING/other
- Illegal.
- Return value = BZ_SEQUENCE_ERROR
-
-FINISHING/BZ_FINISH
- Compress from next_in to next_out as much as possible,
- but to not accept any more input.
- If all the existing input has been used up and all compressed
- output has been removed
- Next state = IDLE; Return value = BZ_STREAM_END
- else
- Next state = FINISHING; Return value = BZ_FINISH_OK
-
-FINISHING/other
- Illegal.
- Return value = BZ_SEQUENCE_ERROR</pre>
-<p>That still looks complicated? Well, fair enough. The
-usual sequence of calls for compressing a load of data is:</p>
-<div class="orderedlist"><ol type="1">
-<li><p>Get started with
- <code class="computeroutput">BZ2_bzCompressInit</code>.</p></li>
-<li><p>Shovel data in and shlurp out its compressed form
- using zero or more calls of
- <code class="computeroutput">BZ2_bzCompress</code> with action =
- <code class="computeroutput">BZ_RUN</code>.</p></li>
-<li><p>Finish up. Repeatedly call
- <code class="computeroutput">BZ2_bzCompress</code> with action =
- <code class="computeroutput">BZ_FINISH</code>, copying out the
- compressed output, until
- <code class="computeroutput">BZ_STREAM_END</code> is
- returned.</p></li>
-<li><p>Close up and go home. Call
- <code class="computeroutput">BZ2_bzCompressEnd</code>.</p></li>
-</ol></div>
-<p>If the data you want to compress fits into your input
-buffer all at once, you can skip the calls of
-<code class="computeroutput">BZ2_bzCompress ( ..., BZ_RUN )</code>
-and just do the <code class="computeroutput">BZ2_bzCompress ( ..., BZ_FINISH
-)</code> calls.</p>
-<p>All required memory is allocated by
-<code class="computeroutput">BZ2_bzCompressInit</code>. The
-compression library can accept any data at all (obviously). So
-you shouldn't get any error return values from the
-<code class="computeroutput">BZ2_bzCompress</code> calls. If you
-do, they will be
-<code class="computeroutput">BZ_SEQUENCE_ERROR</code>, and indicate
-a bug in your programming.</p>
-<p>Trivial other possible return values:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if strm is NULL, or strm-&gt;s is NULL</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzCompress-end"></a>3.3.3. <code class="computeroutput">BZ2_bzCompressEnd</code></h3></div></div></div>
-<pre class="programlisting">int BZ2_bzCompressEnd ( bz_stream *strm );</pre>
-<p>Releases all memory associated with a compression
-stream.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_PARAM_ERROR if strm is NULL or strm-&gt;s is NULL
-BZ_OK otherwise</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzDecompress-init"></a>3.3.4. <code class="computeroutput">BZ2_bzDecompressInit</code></h3></div></div></div>
-<pre class="programlisting">int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );</pre>
-<p>Prepares for decompression. As with
-<code class="computeroutput">BZ2_bzCompressInit</code>, a
-<code class="computeroutput">bz_stream</code> record should be
-allocated and initialised before the call. Fields
-<code class="computeroutput">bzalloc</code>,
-<code class="computeroutput">bzfree</code> and
-<code class="computeroutput">opaque</code> should be set if a custom
-memory allocator is required, or made
-<code class="computeroutput">NULL</code> for the normal
-<code class="computeroutput">malloc</code> /
-<code class="computeroutput">free</code> routines. Upon return, the
-internal state will have been initialised, and
-<code class="computeroutput">total_in</code> and
-<code class="computeroutput">total_out</code> will be zero.</p>
-<p>For the meaning of parameter
-<code class="computeroutput">verbosity</code>, see
-<code class="computeroutput">BZ2_bzCompressInit</code>.</p>
-<p>If <code class="computeroutput">small</code> is nonzero, the
-library will use an alternative decompression algorithm which
-uses less memory but at the cost of decompressing more slowly
-(roughly speaking, half the speed, but the maximum memory
-requirement drops to around 2300k). See <a href="#using">How to use bzip2</a>
-for more information on memory management.</p>
-<p>Note that the amount of memory needed to decompress a
-stream cannot be determined until the stream's header has been
-read, so even if
-<code class="computeroutput">BZ2_bzDecompressInit</code> succeeds, a
-subsequent <code class="computeroutput">BZ2_bzDecompress</code>
-could fail with
-<code class="computeroutput">BZ_MEM_ERROR</code>.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if ( small != 0 &amp;&amp; small != 1 )
- or (verbosity &lt;; 0 || verbosity &gt; 4)
-BZ_MEM_ERROR
- if insufficient memory is available</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzDecompress
- if BZ_OK was returned
- no specific action required in case of error</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzDecompress"></a>3.3.5. <code class="computeroutput">BZ2_bzDecompress</code></h3></div></div></div>
-<pre class="programlisting">int BZ2_bzDecompress ( bz_stream *strm );</pre>
-<p>Provides more input and/out output buffer space for the
-library. The caller maintains input and output buffers, and uses
-<code class="computeroutput">BZ2_bzDecompress</code> to transfer
-data between them.</p>
-<p>Before each call to
-<code class="computeroutput">BZ2_bzDecompress</code>,
-<code class="computeroutput">next_in</code> should point at the
-compressed data, and <code class="computeroutput">avail_in</code>
-should indicate how many bytes the library may read.
-<code class="computeroutput">BZ2_bzDecompress</code> updates
-<code class="computeroutput">next_in</code>,
-<code class="computeroutput">avail_in</code> and
-<code class="computeroutput">total_in</code> to reflect the number
-of bytes it has read.</p>
-<p>Similarly, <code class="computeroutput">next_out</code> should
-point to a buffer in which the uncompressed output is to be
-placed, with <code class="computeroutput">avail_out</code>
-indicating how much output space is available.
-<code class="computeroutput">BZ2_bzCompress</code> updates
-<code class="computeroutput">next_out</code>,
-<code class="computeroutput">avail_out</code> and
-<code class="computeroutput">total_out</code> to reflect the number
-of bytes output.</p>
-<p>You may provide and remove as little or as much data as you
-like on each call of
-<code class="computeroutput">BZ2_bzDecompress</code>. In the limit,
-it is acceptable to supply and remove data one byte at a time,
-although this would be terribly inefficient. You should always
-ensure that at least one byte of output space is available at
-each call.</p>
-<p>Use of <code class="computeroutput">BZ2_bzDecompress</code> is
-simpler than
-<code class="computeroutput">BZ2_bzCompress</code>.</p>
-<p>You should provide input and remove output as described
-above, and repeatedly call
-<code class="computeroutput">BZ2_bzDecompress</code> until
-<code class="computeroutput">BZ_STREAM_END</code> is returned.
-Appearance of <code class="computeroutput">BZ_STREAM_END</code>
-denotes that <code class="computeroutput">BZ2_bzDecompress</code>
-has detected the logical end of the compressed stream.
-<code class="computeroutput">BZ2_bzDecompress</code> will not
-produce <code class="computeroutput">BZ_STREAM_END</code> until all
-output data has been placed into the output buffer, so once
-<code class="computeroutput">BZ_STREAM_END</code> appears, you are
-guaranteed to have available all the decompressed output, and
-<code class="computeroutput">BZ2_bzDecompressEnd</code> can safely
-be called.</p>
-<p>If case of an error return value, you should call
-<code class="computeroutput">BZ2_bzDecompressEnd</code> to clean up
-and release memory.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if strm is NULL or strm-&gt;s is NULL
- or strm-&gt;avail_out &lt; 1
-BZ_DATA_ERROR
- if a data integrity error is detected in the compressed stream
-BZ_DATA_ERROR_MAGIC
- if the compressed stream doesn't begin with the right magic bytes
-BZ_MEM_ERROR
- if there wasn't enough memory available
-BZ_STREAM_END
- if the logical end of the data stream was detected and all
- output in has been consumed, eg s--&gt;avail_out &gt; 0
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzDecompress
- if BZ_OK was returned
-BZ2_bzDecompressEnd
- otherwise</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzDecompress-end"></a>3.3.6. <code class="computeroutput">BZ2_bzDecompressEnd</code></h3></div></div></div>
-<pre class="programlisting">int BZ2_bzDecompressEnd ( bz_stream *strm );</pre>
-<p>Releases all memory associated with a decompression
-stream.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if strm is NULL or strm-&gt;s is NULL
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting"> None.</pre>
-</div>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="hl-interface"></a>3.4. High-level interface</h2></div></div></div>
-<p>This interface provides functions for reading and writing
-<code class="computeroutput">bzip2</code> format files. First, some
-general points.</p>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc"><p>All of the functions take an
- <code class="computeroutput">int*</code> first argument,
- <code class="computeroutput">bzerror</code>. After each call,
- <code class="computeroutput">bzerror</code> should be consulted
- first to determine the outcome of the call. If
- <code class="computeroutput">bzerror</code> is
- <code class="computeroutput">BZ_OK</code>, the call completed
- successfully, and only then should the return value of the
- function (if any) be consulted. If
- <code class="computeroutput">bzerror</code> is
- <code class="computeroutput">BZ_IO_ERROR</code>, there was an
- error reading/writing the underlying compressed file, and you
- should then consult <code class="computeroutput">errno</code> /
- <code class="computeroutput">perror</code> to determine the cause
- of the difficulty. <code class="computeroutput">bzerror</code>
- may also be set to various other values; precise details are
- given on a per-function basis below.</p></li>
-<li style="list-style-type: disc"><p>If <code class="computeroutput">bzerror</code> indicates
- an error (ie, anything except
- <code class="computeroutput">BZ_OK</code> and
- <code class="computeroutput">BZ_STREAM_END</code>), you should
- immediately call
- <code class="computeroutput">BZ2_bzReadClose</code> (or
- <code class="computeroutput">BZ2_bzWriteClose</code>, depending on
- whether you are attempting to read or to write) to free up all
- resources associated with the stream. Once an error has been
- indicated, behaviour of all calls except
- <code class="computeroutput">BZ2_bzReadClose</code>
- (<code class="computeroutput">BZ2_bzWriteClose</code>) is
- undefined. The implication is that (1)
- <code class="computeroutput">bzerror</code> should be checked
- after each call, and (2) if
- <code class="computeroutput">bzerror</code> indicates an error,
- <code class="computeroutput">BZ2_bzReadClose</code>
- (<code class="computeroutput">BZ2_bzWriteClose</code>) should then
- be called to clean up.</p></li>
-<li style="list-style-type: disc"><p>The <code class="computeroutput">FILE*</code> arguments
- passed to <code class="computeroutput">BZ2_bzReadOpen</code> /
- <code class="computeroutput">BZ2_bzWriteOpen</code> should be set
- to binary mode. Most Unix systems will do this by default, but
- other platforms, including Windows and Mac, will not. If you
- omit this, you may encounter problems when moving code to new
- platforms.</p></li>
-<li style="list-style-type: disc"><p>Memory allocation requests are handled by
- <code class="computeroutput">malloc</code> /
- <code class="computeroutput">free</code>. At present there is no
- facility for user-defined memory allocators in the file I/O
- functions (could easily be added, though).</p></li>
-</ul></div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzreadopen"></a>3.4.1. <code class="computeroutput">BZ2_bzReadOpen</code></h3></div></div></div>
-<pre class="programlisting">typedef void BZFILE;
-
-BZFILE *BZ2_bzReadOpen( int *bzerror, FILE *f,
- int verbosity, int small,
- void *unused, int nUnused );</pre>
-<p>Prepare to read compressed data from file handle
-<code class="computeroutput">f</code>.
-<code class="computeroutput">f</code> should refer to a file which
-has been opened for reading, and for which the error indicator
-(<code class="computeroutput">ferror(f)</code>)is not set. If
-<code class="computeroutput">small</code> is 1, the library will try
-to decompress using less memory, at the expense of speed.</p>
-<p>For reasons explained below,
-<code class="computeroutput">BZ2_bzRead</code> will decompress the
-<code class="computeroutput">nUnused</code> bytes starting at
-<code class="computeroutput">unused</code>, before starting to read
-from the file <code class="computeroutput">f</code>. At most
-<code class="computeroutput">BZ_MAX_UNUSED</code> bytes may be
-supplied like this. If this facility is not required, you should
-pass <code class="computeroutput">NULL</code> and
-<code class="computeroutput">0</code> for
-<code class="computeroutput">unused</code> and
-n<code class="computeroutput">Unused</code> respectively.</p>
-<p>For the meaning of parameters
-<code class="computeroutput">small</code> and
-<code class="computeroutput">verbosity</code>, see
-<code class="computeroutput">BZ2_bzDecompressInit</code>.</p>
-<p>The amount of memory needed to decompress a file cannot be
-determined until the file's header has been read. So it is
-possible that <code class="computeroutput">BZ2_bzReadOpen</code>
-returns <code class="computeroutput">BZ_OK</code> but a subsequent
-call of <code class="computeroutput">BZ2_bzRead</code> will return
-<code class="computeroutput">BZ_MEM_ERROR</code>.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if f is NULL
- or small is neither 0 nor 1
- or ( unused == NULL &amp;&amp; nUnused != 0 )
- or ( unused != NULL &amp;&amp; !(0 &lt;= nUnused &lt;= BZ_MAX_UNUSED) )
-BZ_IO_ERROR
- if ferror(f) is nonzero
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OK
- otherwise.</pre>
-<p>Possible return values:</p>
-<pre class="programlisting">Pointer to an abstract BZFILE
- if bzerror is BZ_OK
-NULL
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzRead
- if bzerror is BZ_OK
-BZ2_bzClose
- otherwise</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzread"></a>3.4.2. <code class="computeroutput">BZ2_bzRead</code></h3></div></div></div>
-<pre class="programlisting">int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );</pre>
-<p>Reads up to <code class="computeroutput">len</code>
-(uncompressed) bytes from the compressed file
-<code class="computeroutput">b</code> into the buffer
-<code class="computeroutput">buf</code>. If the read was
-successful, <code class="computeroutput">bzerror</code> is set to
-<code class="computeroutput">BZ_OK</code> and the number of bytes
-read is returned. If the logical end-of-stream was detected,
-<code class="computeroutput">bzerror</code> will be set to
-<code class="computeroutput">BZ_STREAM_END</code>, and the number of
-bytes read is returned. All other
-<code class="computeroutput">bzerror</code> values denote an
-error.</p>
-<p><code class="computeroutput">BZ2_bzRead</code> will supply
-<code class="computeroutput">len</code> bytes, unless the logical
-stream end is detected or an error occurs. Because of this, it
-is possible to detect the stream end by observing when the number
-of bytes returned is less than the number requested.
-Nevertheless, this is regarded as inadvisable; you should instead
-check <code class="computeroutput">bzerror</code> after every call
-and watch out for
-<code class="computeroutput">BZ_STREAM_END</code>.</p>
-<p>Internally, <code class="computeroutput">BZ2_bzRead</code>
-copies data from the compressed file in chunks of size
-<code class="computeroutput">BZ_MAX_UNUSED</code> bytes before
-decompressing it. If the file contains more bytes than strictly
-needed to reach the logical end-of-stream,
-<code class="computeroutput">BZ2_bzRead</code> will almost certainly
-read some of the trailing data before signalling
-<code class="computeroutput">BZ_SEQUENCE_END</code>. To collect the
-read but unused data once
-<code class="computeroutput">BZ_SEQUENCE_END</code> has appeared,
-call <code class="computeroutput">BZ2_bzReadGetUnused</code>
-immediately before
-<code class="computeroutput">BZ2_bzReadClose</code>.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if b is NULL or buf is NULL or len &lt; 0
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzWriteOpen
-BZ_IO_ERROR
- if there is an error reading from the compressed file
-BZ_UNEXPECTED_EOF
- if the compressed file ended before
- the logical end-of-stream was detected
-BZ_DATA_ERROR
- if a data integrity error was detected in the compressed stream
-BZ_DATA_ERROR_MAGIC
- if the stream does not begin with the requisite header bytes
- (ie, is not a bzip2 data file). This is really
- a special case of BZ_DATA_ERROR.
-BZ_MEM_ERROR
- if insufficient memory was available
-BZ_STREAM_END
- if the logical end of stream was detected.
-BZ_OK
- otherwise.</pre>
-<p>Possible return values:</p>
-<pre class="programlisting">number of bytes read
- if bzerror is BZ_OK or BZ_STREAM_END
-undefined
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">collect data from buf, then BZ2_bzRead or BZ2_bzReadClose
- if bzerror is BZ_OK
-collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused
- if bzerror is BZ_SEQUENCE_END
-BZ2_bzReadClose
- otherwise</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzreadgetunused"></a>3.4.3. <code class="computeroutput">BZ2_bzReadGetUnused</code></h3></div></div></div>
-<pre class="programlisting">void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b,
- void** unused, int* nUnused );</pre>
-<p>Returns data which was read from the compressed file but
-was not needed to get to the logical end-of-stream.
-<code class="computeroutput">*unused</code> is set to the address of
-the data, and <code class="computeroutput">*nUnused</code> to the
-number of bytes. <code class="computeroutput">*nUnused</code> will
-be set to a value between <code class="computeroutput">0</code> and
-<code class="computeroutput">BZ_MAX_UNUSED</code> inclusive.</p>
-<p>This function may only be called once
-<code class="computeroutput">BZ2_bzRead</code> has signalled
-<code class="computeroutput">BZ_STREAM_END</code> but before
-<code class="computeroutput">BZ2_bzReadClose</code>.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if b is NULL
- or unused is NULL or nUnused is NULL
-BZ_SEQUENCE_ERROR
- if BZ_STREAM_END has not been signalled
- or if b was opened with BZ2_bzWriteOpen
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzReadClose</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzreadclose"></a>3.4.4. <code class="computeroutput">BZ2_bzReadClose</code></h3></div></div></div>
-<pre class="programlisting">void BZ2_bzReadClose ( int *bzerror, BZFILE *b );</pre>
-<p>Releases all memory pertaining to the compressed file
-<code class="computeroutput">b</code>.
-<code class="computeroutput">BZ2_bzReadClose</code> does not call
-<code class="computeroutput">fclose</code> on the underlying file
-handle, so you should do that yourself if appropriate.
-<code class="computeroutput">BZ2_bzReadClose</code> should be called
-to clean up after all error situations.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzOpenWrite
-BZ_OK
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">none</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzwriteopen"></a>3.4.5. <code class="computeroutput">BZ2_bzWriteOpen</code></h3></div></div></div>
-<pre class="programlisting">BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f,
- int blockSize100k, int verbosity,
- int workFactor );</pre>
-<p>Prepare to write compressed data to file handle
-<code class="computeroutput">f</code>.
-<code class="computeroutput">f</code> should refer to a file which
-has been opened for writing, and for which the error indicator
-(<code class="computeroutput">ferror(f)</code>)is not set.</p>
-<p>For the meaning of parameters
-<code class="computeroutput">blockSize100k</code>,
-<code class="computeroutput">verbosity</code> and
-<code class="computeroutput">workFactor</code>, see
-<code class="computeroutput">BZ2_bzCompressInit</code>.</p>
-<p>All required memory is allocated at this stage, so if the
-call completes successfully,
-<code class="computeroutput">BZ_MEM_ERROR</code> cannot be signalled
-by a subsequent call to
-<code class="computeroutput">BZ2_bzWrite</code>.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if f is NULL
- or blockSize100k &lt; 1 or blockSize100k &gt; 9
-BZ_IO_ERROR
- if ferror(f) is nonzero
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OK
- otherwise</pre>
-<p>Possible return values:</p>
-<pre class="programlisting">Pointer to an abstract BZFILE
- if bzerror is BZ_OK
-NULL
- otherwise</pre>
-<p>Allowable next actions:</p>
-<pre class="programlisting">BZ2_bzWrite
- if bzerror is BZ_OK
- (you could go directly to BZ2_bzWriteClose, but this would be pretty pointless)
-BZ2_bzWriteClose
- otherwise</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzwrite"></a>3.4.6. <code class="computeroutput">BZ2_bzWrite</code></h3></div></div></div>
-<pre class="programlisting">void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );</pre>
-<p>Absorbs <code class="computeroutput">len</code> bytes from the
-buffer <code class="computeroutput">buf</code>, eventually to be
-compressed and written to the file.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_PARAM_ERROR
- if b is NULL or buf is NULL or len &lt; 0
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzReadOpen
-BZ_IO_ERROR
- if there is an error writing the compressed file.
-BZ_OK
- otherwise</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzwriteclose"></a>3.4.7. <code class="computeroutput">BZ2_bzWriteClose</code></h3></div></div></div>
-<pre class="programlisting">void BZ2_bzWriteClose( int *bzerror, BZFILE* f,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out );
-
-void BZ2_bzWriteClose64( int *bzerror, BZFILE* f,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32 );</pre>
-<p>Compresses and flushes to the compressed file all data so
-far supplied by <code class="computeroutput">BZ2_bzWrite</code>.
-The logical end-of-stream markers are also written, so subsequent
-calls to <code class="computeroutput">BZ2_bzWrite</code> are
-illegal. All memory associated with the compressed file
-<code class="computeroutput">b</code> is released.
-<code class="computeroutput">fflush</code> is called on the
-compressed file, but it is not
-<code class="computeroutput">fclose</code>'d.</p>
-<p>If <code class="computeroutput">BZ2_bzWriteClose</code> is
-called to clean up after an error, the only action is to release
-the memory. The library records the error codes issued by
-previous calls, so this situation will be detected automatically.
-There is no attempt to complete the compression operation, nor to
-<code class="computeroutput">fflush</code> the compressed file. You
-can force this behaviour to happen even in the case of no error,
-by passing a nonzero value to
-<code class="computeroutput">abandon</code>.</p>
-<p>If <code class="computeroutput">nbytes_in</code> is non-null,
-<code class="computeroutput">*nbytes_in</code> will be set to be the
-total volume of uncompressed data handled. Similarly,
-<code class="computeroutput">nbytes_out</code> will be set to the
-total volume of compressed data written. For compatibility with
-older versions of the library,
-<code class="computeroutput">BZ2_bzWriteClose</code> only yields the
-lower 32 bits of these counts. Use
-<code class="computeroutput">BZ2_bzWriteClose64</code> if you want
-the full 64 bit counts. These two functions are otherwise
-absolutely identical.</p>
-<p>Possible assignments to
-<code class="computeroutput">bzerror</code>:</p>
-<pre class="programlisting">BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzReadOpen
-BZ_IO_ERROR
- if there is an error writing the compressed file
-BZ_OK
- otherwise</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="embed"></a>3.4.8. Handling embedded compressed data streams</h3></div></div></div>
-<p>The high-level library facilitates use of
-<code class="computeroutput">bzip2</code> data streams which form
-some part of a surrounding, larger data stream.</p>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc"><p>For writing, the library takes an open file handle,
- writes compressed data to it,
- <code class="computeroutput">fflush</code>es it but does not
- <code class="computeroutput">fclose</code> it. The calling
- application can write its own data before and after the
- compressed data stream, using that same file handle.</p></li>
-<li style="list-style-type: disc"><p>Reading is more complex, and the facilities are not as
- general as they could be since generality is hard to reconcile
- with efficiency. <code class="computeroutput">BZ2_bzRead</code>
- reads from the compressed file in blocks of size
- <code class="computeroutput">BZ_MAX_UNUSED</code> bytes, and in
- doing so probably will overshoot the logical end of compressed
- stream. To recover this data once decompression has ended,
- call <code class="computeroutput">BZ2_bzReadGetUnused</code> after
- the last call of <code class="computeroutput">BZ2_bzRead</code>
- (the one returning
- <code class="computeroutput">BZ_STREAM_END</code>) but before
- calling
- <code class="computeroutput">BZ2_bzReadClose</code>.</p></li>
-</ul></div>
-<p>This mechanism makes it easy to decompress multiple
-<code class="computeroutput">bzip2</code> streams placed end-to-end.
-As the end of one stream, when
-<code class="computeroutput">BZ2_bzRead</code> returns
-<code class="computeroutput">BZ_STREAM_END</code>, call
-<code class="computeroutput">BZ2_bzReadGetUnused</code> to collect
-the unused data (copy it into your own buffer somewhere). That
-data forms the start of the next compressed stream. To start
-uncompressing that next stream, call
-<code class="computeroutput">BZ2_bzReadOpen</code> again, feeding in
-the unused data via the <code class="computeroutput">unused</code> /
-<code class="computeroutput">nUnused</code> parameters. Keep doing
-this until <code class="computeroutput">BZ_STREAM_END</code> return
-coincides with the physical end of file
-(<code class="computeroutput">feof(f)</code>). In this situation
-<code class="computeroutput">BZ2_bzReadGetUnused</code> will of
-course return no data.</p>
-<p>This should give some feel for how the high-level interface
-can be used. If you require extra flexibility, you'll have to
-bite the bullet and get to grips with the low-level
-interface.</p>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="std-rdwr"></a>3.4.9. Standard file-reading/writing code</h3></div></div></div>
-<p>Here's how you'd write data to a compressed file:</p>
-<pre class="programlisting">FILE* f;
-BZFILE* b;
-int nBuf;
-char buf[ /* whatever size you like */ ];
-int bzerror;
-int nWritten;
-
-f = fopen ( "myfile.bz2", "w" );
-if ( !f ) {
- /* handle error */
-}
-b = BZ2_bzWriteOpen( &amp;bzerror, f, 9 );
-if (bzerror != BZ_OK) {
- BZ2_bzWriteClose ( b );
- /* handle error */
-}
-
-while ( /* condition */ ) {
- /* get data to write into buf, and set nBuf appropriately */
- nWritten = BZ2_bzWrite ( &amp;bzerror, b, buf, nBuf );
- if (bzerror == BZ_IO_ERROR) {
- BZ2_bzWriteClose ( &amp;bzerror, b );
- /* handle error */
- }
-}
-
-BZ2_bzWriteClose( &amp;bzerror, b );
-if (bzerror == BZ_IO_ERROR) {
- /* handle error */
-}</pre>
-<p>And to read from a compressed file:</p>
-<pre class="programlisting">FILE* f;
-BZFILE* b;
-int nBuf;
-char buf[ /* whatever size you like */ ];
-int bzerror;
-int nWritten;
-
-f = fopen ( "myfile.bz2", "r" );
-if ( !f ) {
- /* handle error */
-}
-b = BZ2_bzReadOpen ( &amp;bzerror, f, 0, NULL, 0 );
-if ( bzerror != BZ_OK ) {
- BZ2_bzReadClose ( &amp;bzerror, b );
- /* handle error */
-}
-
-bzerror = BZ_OK;
-while ( bzerror == BZ_OK &amp;&amp; /* arbitrary other conditions */) {
- nBuf = BZ2_bzRead ( &amp;bzerror, b, buf, /* size of buf */ );
- if ( bzerror == BZ_OK ) {
- /* do something with buf[0 .. nBuf-1] */
- }
-}
-if ( bzerror != BZ_STREAM_END ) {
- BZ2_bzReadClose ( &amp;bzerror, b );
- /* handle error */
-} else {
- BZ2_bzReadClose ( &amp;bzerror, b );
-}</pre>
-</div>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="util-fns"></a>3.5. Utility functions</h2></div></div></div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzbufftobuffcompress"></a>3.5.1. <code class="computeroutput">BZ2_bzBuffToBuffCompress</code></h3></div></div></div>
-<pre class="programlisting">int BZ2_bzBuffToBuffCompress( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor );</pre>
-<p>Attempts to compress the data in <code class="computeroutput">source[0
-.. sourceLen-1]</code> into the destination buffer,
-<code class="computeroutput">dest[0 .. *destLen-1]</code>. If the
-destination buffer is big enough,
-<code class="computeroutput">*destLen</code> is set to the size of
-the compressed data, and <code class="computeroutput">BZ_OK</code>
-is returned. If the compressed data won't fit,
-<code class="computeroutput">*destLen</code> is unchanged, and
-<code class="computeroutput">BZ_OUTBUFF_FULL</code> is
-returned.</p>
-<p>Compression in this manner is a one-shot event, done with a
-single call to this function. The resulting compressed data is a
-complete <code class="computeroutput">bzip2</code> format data
-stream. There is no mechanism for making additional calls to
-provide extra input data. If you want that kind of mechanism,
-use the low-level interface.</p>
-<p>For the meaning of parameters
-<code class="computeroutput">blockSize100k</code>,
-<code class="computeroutput">verbosity</code> and
-<code class="computeroutput">workFactor</code>, see
-<code class="computeroutput">BZ2_bzCompressInit</code>.</p>
-<p>To guarantee that the compressed data will fit in its
-buffer, allocate an output buffer of size 1% larger than the
-uncompressed data, plus six hundred extra bytes.</p>
-<p><code class="computeroutput">BZ2_bzBuffToBuffDecompress</code>
-will not write data at or beyond
-<code class="computeroutput">dest[*destLen]</code>, even in case of
-buffer overflow.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if dest is NULL or destLen is NULL
- or blockSize100k &lt; 1 or blockSize100k &gt; 9
- or verbosity &lt; 0 or verbosity &gt; 4
- or workFactor &lt; 0 or workFactor &gt; 250
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OUTBUFF_FULL
- if the size of the compressed data exceeds *destLen
-BZ_OK
- otherwise</pre>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="bzbufftobuffdecompress"></a>3.5.2. <code class="computeroutput">BZ2_bzBuffToBuffDecompress</code></h3></div></div></div>
-<pre class="programlisting">int BZ2_bzBuffToBuffDecompress( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity );</pre>
-<p>Attempts to decompress the data in <code class="computeroutput">source[0
-.. sourceLen-1]</code> into the destination buffer,
-<code class="computeroutput">dest[0 .. *destLen-1]</code>. If the
-destination buffer is big enough,
-<code class="computeroutput">*destLen</code> is set to the size of
-the uncompressed data, and <code class="computeroutput">BZ_OK</code>
-is returned. If the compressed data won't fit,
-<code class="computeroutput">*destLen</code> is unchanged, and
-<code class="computeroutput">BZ_OUTBUFF_FULL</code> is
-returned.</p>
-<p><code class="computeroutput">source</code> is assumed to hold
-a complete <code class="computeroutput">bzip2</code> format data
-stream.
-<code class="computeroutput">BZ2_bzBuffToBuffDecompress</code> tries
-to decompress the entirety of the stream into the output
-buffer.</p>
-<p>For the meaning of parameters
-<code class="computeroutput">small</code> and
-<code class="computeroutput">verbosity</code>, see
-<code class="computeroutput">BZ2_bzDecompressInit</code>.</p>
-<p>Because the compression ratio of the compressed data cannot
-be known in advance, there is no easy way to guarantee that the
-output buffer will be big enough. You may of course make
-arrangements in your code to record the size of the uncompressed
-data, but such a mechanism is beyond the scope of this
-library.</p>
-<p><code class="computeroutput">BZ2_bzBuffToBuffDecompress</code>
-will not write data at or beyond
-<code class="computeroutput">dest[*destLen]</code>, even in case of
-buffer overflow.</p>
-<p>Possible return values:</p>
-<pre class="programlisting">BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if dest is NULL or destLen is NULL
- or small != 0 &amp;&amp; small != 1
- or verbosity &lt; 0 or verbosity &gt; 4
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OUTBUFF_FULL
- if the size of the compressed data exceeds *destLen
-BZ_DATA_ERROR
- if a data integrity error was detected in the compressed data
-BZ_DATA_ERROR_MAGIC
- if the compressed data doesn't begin with the right magic bytes
-BZ_UNEXPECTED_EOF
- if the compressed data ends unexpectedly
-BZ_OK
- otherwise</pre>
-</div>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="zlib-compat"></a>3.6. <code class="computeroutput">zlib</code> compatibility functions</h2></div></div></div>
-<p>Yoshioka Tsuneo has contributed some functions to give
-better <code class="computeroutput">zlib</code> compatibility.
-These functions are <code class="computeroutput">BZ2_bzopen</code>,
-<code class="computeroutput">BZ2_bzread</code>,
-<code class="computeroutput">BZ2_bzwrite</code>,
-<code class="computeroutput">BZ2_bzflush</code>,
-<code class="computeroutput">BZ2_bzclose</code>,
-<code class="computeroutput">BZ2_bzerror</code> and
-<code class="computeroutput">BZ2_bzlibVersion</code>. These
-functions are not (yet) officially part of the library. If they
-break, you get to keep all the pieces. Nevertheless, I think
-they work ok.</p>
-<pre class="programlisting">typedef void BZFILE;
-
-const char * BZ2_bzlibVersion ( void );</pre>
-<p>Returns a string indicating the library version.</p>
-<pre class="programlisting">BZFILE * BZ2_bzopen ( const char *path, const char *mode );
-BZFILE * BZ2_bzdopen ( int fd, const char *mode );</pre>
-<p>Opens a <code class="computeroutput">.bz2</code> file for
-reading or writing, using either its name or a pre-existing file
-descriptor. Analogous to <code class="computeroutput">fopen</code>
-and <code class="computeroutput">fdopen</code>.</p>
-<pre class="programlisting">int BZ2_bzread ( BZFILE* b, void* buf, int len );
-int BZ2_bzwrite ( BZFILE* b, void* buf, int len );</pre>
-<p>Reads/writes data from/to a previously opened
-<code class="computeroutput">BZFILE</code>. Analogous to
-<code class="computeroutput">fread</code> and
-<code class="computeroutput">fwrite</code>.</p>
-<pre class="programlisting">int BZ2_bzflush ( BZFILE* b );
-void BZ2_bzclose ( BZFILE* b );</pre>
-<p>Flushes/closes a <code class="computeroutput">BZFILE</code>.
-<code class="computeroutput">BZ2_bzflush</code> doesn't actually do
-anything. Analogous to <code class="computeroutput">fflush</code>
-and <code class="computeroutput">fclose</code>.</p>
-<pre class="programlisting">const char * BZ2_bzerror ( BZFILE *b, int *errnum )</pre>
-<p>Returns a string describing the more recent error status of
-<code class="computeroutput">b</code>, and also sets
-<code class="computeroutput">*errnum</code> to its numerical
-value.</p>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="stdio-free"></a>3.7. Using the library in a <code class="computeroutput">stdio</code>-free environment</h2></div></div></div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="stdio-bye"></a>3.7.1. Getting rid of <code class="computeroutput">stdio</code></h3></div></div></div>
-<p>In a deeply embedded application, you might want to use
-just the memory-to-memory functions. You can do this
-conveniently by compiling the library with preprocessor symbol
-<code class="computeroutput">BZ_NO_STDIO</code> defined. Doing this
-gives you a library containing only the following eight
-functions:</p>
-<p><code class="computeroutput">BZ2_bzCompressInit</code>,
-<code class="computeroutput">BZ2_bzCompress</code>,
-<code class="computeroutput">BZ2_bzCompressEnd</code>
-<code class="computeroutput">BZ2_bzDecompressInit</code>,
-<code class="computeroutput">BZ2_bzDecompress</code>,
-<code class="computeroutput">BZ2_bzDecompressEnd</code>
-<code class="computeroutput">BZ2_bzBuffToBuffCompress</code>,
-<code class="computeroutput">BZ2_bzBuffToBuffDecompress</code></p>
-<p>When compiled like this, all functions will ignore
-<code class="computeroutput">verbosity</code> settings.</p>
-</div>
-<div class="sect2" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="critical-error"></a>3.7.2. Critical error handling</h3></div></div></div>
-<p><code class="computeroutput">libbzip2</code> contains a number
-of internal assertion checks which should, needless to say, never
-be activated. Nevertheless, if an assertion should fail,
-behaviour depends on whether or not the library was compiled with
-<code class="computeroutput">BZ_NO_STDIO</code> set.</p>
-<p>For a normal compile, an assertion failure yields the
-message:</p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>bzip2/libbzip2: internal error number N.</p>
-<p>This is a bug in bzip2/libbzip2, 1.0.5 of 10 December 2007.
-Please report it to me at: jseward@bzip.org. If this happened
-when you were using some program which uses libbzip2 as a
-component, you should also report this bug to the author(s)
-of that program. Please make an effort to report this bug;
-timely and accurate bug reports eventually lead to higher
-quality software. Thanks. Julian Seward, 10 December 2007.
-</p>
-</blockquote></div>
-<p>where <code class="computeroutput">N</code> is some error code
-number. If <code class="computeroutput">N == 1007</code>, it also
-prints some extra text advising the reader that unreliable memory
-is often associated with internal error 1007. (This is a
-frequently-observed-phenomenon with versions 1.0.0/1.0.1).</p>
-<p><code class="computeroutput">exit(3)</code> is then
-called.</p>
-<p>For a <code class="computeroutput">stdio</code>-free library,
-assertion failures result in a call to a function declared
-as:</p>
-<pre class="programlisting">extern void bz_internal_error ( int errcode );</pre>
-<p>The relevant code is passed as a parameter. You should
-supply such a function.</p>
-<p>In either case, once an assertion failure has occurred, any
-<code class="computeroutput">bz_stream</code> records involved can
-be regarded as invalid. You should not attempt to resume normal
-operation with them.</p>
-<p>You may, of course, change critical error handling to suit
-your needs. As I said above, critical errors indicate bugs in
-the library and should not occur. All "normal" error situations
-are indicated via error return codes from functions, and can be
-recovered from.</p>
-</div>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="win-dll"></a>3.8. Making a Windows DLL</h2></div></div></div>
-<p>Everything related to Windows has been contributed by
-Yoshioka Tsuneo
-(<code class="computeroutput">tsuneo@rr.iij4u.or.jp</code>), so
-you should send your queries to him (but perhaps Cc: me,
-<code class="computeroutput">jseward@bzip.org</code>).</p>
-<p>My vague understanding of what to do is: using Visual C++
-5.0, open the project file
-<code class="computeroutput">libbz2.dsp</code>, and build. That's
-all.</p>
-<p>If you can't open the project file for some reason, make a
-new one, naming these files:
-<code class="computeroutput">blocksort.c</code>,
-<code class="computeroutput">bzlib.c</code>,
-<code class="computeroutput">compress.c</code>,
-<code class="computeroutput">crctable.c</code>,
-<code class="computeroutput">decompress.c</code>,
-<code class="computeroutput">huffman.c</code>,
-<code class="computeroutput">randtable.c</code> and
-<code class="computeroutput">libbz2.def</code>. You will also need
-to name the header files <code class="computeroutput">bzlib.h</code>
-and <code class="computeroutput">bzlib_private.h</code>.</p>
-<p>If you don't use VC++, you may need to define the
-proprocessor symbol
-<code class="computeroutput">_WIN32</code>.</p>
-<p>Finally, <code class="computeroutput">dlltest.c</code> is a
-sample program using the DLL. It has a project file,
-<code class="computeroutput">dlltest.dsp</code>.</p>
-<p>If you just want a makefile for Visual C, have a look at
-<code class="computeroutput">makefile.msc</code>.</p>
-<p>Be aware that if you compile
-<code class="computeroutput">bzip2</code> itself on Win32, you must
-set <code class="computeroutput">BZ_UNIX</code> to 0 and
-<code class="computeroutput">BZ_LCCWIN32</code> to 1, in the file
-<code class="computeroutput">bzip2.c</code>, before compiling.
-Otherwise the resulting binary won't work correctly.</p>
-<p>I haven't tried any of this stuff myself, but it all looks
-plausible.</p>
-</div>
-</div>
-<div class="chapter" lang="en">
-<div class="titlepage"><div><div><h2 class="title">
-<a name="misc"></a>4. Miscellanea</h2></div></div></div>
-<div class="toc">
-<p><b>Table of Contents</b></p>
-<dl>
-<dt><span class="sect1"><a href="#limits">4.1. Limitations of the compressed file format</a></span></dt>
-<dt><span class="sect1"><a href="#port-issues">4.2. Portability issues</a></span></dt>
-<dt><span class="sect1"><a href="#bugs">4.3. Reporting bugs</a></span></dt>
-<dt><span class="sect1"><a href="#package">4.4. Did you get the right package?</a></span></dt>
-<dt><span class="sect1"><a href="#reading">4.5. Further Reading</a></span></dt>
-</dl>
-</div>
-<p>These are just some random thoughts of mine. Your mileage
-may vary.</p>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="limits"></a>4.1. Limitations of the compressed file format</h2></div></div></div>
-<p><code class="computeroutput">bzip2-1.0.X</code>,
-<code class="computeroutput">0.9.5</code> and
-<code class="computeroutput">0.9.0</code> use exactly the same file
-format as the original version,
-<code class="computeroutput">bzip2-0.1</code>. This decision was
-made in the interests of stability. Creating yet another
-incompatible compressed file format would create further
-confusion and disruption for users.</p>
-<p>Nevertheless, this is not a painless decision. Development
-work since the release of
-<code class="computeroutput">bzip2-0.1</code> in August 1997 has
-shown complexities in the file format which slow down
-decompression and, in retrospect, are unnecessary. These
-are:</p>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc"><p>The run-length encoder, which is the first of the
- compression transformations, is entirely irrelevant. The
- original purpose was to protect the sorting algorithm from the
- very worst case input: a string of repeated symbols. But
- algorithm steps Q6a and Q6b in the original Burrows-Wheeler
- technical report (SRC-124) show how repeats can be handled
- without difficulty in block sorting.</p></li>
-<li style="list-style-type: disc">
-<p>The randomisation mechanism doesn't really need to be
- there. Udi Manber and Gene Myers published a suffix array
- construction algorithm a few years back, which can be employed
- to sort any block, no matter how repetitive, in O(N log N)
- time. Subsequent work by Kunihiko Sadakane has produced a
- derivative O(N (log N)^2) algorithm which usually outperforms
- the Manber-Myers algorithm.</p>
-<p>I could have changed to Sadakane's algorithm, but I find
- it to be slower than <code class="computeroutput">bzip2</code>'s
- existing algorithm for most inputs, and the randomisation
- mechanism protects adequately against bad cases. I didn't
- think it was a good tradeoff to make. Partly this is due to
- the fact that I was not flooded with email complaints about
- <code class="computeroutput">bzip2-0.1</code>'s performance on
- repetitive data, so perhaps it isn't a problem for real
- inputs.</p>
-<p>Probably the best long-term solution, and the one I have
- incorporated into 0.9.5 and above, is to use the existing
- sorting algorithm initially, and fall back to a O(N (log N)^2)
- algorithm if the standard algorithm gets into
- difficulties.</p>
-</li>
-<li style="list-style-type: disc"><p>The compressed file format was never designed to be
- handled by a library, and I have had to jump though some hoops
- to produce an efficient implementation of decompression. It's
- a bit hairy. Try passing
- <code class="computeroutput">decompress.c</code> through the C
- preprocessor and you'll see what I mean. Much of this
- complexity could have been avoided if the compressed size of
- each block of data was recorded in the data stream.</p></li>
-<li style="list-style-type: disc"><p>An Adler-32 checksum, rather than a CRC32 checksum,
- would be faster to compute.</p></li>
-</ul></div>
-<p>It would be fair to say that the
-<code class="computeroutput">bzip2</code> format was frozen before I
-properly and fully understood the performance consequences of
-doing so.</p>
-<p>Improvements which I was able to incorporate into 0.9.0,
-despite using the same file format, are:</p>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc"><p>Single array implementation of the inverse BWT. This
- significantly speeds up decompression, presumably because it
- reduces the number of cache misses.</p></li>
-<li style="list-style-type: disc"><p>Faster inverse MTF transform for large MTF values.
- The new implementation is based on the notion of sliding blocks
- of values.</p></li>
-<li style="list-style-type: disc"><p><code class="computeroutput">bzip2-0.9.0</code> now reads
- and writes files with <code class="computeroutput">fread</code>
- and <code class="computeroutput">fwrite</code>; version 0.1 used
- <code class="computeroutput">putc</code> and
- <code class="computeroutput">getc</code>. Duh! Well, you live
- and learn.</p></li>
-</ul></div>
-<p>Further ahead, it would be nice to be able to do random
-access into files. This will require some careful design of
-compressed file formats.</p>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="port-issues"></a>4.2. Portability issues</h2></div></div></div>
-<p>After some consideration, I have decided not to use GNU
-<code class="computeroutput">autoconf</code> to configure 0.9.5 or
-1.0.</p>
-<p><code class="computeroutput">autoconf</code>, admirable and
-wonderful though it is, mainly assists with portability problems
-between Unix-like platforms. But
-<code class="computeroutput">bzip2</code> doesn't have much in the
-way of portability problems on Unix; most of the difficulties
-appear when porting to the Mac, or to Microsoft's operating
-systems. <code class="computeroutput">autoconf</code> doesn't help
-in those cases, and brings in a whole load of new
-complexity.</p>
-<p>Most people should be able to compile the library and
-program under Unix straight out-of-the-box, so to speak,
-especially if you have a version of GNU C available.</p>
-<p>There are a couple of
-<code class="computeroutput">__inline__</code> directives in the
-code. GNU C (<code class="computeroutput">gcc</code>) should be
-able to handle them. If you're not using GNU C, your C compiler
-shouldn't see them at all. If your compiler does, for some
-reason, see them and doesn't like them, just
-<code class="computeroutput">#define</code>
-<code class="computeroutput">__inline__</code> to be
-<code class="computeroutput">/* */</code>. One easy way to do this
-is to compile with the flag
-<code class="computeroutput">-D__inline__=</code>, which should be
-understood by most Unix compilers.</p>
-<p>If you still have difficulties, try compiling with the
-macro <code class="computeroutput">BZ_STRICT_ANSI</code> defined.
-This should enable you to build the library in a strictly ANSI
-compliant environment. Building the program itself like this is
-dangerous and not supported, since you remove
-<code class="computeroutput">bzip2</code>'s checks against
-compressing directories, symbolic links, devices, and other
-not-really-a-file entities. This could cause filesystem
-corruption!</p>
-<p>One other thing: if you create a
-<code class="computeroutput">bzip2</code> binary for public distribution,
-please consider linking it statically (<code class="computeroutput">gcc
--static</code>). This avoids all sorts of library-version
-issues that others may encounter later on.</p>
-<p>If you build <code class="computeroutput">bzip2</code> on
-Win32, you must set <code class="computeroutput">BZ_UNIX</code> to 0
-and <code class="computeroutput">BZ_LCCWIN32</code> to 1, in the
-file <code class="computeroutput">bzip2.c</code>, before compiling.
-Otherwise the resulting binary won't work correctly.</p>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="bugs"></a>4.3. Reporting bugs</h2></div></div></div>
-<p>I tried pretty hard to make sure
-<code class="computeroutput">bzip2</code> is bug free, both by
-design and by testing. Hopefully you'll never need to read this
-section for real.</p>
-<p>Nevertheless, if <code class="computeroutput">bzip2</code> dies
-with a segmentation fault, a bus error or an internal assertion
-failure, it will ask you to email me a bug report. Experience from
-years of feedback of bzip2 users indicates that almost all these
-problems can be traced to either compiler bugs or hardware
-problems.</p>
-<div class="itemizedlist"><ul type="bullet">
-<li style="list-style-type: disc">
-<p>Recompile the program with no optimisation, and
- see if it works. And/or try a different compiler. I heard all
- sorts of stories about various flavours of GNU C (and other
- compilers) generating bad code for
- <code class="computeroutput">bzip2</code>, and I've run across two
- such examples myself.</p>
-<p>2.7.X versions of GNU C are known to generate bad code
- from time to time, at high optimisation levels. If you get
- problems, try using the flags
- <code class="computeroutput">-O2</code>
- <code class="computeroutput">-fomit-frame-pointer</code>
- <code class="computeroutput">-fno-strength-reduce</code>. You
- should specifically <span class="emphasis"><em>not</em></span> use
- <code class="computeroutput">-funroll-loops</code>.</p>
-<p>You may notice that the Makefile runs six tests as part
- of the build process. If the program passes all of these, it's
- a pretty good (but not 100%) indication that the compiler has
- done its job correctly.</p>
-</li>
-<li style="list-style-type: disc">
-<p>If <code class="computeroutput">bzip2</code>
- crashes randomly, and the crashes are not repeatable, you may
- have a flaky memory subsystem.
- <code class="computeroutput">bzip2</code> really hammers your
- memory hierarchy, and if it's a bit marginal, you may get these
- problems. Ditto if your disk or I/O subsystem is slowly
- failing. Yup, this really does happen.</p>
-<p>Try using a different machine of the same type, and see
- if you can repeat the problem.</p>
-</li>
-<li style="list-style-type: disc"><p>This isn't really a bug, but ... If
- <code class="computeroutput">bzip2</code> tells you your file is
- corrupted on decompression, and you obtained the file via FTP,
- there is a possibility that you forgot to tell FTP to do a
- binary mode transfer. That absolutely will cause the file to
- be non-decompressible. You'll have to transfer it
- again.</p></li>
-</ul></div>
-<p>If you've incorporated
-<code class="computeroutput">libbzip2</code> into your own program
-and are getting problems, please, please, please, check that the
-parameters you are passing in calls to the library, are correct,
-and in accordance with what the documentation says is allowable.
-I have tried to make the library robust against such problems,
-but I'm sure I haven't succeeded.</p>
-<p>Finally, if the above comments don't help, you'll have to
-send me a bug report. Now, it's just amazing how many people
-will send me a bug report saying something like:</p>
-<pre class="programlisting">bzip2 crashed with segmentation fault on my machine</pre>
-<p>and absolutely nothing else. Needless to say, a such a
-report is <span class="emphasis"><em>totally, utterly, completely and
-comprehensively 100% useless; a waste of your time, my time, and
-net bandwidth</em></span>. With no details at all, there's no way
-I can possibly begin to figure out what the problem is.</p>
-<p>The rules of the game are: facts, facts, facts. Don't omit
-them because "oh, they won't be relevant". At the bare
-minimum:</p>
-<pre class="programlisting">Machine type. Operating system version.
-Exact version of bzip2 (do bzip2 -V).
-Exact version of the compiler used.
-Flags passed to the compiler.</pre>
-<p>However, the most important single thing that will help me
-is the file that you were trying to compress or decompress at the
-time the problem happened. Without that, my ability to do
-anything more than speculate about the cause, is limited.</p>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="package"></a>4.4. Did you get the right package?</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> is a resource hog.
-It soaks up large amounts of CPU cycles and memory. Also, it
-gives very large latencies. In the worst case, you can feed many
-megabytes of uncompressed data into the library before getting
-any compressed output, so this probably rules out applications
-requiring interactive behaviour.</p>
-<p>These aren't faults of my implementation, I hope, but more
-an intrinsic property of the Burrows-Wheeler transform
-(unfortunately). Maybe this isn't what you want.</p>
-<p>If you want a compressor and/or library which is faster,
-uses less memory but gets pretty good compression, and has
-minimal latency, consider Jean-loup Gailly's and Mark Adler's
-work, <code class="computeroutput">zlib-1.2.1</code> and
-<code class="computeroutput">gzip-1.2.4</code>. Look for them at
-<a href="http://www.zlib.org" target="_top">http://www.zlib.org</a> and
-<a href="http://www.gzip.org" target="_top">http://www.gzip.org</a>
-respectively.</p>
-<p>For something faster and lighter still, you might try Markus F
-X J Oberhumer's <code class="computeroutput">LZO</code> real-time
-compression/decompression library, at
-<a href="http://www.oberhumer.com/opensource" target="_top">http://www.oberhumer.com/opensource</a>.</p>
-</div>
-<div class="sect1" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="reading"></a>4.5. Further Reading</h2></div></div></div>
-<p><code class="computeroutput">bzip2</code> is not research
-work, in the sense that it doesn't present any new ideas.
-Rather, it's an engineering exercise based on existing
-ideas.</p>
-<p>Four documents describe essentially all the ideas behind
-<code class="computeroutput">bzip2</code>:</p>
-<div class="literallayout"><p>Michael Burrows and D. J. Wheeler:<br>
-  "A block-sorting lossless data compression algorithm"<br>
-   10th May 1994. <br>
-   Digital SRC Research Report 124.<br>
-   ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz<br>
-   If you have trouble finding it, try searching at the<br>
-   New Zealand Digital Library, http://www.nzdl.org.<br>
-<br>
-Daniel S. Hirschberg and Debra A. LeLewer<br>
-  "Efficient Decoding of Prefix Codes"<br>
-   Communications of the ACM, April 1990, Vol 33, Number 4.<br>
-   You might be able to get an electronic copy of this<br>
-   from the ACM Digital Library.<br>
-<br>
-David J. Wheeler<br>
-   Program bred3.c and accompanying document bred3.ps.<br>
-   This contains the idea behind the multi-table Huffman coding scheme.<br>
-   ftp://ftp.cl.cam.ac.uk/users/djw3/<br>
-<br>
-Jon L. Bentley and Robert Sedgewick<br>
-  "Fast Algorithms for Sorting and Searching Strings"<br>
-   Available from Sedgewick's web page,<br>
-   www.cs.princeton.edu/~rs<br>
-</p></div>
-<p>The following paper gives valuable additional insights into
-the algorithm, but is not immediately the basis of any code used
-in bzip2.</p>
-<div class="literallayout"><p>Peter Fenwick:<br>
-   Block Sorting Text Compression<br>
-   Proceedings of the 19th Australasian Computer Science Conference,<br>
-     Melbourne, Australia.  Jan 31 - Feb 2, 1996.<br>
-   ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps</p></div>
-<p>Kunihiko Sadakane's sorting algorithm, mentioned above, is
-available from:</p>
-<div class="literallayout"><p>http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz<br>
-</p></div>
-<p>The Manber-Myers suffix array construction algorithm is
-described in a paper available from:</p>
-<div class="literallayout"><p>http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps<br>
-</p></div>
-<p>Finally, the following papers document some
-investigations I made into the performance of sorting
-and decompression algorithms:</p>
-<div class="literallayout"><p>Julian Seward<br>
-   On the Performance of BWT Sorting Algorithms<br>
-   Proceedings of the IEEE Data Compression Conference 2000<br>
-     Snowbird, Utah.  28-30 March 2000.<br>
-<br>
-Julian Seward<br>
-   Space-time Tradeoffs in the Inverse B-W Transform<br>
-   Proceedings of the IEEE Data Compression Conference 2001<br>
-     Snowbird, Utah.  27-29 March 2001.<br>
-</p></div>
-</div>
-</div>
-</div></body>
-</html>
diff --git a/Utilities/cmbzip2/manual.pdf b/Utilities/cmbzip2/manual.pdf
deleted file mode 100644
index 10c10de..0000000
--- a/Utilities/cmbzip2/manual.pdf
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmbzip2/manual.ps b/Utilities/cmbzip2/manual.ps
deleted file mode 100644
index b8b610c..0000000
--- a/Utilities/cmbzip2/manual.ps
+++ /dev/null
@@ -1,82900 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: xpdf/pdftops 3.01
-%%LanguageLevel: 2
-%%DocumentSuppliedResources: (atend)
-%%DocumentMedia: plain 612 792 0 () ()
-%%BoundingBox: 0 0 612 792
-%%Pages: 38
-%%EndComments
-%%BeginDefaults
-%%PageMedia: plain
-%%EndDefaults
-%%BeginProlog
-%%BeginResource: procset xpdf 3.01 0
-/xpdf 75 dict def xpdf begin
-% PDF special state
-/pdfDictSize 15 def
-/pdfSetup {
- 3 1 roll 2 array astore
- /setpagedevice where {
- pop 3 dict begin
- /PageSize exch def
- /ImagingBBox null def
- /Policies 1 dict dup begin /PageSize 3 def end def
- { /Duplex true def } if
- currentdict end setpagedevice
- } {
- pop pop
- } ifelse
-} def
-/pdfStartPage {
- pdfDictSize dict begin
- /pdfFillCS [] def
- /pdfFillXform {} def
- /pdfStrokeCS [] def
- /pdfStrokeXform {} def
- /pdfFill [0] def
- /pdfStroke [0] def
- /pdfFillOP false def
- /pdfStrokeOP false def
- /pdfLastFill false def
- /pdfLastStroke false def
- /pdfTextMat [1 0 0 1 0 0] def
- /pdfFontSize 0 def
- /pdfCharSpacing 0 def
- /pdfTextRender 0 def
- /pdfTextRise 0 def
- /pdfWordSpacing 0 def
- /pdfHorizScaling 1 def
- /pdfTextClipPath [] def
-} def
-/pdfEndPage { end } def
-% PDF color state
-/cs { /pdfFillXform exch def dup /pdfFillCS exch def
- setcolorspace } def
-/CS { /pdfStrokeXform exch def dup /pdfStrokeCS exch def
- setcolorspace } def
-/sc { pdfLastFill not { pdfFillCS setcolorspace } if
- dup /pdfFill exch def aload pop pdfFillXform setcolor
- /pdfLastFill true def /pdfLastStroke false def } def
-/SC { pdfLastStroke not { pdfStrokeCS setcolorspace } if
- dup /pdfStroke exch def aload pop pdfStrokeXform setcolor
- /pdfLastStroke true def /pdfLastFill false def } def
-/op { /pdfFillOP exch def
- pdfLastFill { pdfFillOP setoverprint } if } def
-/OP { /pdfStrokeOP exch def
- pdfLastStroke { pdfStrokeOP setoverprint } if } def
-/fCol {
- pdfLastFill not {
- pdfFillCS setcolorspace
- pdfFill aload pop pdfFillXform setcolor
- pdfFillOP setoverprint
- /pdfLastFill true def /pdfLastStroke false def
- } if
-} def
-/sCol {
- pdfLastStroke not {
- pdfStrokeCS setcolorspace
- pdfStroke aload pop pdfStrokeXform setcolor
- pdfStrokeOP setoverprint
- /pdfLastStroke true def /pdfLastFill false def
- } if
-} def
-% build a font
-/pdfMakeFont {
- 4 3 roll findfont
- 4 2 roll matrix scale makefont
- dup length dict begin
- { 1 index /FID ne { def } { pop pop } ifelse } forall
- /Encoding exch def
- currentdict
- end
- definefont pop
-} def
-/pdfMakeFont16 {
- exch findfont
- dup length dict begin
- { 1 index /FID ne { def } { pop pop } ifelse } forall
- /WMode exch def
- currentdict
- end
- definefont pop
-} def
-% graphics state operators
-/q { gsave pdfDictSize dict begin } def
-/Q {
- end grestore
- /pdfLastFill where {
- pop
- pdfLastFill {
- pdfFillOP setoverprint
- } {
- pdfStrokeOP setoverprint
- } ifelse
- } if
-} def
-/cm { concat } def
-/d { setdash } def
-/i { setflat } def
-/j { setlinejoin } def
-/J { setlinecap } def
-/M { setmiterlimit } def
-/w { setlinewidth } def
-% path segment operators
-/m { moveto } def
-/l { lineto } def
-/c { curveto } def
-/re { 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
- neg 0 rlineto closepath } def
-/h { closepath } def
-% path painting operators
-/S { sCol stroke } def
-/Sf { fCol stroke } def
-/f { fCol fill } def
-/f* { fCol eofill } def
-% clipping operators
-/W { clip newpath } def
-/W* { eoclip newpath } def
-% text state operators
-/Tc { /pdfCharSpacing exch def } def
-/Tf { dup /pdfFontSize exch def
- dup pdfHorizScaling mul exch matrix scale
- pdfTextMat matrix concatmatrix dup 4 0 put dup 5 0 put
- exch findfont exch makefont setfont } def
-/Tr { /pdfTextRender exch def } def
-/Ts { /pdfTextRise exch def } def
-/Tw { /pdfWordSpacing exch def } def
-/Tz { /pdfHorizScaling exch def } def
-% text positioning operators
-/Td { pdfTextMat transform moveto } def
-/Tm { /pdfTextMat exch def } def
-% text string operators
-/cshow where {
- pop
- /cshow2 {
- dup {
- pop pop
- 1 string dup 0 3 index put 3 index exec
- } exch cshow
- pop pop
- } def
-}{
- /cshow2 {
- currentfont /FontType get 0 eq {
- 0 2 2 index length 1 sub {
- 2 copy get exch 1 add 2 index exch get
- 2 copy exch 256 mul add
- 2 string dup 0 6 5 roll put dup 1 5 4 roll put
- 3 index exec
- } for
- } {
- dup {
- 1 string dup 0 3 index put 3 index exec
- } forall
- } ifelse
- pop pop
- } def
-} ifelse
-/awcp {
- exch {
- false charpath
- 5 index 5 index rmoveto
- 6 index eq { 7 index 7 index rmoveto } if
- } exch cshow2
- 6 {pop} repeat
-} def
-/Tj {
- fCol
- 1 index stringwidth pdfTextMat idtransform pop
- sub 1 index length dup 0 ne { div } { pop pop 0 } ifelse
- pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
- 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
- pdfTextMat dtransform
- 6 5 roll Tj1
-} def
-/Tj16 {
- fCol
- 2 index stringwidth pdfTextMat idtransform pop
- sub exch div
- pdfWordSpacing pdfHorizScaling mul 0 pdfTextMat dtransform 32
- 4 3 roll pdfCharSpacing pdfHorizScaling mul add 0
- pdfTextMat dtransform
- 6 5 roll Tj1
-} def
-/Tj16V {
- fCol
- 2 index stringwidth pdfTextMat idtransform exch pop
- sub exch div
- 0 pdfWordSpacing pdfTextMat dtransform 32
- 4 3 roll pdfCharSpacing add 0 exch
- pdfTextMat dtransform
- 6 5 roll Tj1
-} def
-/Tj1 {
- 0 pdfTextRise pdfTextMat dtransform rmoveto
- currentpoint 8 2 roll
- pdfTextRender 1 and 0 eq {
- 6 copy awidthshow
- } if
- pdfTextRender 3 and dup 1 eq exch 2 eq or {
- 7 index 7 index moveto
- 6 copy
- currentfont /FontType get 3 eq { fCol } { sCol } ifelse
- false awcp currentpoint stroke moveto
- } if
- pdfTextRender 4 and 0 ne {
- 8 6 roll moveto
- false awcp
- /pdfTextClipPath [ pdfTextClipPath aload pop
- {/moveto cvx}
- {/lineto cvx}
- {/curveto cvx}
- {/closepath cvx}
- pathforall ] def
- currentpoint newpath moveto
- } {
- 8 {pop} repeat
- } ifelse
- 0 pdfTextRise neg pdfTextMat dtransform rmoveto
-} def
-/TJm { pdfFontSize 0.001 mul mul neg 0
- pdfTextMat dtransform rmoveto } def
-/TJmV { pdfFontSize 0.001 mul mul neg 0 exch
- pdfTextMat dtransform rmoveto } def
-/Tclip { pdfTextClipPath cvx exec clip newpath
- /pdfTextClipPath [] def } def
-% Level 2 image operators
-/pdfImBuf 100 string def
-/pdfIm {
- image
- { currentfile pdfImBuf readline
- not { pop exit } if
- (%-EOD-) eq { exit } if } loop
-} def
-/pdfImM {
- fCol imagemask
- { currentfile pdfImBuf readline
- not { pop exit } if
- (%-EOD-) eq { exit } if } loop
-} def
-/pdfImClip {
- gsave
- 0 2 4 index length 1 sub {
- dup 4 index exch 2 copy
- get 5 index div put
- 1 add 3 index exch 2 copy
- get 3 index div put
- } for
- pop pop rectclip
-} def
-/pdfImClipEnd { grestore } def
-% shading operators
-/colordelta {
- false 0 1 3 index length 1 sub {
- dup 4 index exch get 3 index 3 2 roll get sub abs 0.004 gt {
- pop true
- } if
- } for
- exch pop exch pop
-} def
-/funcCol { func n array astore } def
-/funcSH {
- dup 0 eq {
- true
- } {
- dup 6 eq {
- false
- } {
- 4 index 4 index funcCol dup
- 6 index 4 index funcCol dup
- 3 1 roll colordelta 3 1 roll
- 5 index 5 index funcCol dup
- 3 1 roll colordelta 3 1 roll
- 6 index 8 index funcCol dup
- 3 1 roll colordelta 3 1 roll
- colordelta or or or
- } ifelse
- } ifelse
- {
- 1 add
- 4 index 3 index add 0.5 mul exch 4 index 3 index add 0.5 mul exch
- 6 index 6 index 4 index 4 index 4 index funcSH
- 2 index 6 index 6 index 4 index 4 index funcSH
- 6 index 2 index 4 index 6 index 4 index funcSH
- 5 3 roll 3 2 roll funcSH pop pop
- } {
- pop 3 index 2 index add 0.5 mul 3 index 2 index add 0.5 mul
- funcCol sc
- dup 4 index exch mat transform m
- 3 index 3 index mat transform l
- 1 index 3 index mat transform l
- mat transform l pop pop h f*
- } ifelse
-} def
-/axialCol {
- dup 0 lt {
- pop t0
- } {
- dup 1 gt {
- pop t1
- } {
- dt mul t0 add
- } ifelse
- } ifelse
- func n array astore
-} def
-/axialSH {
- dup 0 eq {
- true
- } {
- dup 8 eq {
- false
- } {
- 2 index axialCol 2 index axialCol colordelta
- } ifelse
- } ifelse
- {
- 1 add 3 1 roll 2 copy add 0.5 mul
- dup 4 3 roll exch 4 index axialSH
- exch 3 2 roll axialSH
- } {
- pop 2 copy add 0.5 mul axialCol sc
- exch dup dx mul x0 add exch dy mul y0 add
- 3 2 roll dup dx mul x0 add exch dy mul y0 add
- dx abs dy abs ge {
- 2 copy yMin sub dy mul dx div add yMin m
- yMax sub dy mul dx div add yMax l
- 2 copy yMax sub dy mul dx div add yMax l
- yMin sub dy mul dx div add yMin l
- h f*
- } {
- exch 2 copy xMin sub dx mul dy div add xMin exch m
- xMax sub dx mul dy div add xMax exch l
- exch 2 copy xMax sub dx mul dy div add xMax exch l
- xMin sub dx mul dy div add xMin exch l
- h f*
- } ifelse
- } ifelse
-} def
-/radialCol {
- dup t0 lt {
- pop t0
- } {
- dup t1 gt {
- pop t1
- } if
- } ifelse
- func n array astore
-} def
-/radialSH {
- dup 0 eq {
- true
- } {
- dup 8 eq {
- false
- } {
- 2 index dt mul t0 add radialCol
- 2 index dt mul t0 add radialCol colordelta
- } ifelse
- } ifelse
- {
- 1 add 3 1 roll 2 copy add 0.5 mul
- dup 4 3 roll exch 4 index radialSH
- exch 3 2 roll radialSH
- } {
- pop 2 copy add 0.5 mul dt mul t0 add axialCol sc
- exch dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
- 0 360 arc h
- dup dx mul x0 add exch dup dy mul y0 add exch dr mul r0 add
- 0 360 arc h f*
- } ifelse
-} def
-end
-%%EndResource
-%%EndProlog
-%%BeginSetup
-xpdf begin
-%%BeginResource: font DTUUHP+NimbusSanL-Bold
-%!PS-AdobeFont-1.0: NimbusSanL-Bold 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Sans L Bold) readonly def
-/FamilyName (Nimbus Sans L) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0.0 def
-/isFixedPitch false def
-/UnderlinePosition -155 def
-/UnderlineThickness 69 def
-end readonly def
-/FontName /DTUUHP+NimbusSanL-Bold def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-173 -307 1003 949} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b76040d268b80719e1b3f5a55ab7b8d62a63193c4ae94c086c1
-552833ddd8f116b5df33205ae709b3aa63da7bebb165b67281827b48fb5edbed
-02a1a5c0784fc57d3487daa59520bada1be3fb9795669924321ce4f466cd8e3f
-7e8ec2494aee80e2dd7a48a6861af5b9f0ccaa4a2fe2b03498eacacd6b9c39c6
-a8f2e39e06bbb061cf2ec380a32efad0b790974bb5cc3daf0992471456967362
-77de34813f27abe99302f86bb4d293a37f84667e7f3dfee4cfe9d1a676a5728c
-aeb5222ff50da97e74b2cdebf725fbca7015a188891c8a376b9dd8a642c4b184
-b1bbf3f376a6d6e31ef1c8354ddf8039cb20faabcb34d4749b3c8c8d6972ceb1
-06b8a5aae3ae40a91f1f2b1155681a9cc933f87528c99a2b0268b43a3e829e7f
-3bd863cb52950773bd9b0731dc4992541d7de7a055ca65ddd2317f1705c20d1f
-93291bcc254cbaba425c032b3b15050d41da14ffe1b3d684eea428095a01e931
-98d4f849b239ad9d79f4502f0271affb0c297f2f347bfb9c137782646f648f77
-0076b85f5a929fcdea2703333f6918b8f125627f8b505c688e30f258ded1aecf
-2c86edcd88c29249a8081731737195fab7adbb54743bd66511194dee2516959b
-a20701e2d97342248297425491f6c9471ec9a98e630d734dac19721f0b324432
-c8d7a0b751453f89f7008ba37bc48e0831ee3ecbd8a0a292d63cfc890b28f695
-9e29ac3b4ddb78a6883b9272ce34a012a82adec0b6b641e3940a438a098ccfbf
-c50544b94facfd9d7ae09ad0632015f81d2f77fc6d80a42ec11d67d8a91c376c
-13c8e3444cdfde4d2a1ed021410f4d6a4e97804ae949bd913094d23108c9d384
-56f11025e2d24939114b6bcf579a0315c52f3ca1bcc2860fc1a0b9fb8a37ae2f
-c20c0fd44d215fc2af737fd0339b070d54e664021240071c665de4170dfa182d
-4e385685fb41a2d85888b1149e9a766cb4f309b4e2baa28cf1f8cc12c4b19e33
-f046ce97b53deb549fea96cf6ce66357c4904b7932f5b1ce03cfe3a10c976b9c
-c9ad11d7a02816f8e11666ca8b3ee1411df2ca94172659bad929e3e3e5248f48
-0690cec6d8f7061608cf2672f65abdc96b4fca84d5c847440cf9523d3bf23f6b
-d4365582e4b187b6a1a0282ed323bf221edd0a4ce11ce7eda738d1af48b2e19f
-eb3da1664de99c447c35dfd45069fded1fcd70b4a6855e91ffbd7146efe88012
-0bff1d6d1acb53d5e07fb5795f561a4a3e953bba7c03a9762adae18e58dce6b3
-b1a703122ef3b16963ac7cb9682ce60e17947e7e675d19901c7e8272ce4c9fdf
-536abdffa429b820a82aee9a73d7dcf77dde4d8e251cb3b3a5b0a91c0fcd7fbb
-ead7a812ff194fd049f28b82f4c2d73e41cc73c1c9f668931a2c7eba5400a1b9
-0902efe6792f207136e1e16b41794e6cbf7316889a602d35c37ef36dec95af26
-e9bb0900456f2ebf2705ecce7b2ed90343d23e006ecb282d4b3629bb0c3892f3
-ff9c17fe6c5fab68358e1cd44aff021948ac9fb8410a3de22e0a01e367c52470
-2a8cfd284cf9e8f505d5dbd7bbe242fe071fea0094a55ed1cd7c9be6b7c56c98
-16ad1985fb7624f5e48cf6c0c2ed85b466f64c52f017b20cdabb85d24452e086
-3942362e764a2bda0f6c1b24426e302ddc4403a087efb2850cf3275c7b24275a
-ae270f212831f4c4a5d95deab61923ca126e587e8f5ed4f2d5738f06e8c4f911
-b346b8ecdac481dedd2f546305a7cd63cb67d40093c618fbbdf498c8d7ead8c7
-1f5f022d0bbcfaa8670e3b3b999a1697c947af38d7e1a360e3f0825a9aa77840
-d7a9dfd575ce2f04d308f7c553ebf569ac84f2c12aa0869ce107c713a3cce624
-5059bfb3f5aa27d10e337086144ab09286be3825a3482c5422454c6a9cbbf205
-833316780eb88302796fc427a0fb9e53a7bf24577feb3fa5d85cb6344f908007
-183522d3c760c11fc7da8d14bb5dd800576a6b4d1b991c1bf3db0f9ca2ac5d22
-91079a199f2f6e6dc68213d33ea893b74f6aff30ed1b51f8b53a015ffd4d2076
-b71f73225b151cfcf11e2a2917cf1b3f60e2b4d442307c394e1625f7e60eb12a
-f2eb9ca7b17b082f1664d09cb7a3f38aea99a13f659089426126f47fad5b6dc7
-64101cd437da3c22bc43e7a8de07253eb371470ee1e4e42a5d1fa2c4db5565ad
-79d6271ae28e8fde5d4cb24064c145de44ed486a1e7df2df921f2b1be5fdb120
-d8b781c3655ea72dc22a2a2d37579f0af60b42320ab25c8d769124352448a154
-7a381b388a4d9a54e82f199ba35f1a3981823ab698e3f87d38d32addd4f13832
-77fcc9acee7fbd3285f689a85b76d0feb9e70f09bad0ce144770a6cc203ce40e
-15912de0e3465dbc7918e3ea49ade57ee8c48c75937f5d25498c45170693067e
-6902937c9b43ab6080111663d5dc6d88f72a39c5e7bad677229498323a3e7a22
-2fe2552b00cb91ce2848a1a53538b7af2503a3671903e10df0e9641dbb70577a
-e828dd3cae98fa9e1a74f4377f908d3cd79461408ed29832bc4c9865550ccb00
-45359282255057a4bd4859915cf1e45ecdb7329f90bbf63e0a22a54b05c5acd1
-9c7c4dfc25482a27a20c7ab908546c3577e87ade93ea46436314a0a7c524b892
-4b012239e77cd65ae2949bbf7e46a5a2269b7ffb1cf8a5bc7eea1944d2b0bf37
-bfc36adad9a599fa133f77935f24ef518819d054345df144731dd2332b0f7f5e
-84c46af486941cf1293e86ee719c9bab6263470c7009c3933f1857b0a863e36c
-288d37e6ac85e6a1b4e6e91c0a9fe367bec427ea3713e8d1f0523ecff6067717
-244ca21c177968583815f023420a660f7aa4cdc8bf25ac3b3e429942b9f5123d
-84234c186d9226487c76dfef5d26165771c0e75f0ace7e3882e49de831b46c12
-e30dc37395241d7619c05abc40f5a36f8042b461fb6c3a5181f77b14e9e6d978
-37356b4b31fac3850df1869063724316104c799b6a2f42c361a375e4d29eba7f
-850fe29efbc2cef627a25db549a4d4c48f9fc9a2f32fa50c1ce6b5a545a95f7e
-bf2e9ed710ae91ace1281a44e49aee4133ccc04926a6dba24b721c21188c89a5
-2a49745501cfaa4364cf49e3ec2a59d9ee46f33362634f9758827b199fd07dba
-939bd7387124656831862f70a97c5a05959572c74865f5902e95093fecdbea3b
-bba9b47dace807262de0c7ef04843259f58a323471237cd573298c5d0a0650ad
-2acabd71cb44c63675192845e3d01b3b28af871f347d4a460cc28d9e94409443
-30e893d27b06132063ab727a38f447a2a4633d29adac01bdccc7634e64dfdc55
-9141f69e1202c4a0fd48479b0ed95a7605c94901373e1100a6cbfc113fcce445
-e0317cc94a8507dd637c37676954b9d34c6727aacf17285876db16dd0e11384c
-2b996e85e82fd8fd2b8f9b83bccb398b997364f0ddb71e60ccc50cdd5d122eec
-c36b86a89fbbb5bfb227fba3a7b7de7c907e58780fc276c24ff066982691a97a
-50d14362d27d790375a47162decc53c5c11e8a7499788dfd86aefffe7e674aed
-26706e2d079e9a571c6a32accc8c0dcf23508f58477d05f9a1fc679c0da64254
-27ae33293d02c9eca01daf2d0a1b07e5515d36e18caa3ab1b6c5736dfdefe384
-dbcd244f0c11087a873c4501c6de2a5a57e346fd3f92a0451e63fff6b99c6dfc
-64ed8673dc54ef6509d0d043925bce39072fc64ddf2c49b8602d1a51ee822f19
-d7b2135aa84626bfe3ff321a6bec3a003ad97e7699cfa34bf41f9c2b38df4794
-cb5ae36c95f42b44212de67a96ca9d047587998636673a031c4eb03cf1a55326
-f5d94dde75086b44f095ede0068fb6b9d256759041cda04ecacbd8d7784159af
-ae31a9c637d9a5c0c6840dd9e30eacc66d4d6fd6f12a603aa2db3e9866693070
-0d69cddc416d4b76cf6b835c7bebf914816b87edcd5a24e346eba2dded30f5a0
-dc033e93b040a6ee7f8ab3c44c61017c758c11c2e2fe3c4f18996287a48fa9f8
-fd068c42d0d3384ff27c5a88ef630125562663ee95a66b7b588b417b20d3ae84
-6ecf2693940d4733f9e70b0455b6097e73553eed34df8da712c29d76326670b7
-13f19d4b5ada1833d46fd6cfb92b85eb946cc74252718cc5e605cd6c3c5a46e8
-51536cddcc3cb244c78e629fab784fd76372ca9417fa67f292a7e780b78186d7
-f391cd91b6222e88c0bcff66208814965511967b2ed0d075c77b57701608b647
-b4e462d3e56e06c0403f858582a754dcbf8841fe81d39359d8c5a77c8ae6b795
-c11b84f702de09f22498a189a4c69d726a63260784066562a50544e5d07aebb5
-8265c1c6607bfc6008f2edfc9d0de71646548e59bb374996a4412ac22ab47dc8
-357153c7c9061e95952a729a80fb45f3650fb0c84a07c1956dcc0856d7b0fa71
-3f09c1b995b0c48c57c9367c0601a46cdaefd0460735682d5aafe8545cba587b
-ca6e8144ff14a25b2fce9b23d8ebf715c5a544bd646d5460d2f8cbd44b6d8203
-54e4b7377db351ff26b7b9336a7dca3a610d3a92541054c544064447ac6d1a15
-cf1d1a3797cfe85fb55b56ac01fbb6f47e9c8e5c2929bdc7ee14f6d868464493
-df4759cc80405ef270a816607f248c5c1d5c56035a8ffc1fc1b5f69aabe2f964
-cba4c0ed5416a20f102c82bdfe59ddb4a16140c85d55af2aa52c92ee85c37881
-9c95865704b3cc39da6270dfaca8c3611edbb6da767bb50a03d6a06ed9890104
-da2a575ea45e16da2e1fdcd603c91af6beb934ea33023152c25c27c3c771b553
-1a9aa1ae684e1539e549972c97321fa0710759b6d4b9e55ef1b41bda01d77786
-87c22cb79310a9000bade74a8ac97b3eb2ff024bfd60c0ad7fdedb23c805f64e
-fd139e015e0d1d3591be5930c356e6b8c1a4f0ad9af94eded4ee9aaa436d4cf9
-58c5897d06b7c97cdec22745c46e7b37695a8c66140f7f8421138892f4851c3f
-d355b1de1d32145d39243d0590a90f1c4ec2c246d3f3779b319c38d4221576be
-fd17d8bc8819cf8ec30075305f8637d1ddf0f7255ad456cc290f10ec39ddc2f5
-290092718e7d268531aaeb377701dafa933b94ce763c1954ef0cce19d77c9208
-157c38b279c578c56b7e523afccc91fe6819483de18ceebbe74b81844ddb84c6
-22d4f29661e89e5417ce43c28028e9e1c54063afd716088b6e8fe0cd1702c2c3
-31273573f5c3d760c8a2c7cbb362ed650ea8ff54f19e097f14af9739885af15b
-46ed31cdef73db671b22efd41ff3f6bbd29625fae7571f9542fc06c77e28d2f6
-3ba2c9cf89da564de3a6fb3f0ff981c5c482a1e1de730041b7f1c890c4528bf1
-8e79f2fa4ed8a738f09a68a5b53edf6cbcf8861003917a89989146af7ab2e5a2
-836279643900c27a90463679a22f0ca5077728f6ae8a28324f9adcc19fa493b5
-e2465c6d98cb608f8dc52cdd6c52bad1a1502779b638df9336e12f035b3c310c
-b92b3add047365f2d25b0ec7e05cc46f31c0575eaf4ebea0b660aa20d9e7edf9
-0aa077e3000e25176038ccc92d4f9fdbae6b05aa2e17ad004e13308464a20cdd
-0271ed0f964e73cb11f18c2b795dba31c3ffd5648c63dab395238ba7c0cc7db6
-b206e6179c6ad7c2534c46a2b9c1d7fe6bc693df35118b708933677ab3a76cee
-9ac0303c2c0967d718a1691f6a922abb6b37625fc01908c10242731b79a1a82c
-fce9efbd1c6bd483fd867bc2938609ee52c0271a7ed1fde1b8667b98e22fd450
-86f515fd2ac2c11c50fce95f3e506ac6518dd4e532ddb100d87a9240bdcdafc2
-0c8bec467d76261165e9d8bdac9197ec798c81cfe80e3619f432674cadf44ff4
-3f61089abeb13d665e7901f4a1ba84115333210009d55e051b692aebee9d9bf3
-d0219c290191c17f7317aaf402b88ba353c25f126e2d32bef73d528c65af0840
-3ed4086daff574762531794fdbf637b765273911297b75338691e9ef4d2ad452
-22454c6a9cbbf205039d6d35c09a0ce284e9a776773a98e09e6a816dd71d80c3
-d80abcb006353b4b7c48c76bd9c1ed9db78bf62e9ad2222e5bee9fde0281f0e6
-11fd6f899938cee729a184be7cbdb0b84fc9c380d6c69cdd6e0f3f6780af684b
-cec6361673853b400f47e00177ff1ee7f9eb8c285a49e137e08d5d7663df71ab
-71ca71adc0857055686a04777a2e1408ce629e018c97524af5588991be92e4fa
-4a27745aa950a72d479c48d6f8c30d4258a882f199b4359f92a963fc650230c5
-79edf743f2cfe86a197296dd675bf05f25ed969de77bfdd0b518cbb5c30b4e42
-27c5117f235b34f7fc32413a980a38968ff9b8151280a0259214790e421d0f39
-eeebe98adba820401c2d47d4132cc68cae0f59b049d7489f62259bfc55091c81
-89e2480dcb77f689965151b7f6706af675a871370d2195b07457af8809f7abfe
-7d3672d76a74f55ec749ef40f755a3eed96cce000644ca0c497afaab7294afdc
-13c3239f54f3eeee809bcd936ff447277d2f3613936e7b39e683f25b60505f2b
-f4343ed0902badeb62495cef53789b9e74baf866be33efe66c1c5faa95f60ac9
-156a26bb9f72cb73e891ee4b905f72845b3ae05e025879f07a7b91fd06204148
-60832d64b6bd5abe0472aa7aff07fa05d23a01238b6f624ae8db25bb71ddd893
-1fc6003f23292a428a5a99df5861e0ae858c398d66d027a32a71d6e62d62b6a1
-a1db86b1ea3005a201618f22899cb1e7d70f65fdcfbf7962ee0d0d15412d006c
-cfebd0e0892888f26238bd1f7f090de03c41ee4ba53548f469fda2d94f6b3da8
-a606fcc3554e3f261b8490a3b8cde3ee846542668ce3b371318f9864c45a4223
-fa2a86e12034bba867c4abeb461c609c8d47e184703bd6c891f39076ee06bfd3
-bffa679de07d8c8eed9b4b24ff74c6db2cf84108f28e4f0fdb78e0e726a9bd3f
-2a1b94daee18fd20f2c902cbeba13c1b281d0a11a96b20800e4cf939dd32bda8
-25aa63d9f86f380af4dd379d80441dc4fbc0719a69ebc16e1617940a19eb0b44
-96581982d45b08e512000e3915490a1a79b908e1e63ae129750fa45dd33c0e9e
-2e767a89c6f11e33f193da18dc6c820dbed8d370492c19ad9d6407e50cb62446
-d3ab009d9e8f3c51eac2139ab64ffa19b70405813652fbbe33fbe5bc95d40b5f
-9ef833a4b1b51e56065abfef1036eeab8e04f096aac0d2813c2e721e0db97368
-c17f0cc971c9ca18a2db11745f67d42ce5148e2e8b2c0e13e4bb16a2789f0c4c
-e7b65be454ea623212bb2ce5afc6b5b3ad5bfed65063354becbc1531389977e4
-6599896d9ddbdf3ad6fdd8a44b14ec8cc9f131d73cba91e28cb54b37655e4b44
-db0457ae7bfd3c6b73bacf09861a7fe4b664928230fa03cb99ebb763703ff8d2
-68877c3a3b1cf915891578aec60c1f7d1e447fc777d8eb3573ba2a9ce47c99ca
-a9d52f2f12b101fe48658edc7543ef85dfe01b72dc4dda597951ea4298fd444a
-ee33b14ff2f91b7297922daa7e346493080868f56aaa2176c9f2c1284e4b2672
-a3b75face39df1c8b7a825a3a5c25871d190e48574e1d03a5fb094d418c47ac1
-687e8347036cc44fed3d84fe5d4b84a61fac9968b8d004c28539a3681476ac45
-56538901ff2764c1c46f5ffe048cd3a7eafc6a9fe98ff9b3cfdf3ac035a9d3f6
-8d75440d43a1842cc1e8b6b9b6d49a9bd093620735c9c7c11c21652a5262a86f
-c10413a373a9e02a488bd9a16a51fb51b027b2c5cde35cb1aed91ce58703e1e9
-ebdc1a161d754ee437412182f7d532426841e2455add22c031a2171426881bbe
-4090d1cbfc498ef46749308b73ebf4dc5a06adde6f83bfb368388bf7c2d900cf
-57932ba4c9db0f15faff7cbd701050a1db98bdc9a5f9f428980ecfb1e999f460
-231e59b5c62c7879278f10f6a61f79cc9da24d35a2d26996d8a4a106e081b8c8
-3fcc015b775acb00f78953a834018c146c65cd715bfb5f90c03feac01839c6ba
-156e327c97350d2851dd77e8263b967742472dc1e3b8f0e980de9f1815007cea
-51619d84375b777d5cf32a144affd8ef0f4fee2df1f839b2a5d900ec8e76363d
-c829f1d03d211175ab982226616b19c51800e4b5d4b28aba82980eaac6131940
-026e3c2297e197fb8f130fb15d2c4098b97c84074d4e50b5c6606bb0f3230931
-52b39a58964b4ca44caf45f63af49b330ab3dd863f5ebfa8ab0db6cc37838a64
-72c601c215037e94ac89420fea13d52174ed5c933e8c8525f88e6ce482661861
-58b904ba7fdb864cfe04bd7ce6070fc5ef576b1de985a8c4eeca7fe32b90d320
-9091d8931bc21c6f969288b1cab44bc53755d8d8f257466803dfd5725dbb5830
-4be6c784fb6f8c5e66802028759c0597246fc103eb63b58f361b144668713570
-8c6be071b51fde425a0aa5724986ca67e87eacb8f517fb3103e52595ba002e02
-82e54cb82b04c993d991d70b5eaac7a639213ec0f82a1d7750f3f6e94d8ac7a0
-8a586b816a9fbe78ff96bf1e3cd52798089f279a0a0d93e0314883988bba0f78
-7ce5745f8b07eb3b750c1d0a13fa4b0338346220ff9ff10cfe04f29e2c24aef0
-f77f6748b63b0c6d53461536034450820c73116cc66feb9c7f7d08e0a47d4c92
-ec61c5342099c27d93a79d9c9f278142ba03b51d6e1e03944abe063baac32629
-1b5dc30de8512f0cb3a973cc43afc2be532ed012c3eb58266cbeebf611f91aa1
-489d0174e713b976f3a0b36c575df597a3d8b12d4c5441e3a478f0933eb129ea
-e44484e084bdde7d2d9ba23a6bf1bbdd51d96ba4a5207af1044e917186b7e66d
-accde1295b615f37f1395827e29e3a1711fb2b6c50374df468be421cc531eae4
-b3cd2473c979d11c11beaf14aa9b6cce4acc8208f22f9fbb6713bb8306e5b5a4
-d46d11e604114d9a5a4be0615a843d10de54ad62d582302fffcfab7f785b11c4
-83081286cfa04302f7b92f64dbb42f3f97cde0c047662be6a3e58986c54b7c3e
-2ac1b0d19bc1490311150931aed3497abaa74303d3f0a3f3af8667c4b0b91385
-cdc9bd2ae98ac32a2d943e0583a0f3c74fcb803559fea211098b48385d3d8d32
-9e2cda61d7589e5383fa32abfcac50355549f1e819eb31531dadc47f5e759790
-d355444f1efa6b1dfc7713d446008225808fffbdc81a3b1b374c7f2901e27e2c
-41c477de0e52e9005288b7175117b32c326b3ad2b9f9342865d0bdd0ba6044ac
-395c2c69bf82a7aa9b77842a3bc7b4a675b0c32a4e4504d2a9fe8762170f54c3
-4dc3620cdea9d1877f274559ac6d37aa83f90346130472775858c18746db4558
-4f2fa7698926c4fb2eef0951579dae63c2d3c7b9e1fc811ee5dda4dc5b5e61fd
-c0ed21724902532087dbef11b1fd0d71eca9f271a3d1bf8ded5df19db6761547
-97d0a12f94147d64bade52704f880d0fcb89f4958547c6839c9e111892797f29
-4e65f7a54e14ea3d3f50712979f84852e57b9c1d70474a3593d53f21603e00e0
-e79ff355914f9a3d4ab1e14410eac9926928e714248535b178d6fe9e0e84ce99
-59f66fb52f37a4e3dfa5488b76d9ae2f62d4495bca11cc148dc20e29a694fabd
-e65c7629ebc40ff0c0fa109631655d3ef9848e16aa7c73cfd4aed02f8f125ab5
-0d628ce52fcae577c7ef0ab688a2f4fa9a0e2a9b10b93130f0b357f4679c1f7c
-9bd270f34f0bfd86459b402c74224a621dfad6ed316d05e15d31707fae7a9b62
-f8f75537326742f1e9d0c7483489f4f4fa38e0f327f24fbfb26307ead2720bd9
-678f45875eb05036341ba38660630b7d005304d4388ff7eb3be9c2635c21af0a
-02d12fd19a4e52181a9c7f2356b2a16eae4e8ed5b1ea0c01565c26856787fdfc
-2aaaf11958ff3414ab62ca19e947db6b78030e2c528f3d1c0215cadbb0c34f72
-6751da03c604bae7b97f379864bb54be9799bd387e88d6c7053f83dbae1cfb04
-f2ac87d12dcbe17a5183780fab4589e8b0d70934e856f11629a91e6d13da7704
-73cc80e0b80bdd42a71eee5f43a4dab994ee7cfeff83d08169aa298c98a85477
-dfc729ed6db098b4ae47a25b8ae7587b8cb2d59cc0989c06129fc201e7c9b763
-f8b3f651a5c735edc975cec4ce461e81ac9d5e3b08a708fc536b46b9566a58c3
-0402aafd2b6018dd063877b880f85e09895dd4c9d89b5f264ad72cbea438c153
-054e1a5ece2091e1d4105f46b047b75ff3be86491e694c1e2e03bff36812d148
-d9923f5d89a28fbc4f45fbc3db74cc37bf3cf41b070d72a4cd571524fa6df788
-3153e77818641287ae22b1c72331fbff019ccecbc1709615ad749dc77cb6b331
-30ca3d0fa05cc47447c17d96cf6ded782ff6b505193915aebe31f1f7b95dc9fd
-91a124f9551224117174ae1e05754dedcec813a8aa4934b73de1b20d7c10a20d
-83a8b085cc2d431b87397e5f8286c0a80704101475ec9845b2bf7ecb9ae457fd
-abad09e4e8ee411d4a20518597b08d5dd66afebba03f632ff2ed520270893f00
-35cf0716f4a092faf8a0c2a3f73ca46afd2a825eee041bbc2b649330fe821807
-707a06ed91847b434d34742844947d54e80422f5b5b56f6dbda934089c32ad12
-375b31af9aa91329c253fafd3cff4858c39ae5efbed4d590819d2f5963b7e08a
-99e157ca1c18b20c62a8f7bd278f560e871b6126d9cdcec52c6839417bc70dd2
-49fa373ca6dd557540906729f2fc5476c38595d958ab2b6c14629f9e16a2a9ce
-9f6e2dd760e55a38a3432e74126135364cec00a7b6dbf0cd48555df9f31e71aa
-9d573bb077085030aa3146d0693fe683884ab380f052c38b31b0e3483d122c4d
-d15a6a93eafec3523f4b2744935de9d1660fb4d8a76d82045862b59ea2183961
-f9868bf03e4a71db61e03fae93bea1092ac5ec83d71dad123d5663149d4bd0be
-e643435aabc919942bbc60d4ab56ecdecad30d270589775a3ff718cef0e2ea46
-b8c75fa911752ef13410185e5cea25aee6fae74489355d3328e0cbe8d4c55d46
-4114b4a4c85309dff4f2a5c2b14fc4f4779f4e3a8bd29076baec35cd59ecadca
-09e93d8dd4786052d970484ea3cb45b37c4a6f74249e9f5eb7583b018dcdabfe
-67259769ae1a904f20b3ef352cd191bbed998f4b2c06465d7355e82ffa718e08
-9dfa5c8fdaac95d8e05cf8b5a899b8484c5ea104eef3e5b21436ed396662222c
-8cfd00b5a854ba9338da205f16e5c0f451bc1c6cf34f0da069af5ccfb460cccb
-b6f393a99f6138e0ece299e0c0f7f1d0c83e0b936cac2dc38f08292245e7afdc
-6538c4fecc7d712ef83997088f73ae6ff0ab83d0ae76a7811cc07b41a57d1d34
-04681526d327b489094dd961f2f60a0c6c275f09f0a171e88056f58735d2f502
-65a167d12ff3395df58c3b901a68f0d96f8ef54ac5548086229adac495fbc256
-afe832991f1839aeddf1a87abc217835e58af4199823165fb9899fc831b47bfe
-4c3c1f5a2696e9a5f310afb8138eea06fda0688e0d0d7cd1ceff93a72c57289d
-332525c3bc60e51ab25526a4876affb2c64657caf14b34fca46a78e41b0c1955
-01fa1a0c0d77d5f7026234af489b316872e64b4d449efc540fb0da553063a71b
-d8ee44b0f9a20adb9f60b99803f1760c0cde357784e87042133aa085e9a37a5b
-b5685e73354ca0e9a48d886fd12841674bc0713d43301883f1c2f6190b47a4b9
-996c0e528b6572c96232ecbc57c57073463ae36b5b2974163cff75828a20c47f
-926e99faab51f19fdbe0f89bb71ffba9eb95a82b3a712b54578f665a89edf193
-d575ed95bb883f9d6797029ff0cc8a75459fac0cca4530e17d93c9834a8d9c9b
-376d3e40f3e44e6e895f25c90a803cf8b0f3056037809e3ed618475c199f43cb
-a7eeff84d38f49aafa4e469aa78cddb87ea76a87da1b888c38e225499d1bb089
-32d599918227c97b1e4de521460f1a175ff2fc500bb95574d9eac64cd00896f6
-27589fe5351f46a46d1fe8ae16fdc945decb08c0b7d841c5516535ab65b84724
-04796bd7b7083a606977316dffaeec0e8681c10df4deef6335403e5b08889558
-48bfb1b8708a5c41c5147fbed3942ac26ce66357c4904b79147dca55f039b648
-ae18d0d6d330a621301e3c1d6e478fc6fcee4c3382d463491a167596ff51f17d
-1afdd4ee7ab8f1b27b4ef2b665cb6818637b5e982447f6d7ab2806f769d254f9
-f5981812a9458a39f51366773a8980c7c6dced448d878af3bc088237815d2727
-40093cb7c3a4e6e86ec6cd61fa8ad13b20e270f97ee5be1799f2966a0ca2a7c9
-32de08bb021adf9466f1b88ffef315b818954057877d3d59f173c1b1874fffdd
-e3749a0dba7d62d70483b1a7c7720c1e95c59faeed0c8be1913177c6dbaa6905
-a6bd1a153906aa1b6919ebd1befb9a54d9b84cd9d548b1abe83933670ea719b8
-6337d01283b95306db92fe059da52d107ec47819bd163b3830c989df4052614a
-9866b057aeaed455fc9864df1960e97806cf95011394e2052861152024969836
-77be8008c246f14aea1c26e620fb331f96cd32a23b1c87d534d678181a198758
-4bffe069fb5a0c6b63ca8a9cfb6c3fd6ecf07c5bc59712ec7d02a5b988c3fbbf
-695fc7068a644d8885ccd88987532539e5cefc64fb97ec1376ef0a97970db510
-4c19b7a64a1b4f7eedfec2515996238dadbbfa8afd8004f12867de20912c2774
-1ceca6f2956b340ccb5e30f2b1f5f6376e6d3a272be05c29125f6d74bbee7879
-8836ee673971ab724dc89867d5a939da0cb41678fbb8d8ed35efa28de86728f7
-953c9c5896b867e4b7df3322563aff8a31cca8901b5542af2c7254547c7c09d0
-15baa7cbdc7352960ac650a543f05e290341d245ddd331a556ac7fc0ee7eb246
-718b71073b9a32776f6215fd8fa2297a2e9be23728cbb24c53ea10a4544ddfb5
-7d6292640840c77bf03728c3e5d2665ed7db7410c9ecb32c249a45664f72f8f4
-2e81a2e086b535f6473b1a3319d134317edbd1864cba7b79f89ef99d16c8871a
-28fbc4cb45f982bac6de81ef637a7e1022a5579f73867e40e31ec8903632e33f
-b24abe53b1f3a3097779b977bbeb41c21857909d3e25f7bc88e6d3fe6f183da0
-0133a99ae39080012df8498b9ce322ea9b76343c2e8be3676f08602470da2761
-ed9de407fba38be82de624e1552be40a0e10b55ad74367b91c80b8bc5cf59f64
-b79072369d9e492ee6b9f9df0b91ae608a44020ed6874038974ccc9afa88d6b7
-8114af4de09e77e4b0a1a1fb27e226a62385b969bbebb657ea927fd86e050ff1
-3ebd001a022333f8caca13c54f9b345cd5b6553c90b4f7fb949d7d65d9bf9fd9
-46a3c7c531f6a6479aab0d5a7015b56959777892feea7990edbd2b423f6e9ce4
-583caac124c268628a9cb703dd96aacd35b1031e08a741d02adfd579267df790
-5ef26af14b2bbdc22a1eb33b58719a1e8463f28784f4c15cb3c25cfb2e20a508
-7854a53f4ab398b02177de500a049d6c9faa13fd40c19178e878f1cc26221c59
-b40545f5f4442abba06656ead5afd938adeb3ea50c699862d48e767c223c1f22
-246e58c5694d1e23511710817a9fd18a1620cc651345e6d3302d85139f7a5734
-7e423be145e165baf46019fe831f97602ec87b3cdfb8fea12869c98f115d1b66
-5aa588fa82484acded7ca2c13a17bda305f63ee226ee1f37cf247f1aea9ff92e
-2fa4c1e0448a5dde45294699a9490a5ea94cf81c53491fc19e2ade5af005c300
-a5fc99b893ed1d469788e94de823006f8848dc9d021f19b934278d44e8c73da9
-3728f389563e10ae6017c5caf3b4b340be1d7d2b7f24a8cfcc1ed1eb920cd366
-6fa12f35e45673fb12b45a6ed7e84937576e5327c82d7f27f6c0255f75ef4b02
-cd492b23ec1f346bdf8e007042a82ab730ab2805569d7b978a4b114577514548
-0d426dc4a8ad86de85b23ab5aa8a50a30bbdd8ef5e9ff8e7954a69987fb5401e
-a9d039d5e05ef245e3c70a85236969f32bd1e5d29d71a2013493945e803838dc
-7241a73c4c1f14548eaadcba64aebc29fd2253fa59b6b039bb2edc9e4a7c8e83
-317ec39a07b8c8297e4b08d4e6f01a53e3d690f1d1db49f19640c16441be6ae8
-d1cbdf853394cf665f741938733fbc700e8d82c4cf1d72456008a0fe55c8b677
-a4f3e197aac9b976343923dd4c5a181454319fc509d499bf14740ef1387f354d
-d71c3bc5b9d4d2d9e0e7a3bc60c79c8e6d344bebeb3b2dc2c3605fdf1002f061
-d52f718b57d1f6c1406b1fdf2ce37ee45693ba72284c5652b2d88b29ad55d9bd
-78032a76ae6427c19749ca1503fdfa6eda4861f0b0c72684589efe6c01d9c964
-1201b79c5ce03520510e13bc5461fa3d2897e2b7c65ebb571e2d0ce319248d4a
-fcde6d70c38d25f6bbf0c09b64553c3fdadc64c293deda6e2ed8c191d7f432ac
-5bcc1ac3183c92d545abbd4da7e768140b9f5a5077b08dc8eae64727eade3e5c
-05e07036b08c31ba5ae366c642f816b5fa60e148795d3d4ce050f09c443d6fe0
-d44f8859d43da39643d4fb8c5e2e34f1b32142ddef07b1c02c09f4cc9509eabe
-99350ccd3a9d2d6fb809016dbe0c1a29fd1d25cc83125ba7d0143e09203f9e34
-99c6d07cc78bfdb82f72c577aff1045cd2ce2e3de0300283ae5ac540d498e467
-0e3718e3dac6dcdf1c7ab2d5f75c5b6e56bc32d8ddace4ce7f9272aae188f3b7
-d6d31b380592cfc0de45eabdd87cfaa15143cce738ede40bd9a06db0b3d5f570
-be5b21b328b3ac4ff46abb190ec17e73d31af389dc8e887280f84caf7b317c27
-38593005aa586b3c4918fa95a9435e45db40bb52d2f6034686463c87280b8085
-877297a871dd11fa1d782568fe813cbdab6daba828c1c264c3db809cb9da6635
-640c3e991dc41cb1841ea1556b7560d47526bdc012a8f1dacb30f38ed0f4721b
-b98b107526258d66804fb0dd4c52d827850d8f0a764a53cd81f66269a8cc114c
-06482a5b2b752416707d28e88291bca02b7746161794437f61e7e3353ecc92c4
-151af9a2f0b0e0e7b8be3106fa8b455e60d1b8e7a30a45922fe00f7ac9031be3
-b9e1dcae83017ffa27f196e1b8da6cff1bc25c0d776dbf675838c24c57a3078c
-d2f6dad8722aa8997078f22bfab7e8f995538174d577c28d1660e5484270e63b
-90ff29111a71bcfdda204034ad6df026ba9fe61c02bc99e0553cae82fc1f84a6
-f8c744cf34a92b3fa239b23fa2aa469c5765c02abeea272fc928d24714c14ea1
-2dc6871a82973f1b57a2063379dc471f0dd0684ab5ce9ab8088512b548c0e96c
-59f314ee81f9ba0a793072325d5b2a478eca04739746
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F122_0 /DTUUHP+NimbusSanL-Bold 1 1
-[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
- /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
- /caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity
- /lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
- /circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal
- /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
- /tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis
- /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
- /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
- /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
- /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
- /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
- /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
- /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
- /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
- /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
- /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
- /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
- /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
-pdfMakeFont
-%%BeginResource: font VXAMRV+NimbusRomNo9L-Regu
-%!PS-AdobeFont-1.0: NimbusRomNo9L-Regu 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Roman No9 L Regular) readonly def
-/FamilyName (Nimbus Roman No9 L) readonly def
-/Weight (Regular) readonly def
-/ItalicAngle 0.0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /VXAMRV+NimbusRomNo9L-Regu def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-168 -281 1000 924} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b76040d268b80719e1b3f5a55ab7b8e152a40e590419249f2e4
-c36159f8e54b532468e36965a38646781ab0b7f6a3e851fd10caa49adfc1e546
-2fd2ec6150dc6e19523050f6148348a561ad8d2e2721eff8a570cb33460a745b
-926c889304c09753c2d78fb0ca95dc6de5b8c524752c83601e7e9f73df660674
-f05ad83a166da9be89f22feabd4b2665960f6fb5bc32928e1230c212e5d69cee
-0b3311a1738a11747ae263106916d8e95f25b25b4bc6afb03b79abb95dda518b
-41a49458111d2a1433c043627ef9460d324ffe22935f4f6da88b8b91ae95b34e
-08408a34ec8eac3f65b6ae3e3e2524867ee9d29068f81e4372f4470beeb4d6be
-ee4df956becc0cb77f8490117b22b2fb75c938ed0a5e208d88bc38b2ab8b9cfb
-f1d53084b6f43df336481eca0aa2d5317bc83fc0e1d4db01d0b7707eef217e94
-a7f985102ded27d8e8b009f7ef6db91b91e78bfae7bd688e10b3dc9ac77cdee8
-47aa4dc8ec78241e593d26ec7a60696151a2ae5325d736e99e01bdcbde69579f
-92eeec224b6757eedc64a75455bb665df42a0e4ce7b99bf3e7d66f8ffc8c13f9
-d7a1ff7a9d5ff7ac43396779f11c9b008c33a2043d48b61b88b03104b1425f09
-675b559ca4302c001ee80d2b739cc0fd1023bf4f1ff9c01e892e59cca7c26011
-b8e0b6d29cc29fc72792fda5e7d5d88ef98f9dba960c96534c399c54865eab86
-0fa2e0d6c7c44b553eac1574d55e7970744d4792fffbdce6fb4365bdbc2965bb
-2e9edad9e0ebf0b620db415ad98297f5ae83d9c710436657e74d26e83957c745
-89834337035a7501803947f6880b70e56a3a404c62d57b849d28804cbe0f5884
-435a0e12dcc9ba414abb732bfbae237001f557dea5e972ba0838a3c7c9eb75aa
-4a050da0a529bdffbf9011c360564fd17a02c18860af6b86efd4e2c125686c9a
-5e114e95c71fc89a5de9c589bfe5ac0480cff716345265d2435edae67cfc4801
-5bc08e7a48d683acdb91e05f469c0c8919d73a5d07a1ccb173e30e76680acb09
-02a40a3e11916198bd69f1a26e88330f50692d0d5917e99e7a01b327413e24aa
-e98ea484e45897e6ae4d6997b6e8bbf61c9406e916d56985cb2bd297e8acfc6e
-cf2d2281ad84696b7c6cb584bd85cc20ba14add3bc3e25db91124c0acf22e902
-3cfbf04cc40de331991e9075d22ab5ee0e849b340050e6c417c664a782d05549
-db2ef572f193b1c12b4635c2b358747046de5858ec32b3b2e79d42750657977f
-acdd2ee5a7c9320d907438dba63aa05ed410fc7000f53549091be71be45da4ab
-a315f95b724a60f17c70833e889cfe7ea206a7abc4393cb6ef47be3700ba5638
-6831391809ef8384aea8c22735e8062a9f9101add125a321fb65399cbcd9c9e6
-0f46fbf271b2b1ec80832cc054bab5ca80d4561da0a380d56d5cb3d90ae89a19
-48cd824eb1e7ac6127a6dba3e8ea40f00add89749d77ec0eebe26fd6ea5d8cce
-f7239681b3d94898236ae92ff3912e0afe84b6c7e08134c158b640b4aecab5f2
-a90028e67d33df31b461a2846f83d90979bb22618e2a17c5d159fb59d5177e12
-edf1320f596e7a4c379329adb367f92bf2869a9a97398e0c20f5f017ca9db7ba
-b3bab72b87a7b6bf4febd03132f9075c271f2054078396df8403dc91461325f6
-12cf1421f3099ccd799c2c099492c4f071336d985c0c360b2f5a5877fd00b6f9
-2e5911dddfb31d17a60124ee8da6cbda94196d7ed42804610e4f730daf2f2d5a
-b767c320c62543e26534314facae006ba2064623902c8ac479eeebb609e8c3e4
-1516ce412cb410bd026231e22a9cd0f664d769e4e45cbb75b7341f06d8e37285
-beaa9ab71aabe3cbfe5a348681aa246047ca29ca6b442feade254c7582d32d3c
-71b5e645c82e92f057eb5f859bee23daa95c575edaaf9896d6c10980a09db34e
-084c8a754e31b618c6991baa856cb86877044e10c2f189b284e3195a2db6b910
-2574e2461d2fae65b7321c0093a2a34996c0b77123503e9edc623dd02c44fb76
-3c550840bdf969582d226510ebf89944e59684eb2e2c463e69702266fbcf8d1d
-4c0be400495e227b9cb21c8086f328782ca7294dcf3ecdc1a62714143a4c1b98
-e5de1dd554fba60571188a58f0354a6b9ef580689b78a0c8515ca05a35832616
-7e0a90f68f3c306ab60aab20872fb167673f41e8e87ff0111f579cbd0da68b56
-3e35d2ebf9f28b104082e36187373efc7a33f62d3fe4a390b63a76e9b2531871
-6bd59861f51b561dcc115192a6fc22d15a5af03ba09cdfa66b660cf4288e9d79
-26e797256659b0ff64bb5d900990c3cb588e1e18810bcb009a91e5f4f8d9db1a
-f2a063bdabd9c3332f4bdb701bb94b4fd24570b440ae74b8d924e48e7c2defb0
-53a19e5b4df39abf4f6fc6160b5fcca00608422a3091cd03e726b1ea1d203b3f
-c44173460b490498eda3121881ebd21cb5b571d21a6228cc0a1b035ebe97f26b
-0b58179bd22ac950ec3a98458051a874297cd6bfe731c5b413819503111f1f6e
-ebfb5628c955f5fcaed76f2402ce351f77e471d1c9821dad627ff25131590577
-5ff9335dd28d85a11bf155765632b34a3aa1df9c01134bd8fe927e0064319951
-e2c1d374c9acfc30932712a5c3e0fe3c7e355e3356e9135a143f1b4e2738e208
-8f44633dd9300bafc770625a64b2bd20d4f672701310e5d1d5b2dd502802539a
-65344601924c473b7618f9b87bf6eb49474fe62891097b9b381dfc9dd22f6ceb
-340efd950b74e614a2908eea7b0d395e15943d0a9072e2c0e6c91d9141c84281
-6a59f02111333723db78c2c287675d73152ee3c63397f5ea6203c707568137e0
-12438b86ead16d71a0a56d00e6ace9d80aff646b05d829dcf08dce2fed1a17d3
-83a7c9e7c2a5caeb38bda802e6696bab17a5d1e5d6c51b6371c642d5588a2945
-1f3c8b0cd56806531579f7c0d10a9fbe254ea910522d955c86ddd693b8660bbd
-17b2b23fea57af15b1720e42c6de537074c071c50c114ac54c45ba2fee00d13a
-2573bb9243648a1be2569cf68ff78e4cacacdb34dad918a30005c31f17781633
-6b74af8b9931bec0c1892780020c1a92470e3ad7f1bb6ef26c835f13a9c56ded
-51df4a7847c993b88b9fda9a8955d8bdbf6ba773d06645e292ce26d9df4bbd4f
-3d20f52161853827837c837f33425990818b958adcc3ae79b5791ff04daa32fe
-54050aa9d34606f16c7763de770cc33c9acb60e5354d5a27a687ca6e0fd74a4b
-5cffeadf6ad0ba87b906c09201ff65ce6c3f620bbfaaccbe54da884b87e906b5
-f5285d3841ecf78f0a1ee4a80724da3a4fd49ffbaa66be3402a2480a6f8fc164
-343a369e2b8947fd5f58a4697234c742685421ce3d57398c5ed6f6b049fdf39f
-6870236751d9ef2210e680b4d8a6daab758bd7fa7da9680604e5bf85d1826611
-2ca08e8922a1d46ac853f4bdca37f7fe80d2d27854012e4a8f70bd854ea4c189
-ea6939096b56168aeb971aaafe1bca667137a76761cba2fbffceafe3e98d5590
-db3dbc44b3f9d4ef0419cae23086898bb25a222eea19c1a760389672933ea7c2
-8b31025619bd108b79d51d54e23f401f42165f0d513bb2409ce66ba3e83fc000
-4372873eb8b4405a8f5bd88cc2f21d2d60fa4024707869c5fd40d94028ed13b2
-5762cc7924d100d3ce0dd32cfca124ec1fce4cce8c137070a18f05cd73809449
-bcdeb0ac24dcf63679d46aa8b3a4a5d0dbfa9342716619cd3683dfa7a9d6683e
-5a7a03ddb47833fdff8935f2f004f58ede6447adce4fda1b734c75c52d16c406
-9428cdf68855946014584f7fe49b03f896e0054cffff5da4728bf4ce1d892052
-701b48b81f58f5ea344e8ebfe13baa70cb43ce4a979d8225ed78417648672e61
-07eb7b31f81cf52b4136288200e640654e83534eadf05301faf2f3a859772c3a
-545fc20429119ff00c259aa582af4e3cde1c99769f4e433d9b178edcecf142ad
-ffaa6da004a90f53e70048aa8d15a26bfcf7b02ed70bc262d165e99f87ca7424
-0eb98f3d7fc0d4926ae43c8d322bb9eca24a4c45f7dbb0feaa9a900e3521d6b3
-87b52a30acb29c914b06793f19a1efbe3be7d0b8e20cad99d292c315b12376d5
-655121189a833132715762ca7118685814f71aaa08b89e466c7468bca01bd98b
-63ec7cc3ac41dd06c5bbda86227afcc1f7796b5f878946c135bfa75a98db1b57
-0f38c49770ae23986ffaedbf6644df58a252c29ac821f4584b96b5ddafa9b3a1
-aa0ef6d17fc1e75916753bc8c799497e1279ec783ea86df307cd54b58c2b3ebb
-fd722006d127834b089670e5f1e7ba8bc4a0f6181bb4efbb8f99e4475181449f
-2fcb255da4233f7ab097ef0108ba3fc12cda0618870eacb9fe4195dfab182242
-bae0956d09e388d10da2f940186e25c9926886e9806c70105dc75259fb1e5da2
-675e4e114f84862e6b822a10a9d364b1cd13dca3d385b83499c715ecd7598766
-b215910f002358d592fc36d0bd482ee9cc338378ea1566839526a5783f250818
-078b97d73b1d62a1aad3d5a9753bfef23f7b3e6d5bd318c463aa04490b9063a0
-e83e3e68109b182720d2b1c13b498f8f495661c0f4e6455b96a6a92ff806f1cb
-3b1c6eac82d9a687b83c572c42df22beae31d1239719186f14ef637fe4e7c7b1
-fe8f4f1bd8367d76d467be95c394a818198d922bcaeeee371fe17e396b27cec5
-f0554778587fc7d78acdf317a8efdfc82c2f57b6411b3ab68f96e3e7cd321a6d
-4783435056ab5a0095726435be6885bf2784fb2cbeffc0f8248dcd594d34b21c
-98e67de50b6876c3d6d4d4ca7ce0b9013ebe754b104dcfc0719a10cdd9985e19
-2cdf4e88876c2dd4e79e23afa70ab5b4758af32ee87b8415b881ac15c5c3e1bc
-d17a5b961efb3a8dc987deded6f28a240d66f004ad05ce1c551e29b45668db2b
-305c9b1af5cd5388a0802d80f18e0f4bc8065baf393ffab9a4d674312c2033d2
-7c78b5e9461fb09b9b2caaab70ceb3afa574c89bc620328211c85656f63a8ddd
-97c827297327b7980c2fe0acb1c34866aa3c5d7408e257eba3c53de8338bdf96
-cb7ba55fe31bddbf7807148c0a132bdbbe8a2c21a23e11889da13e429914f7f5
-7132936359a0cc65e5993caf52902f76f75d6cb46dd20a3c0be80d45f2c746bf
-236733462080fbdc8c5c1dbe9781f45aba74af8033a6ef2bdb16f7b0930d6b6e
-7ca7fac8cfb2dfab8c063d961077585d24e8fbb5e0b0bee9c4509b23361dd06a
-dd25767833b9a770780b311f608cae7adde000297a2672211f0de8cf7f5fbc62
-78faba25d035fe3a7cc3a4743c0efe1c4a5e9cadf1e05bc7982648d5c9fb2992
-4a9ee1570ba2ab068cce168552299361d62a2bc2c0da48ee94d1cedf1e2d29bb
-43864ab5b770a14c98a432ab76c17998904f052a50ef845100533ba5cfb24c84
-da53581ec4f2201ca9fdae76ef365515188ace4cfc939ad6d193413ca7ee225b
-0137f4637f09952213be725cc7aec579b2fe85f7c6af18d70c4fda0557567e64
-d430f09aca7bf28984977ba0f5849a5a86729d5640bbe4c30b17ab03262a02bd
-8ee077ead7fdaefd37af16007d83714aca07fcf882adc4792583aabb279579df
-6741f637cdf8598fb5827528771444b0aa82dd5e00e70edefa7405a1d8a7797b
-ef021a53ba68c7ff6780c94f1393d1745ab1fd7c728c6112766a3c2e21dff002
-9e45a5c5668f8b084f22cd6a6cfb056cf0f402a73b2c02118259352eff6d680b
-877ce3024c37d532c186f3d4a97603704cc0ddb25cac00aeb4cf601f6fb45655
-8939ab962cb9e16a2400938d226056535ebe5707cf0a8678b54e6e3a103b2eff
-0bb7306d7c7c3f523b2aec267a5f1e3f99208d8ec9ab27d658c26f635c2984ab
-5a4d214768c6dc775bcc616838159aa10d5bd93cfc8b2d836eae5ed480fb6ddb
-24253a62a1b798bfa51b068b6888b76d2233b6fb11794f166254cb3ac8cfb650
-429866dbeb8d09e6d03889899a4e8bfc9a855ea4660f928d0aae8247eec1668c
-8e798398d53e52a5684caa59c47cb38c8f1009a8aa12a269a587593874c2dc78
-0ba989078910f3d70211147751e9f7264d6e64f1b05410ed3427bb7d0704443e
-f2baeb0fb9e3f1c1c14b178e716feb4644240447a3f02211350e36e1a586a042
-9ab336c6b44c0d2977294e704e8695b6daf079bca033b6bd3485eb7a78582fb9
-373716136c63eadbab3a2577738f553f81135829f9118f4bfe20cd51190bd7c5
-17035ebe97f26b0b58973ea9b5e0d111d9eacf2fa54b223c4f40c139ab891a41
-c7d5ba5338bfd58090ea727c3fd9d0c0217c05798787881d07cefe019518ccdd
-a7ad72305f06a98717cda80c5daaafc50e3c6d78d2b5d851beec46731a6c29ed
-ddcb9089de5cc2ddb696d3b7de3b67f066527ae22cc1ae6285dd1ad42e0809ee
-65812268d28e7105859262e9368a3aa7fd0207d47de5ea5591927f5e568386d3
-a61fcbe872945a272c75384be1e85b26aa094704715f1957de37a2fde2577ba3
-85000d0708fc918d52360cda828cedd17cb7d625155ceb6931a29025b44ec8fc
-3678fa08027b20fb9649d07f01484f2fd2e1746f290e32434fcd4d15acf0708b
-ee3fe9948d3ae141749b47810558d71d592735c1c86ee375be7413b2cf462660
-0b115cd043ede5612ab895cee0909da8d165408cd5c4c34114ee4d7fab4c37b6
-a31cb829c4bab2dd04b1a7097dec24c6429c13482667116522f94edc99de551c
-a693362be4d277e12829bc466e13d09841b5d9af504be4ea59e9c2459eea5ac2
-c678e3fa30cdfc5ab855d56c1ad8374f9769a6b575a1dee5aaaab4f716dcebe0
-0fab8b0b5522294ce3164f8446679fcc7aff5bf49062cea58f5c661a895ae753
-8891536066f8416ff5e357fc34cc34d6b68abe2fb2c540a7123bbf90d2671f65
-90515b96cdd1bd2c1396bc15503caa4ccd3ce28e0361801bdc5da98887b2c39d
-b84a0a4de7859c7da394acc497641ece12ad8a7d62ac5f8e6bda0577fe64d581
-35390a37a1570cb25b23b747b236f3f2606a3ff6e487a78069a068e7af13a8e9
-315016ebb2552f644065408a69f1bb6fed50486b2a05d403cd56ec5d3671c9ce
-091995d384491b65eeaf33078529238342c32a4b81788c31e62ba0614bafcf9c
-3c1cd422c605740a8939487e26bb9233d4cde68afe7a0cadc3aecd739c9c425d
-09cb50b4b4be28115ba7fc59b541513cd6fd08039cf40a1f5b90a8bd1263806f
-ec35aaa4100ecc05416ece2f061cfdbc321cf3324f1eda91976cabb8d2d9acc9
-b93c575c363fa691e18215311431841de8187a20d6664348c7a8adb06e867d02
-07bd48fe8067168c4412fc80cdba62f8b9209f5407670a26db1f7f5d67c4d227
-90bcd0f1e8640e5f9288c410487290808b88f9421d506386ac95cd959fd1ed07
-778de2f62958ff409d37332aa4ba88c735f2a56e4e746ee98b9667072874b21a
-5f98225aeecabf5cc818f3fa54edde178b40a1b1d6e2f900365e2b503346b213
-ddb43a269c5a973d303dbf615ac3caabfc39fe2144681e7cd633056bc77d95a9
-16f54291575aff7a3a4c13eca61a8d261b3a74307aac38b50c0e55222626e717
-db6e122547b3b8a766fb877deeea52ece2e74ba02ca7676f0e037cffaf287340
-c19bbfd9378d8e898225eda3fbf814ad51f976241a7285dbcc62610fe998ebc9
-7dc5961af9d70a6786e8922e7932a539f1606101440c6855f2284eb34a895cae
-44637b6a0b1c6386c21f11f2e7ee2adf012ea6ff35314981226505bd4b0ea25d
-371be9fb6fc0425d8f374cc51fcb15600ff7a49a4104bc29a369c8336438bd4a
-45b7c8fd52577a49acdb394cbbc16c844ad99f85b5af1e8018900d50862d7c7b
-045ee4bf7972eb05aa5696a004f3ec9be95c4c14180c7c8098a3a0443c0dfaad
-91e9c3a37509b29066af112db77107b9daf2e45e72dcd78660d5d56018cdf1e4
-ca787593c31a2d6ef925e37e4ee77e687e149bf506664975ccbf5fdc20b5c306
-984208ffb9ec2f79e76a7a029cf5981fd2d07176083d7fa0d9fa7b1e6c6da9fe
-423bf29011478ba39fbdc7e77ba230ee7b89728c9312602dda359f1ee65ba362
-d1f36657943255d62f0c84fe8a630204a8e64d8f940e9ddaf3c2ddc16fd131c7
-f302a2f9fb65ecccad4616977b2ec724fc6a4c39417962e0de1dcfa69aec8a02
-07179266935b655d20af3d45228ac3796fd2b7b6e0580904a27fe0c8023f4fa0
-fd70e469e5f309690c6ab737e9e0dd1db57fb312362b64ff1955401395b42086
-07e7f9449a8953149f324b4d5785c2a0a4c28eb487fd0bfd65462a1a4a741be1
-b1876330912edefcace1dfacea7628d16a4716d3989e1b31830cbc2bf9fce144
-9f0e80bdcbcfcf477a2c30a72ec227b20a0af16fcb8356bc205f18c6088c1d6d
-c579f1dcd23ffa147d72821b7a63fc011d5718fed41b16ea1d83ecd8d2ade289
-54eaa105f82f777b6635c160d0e3d67fbff2080db2a99d489a070d865c39ac9d
-2a88ab5fbce010919edc0ab213a09038fac6d3c81a4972e3c5683f49480fa5fe
-b8cd3279398028dab63ef7e8e1df85a63f93273f187f8f8619c14ab824c97c3c
-70d06fbc0a1b4be1b2b7f11ef469adef71617b304b51c462ab3c6c0e831c9ad3
-cb80c5e0d0fafd079d7f4f245d542ea892c6fe3c3d6d1ac2c92371b7a33aab5a
-ab8375b4cae9661c9d314999093b2a04ea1cb671c9f07ecefba615e023cb0f72
-b6eed231ad31b1f4d03e807e56c1e1663986eed65e3ee47a2dd11c1211236973
-4b4607a6570f534debc72ac06dbb2149f9efb793a917b3b604271fb764fab871
-f7aa5a5fcc54533951454fe7afa29cddef96e951aaa9b8eeb3f9b418bd132974
-c601b6fa29471dc34814fc81a1e1a5155951c12022aadce5826302220b18dfc3
-d30b2277d08e7cc7a87bf1b8ec4507b43cefb117119d86de3be51bf870390ea3
-d8daa3f74ccd3712d1c00261e853dc3078dd411189872a50d85d58cee8fffb1f
-0288029490412f3e58f83dada08fa695b18efd0a4f289705385a411fcb2d7a47
-ffe38977fce18188c0043c448d27e160ee752be0d44d0f83b6bf642c694aa530
-e223aefa3fdb17ee7aeaba75b9a86d7cb0f50ad4d5ce68d4ed48cb0c188f9dc4
-34548b48403078f63079bce8529f910ab280ebcae7df9f824dca756f9d647dc4
-d42da412230a6231307e7495424f98c9f129cc4a326a3dd8e476e18d666f94fe
-53edc87e47f6d84abb643ff3b4084437da26b4a298f819f4b6823eddac11bc85
-b9f5c5d0aa1e7b0ddca82c8e01944b3ea48978c1b8f4ff47779a5523f600d33b
-896b659c31f4f6f7decbae0fe1f83dde18f77f53db140a36b0f6f4b883ebcbb2
-b6d353bf2ca6102173b6dfba0f452d011f6cf7d661a470c3c5dd189c1e83fc4b
-9372ed67ef4ed9a5b98f85c8d73d490133b7362ab976a385cec705a2eb89d7f3
-2fbd60c08b86a30219aa2988f79e6386062be839c1f9d30affde82cade3494ee
-13041755e76cc07ccb3a4a701461290b5b79728eddfc63b2ed5cd4bbe0c4c365
-75488d590258ce2084f898d7c58b3f65b09dea2f8d4f71e80b2a2f8f31d5fcef
-7a7744b64d7baa701e473b85c65814b0a93e3ffbd7b2af85e00ffbfab9bb7766
-f444709a47902c919bd2a4becdce07b64053aea1058e26024b46153d6bb92c0b
-59861b2ddaf3d38dbea5bfedcc49938eb98188a3c4dceefa1f308559f7712ccf
-288219c6a3d4eefb81a2c5f154990fd8f09713a0531017d74b47e1f97aa6f0f3
-92ce5bb7475c676247d57bb14ff676f11a4b5b564ac26bfa9d85c9cb0414fafb
-c35b46eacf74dd964fbddab28fd7bb304b9bf4e12cd15b3bbb163dd66e89f24e
-6485c6ea63365d29907f6ba96d313f9b2ab7d175d549f4235653ef979a5c63cb
-6ee50cc333387a0ed88d30d9fd2197d31a0894ed0a47b15d92dca463a8c84b3a
-986d396e6530b2e9ba127bb5662ca948a8f0c563b9c868644b8d01064db6aa72
-090dda0521e6d778192a8c6d4d4639e80e309194cb76fc5d4615f396dd85b06f
-71dfc7f39a259e322c5e7d28646310eac92e5f6afdd6071b21e6664e1cdd3848
-c864ce0e380fdc48b251d52b5094ead64d380b6818e2c8b1a4eb8f9c18adde6d
-6e4ce1def2ae8f2649f1e5aaa05720a358a74e181568a10b536f68b7a0292787
-12c34acfa5bbafc4aa3eaa4d8ebb26e20bb00d228b4eac4a163e0b72899874a3
-f85e82c396d9e2891d8e0d6e5571d4ef116879cd2f5485dde4b9d40f638a3a95
-de5ddd14adbe72f5bbadf0d9950a195f64fd3209c6d47b46b7708f855da96cb5
-e9e1260f6699d945a611a7ea348db3c86be4b32fc2687f15c4c86957018d428d
-f6244a1fb6a99122bf89d7add01c80f2b2bb2c7168b02c400bfc98d65394948d
-c736741f9e0244fe096571f087c5d6d7d022c726a4cecf37cf2ddeb1e9d77098
-60c5d43121bc2e4b72a2d895a5ad2f449196aefe8c01784323de3804363b88c9
-1c86124f431e6dd0744c3d073fff4bbc2b98bdef713bdefc2da4e0e22eda76d0
-34424ce13529bc04c078dfbf8b3efd96cf662c4e151f15d4f8ea52641689d4a0
-5f7c9ec4efa5119db9e3a61e4a669c29348a1e71382c093499cd35d7d1227a5f
-5bc3db96823c167100074c70040a55142148196567c20c7eecbb25ed6e31f563
-9add24d52aceea4b88114eb6dba9461c2e5262fb9529e9f6f0bde20d3e209a8f
-0c9fd81b99b00d268f764593baa894f7ae50634766c922f751ed183aacaec03d
-b7d96d012cd0d111904245be9537edb0f8769ad1a8abbd8d1cbbe5e79c53c00d
-983c69d8865e93b6495a2f15ad9ab1da7503bd5b85ebe27aba01f71e56482be9
-d4342ac2562d8e6d1e4146447561ef5068d17306d66a52fa41644897a9b161c8
-5dd4161aa3d956e7961aa8020467e76a833e01c974e32aa2b8cf27d62fc81ee4
-d74649bf9530306481f430a539a95dcc2502f712947f6a68dda00589ef404132
-1dbc8b94afd827bbd5f77820353fddec5d98fdd256e858581054789781ab090a
-816e65ad3dc4a68b4ef2356e7cd2f906a859dad680d649457bae159f91805d52
-fb6dcfa5d0ac6373fa8325a817563bc9ed89a17d8cdee9b7516f38908e426f05
-1517eec7941cbadb22390e3e2e17d62ca67f37d01377c5a1e09bef5b795b4446
-54b383193351e05ed8bbd8b0b138cf62a428c78744582eec90a41c3bd44a4e73
-c9b32ea4936c211269ba5f883d45b16681f8afa0646a4031ef69cf4936305336
-5758f50534e6974342f4d232b5024dba0eb297e3aa3e9ef0935bd47998370420
-ead844c7e336288356715ceb8cb8492ecdc8fd8f1183360fa32850051442f4d7
-c0250d658c633de21048f4676a1875df6a8a61f0fc7c25dd5acd0220798ca70e
-f09a72b19595172afb9085b9a5971ad1b9a3a2508884a3bce88c984f58389620
-95584866c59f89120c7f491cde35b9d179f11db0d3c30370138852050cf14b18
-c06dadc218335bb465dd88304f1c1cd11062ca72649491fdc62d571c082cc816
-261444906d399760159f6b1e6df4b42a7a84750aa61c034b11a6e7eddcdeb54d
-e1f5151042a8e9f6a23a81a235fbc3908a85a6b05d8162bbdf3a672715b6fcce
-554e98df1f4583e03e456469890f07f83bc0a8954fc5edc7898f21f6917d30fa
-36faee98f622ef313cc8431931d83d271cef880dba07b832a01384994e964233
-f2e29de305c3863191f877dfba44214da68bdbfbde1e3b8b9659d7800df5bd19
-28bb1425a51abc317efdda09d29e04ec8b17bd3b78085595120b58fb421916c6
-af4b92776ef8a8211cc376a37566422bf2e2a840be57a357ab9b9adaa20600d5
-c49f228d2f7bb606fcfa867342884fcd426a72ca4c5d09612bbe26a2d9d3c8fe
-15a55e095b6705f2a2f2a00c9f1cbae16b91e13798b96d5ae66b5a8d1cd751cc
-9747bd951a55ec3fcc11f58f8afb40913166ab60a01b697507fe0753d085e5a8
-8153cfcbb70e29b7073ab33f7be2b6bd070ed974d0cfe4d41f7f57f05cef38c4
-251aa826e4a1d37459212c1b411b6b51faa564da0ff48ee6402b3c9fb77d502f
-61feeb32602da2b5fa880c537f60e1394571392c3fba4d110ff47a42d923c153
-f7a83bc1ffe67cd11ff1a763950f2d7b6d9575f45562c3a9de6d4ebf59482d7a
-716f39eca97fd68be71aa73987d570ce2ddf953c6ec97cbb76b147ceb8973564
-7ee159434e3af6588f47ff9722b7e90f4d9fd0c5b9e9f3a14f9bfba60ca6556b
-0473dc073a961731d322161500e15ada373d503552c0b76fc6576088e630cf29
-b9b0c82cb348259edd482520a84965a53cd673138aa57c32e41fcf50fe24a447
-4ed23401f43f5206de7fb3b6d1750223115919d85b54eae8298a19212e5c66e0
-c05c6dd7d7f8dd877123205b7e391a189e11fc30fdc6532fca87770985b357a4
-fbf9c5d261a4c998e2fe8eb96e27dac9daf1d3f0ec7422a85d9c7b241857209c
-f372c03c1100d8ebf3ce4ab3c0efc1f979c5999bac6d4abb6abab1d059c53f7e
-34f972f56df329bdb8485e39cc98cbf20ccb70a2a3cfdad4deb3267578b02f0b
-0340f42bac749465951198d2ea2bf7995852a50b5876597e55e1a1977b9e2f0b
-8a8fb0f03839dcf6bd5542827208d443ed4b9c0145e4522274a02e4420f738e7
-962c6d9fee17520ecf6d6772e5e77d6ed395304699dd65d7a610d793e38ce3dc
-e461843d5af1e27bed5652bb84d5e85622b48bec72e1622ab11506ade702cb2e
-8ca3ffb8add5c2470207bed74f2b34faf8cb61dd5e0bf54f2b8e1c7ea1fee81e
-0e0a16747443630b04990ee1be9db5764a580222b27332072e74a60ab7b789da
-aee741eb538e3ac7e38b333c7f6dadcad5b9383ab433359862dcb30ba53a413b
-5e9947eb637e78eedc4b8b17cec6b82f4cb8d2d71a37921e69d428723823ec95
-0f683a6bfb55d22dfb161e1d6b6db49dacece6e43ad2c51a70e6342a85169fde
-f8060d7da7e20b4db176bb862c29749077d7104bcb313e5c886a01cb16f11f62
-984c5f853516c1419df929d29eaf4490a3aebd24358eac006a594afcb839778f
-d0925e2daabe74c7ddcce9a4f454633b52b445fea99105fb0699485956fc737f
-25625d53dcf0b9e2386bbf0900e0e011e8adfe162d5876a850a6507512690d2d
-d1f00992f4dbbca2c63cd70b16dce15d1c128b9d6881f3f7ffeb68d7174ae769
-3b6f5e02523c7f046de294e18255b689d2ef529e6dfe489956afc909284a4d43
-b0ca1d9f8b9be4e4da535522cd9b6e64841c81138ee358ef6768e7f78af8033a
-6885457da6ba42cb4bdd4f35233b8e5ac02b7d8fbf2092bb8ce890decb6e99ca
-152d2aa56c5ab4179ba7936c74dd6c342a392131fb96c14c3b24d9f0e4d8b1cb
-862ea5e7b13e204c914bf95f55ff32e4308fe5b2949fa454560e8dec474ef52b
-65bbbed017d5eaed0d89a3c86fc63bf01d3a6a10a5fe389b1af013ebcbff2a17
-7f6e854dfec5dbf19d4e977a07a42287a2dbd42a78e589a002cca47eb865bd5e
-601a98bb3a8572f20ef1c0a2b3500f615b1b8f9b04215f91acec454312ec1dce
-08f413b9e2ddddcfd2bd85125dc5a043a45c0b9d3c86ac30b21f34cae2d347a1
-e93586eb95fdd3d1db7157b21b7ed1702d31876a1cfce58d619a66df8ccc3116
-319854a57965fe23d2d2d7e02f4d95d810e8a13d29872274fa6f48b7333b743c
-7af418c1fdaf467acd5483a47c5e99a7bd81e18ef98763ecc08820176a109145
-af183870faf171a3c24f603654896e2d1b0ac6224cfc765bf747e194cd18c740
-6c61fd10b6b7dce9c0a6577a87ae840e88f99cbf1c1d6cc83623d2fe80bd710c
-ec79256f89f26b45f75281d3de9636a134f63e244df4a623c63a895fe66e1464
-1959655f235bd056d65e3a50f55a041447594422eeffacce6af7cc9768f72158
-18ed408e47358ad45fce20e4848cc38f70943755e9233ac711e663f2c7d77b46
-c878e70669ad30ed18b6f832e4d7f54a23c837ed440ae97883348a0b5fe95232
-779187e429b6f855ed7cffccc8d6784d8bcd92548e3257ac87231c36f119ddfb
-f28ab8dc8b253a1fa09f016887fc29b6659b40bf3dd9db6ead8c8c3e504b10f8
-37dac82a816e06722397867df32fa25da0713e92ede9e4d41577ef58ac70b402
-a4427a7c86f7c1d7f378b62db43ca4bc3a8669f6e924d719f18799d1a9e5969d
-76bde4fc976074f2d623721d38e3f5c73428d6824049dea9416a450be02dcb55
-908e37faf4a56a36519311ddb3d1cb66837c2964a2dd0d34a23dde43eb30c88d
-b6ea541956b904db911d009f0b209bfdc139f48878c811ec38a21692f9b866c0
-a59d9d736d429de0db4b0526463d0348157019a262b2c3e0bf54095d06110593
-3646fcd24134d6b3a2a906a891187692967e93f69a54ff3ab8050418585ed1f5
-9822b134f8841589fe146d05ab00c8e22651c43723216c053851a5d1f9bdfaf8
-59c55523acf1e394d27500a1cdd551c773c9a6d7b3882f31f29c281fb6c6250d
-8a1c3c8dd110c1910014da6fd1d57b8ae102b261fb65a3019bd75e81ccebde3f
-3e23764e9a5dbe640ca98585da2a4af9de5a5045598a905ee7b82bbaabdd0d92
-bb5351d3a0b3071e8666fce45202af6000790c1c1d0a5bf0c4623b9815b8d3b7
-7c39970a509db6a4a0fface38a60e2dccab7f5b7ad1c0f42a74da16147589a2d
-3dadde9bb1a63a4047ea20dde1109f8856bb81184f4256994b5005d654e49086
-7bb8396fc8d807ebdefbb74e9894bf0ec793699f0e68263885581a17c87d7082
-371d3d4884b50e1295c517fc56b91ebb6b4c23b150d542cd0768924232a5ac00
-8a98f5ce9adc8dd3e65f085b35640919767237d0f9703cbd691a987a0aa0444a
-5ea0d887837482a7248865cd78b6f665301cb67cceb1f689198821227c1acd81
-3d0a50674832bd33b2672756d5186c89528180e190d1525c3e806caddc1e4157
-46055910cee4f60f40b1065f435be8a39eb454d88f5bc45ba818e5b006e5a38d
-29974f68ee1962448f7a9fd83c7f107c7788eb8975dedee759a2bbca40c811b9
-d857cf8e510376d48abd60567f307d6ec471f99b03cc7b5e8140dc0450af3832
-242a353515b5b347774f32b8b6c033adc43b2bf7185480e47c868308f3906bee
-e44131b11b2b14e77f33686307842337cd1f9695491bbbdf271b5345c44d6a75
-58c59d6d5bf8b24af38248368644e331a88cf73d0eba9dfa6f80f11af0293bb8
-40d9755540afd18fb03e0b26b6432277434166123d80044808f6f1115ca55b87
-60f82520eb81166f8363b150bac7f45983d1f4ea0b503fa8d041261e2fd14caa
-c7db8e5b1bdb04a65cbb660526d8b21eeff68105486474803acc96e7b882bc9f
-5a1d5f1e333b2b2aacf4272a05a41aea04b2c18a82b1c66a40753a3690aef089
-b9fe83dd0d86fb7b7045f041b690928b7b2b67162a1f5564117652fa7899a444
-bccc231189c60ceb72abb4038d7d0ab5a027bea7ee75542416b12a16ee00900c
-db94b2c89b2345d209cd68307e101cd06dbb79e76c725dc7180becca0eab9f8c
-ae1714c57bee7e7f54c84e7a2ab9a2b1ddd4d160cb4825b69c1bf5ee26b18391
-acd6fab3f890d8cbff5ba3666b8d7853652da2bd5db79ad8de358e55a5e02270
-e1a2d09adfed75088a71593ff0f54d5c527518cc767584e4380b8fce58b04ca2
-05a69ee280da655169029a16a3df3b86fc4ab635300397767c7d9ec3b3fbd60a
-bbf51ad4a3cb348539fb9b7eb072ece9afb2b3c00e2b91bb40a82d2ddfa58e9d
-f40699038c9a7bf930a83996afe9580c5338405108ac04fd713bb22ca2024475
-f540fe14290ab1818d9bb19483aba2f39a958ea417ec73792233ab538cb70e0a
-455c6b7e0bc86eab1df73eec1e16a6f95cd23b8f695fd2b919dd282bd1129baa
-93fb68080d90c29776bf27fa42dc0721e380ecf88286484417664e41c5b257ca
-bd4835c1d64318507de5dc2f1060644b2b125f17aff1b95a37b9b667906d48c0
-9fa7d875d59cb6f7fef2e37ec418540f8f13c2d70cbe9566299dfb80c06df99e
-b045dd3baefd87b24316700fa1c9f72157b927052cda3fd2b480df750298d645
-7c412ca39f6325d66c77be38bd8e491d8f710c5f91f432e13f89056940029532
-db065329782579b79d9f6ba60552dbd6a302e628f75e0d3582d25eb03e7deb33
-54790b02521553eb0c286cb415cde225b5d65cb79db060d13afe862d5885b567
-2430481620475f50546ac782370e3ea1c95600a524d288b5d4028be7cfbea855
-528953e607721b7488f7d7f9dd5ad14332b32bbef72240036a3e1646fe5418a7
-1fd206ad3fc75b7dcd9813caf5d29ddbb12d7ff94e37bccd72ba1086dc431b5b
-713ed14ab7e9f1bff7dddfa9bf22624e4caf3cc0d4194f0b6a36b1c67e43f117
-4bb23054ed01209d28bc55224028648a4a3073d56835afa9e004fb999372f29a
-d76db663c2a29b5638567058904a4933be88e75ca1f365739a65c27bdc195e7e
-09cfb2426fa829ca3859306b556d1bfadb5d9493c66e34dd7f63583e4532a075
-532cee2d8976f785d7909093787e8aa5fc7912ca8fa89d346634ef71f98c9fa3
-cdfd931ccc699caa314c402ebcd6bbcfcd3ef7ede19e6c8b5ea9bbe73ae35b72
-e214974b2bbb26a115750327d20732b6f6795c25e4c0b1a63b5054383d428d2b
-85ac1f719ce35a18de6f4753cb615aec6212a272d89b3750863536fcf5f791db
-3b7b39a66ebbe9fb1876bb089ec2cba092d291aac88f09c720aac4dd8fdc22d6
-4367c4c5330d4e0ed7d454728af2b4801618edada4fa3e5357fb91458dc13288
-7650401bbca16d73bea8cd5127797f92c8b5314663e02cefabd1edd89e4486ba
-4d371138ea6a07ce358d31bc9ecae64f409546e9101fff7ec710b45f910510aa
-b51eb2374992009a28262a370d42109a0aa5ebbc16d2ec5d58e0a5e7e6f80a02
-5cf8a581f3bbf98752edf64feba585fbeb56b27a79384a22c868693c05084423
-f7cd396cb48e68f76bab6512f76da2772f3d137881ebaf1d3ca6e1c98d54732a
-fc24bfe29efcd703c489dd8dcc69da4b86b5650788bfeab8bf66c5c1df7697af
-ab33d0c14caf16b9810ea74c32ccb5bbac2613c6a3d946436ccf934a20b81cfe
-5e712765d1983bd77cc45612a31c893a5583238c944f91f2d6d1069386621108
-108b0e65b4f6d76bfd0e1158005e8ba53ab48e865e9f6d07835d4e9e124b01b6
-41baaa6cff413e7ef8eed73f1cccaef55a87d71afb309ba162d3e15dda6f04da
-2de8db583beabac1e5680df43bc063095de043b2ad4c8600ef63a8090b64785e
-5288892b63a87d8c805d1000b6524109a41e05e517e07f0a76466125650b3d97
-008057de3d3380b0c352e70ac04fcc21108e619a707fbf7f59869cc9a2d571c9
-f77114250c1c41dcd527323edb2fb883dabf371dccf42389a260fbf53464bd24
-d5ae5be48163f142733b205e110d77de5cc07117d7d6d347cc8b035fa387b249
-fde3beeeac843c89bbb871114f5313437a784c051e021da4f80adb2d5e392f0e
-46068df67f46afeca052378d97597f21c39db6a2ca7c10c57421499da8d5bdec
-128109432f86a0ce63ca2be7fd64e29e8392bdd0013d4990884f7cf49e7b88ad
-846af39a3aa1ec3c85f21db07952d1b45cfc20d6848536b63d2572f44ff718ad
-c2cfacaf395cc64b34290bf19a19d756b38142c6a7471ab436c6b81abed86fbf
-8553dd8d5a052f4d53d6124ea4ddf235f4a792f8aa485fb068d39c682eda37c3
-2fcc58da51f74c24bac8db5cf825407f88daba78f41d8ba078fceb0236c2deff
-e61cc0abbdbec3bfa099b49cd1218dbff85cc705730ea545cdff4421ee5a5355
-9ccea2cf6257b757e4c6b853a476f0c97ece80a41fee4994b05eec575f87bba6
-9066eceb28ac92e1f4483f8744ede06a05ea038565096458785453b2462d103f
-300aff3783f7a2ee1a27cb223e7145b6b74fb5a95a5445b5800d0b7e4451be83
-8a7679e3a29c9bd79be0ce900f8cede4f5fbfcf46b6354268087bb020914f246
-fe06d18cc7e9cb1003bc96fb5961043d919c9298e61dc5c7cb39886e65939fc9
-037e0484b62d1ee35842b3ddb879a7fe175f07451c4456361bb646e5dd87ad6d
-ded8388fa78806f8c993bf16f539a4526503d8baf83d1f0a594db7fb1a11e7da
-d2f9db98c5d8206ea4a44ed134d784b05ac0ca245b2a5adbd93efa4a566e93c4
-84fac7ef0ad46254101b308dc4e39c549942af85c96a5dd31e5d9a99149f49ff
-99cfc5783d2cf9c320640a5029bbd61c86d4a6ae9fee690c5ac5e92d6b07aea0
-31c6110df41e63bd7039d6ba8ea9ef33beb3cdb415f4497245606963da60194a
-8383663ba3f3be2d6e0b4865ddddb484f625beb57eadfc694125ee35480efadd
-70248037bf40187f54cb53a51fd0a916d0b1a54311f43cb39856b5e4e17ddf0e
-54466ad34cdbed8fee17c87f00bfe4832eea2acaf9e93aa5091b62febfba9b01
-5960618d7135ad546cf4d00c8c725c6da697406891b75361c81cfc2d13a03836
-8f2bc045495a1d24628606990f351b6f6f197ec7b52169495bc0047335c4a3d6
-1a7aaa63fba1aca730ba1fa90ca04a0fab27b145b2dd0b4c03f01c79bb77758b
-fa630d02a5200c48499964fdac705d1f6b0aaddc58b47a35077f5ee2fbcab957
-919e5bf614a1468207592bfc36bdd62ea9389142350d0835243f485c99a49ee0
-b6fce33e9f1ca586f704d27c59621206abe70ac31608ca67a512dd60f07510cc
-e0ab7715f3a662f824a011ec47e60f84664e474a255712aad0bbb1c7c1488a49
-0a75447e9feaba451fcd1106d7da535ad82757494620a195b2f0b1622c62351d
-89b62f4f9bb812fed256952928d864147176ff0e03bdd2ba75977cbd0b5ec371
-4478c47d97601280566d937243a0c8b0b33450773897ed5535bea6d7eafd5413
-5c4a4976ee0153f4eb913aed8a1497b743e5e1ace625936b3da74119b49bb536
-1a6fefc0eb959394bd745cea919b1e62c8cac77754c59b725a26c606a7c5b3c1
-45fa3e24e5fd96e230497a0178f21cdd53c733a6bf29605879f61cd4b7ad1117
-1412b03ef42e4f8261df1544138958b3e96ac45e3a45c1bbd0a6d3f1fc4df057
-d0013bd3dea861453e54eb4721124ee277fa0eed1bdb6ca37e30dff04e91b88f
-308edd43cb7dd7e9722e57dcc7f3633209505409a1f98a133874895e00b32c01
-85baefdb0b4e97f75488ea0f76424d9196a2437fc9f67fe2933ff34232768eac
-722a84a7fc52fdf3ad248c69fd7d4c45fc33ffc6a04b562ce367d96b03c0ff8d
-75174dbdc09bdb35a9f4840a6adc555f42d20bf5e2d3da34a991f63648ebe86f
-3e155514afb82c1b3e37fcdcf8c594acf65fdfcf5965f42cb35543ffb1a1e40f
-622e6ed20b4979a37835cf08e40b8bcb015db8eb1a044dced8f6bf6360d0fa20
-e656d90efbf461da451852f58439db9281f60edf5de4af016f8715eee83eb666
-d48784d39764e33008e5d9195ef62439f3af1b989bd952fe0a0d30a85708bb1b
-a353efd6594a3ca201115b3659dc1a80619f155c6649f944dfa3e543971f8dd2
-b0a30afe77658ab82e630bcd4fcc33af8810da1360730055255aacc77fbe09dd
-9b13d44a41e0a1d3789d94bd78494a33ae60b9ad7290e4d1ed6924820140e2a8
-ae5137fe7c2570af124263b99d11ece45cf80a6e11f56dc6d77e50fab50608fa
-09eb1520f22ec16571e92a193f1699f81e352bcd9e0c838a8c1d5bfe80d76957
-7129c9c46fda7235dcc34f604171a75f069f9e00adf56e84ab1f74f093bb6995
-743f9e027fc4d9e6bcd647b2ec7f0d7af2e2efd2dbbb68c83ceb1c760fa71ed5
-0394d38963fdcbf3891934a4cbdab80107778a63f1101017becd233ba0c2e602
-e9075c5e509f2ace7b7d5c346dfb58d0ba3e005e38ea7428dfd0100b7e1fddb2
-7fe8cca96b04f9b349693acba904d44e143e03e82d16158beb36dfa21f57a039
-d6bb9bdd1a787fb9df968004388f8655e9d8b6f435117836bc910697aa1737d0
-55c73fcf23f8b56b58b09195b7cbff574a2418b1ab9f74dc607066fcb798b880
-5fb0d761cd5cca51f9ff0d2e67cabdb026f2a9b292fa472b97ab89af60cba974
-71fdef1417b14e6ff5440867aced2ff9837c1cd1e1aea23bc3cf3444e35f7cb5
-97c2f8d5576ffeaa83e06a9e6383e9225ffe0db4b1575e1f87f28b373716b668
-4f3e9e694d6d56495d21673d165cfae5c6ca112d16a40247216da4debabb7e8d
-34fcb858707d82cb8868dcd8e956d1ddf8bbf6cd57c293f8e3427f14c99e910d
-a7bef26c09e31ca66550496574c0c8f70e7efc9f74bb45fb1ff13b31d8982b44
-038c1218b874ac95ab907d01bca78f00fdec53773064be453a82efa3ce336c46
-69345e172763413f021d75570ddb0a16c806e444d8b9895af997ee7425d2ae29
-1d57d9aa91a5d9e992a7275381ac332a2396900e4d821f69a349d48a5197f98f
-3534ab2a47926edacfc5281c09ea8ddff7ccbdec5b95857c9b2d82829376bec9
-79a6ed53c42f6be0c80a9fe6b90c06624a29adc0e268241e145b18dea609cf8e
-e79720d031691f5912c7b4c1fd4358a6ed07abe23973f5b296ea3e36d8081d64
-50835e84fe95a56764117785baf8b08ac40dcf7453f4c67100445ea6a77ab755
-e3b4882dd0a9d74332f72322d36ab9dbf2199028eb6c6d0f43e79065e0fa47a7
-68bfe8609fe6ad82e7a1fadbe827d86ab6f3db8d0650c31e80c7b5ae24c703da
-104ebb4cbf0d63b0248ac1c47a8ef14a095d902bb390c48760ba7da6fe56fb44
-df02ee166b522a550efab2006e814f4053d0f21f3ee790ca6d17e8ea5ae31083
-5889c2ca6b3fcd267131d33f3f71bbaa5d414479fd6c9e84ae481defa4eacf99
-93a6fe4ff57f5e09fb99b8fce71b958080971e61bf0ccbdd2a86448782aa9871
-0cb686013548fb3f691436501545d2ddb46a3424b643590da9b3069d76eefeda
-946b6ae4a531f7d8b3bf98ab35d37ca5b36729548c06d230b597ab2cfd12dd01
-7fd2398830db4b4f2dd298e945659a564470b22656e28a2defb63714b5dcec1a
-5cca4f9f3a07077c87c06bcc145edea8424d9f44ef8e73fa98fd216cf3fd8408
-52ec5988a7749f0d6923f6c0ef50e9b2a7a61c006316b49c51a0127004566d81
-066e7f1ed02f5f570cef07df070ee98d836ad6048fa77c8888dadea64b72d4ef
-1404634b59cb590e5113d384e43ddcea459dec60c3f1cbec10e33100bc7eb8bc
-7e339177105ad6a478ed9e096477601347e97c3916a3981920b16bf4d64d8fb8
-694341db499b9ca3cf34e140d7db4d6c5c291f100c2d419752e89ba7fac3e8f7
-5b4a63616197bcacae3e0170b7467670f67acd1acab2e0502f02f416b851a5cf
-6f83c3cd9992dc925b388cf75b423edf1d5d234a341adf12cff88bec1da95ad5
-dcff92b3cca7418cc86ab1f1969ea85824d243bc5cf4fafd8f426556dd9017ee
-0242046f909acaed3ff2a91564303d13c8df20ff52e25e60cb7168902daac679
-b794ef58e0ec9a5b5a97a1143b09157c97f9946d98077de28e8908b84f73a018
-e0c3bc6f4a6ee088edde6f1e0f568799d86765d843965381467a99c8b91632e5
-eed53fdeb8673bd6c9b3757773febbf86ee428d4b386985e810db8124f5bf974
-df99afad632f03e338642c9312787ac47a9d2f4a10fc5399b6ae9029a0336d89
-2aabb090e581b749473ff20815277881f985146a028f6dfb0acd19954a0bdbb8
-b4ed1a65d3b9866dac29c6aa8aed39d956433ba649f283aaea848f6cf8f96268
-cc669613981e4705d9220970608e67028de79d0b3668b4a3db70f61c9fc01078
-37ec51eab70d92a017d96cd8893eccbe23081dafeaf81ca2c9d45d38cf554c84
-99a6b479ebfbd96be8f7f4599b10dd45b4ac860ea6aa410f161df2b33c08586d
-87218a790509800164b41e3cd0a7d30d9584813c42fe3935ee56c6f22cde9fd4
-05615ab2abac9dfcac550140c4540d6dff9ed67f530570744d0be3e56041e1d8
-ceb5a6925b3bc52c206f6dd87f2c4de70ec19487d2ddaf20ef6b26fcd60631ba
-b1677d0ab695dd68b2a3b27a70b0b48fcc872991bd0b9688a966e72239b58d3b
-2e58862eb4db390e169100e539c238299449bda356a0968c866ba0e0bf3b88f7
-6cfd39fe10ae30eb6ca7149b41e412cf556969b4c816a1945c0878e2a79e7ece
-7e52754c8dfa755d79fb15e5576a8846307527460b6d9182154e23b84ea9d443
-7fcbb470e9833d2f3f90aa88d0e44b175a9358ad0d846ae6744c4b69a5e24692
-eb37b5b9678729be88cb9f84d2773ba99b29ad2056420328116840ccb475ab76
-27bc7efd2dbe6dcdf596e94c09aa959f2d43d48a80ce2faa7c30be324d18b8f8
-70f77be72199e931d5d5f3acf48ff8060e168b48d066b2354fea58713c1a5367
-330c9491fdb6fe9654a8fd66803fdb1990bcf5bf2d8665980d162f1be17663f6
-857563371b1056144cf54ad30f1fae5707f7bbe87fae41d2c683e8a02931de24
-29e66f35188ff3594f37f7ec5021e8ccf00248be459f80ef9a46d0344e153789
-69729194731a49135ae771aac663c0037db67200c9677bf1f39abbbc54802741
-23d36a35f128c1c35dfac1a29a9c1a488f6d7df23933488c858667bfe24948db
-86bd0087f94b0c6325a403de4a434bf767c137f248c85257a72e39b51351d401
-8b530913ea8be8bfbeb039233bc3432db0b61aa281a0ce2f01b0399b066fde7e
-abcafdd46c4d6bcf2924de2ed3972c01ae0213dc1553928895c2b541b1b254e7
-a1ae46069a110c55de12f66358815cfb07cf0de59865be85f1a8f2b61d0ebae2
-7d341bdc37eab342af148a05d0fa415b86cda706746c75e0fb71a610e455a64a
-d8515705ec8d265f3e4ed9c0203744c86a1fe55ff52b6c8f4ba71e0a26651cd5
-fc38d93b2370b1e38c29343c96dd9b3d4a39b78f7bc7f2eed735f46bb46f96b1
-becbcaa7cd99ef23d16bcb3f38a605dbb908b28b1039d2ea1fc5d7afc11f1aa3
-798b407ec236421ccca18fc1f27a12d7e0b253039827104461c51ccb2283c9e2
-6fcb819b656a1aaf1b29821bcecc50b911d1a05330c43a0c6025ec90dc134042
-77ad9424c2d2e642a1223dc74ff16f70b54c0ff578157f0c701279facaeb2563
-cb3855872d3933c0a7be7b633e7e3ef053e1213e4cd7e1c57804eccd8026e581
-beb4c2fc59cacb4c1e7696d165316d7f3391ede443873c7ac48277e47eebc64e
-3023d06ffccb05a1a71b64b7da4ce1b6256c4970b179c91e1b5d6ade81c151d4
-dc3cccff1d6ebd118285d56ff7631f2c7e2b89cd70b2ef7a3894366fd177c06a
-39e3971747f671898a0109008e3190b0aef909597ffe91d7c7c2069b5680298e
-eee7c04e58cd328c1bafac2a8bcb63f6d9a6a56f29f3551ce1d2512b5885d1b7
-8397e464b5f81f4803eebfc0cc632fb653f52fc7ebe2f64ab5ce16e840bd0577
-cdfa24a928e2888ef6171e43aedaf88616344cd64b3a2c0873dbbf8eb1fdc08c
-cd86f324775672bc550241d139bdeca9e6ee36d49fbb117eb5eb456d99258067
-94ba27cc50585d2544b2f1f16c19ba41b0cb308c4f50039a843e66b20e04db1e
-b0e99faa3556d8e95f4526f0a105d4b761df415148051c604077ce2025732152
-e6db72d810bb8d81c733ba78c0deb8799abaa20d3d77152b2dd109d70efb2bdd
-7f17c1b79bcecf6b30cf0f852ac61197e0f601d2602205bc37708fb4306a782b
-1f2a39bb03554a1d10100221f99ccb45b538bf2a94ddf8c4e0b10c62f4af712c
-a44387b0038bf2474dbd2242c735db0d79246d73a43137d535eee525502ee440
-9021ae2414e9f443740cdacdaabcfaa0084a60ac34303dd559269eb088e2925c
-632bdaae44dae0ae57f3080be448c56aa549b620d1729b6cc2974e571a5697b0
-4ff3e6f6542c4fcb2abc9261d97d6e6e60538d69b36c8189491a978a7d00b9b6
-3e62a1f51d6002e12d0604d53af0188e565ceec8ba572bfde122249dacc9d9d7
-75047c69ef0485adf9f0dcec0f0c926ab91b551ebd9b8f4aa03817c25ca92395
-518304be94b5d56bbdb833cee92c32b792c6a31f37448b319880e4cac35d2edf
-dff530d0f7773e5148d41ae56e02633781cb2abb15ec2d94ae52d3c8fcfd3097
-45d95f67b560165f57393a42fc7474b5284c7cc0b893f84f8733768264ffa8dd
-0bed83d99c035bd1a83597f0d614797c583ec8c5b96b9739f304edfe1e00ab42
-38f353a82e7c71d74877d8519add9b8c78f611174599512f11c22c10cb360307
-b262f1f78c7f9a85f1fd21e94d72abd413650ea6a69b057e021ada9787d06185
-c57c0947f9a2a81822054e855f802160649e25ddc82969d94c052c289f35bb57
-c77de5dfc63716c5b0a87bc7ed859663c457f080089e3d729b9bb1299050788a
-79ada19db21011b01a47b278615be5359e71ecec7c06a67c4943e6106e152824
-ccb1fd39c485e90efebb1b2192d93c8bc52e356e51e5fc805cd7e43543e9c500
-d0ac85b7230350f9f403340a16bbdbbc3bdf0f7a571aaec4d6fdbecb288c210f
-b7c244f1908305a0b1632a8123001175e36124b543ff92c16576d373b9bdece7
-67889128ffa3497ff846f8befaf5de3b7c339f049adc9116c9a7bb8bae435798
-08dca2d9c151d9329c345919930e8437054501bba38c2bd5102a20e4291203f6
-eece2f70bff3df08aeb8ddf1806e9657ee4a5e3fd5a8fd979d90d45734f14f71
-5d339ac91b7fa18a17be81583c08544a8a32729c17975014d629b139c0b3c236
-bc9a99231ffb339b7761a2586eac564be734ef37992cec6c06c2c93de2b340fb
-3a27a52dabe69d9178d9a544430cff229335edd6f817bc52c690917fbf322852
-d4a7a709a593704568cf142b45eff164d817880cc93782c223247c65fa99aca3
-5c66a26093f9ffbc25ca9b3cf6b8ba478695c68212e80e3868a0db1a1c84bcdc
-df05fe054733a1b794ed1cc483a57b97ca2e97fcb1ceb9cc2ae7d5e0e064cc8e
-01cc628180359749622ac1cfbb57d51b25974ecb15dc83f99dbfba2d779adaf9
-6a9307bf3faef5d2ba5135a15d13c4215570e772376a4a4a3a5ec4028ef11004
-b93acaf38128de94531c23f114fec41cb2e2027e8ee138aef6ad017f5d97a600
-1063be706b65da0eda2234e7e9a9c27c084c4564b362ffa93ec9127cbc9366ce
-7b74805943c9961be5a5b5ec87675b02f756af1b70074d03374ae931cff31757
-4145af416a9098bba84ed2d3ed44019257c0f34e7f94dbd10fd04fd15ffd1b64
-f65b2c02e581175436150a074de43f8e11fbc56e806486665cedbcf387504d6f
-0687a13d668c69dddbc37adf91ad0091a770ee23850ae2fcbd6b9de9d8a8c8b8
-eccde66b7122c7b9602dbd0f6b7f7e4890933451c7a3904382d7801bcd992f76
-4cd41d74bc8723eba2647db7f813b465d11052e0f4ef593049942915c614ede3
-4f8f2b77bedec635eb3461d66cbfd4be1689a839b1feaa41c0f0fa23669806bb
-52fea1fa5ab524a447ef3cfea4583a7790baa418ff8917388daadc5a3d1a9fcc
-7f4a826c912eba5d4b82d4c29b639d56532b37ee9aed6bf06137a3af899c70a1
-ce4c9940e6ea87b6e274696c4a15d6aa3c17f9334aa84fcf1edb48e306640e57
-892b25e67c6f87e4e4cdf1a9cf12f69c0028b5fb768e839e1b8f75f3ab2d9763
-6e1be8c5a73bfa8675853695ee32887dd6df5f03f88e637d45f752d22f6c76b3
-71b9a514078c3200ddd2e998f33f1ae5c0a5fdc932f7c4727512caec232a681f
-bbdec1a919bddaebf5efbd06869bcfe0637b72cefaac13f915f25cd3a926c0a5
-4875435ee6a413e2554fe4ecfcb96c1b5d8719e84dd34939dfd7795eedecbceb
-786df32b6360bffed553a74b444a35e0ab0517cf7aa9c4e420e5bea4a5aac950
-54cfb55d1a1e57b58b8fb382e8ea2acbfb9b43d1ab67e0c1450ed3091758c1b3
-8155fd6996500a55fa5d134f17e55978d930425e0c03748364c46d3bef68a390
-649e09e48c2fab92108eef8603c70a977a388d4d24971296aaabcb932bc96033
-f648a6ada265aca938a6512f456fdc194f7186808deb3c16769d3faa850f78fb
-58610c776c2ef3f208404def2940e484a801cdc45aeac88fa9852d1319159340
-3478b1b7f204ff297b67bddf1d38e256f864d3a83d6919ca7db1bbb1f5b8f6e7
-8ba272d1fb28d760618dac6f5633b9481645c9b8eb3a3384518103cc68aceb05
-5a91dd8def04b49d363b0c6daf63aef5d85b1e79504c23b3bb50a4b7194838d6
-b417b0ccbcd95a46834f9bbb2ac30fb2d9b9c31cf4b608e1379399a95f8dfa94
-53998a743c5a5bf33ed1e10177dc4a2a347f5fa4d09470cb5d71b07bf459c800
-0119a2164b143f03fce36c19384a01cec5b9080491b82b9ff115f795d969f480
-b7232d0375a9d46faff31fecc9351b42923e9ab6207d2723915d7843db279505
-280d70d9c80a1821a257aec764b7e85a1e8da7c40d42a0f77385ea66a7643435
-e20af708470f645046bbeac12d840fe3260ce75e20563014d9e2ebdaa57ef06c
-0ddb55fdf6ec3e064312d13e25299b153169788e8a4decc095eb37eaf8e8ce2c
-cd7174f44ee8f3875c5a3de3c7ce22296e99c44628f52cd3d18eb9215c34e563
-0ba85b5fcf3a211021a19945510c7e39ab56d977f74fd50ba8a70def82fa6777
-6930390700b4636330a998b535126d610e8a1cb63f618d69896fb47576857f5f
-8926ddb4833966695a26402aecc48bbcadc04c2833afcedeee14254a9e77603a
-5bb7b9de3c97007901143a7901c00b77a13e72940a6507a76164989e71d91eb2
-3080c585be2f8734909fa1efa7fc6a2464d95e4c5051fb8d6065a7d9a453cbdd
-033626544b72108e4c4c087b4e4dd972893371ba7b8e8291ea4f98d03c61ce6d
-d56734f17a66697f2260af9b3f8b9a36717b490e1ce649d839a66133da7742d2
-dbcaa22ff915fcadffa0383cf34c2290fa42fe23128e29e7bb1c59e55b7ac347
-fe66481f485d7bd09f55cb51d208d0765a510d5f6958fcd3ff5a5ed27d06a02a
-f7ecadce4b4ac5f1d0210c5637f07382193d77945e249d2c4973aa43dea41dc0
-51cd72643bda4f749dd5846a9d3a7346d39f78eaad738d2d255df0f0cab5fb10
-96a0ac86bb013980dedfc84ddfef081700fc3c66b6d5a125c9e83df17d92658c
-10d79a8aaa222004c20aaae6128132c64f96a7a7c869489a63860c15d53f958b
-d6fb81cd165bf253d996c15295f7c2fc52c13b51aded1c774cb35a0ab258bca3
-ab438786ff7e648f42ab568fdd9cd598c52b5748b0c44458d4e0b8080ad19cbc
-55d8aa1a78cafed7bd41a864488d8ab0bc12f6689027c65c70a2b26bd2590026
-3e80ba6189672adfe377e9fb516cc6bbb0f2e341dc9e2f34a8bb00b4079ea28f
-7c8138c415306e00bdd8e71176faf06fac92e38e8e15dc6ec6cdb389d1a15310
-ca67408a9686f21bf6fbbfa7ce032974e2b860a3a72561508bcf22ede4122185
-b83532444134af2bac5ced1932c9cc06b70160d0cefc8f76ed1108b629e81060
-ce6c30e0bc9ac232fef7ab1c99e21792921bddc20f2afd3b083dba29641458a1
-1ba80613610b01543d336ebc45ae15c276c9ff18fecdc0cde3be18e044497217
-b9a812d926538fc42871f439282c1717833170bdbffbd7e2034d794eee9177ed
-28045b2dc45959426e35d30fde
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F130_0 /VXAMRV+NimbusRomNo9L-Regu 1 1
-[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
- /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
- /caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity
- /lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
- /circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal
- /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
- /tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis
- /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
- /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
- /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
- /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
- /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
- /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
- /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
- /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
- /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
- /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
- /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
- /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
-pdfMakeFont
-%%BeginResource: font MFECUR+NimbusMonL-Regu
-%!PS-AdobeFont-1.0: NimbusMonL-Regu 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Mono L Regular) readonly def
-/FamilyName (Nimbus Mono L) readonly def
-/Weight (Regular) readonly def
-/ItalicAngle 0.0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /MFECUR+NimbusMonL-Regu def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-12 -237 650 811} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b76040d268b80719e1b3f5a55ab7b89290699b50c1bf1baeffe
-1f57be7b5ea025241a248a6d4cfa5067a1da6eba4cfc940599ba3f3c934d7248
-b8e4ac5816f0d2ce8b3c4193ce39d19fffdb75254573173cb51ccd83c2f2d06b
-2483cf9b07b21ec6f502f028c273887bb06dae2afac10e9fd3c7cf51bca7b277
-b706e425302dc78975ac0e43b87073257a5cd7424b6865fca89d886e8f95c4f6
-d457623dbbc0d16bafeb4c649f5d72b09b18502eeab687e915e9b536a361b4f1
-44c3cd4cc683b5f05a4ecb4823a5eb5179bb7eee8b76c21b2491a97808f6318b
-585b0bad98f42fb4a755bcb74cd354f794c8bea5b90fb9681bd5849d45247e39
-930c882490230e1662d39cca875bffeac3e79a78de6e1298abe9817ae98675c4
-16220ad0d3a36580ee2f2a17aaa1246c416d58a4c52fbb26aaf3b6f75833af8e
-3aa996218dafa571fbc7cad90ece9c883c813d8f168c5e86bbfa0f0a5cb36e35
-2de4caa0f8d3227f72c5056bfb5bca6bf9c60e037a0e44670a8d3cbc9a19f379
-ca8db30b711f518a8c7569211ac70c46eed2af62a37f238bd0bd12d60332e673
-c6e784b3eba3f2e71e9993b97e8a38f85048937e958f1cd8fc6e661048546135
-56b810fa1ff611b96495081c04542df7fef085dec619dc8c84cc57683d212813
-9d14728aa32723e1d15f2af8f03422cfafd8ea4c92dabfe00e6110bca39fc555
-bc066ef848e437b50688daf26d001aed7e74605ddf9c0ed36be45455aef92689
-8cf32baf2418e02118593f54fe1857807bfa0b93b5cdccd81d28bede22cda6ee
-2e32422c1e8da8866e526300f9059e85ca54122ecbffdc011460913e0d28f7f5
-fbc9d7f9f6934b3d8efc1a91cba4128f6bbc5eb55e5e7b73647bff70662bafbb
-145cfa65df3db858bc3fc577b1bd8bc74fb8a61bfa71b8304aeeb36d8efe12fa
-6f5eee0eae0830e5177dc745250fc362f78231fc3ac9864559dba92dda2feb96
-2629293435bf4a89f913fd15702cf325981ca3a08b327f7ee35794a9e88326e0
-24559b547fc6da61b7a3b9357f72c767baa9c79c4e7b77f70ec01ac0b8596425
-5f7346dc8cedc702d3d57b09ef89cdd33756619af59acb9d17a3abeaa6c65218
-6d6855348a1095746b34af15df313091c59e5bf9e79b156cd7903c1c42e115e9
-c5203037c808bd295195e074fc4a46fbb1ff01c814878f0c177f552bdc9bb698
-349d73aec17997374ec90b69293a064442141a44c6fe8e3c283c02a4655c579b
-f21b53d1fd37996c682745600785c7b52c4eeb47fa5fd640739e1f09d5c5dd2b
-b7515a4cce0a21281d315563895972bee88bbc7401be9e20cb160b6bc81ed469
-6d66169bdc648aaae8a9495b072911cc814c19d53b95de0071e3a439d3c09c3c
-1cd422c605740a8939487e26bb9233d4cdefcca49bbeb1b913570a51b2f96d30
-2ef8913c6bb60b54f7ea4b8ca16ad3b4194dcba28439eb31a9443caf061c4d88
-c22cec8d9d8d85d7aa225fd64bfae7376abd40f822ba1ecc9339e09403195752
-fc03a5c4742ad93064d975906ed63acb495aae324403d3bca118179e10256543
-1bc84d47e0c016234eec0c52255ae783417941cc884efadb63f8269876f00a8e
-1e1f19eafffa00453203a0752750f8c876aaf87826baf77b81d336ffc29249c9
-a6a44f40381294447840632ee59a3c4530391f35da45c16a001f793782be488b
-5e01d7f75dbd53fb31f956f16202d3d94a300866814ba44c79764cc25acb57f2
-333dfcf3d97a98fca949b1da71ab27885183d8baafc9bc743143f2f1002ad752
-1e55d207de23e97d1760cd918a55148e37e05f6347e8cc299eed28d7319abcdf
-a4a279d5f64cc2151f91a0be9e8382a35b535a6b5f41f3708169881c243391c6
-67d9121ba21f6bb22be1ec9933d9af1dde9693d7704c1141ce2b977ff5181299
-6a57f7806814440a28b1dfb62c4dedb82f0ebaabef3367bebcd43246d54d8eb6
-7af07b164374998f06a0b7e271ad6ea974698a806002374d270c6dd5c9dfd5db
-e056fe1b3d58482a0cc98d4d5603c59ec2e13b446023692b9ac2dd7cf767d2dc
-a7c62bb3578847085cab79f139bd312cb07ce13e38c3fb8f695bcf4021c282b0
-9b20ba67f378cbb8832751b8f3eed370a572139431b9187893b592529fb1b6c5
-19f51798bce9e56ca50185d42fbd85819c3a1153d65997511b19acf87e69c07d
-2ca1a7401c2b23f99c19f95da0df136472f9fb574b21aebbf0c2f892b9260001
-9a9173f108e72c3eb4a93719293e8be026b833cd709c7c05c1a2e7250cad2586
-ca70fb7d927e36a2e4a6f34e754c8dd8ea2571cd82054700d386cdf3420f37bc
-b6a70b9a92e46cebee13f6641c67bc40979f9b86e052164612d3dce7be67fa71
-b26ee9f425b54b3577cb4acf3dad02f2e55d2986dea88a5a1955b78c0cd5decd
-213c55c9c57183a7dd5832d49ee81724a19abb7da0779f1aa6a77d5d31434a09
-c6f53b7e27123dac042f58dc27653d940358bb8100b416b920aee20672559f62
-8b20c687d77ff83cca449e94fcf4f06614fc539802340619e3a791a18581ffb6
-9bb5961d1e70e55615cce5c9e1466d77435e486f15175cf87fff65e58127b5c3
-024b93c1c296aab24f29483aeba00736ed30be5bb5284d7afc43294b927bec1b
-86814a5ac25a3b9cd1f25c813cae791f937375e013159624a360955a58e8fa94
-e49593a97150702c71dd8dbfc3774094df930414ffc68cbd4b4a25041cb3b657
-a54c9bf780142d2586eb5dd9ecc1eb5ea69245d5d9c2af868974ae5d46e3a544
-74e96780ae66023778659d9a45853c24da18dd5ca0489ccceff253b009c06cf5
-826adbd0e8fcf23edd75c3d3de8a4c789a895e06d20606e4f8e3c1bd77976e71
-de409203ef1342bdbf2c11bbab4af5a709f0462aa8fa3a02cbed6f23fb4d5e3d
-1751acbd41eecd8571518a9e13889c221ba5568cadf730f9da026fb38e30a25e
-87ef6a13484d6ee31c174bfa4b80cc38134d7b18c85c83b4f14d3c7b0a0b7069
-7baa1a397252ac47b67306e45d64061535d05540c86b9599df909e105bb55100
-3a0271c25bc5d596da2a446e35c019b5dead7b289614bd5085d49ecd0464b494
-cd1ab564a93ac9cbf438fa558bbef71c2fe003573a03979a10fe8bd54a053724
-a529f46ffe55cec8d6bbaf1f57d16185595c82a1ef42e3c81cbc55bf50587630
-404b2090df6d9d25468c1eb7a4b2b3da7f5b718157ef8b5f23af088301e46411
-b51e6e0d464096ce22bbc2028488d9af49792b4a17cbbba8ace8fc51e1de01b0
-97e6db05466bf66978305642b6790c08e59a7055f9442cc2cfc23095df2c27ea
-decc1ba54d6b81ecc873a9c71796a1ece75765b878d12e4da9e19d026ac44dfa
-2dc7e540506546aac70e7b82ae7fa98bf36549f4d540fffd53abaf7ed9044ca5
-6b4e9044a2b23c3e7c70152e96f4e64f6b1918946789d4f703675f3dd6e8e5a8
-f0add5f7e442c35cc782c92db2007596ec1a76d2d22ca5b00f7f9aa9819327a4
-db8d0b03369a05de96b8c4eaec254cba0f39ef6ca005c53afd0ec32f1c092367
-efd9f773bd00b95a60523bc0392b050b15ad70f7cb42f6d36587144cae2447ab
-aa4b4d9377a7e86ac489685833e1c14c3e17638b00884a46c1efa2b158f6239b
-1bbed6fc68ff606278fd4216c2a6d7888f0f0e5dfc9950962d4964901a47d6cc
-2e3243e1dde9ce7f435a7dfb19349a3017ce44b87dc6baec18354a2042c87ed6
-c1e3a1a505cc679e32789f75780f84082cc653a010d14dba84da0191a510359c
-1d24d700c58e54718f1d85396e7c5d3a365637085b6f79c061df17bfcd260ea0
-6b8416c9042c2831eb041346a22bc54f9d7ba43f8c4487fc240baec20ad4aaa8
-c03f180b614c59db6e5ec1531aefc908c46b93419b9f5b2d4eba0a67ba43d685
-1ad44d4b43b7796de5c9a11f726a90fb1a389a342143f98f49237fb451c43eb5
-981562d923d684923dcaee71b52ab4ce6269169a35f545e74584fa440c41eb82
-41ab194c78a5b980d021b3eb7994846d963b78eb6e149cca7713c12f77023002
-b8a797c9ccd0c2bd70dbe44f81f9d274a5ff3824ee34cb4317fa4971d67d90a2
-f3d1b1b84960f0fbee40e6341c5271b5b945b9098f3095986ab7db2e0714cca0
-301f6b8378559d86f0b0d95c2dfe94ac8e10df0c8c16dba12505a0d467dccb84
-16bfeb18784bdc10624f15da1a880ffbcbafbed0e1c7360962478006db59c78b
-ddcee524b6f9b15a8849ee19aa00fa3f71a3c2c96e68dd0248a94ecc43a60ac3
-88e49e005250706880485df109ce1506c0a4edc40f5ae5fe347d52ff63b26c7c
-185a698e171244aa1095620494949d526276175a7e120340d3247cbca4e3df53
-641d6d392abc61c85a22e06cdbc89cf37bffdf8a79361c6dd69e6774772f699b
-92f7a7184a00fdd7f36fb8a08ccde5bbcab3731366c3b74072044d3ef2ebc1cb
-33118b8c09c04174baef8df1bb4a1e1f848c1a5178ec58ea621f6f8a63d0fcf3
-13db79f885ac659c881ab7e40798a4339e6a78ba27cd9e6803c3d4df196c462b
-d08555bed51d7cf5821204728356cf813f554517ac5e28e6c4047c0100610635
-7d25c33330758f71bd1043365bda5d1d9214c8b159d0f8fb69e40e6fb4ef4668
-a228938436dd209dda5925597151f8633297862799152b0317bf21f9572f503b
-b10826aa7f8d15f5d780ea27f1b8ca0ba3dd732d3e3effcfad6e6ad8769db6c1
-df22ace8467481d16e8af6f56032c90c8f2500ce66afb94d378d893e84208048
-ec0cf900507f02e40da3e99386f939e05d9737b0b11b7dfae473496d056be5e0
-7f1cd25454f4b290cc43d936450c3d675ceef5da533db25ec07addc7e8355d8b
-8abb095ddd61c91da2dbeac0574e9ec9d316ed13df03c997d7a4a9c7a6a3a165
-ec1ce316e820e13291132ae91660d5d1812146abfa137726e8700395b4274502
-7d53b1e5cba817beb577bddcb956e89aa2d1ab24128b9ae8e06d9f0a6dab93bd
-f7ee8e2ff918255c3722a8b0e8520dd02ba7c92aba13ebad9ce0ad0f16f728d0
-ad49bcb12b429811d8ca1b5ae29b7d5393401eb5802db4d4497cad43ead218ec
-c674f42143bc174c525bd736b77dc28bfc7e107366eb9091eeda60664a771782
-cb41506406dfd29c974c5a18da88b473ae58a2f1fbe5680a40138a9d2fb7955b
-3fdda23b2cbe7e27c1dc4aea3069b1e7e25068c9051672b8c9a3a37d6e6fdb24
-3bc20d303198f9b8ad8154b3f4a4f2acb17c31a0489c1366eb8a13012c6b8cca
-4d416b911de781563e26c08538e038dd8ef92435a054348add815687ddb99dda
-88f1e2c5887707cd4be47f71ab81a3d6cc3e039bd09697734840f8bd0b88aac6
-191c6db089943f99ee4174e5fab3baf3a8429e273c4d1a5140e0073f86105402
-3f60df69e65809b7a1a5a8aee4d25bdde9fd6d05a3fcf4be5f253e41fc49e121
-df89f259ba981d2617209b53ebd92e430a69668995961177b159933501771905
-08f625b26b5085c04b325e7fb6bb45eebe3bc9f5c5114eb37f19937635d71a72
-39a0039003764d10cb403b58c61bf411aa8f5d717bcff23fb338da58d13ca81f
-acb3316d2b5b675e86a95cfb525199a21af248a1245c92ee37688c6e76a95187
-3b411697a1ea6694e6ccaddef3d57114cfde70609de67972edd1db95d923e077
-4bce7cc77605f9ba5226fb792829b1b8eaa15361ff78f190a0563fd61aac4452
-ee1b0d293e695416c667735dd886d10e4467b613dd9bb899f2bd75f2f13193f0
-481fcd3b4e2aaec6cf2829b1521dd4b6471ba31aa0aa4d63a6456203896a111b
-89c106f1ea85bfe0c0104b1292a1f8d49334578375b55deae2d7381f5cfcc023
-5ddfb3d8546054a0e6d5d81e4254383385ba593a7d3a8e0beb34285dd95d97ca
-3eb598b643834644b611e6db4b8b4360c847120038768e218031e097ba0bdea7
-732f7e460155a496b91b3241c74f9ee0c99ec7adf6a87b701a0ceb07fef5fa44
-44e127de3e777c23a8d938f9879df1dabb7adb31247a53174f919a2a5a4f920c
-9415f3976a8f4b739e114b2c49d67bcedc1852686cb041e3ee94ef94d9f2096e
-76f1c558f40812444c6f0f4dac3a4bd22b82e32d8bbf1504f8232ef00dd2f3ff
-5c4b8349a9d1becb8c59a9f4763f2566a7a513a6c11f54d1fdc1867ab741f3c6
-e2b44aa95479e4e9813350473bc7897b9ec592f01f97697a17967d344a4bc9a5
-62786f28f87e3639d091922f4994671b22efd41ff3f6b8a651117d0a2a97ccfc
-80a69c974fb2ccb36dd6a4897bf88ebc67bfd892e35e6940e94893e1cdfd2799
-8cfcf2b3737a6232e4783eb4a8ae56b83ed7661377b30225a75a1b90b73079e2
-6aa33fd37b81f7d60de62931b6be9d16367a5fab1d14d281d3e8d09dc525f549
-ed03a449df4655802bc3265010f286df86602740d8a86aaa228b9c47e3e78c0b
-22d2600d5cd55a3116058daa7e34174144f78a8f72e0dcb8cc64addcc52df0df
-3f8c21d9cc04e187be53f8fed4f33633ba03afa178fa5ce769a7eb0e1b9bf5bd
-de0ea74dc99598a66696bf6d5071da995a30b8144acdea116cfc447255a99cce
-4ec01bc8a0b355c0881f6e9eb48725d61ee0b245e0f7cc35b9e76fe11f681017
-f794ed8d4c4c7a02e17bd16a02347f28318ccaafe0575734058121e3ad8064ec
-a0086a58f216020a2dca29376981a2595bfac2a0394d448949b52ffb47e5c5e0
-d6371cb4a417ac834d6c9fa0018c5efb16e39e32c85088b266d74af5630b2544
-d4cf403482c490f86d35f81cc44b34200400c10c6dff035423e725d41d2b5ee0
-c3f03a603a161713216af97036ed38ff8d9b09f189ad191a0d03369c3fcd5a3a
-f88a57338971d7bcb5f3fbf8735ad8459524d93a92eac1c2bf5f0e6e1cf675f1
-6d72b35ceaf34d8fac178a1dd823ca0448ee1fa2f616b803c38b89238aaa1ae7
-cb057ecdbad28147da46a34b8a1f1d389e082cc3e8eb1a7e5c0c932341824c21
-570e003d8c11c87d7082371d3d4804da32fde118c6c5b5b08828e5783200c6ea
-0a7ab73343f5fd681a3116fd818c7054a5199212eb0f3a9a0d87bc364670ee2f
-7a5081a1e48a58748d297e014dd5db7faaf7a27459f115741bf4facfa1b395e3
-e97452bdaff906af9c52c5908748f1e13cc85d165bc893c1eba728458b708f8a
-9e8990a6f258bda0989aad0959e7326d1d6bccb50c4fab15a6ea3cbe94724fc2
-8f174df93fbff41adbb9d4fac0124d33151d06753d4d879ac4f15aec5d1cc0b7
-a9e861f790a16eb0821b2a7b7b42d6f3e389c51a1d7c652859ffbe66646d4199
-a62ed28a30c8932dc4d2855e7e6311d79cedba8beefe2cd529f4b45382f3e6e6
-a7659da9b786fe7bc2e431ee3f11873ab2709200b715343cc25c5365d06be9ac
-829458ff77f4d509d9c3917237d759da6775e09c2eaf4ce966a14157ea2780bc
-e3249446573c82b33ec5ca150022a83301f00f41eea3694059b14b2a9abcea30
-65cfd06b9dce3823477bf80938d355427666a8287a65e231a2357aed80d27a61
-58140c2cdb1f44caefd6b629fa661440c361dde7817154052436a36bbc1bf382
-e30285979c4568b180417740a17150952e3eb4091f583083d75a05a2d91009de
-46da396794dbb5288e2a2e6191d3f22e335f0275f33e9af2154cddbcc99b149c
-6d7aad7fdedb23c805f09725b60b5ec77e8ac9953a3578b23c6023a196f35333
-a36fab2ca195e397fc82318434e9f2844d17bbdc177989fd8af61ddb46512d2c
-f5d7821941b18b7c1f1be16df6e6bed4a1655edcaf6300fa8765e903b03a95a7
-0a7e6d55457f451a8177e0e9c9f3aec8d174843e3a99ed698689019e96cb4683
-bb24c71e22f4895656acc67ecd671963abeffef53724a645b98e5d2680297fe5
-2d43ddfdfd5536f7c239a5092076512a2a9821f12338e388bd5115ff4f4d2c01
-d741f821874380838988c17bd975fc388a253c8c006c67963ce3c4404baa0750
-c56760e367b566ed129911eb056bee42f12bec9980177f1b3713068073cf34c3
-70d6ee202c49b42809afd1f8786e14a6c63794eb2ddf49d5a06f34de23356260
-96ea26d57b94a928e5312147ecc40bbc6a204c4b3ee9d4f4361f8df9e1c1ae68
-ef60fbeb99339842e652479362b19d33de080f9625b5c167bf2b11775929b12c
-fa9e9a89cf84f249a1078f5584425e2ad8ac82adc298867ebea1ec6c0428fdc5
-01dccde39e5fc147959ea254217153c0b550ef96c229664c22286a7827ebbf15
-c7fcdc57dbb5914bb0460b6e0c0f58c98b264925d9996d9e0d31fb70e66eb9e4
-d928015f2c12acdb7d77a66408f2767c05f93292fae45492e5dcea337cbab346
-da82c905ddb016bba5d31e740b813c3d709d78d7ac50326f90d2e4af4c1dd893
-e26f9767db437b52a758d6237e52c4a2a71624d2b1f79dbe83b6b7839deb413b
-f34b91b3dfbc88b7b0b78ab579594ac3d57471074f78e59a64d75b4e6ed3cf22
-33f6ebc86e289402dea3907b0a2406188246e8e44054f81854dae0fedaef8952
-c05c8f5c4591673102a0f24f7deea7e19e27863a27c00b510690b331413df839
-5ae5a37f8c6b25082073bcede7c8ecdbbba2c09467afcebb48f4a4e25cb069c2
-b7acc265f988955a79ba95b3f4d8c6cf94164941723601923409e9d81ba8aeea
-64e8f1f09794779a1262020bc301b1966a789fa2f37d7521db536c0c8da36b7d
-906398a8a41230cda975088fa5a6070d88882dd8dee7af696ef5ba2c5a525d61
-d35a6834907c4846cfc69b17edf77c58e501a0600a04ab4b36d9007ac54ccfb5
-14a47193ed01d4fd5e3c8cf04b3e38c4895de3eee14dfbe6351bbbea6530046f
-89e913d022c0cafe528a33c4e84d465fe6fb031b48d904c5120d452a6c1fdfb9
-08e242a05d015a9ab2536dbadf0ffd0190d355edcd3174cfdda0974e2a33cbfb
-2a3d557ed2f6f284cb3c990c3071b7efc678a5d27518ec1912cbaa890dd6bbc8
-824eb1e7ac6127a67e68428ffd67e650fd44c9ec448a309056ce45e4a4a2b769
-8183ac418981f617dc469a566e713aedce2bbc7cdddf1f7affc6d11e94757130
-c4ec7b55dba7356b21e5267c5ed99f427a19daf476e48993e856c852d35ca1bb
-b32d59ce688ed184fa9ea1622c306cd788d6372c5b4a94b001f198e33209bb59
-46af1ef7b066d049825bb78318a38ca23ec9a93bc4b4b12806c1a0e5be179e3d
-0c0e5bda654e506e74e0ef1a8b12c18bc3f041d5e61a8f03436f146e4daae3b9
-6b8c7ae139f42e8dcf772cb5742104aaf776f3dd19bad920df77b42aac654d32
-2de3779c42639b50059d13b81c3904df76a0ab47046a0132378f9201359f71c8
-12eb4837bcbf3f1498bf8c7b2298e6b2e528f9898ddfaf75b5358a73a67e6307
-707fb13b2360ffdc5659ed8e70ecbab711d89f8c6558622d67737b1108ad5139
-b126a6c7be8b25709fa7cc2a625a0796b7d08b11f098edb80f8aa08a5668ae91
-4ff1c470dbcc7775a73fbd857cdb9a5d0c122d4765caa8d9d35514390c9b339a
-c04a78342e186e5c49dba4cd9ab165b4c139e76b88c807cc4b5db7b5063c2f81
-16721670497a0183c643c5a70ab2405d5d8b6773a4a2d39b3cd0d763c12ec296
-9b3c3ab916656fcca5d715e7dac796937b2b6d4adb251fb79b183e6eab23796a
-0bd0bf5bcab03529467a265781716b0186573b862b2a2057c427d85d7b547c7a
-9e7fdf7a674587df709ffd0a63d0852ea0d02c13e8038762de82362739de9ede
-0db4296421d462d8286e2152aa67298c9ff511e8de1a26089d383bdbbf27066b
-f322738cd2cf198bdefe566ced1808dafc015c8ae972117776594e9c506a3223
-d4ced495d6229c9bec17c47071415f80482f9ecaaeba6a135d2173254dde6be3
-f0ce9a7a81ec2e9af4add855b08309d34e780adf0f7c9029d2ce0d5f807ef0ee
-531217450c82b7f3643456772549acc2ba6a5938c517fd775114ed44ec69a45f
-d9110c969edd9e6f8b4bfb953aed79a1daf47c7238871e4d537100c4d8981d82
-a2344eb7df5baebad28e34870d52d97a66dfc75740cda6b403c1964c0feb034d
-d3e5c8b4a37acb9f5718f7b6a3d267694df8baaabd38154d16c162ebe43b473f
-ec1f060846ee8402d67942ee080dac9b18eb8b09d384ac24f85d287ea3e2c59a
-0f2c1d6bad36e262e031acd399a2b9a7940908d65f142fb209416e891a6abeeb
-389e2df002436d43fa1161b71382d1842788af1a9e6f39ed56e8bf63991fa790
-a52ce312aaede90df1be57e3c1151dd0350ffe7e476cac5f34cf8505bcbd25f3
-29aeed3a52bfe1f10366dfc4a15fe212b1cc9da76c8272d7ce85c2930d797b82
-4a67de55c50d45cb3640db2a79ecb647a2fd2d948114eea9bad6312319f8db5a
-a29d60b22439d45760751904f5de5d8c5c9d0211ac9d30b9459dd05eeea240f0
-97f0c239068c514b8213609014e6bc50633d0ecf774c210aee7c75a5bac24e62
-813181e4d040ad1bd4bd4ec7b99b8a37abd694cb67483d1c5dd5c17f54ea7f20
-50d0ea8ce1cbfa5395e62e10c5d17a423ac76bfba25a38fd474b5b4117ccfccd
-30a2ffa484af429168b1b5679b67542755e989b39387fcd9b1d8f8ba313a758c
-58641f34ccbc8f2556ad1b17c33f601ea76ac75ee6b681aef12c0712a14e7b8e
-a8a5bd316223d5142e8b53a6f81a8a608a3dc32f20c5e417a6aff0f725dd7867
-429fdcdc16a22ef6112fdfc5282c61a1aa9b134c1b420de7b359be8373cf3716
-d7b3ae832ec15e305ff6c8e9d4197f8b0150b30e1b9e7f15275b4b7a65dfc611
-97c0e5f91561f3e6203950edfd6cea20d0649071442b2916ebce5f4d3da73914
-5a2bfe6d055580af134b7dddbb9baf9477454eee8abc7b33eea500102e395212
-78d08c08ae455bc0fc5bf5a0a577e5f5fc71490add5a623ccca134b62c19d3a6
-4019415ecee0168621be2b4856ef3b3944c0db9aef7d3e933a034184934bfd4e
-3fe21d4d2625e6464e9ff9cc25e793eb7b8701d3fa07ff9a3020f76d668d083f
-59c6f6751179d60eb17b9c4e35f3815aa5ed3793a2030d317f1610215fa920a5
-5ff29a67e8e6f186f00b5ce164677eb1961eeee35b5a7891d4296967a9d096bc
-76b0d072eabab7ea758da89fbdc25b8261d9fa08099b6e84494fe034c3edd5f0
-c45e67ffe588b2532efb3dd1c34be9ce299712eac0e4c4cbee6f30e958c9dea0
-15c5c4fef7cd440ea982f91c07928463807fe07f27ef61a5deefa47879847835
-d4e50aa1dd0ad2b3d01069cc7b4741b3f680131f7d5cafc6b3978c3c1d608ac9
-d24342092746628cb71fa01e3c675f14463f9edd4c339ada41ba4b6a0faa5117
-204463bc7b94d01edc1b3d5781898c85516617f29b4dce2d32c2686ddbfdb838
-f67b097be600f6aeefb6eca5f729b45be307232f92731c10c3330672c9584141
-7192e62a0ebae828fadd77bfc2ecdc1e562daf5660354e0edd5b7177bd8e9d24
-f77e526e649044cfd49633d48cea64de714e59438ad980e0b1ffd51ee19692ed
-665e2ff332bb54bdbf75316c4b1a39c538312fd649e8c462994dc8f14bf056ff
-0804de76474d0ee084e363c8b7081b1c08e252e05e49679e6c7ac81f42e9372d
-e5af64f59c4fb62f3e2e7b16ff53bbbc006e3d9b0f29434db5a63210944053da
-ab56b1075a0c3832220752d104fa1770d3acfbc31704a1b7852c077058f616e0
-a4373c1c92c7b60566691573502e9a92d583a3163bf31fc100c92e6405ee4d54
-09d23a83225bf6d1de2c7bead011ad64547d6835ac9a7378033c85592a0c3497
-a03c16190ebdabb792ca0bf803dcbc3bdf0f7a571aae00f596ee01eb476bad97
-3a27a219aafcc0fa245c6731a2e8e561c63b7bc3147b9433a8203fddb7138b0c
-1611c7e62375f2a114f7bfab36cb1a94b9e10ca63833ab245af595217779bc7f
-d12e68a65919eca4fae72f755669580ab0009452bf086ea835f91a0d5b384b40
-82bd515f006865bbee2c50db43b4457a793693806b86f68a2b2419fc3e937a72
-c6f414de148d2a62a71ee9fcab710d6dc08ad6c4ac443365e7a78843f80cd769
-c56efecc2d63487b5fcead1aaaf9481a7361723388f5b51c2d9cea90486cb9f9
-79f6f5ee718d4a49ed91cb091adcbd0e7b3ad963368c9cde877666a742cf5073
-aaf79428b3095f989fc1fa6f5ab1d724d92c33c1325c05a39423b8a83bba9359
-97793fda280740aeb6be3193be5f4feeca2a8f28efa9c8e016f0fc87c8f3392d
-5715b9b9a7aa3c61ac84461e2c3220372568aaed851f1cc40481e326197ecab1
-f3cd792fbeb27a58a5f889a5f6321473148c6d311ca89be96039ac9423700d87
-ab0d7e8b89717d1a62ca14e01f51bd77832bb6dbf76b201a04d222852050cc5c
-c6a4996789a0bfd6ce364592300282f102e66f4ae9e50d60d886cacb099df960
-c42e2213017c567f27326e677bbd04a239631950b566eb39e4f675d2e989f56f
-74da3a0469d988ea0122ecc3670d458ad82bcf7ad04bf3ca9b00d76ee569f98b
-a375285a1abbff253b8f179f71f496286330e364049c72ecad4d82a933af0189
-03de5e4abcfc637803167e56911f826735a7c41e7936f4bea148397bcfb18cda
-fb03182ed7c511aa9de0c6e6c80b24cb535f03ee16bbcb514d65ca9ac2ef15c1
-aa1825759fc4ecafc7c0d9401f139b3f20ee915955268578a933b184a86f2017
-03cbf4db79be18c09c8cb07d85739b8653ad37b8c0b647161e5cac746b3c0b94
-2ae2a0540f38dbee122cad0cf739ef1b49b6dbbd5d08c97c04dca33030f18718
-583337a015395e1fa932df0328c7ddd9546b7812ba06d82a35f8110d55fa377d
-fa6880f52645890d58478e4ee3b72f08b2d7113b2453729b37e4fffad13c5f62
-06b3c767a45c80bd479d1e24df660e46c83c48166fccec13b9cc4e62a6aaa813
-7c424885f83d7647b80849c0a77bed562f134034cda9fd6e8d7dec9e43f0c018
-9287de759676f20005556cedc67c31509a8bf56a5c972b5d247f21d8b6a58953
-7d92101841166d7781d4d80cdc35ca382d8c2dac3ea3a34f93dce0ff8c76ef12
-390d5d57d88f3bc00d46513f0358c43a22c413d9a6ba6b3e13913474b9e53bf5
-31136a5edf9192965aca98e06316c05fd3d6e88fe09cc08e327ed027b81eb146
-63e3073ea5d1d59b74149c5f5242d3cb253c36a84cc837d76b2ba36104aef0d8
-f9f4404d63c42f3d635dc9195ea582b589cb5b54ab01af9ae53f3ec95992c09f
-a5bfe86e6ef6948bc387730a9cff0cdd365650aeaa5e1d52d8f88dd49d36e6f0
-786c7f4ef8c2a5a242e84cfd4dc50adfea0c2ac27839699b92fa8feb6436f2aa
-d02710777083723ca7e481f83b637f19ffb7511de223a0a261324189edb38d88
-6ff5cb1356e8d567afe76f96cb72f88016e39e99af6aad499ac60c8a3205f253
-82c0312e1f2b6ee7b37d178bd4e67550276a7421b4f514fd293ad32bb1121234
-bff93d2297dd32dfdd7e7ba91c0544f79dfea965f4f67494f3ddd97d7881fcfb
-20ed71f6b5cd27b12d04098a9293e273148590fbb65f6fba63e7bcf14dfe6f0b
-51f870be20174f991329a5ef3d3c9fce206799a01ca102ee7999c2a97a19e796
-bb5f88922b76f922d302dd833ec532022b13ec573b375cf75e49718b2278f2b2
-4ce9865f20902d6358440efc9eab6e0e069ac7c193c88a044cf33f6a39388f6a
-296f42c637533cc503adfc71c5f898c408a7e5479868ebd29c9ed02939ffd49a
-2812baa355be429858e0c6aac60817d684778b71fb9a73e7ac4fcb078bb1a75a
-b425ea09ad8585ab3fad79429321a8f96e2e1f02ad70e2fdbeee625bb434b0be
-f8eb957f817c5699c7293e47daa4ead6d47f00fbb6c8674ef1f7729cdb19749a
-ca9cd399a4abcf28ff71edececb2a955ffbe9ebf4bdab56256e7cd66304ed4ab
-1b3fddf6431296aa641a8795a4006a049fd3b35074a865c901636b70619ec26d
-aaaa8c8c9060938337144209f3e3de01e92293ca89583cbb4c2edec074bb4c05
-15130c3ebfd78dc687f0ad0981c0d27fcaeb28f470193ca13d98277dbfcfbf38
-f8353dbd04380abef7176b0b4199d7319ebfd88ece219ba6edec59fd158987e8
-9adc035b8fb2141be0e0f25d56e077e5992e4f95640abca7aeac3d929be02d40
-9a86dbcc043637c5e0f1a5a12579e57b042b386be96c9a8b3c4e79c8dd28a52b
-a1159728785a75f2e579b8669a36a9f9e7807ff9d5aa0d8652609a47264a2003
-fd202bc8fe9cf80e2ef05ea5e5fbae676a77bbdc4308ab92eb0dd9a960f4865b
-8305eef47abc2353287f52c766ea1c1b86fdacf0986e56a87462ac820e61051e
-7f22cd8ea7dcc7838a45a08ea3fec105d80fe5ee5e87732bfc2e9d664a7ab43b
-05321557d69ceed6b679797a67a0c38b9d101bbe870d746568325c52d4ca255b
-b23f9672ce2b4e3fe944f5dbc388e575abd897d969ac2a81915e3fec3d7409ed
-14de1e4cf7737b6e46f6c71142db06a799a7208539c649244ce73a58f2247e81
-4f241aba74d6ae593d47c227137ccddcf1f523a730a234c91ac3ae8a456cad1e
-91a9480c438b047be40bb2e4038f8ebc34ecc3a8037454b7342c317871fc1d97
-42f26e3d956da7679a072cab96b27fb2ddf480d2f40ed88b2e5b0b82892c8314
-cec9bdc12433159714891b8591a051cf2cce7580af74d5096f53a65347488bcb
-948fb028f310575d3429123ebecd9b09d83f30ab8c8ab65d49d691fac27e3612
-66ea08634f4c7d3a648ec068c2cf31f116951934864dca2755daacb6d22803f0
-9488117ef66e9b12663da9d00a3eb0280ba412e4b6f6397ee7800f250fbfa023
-3162addcca4dc23190a52397cda3285291842a2b269c4e07f17a0035fcbe785b
-6a570e4b75692658ed47b6dbf297adf1b3b164740d1e851f08deca9c05a263a8
-3364c544cece706e77a32f6d5d10f8d4170d5246d92c2c9fae457e0f5e4ecd4d
-08b4edfd42a1791cca41078d5e520807817206193d8a649eb39b64c80e126feb
-240e1784da3c66378196828104c49e5fb86475a80c21de71e0aa36ac5e529ade
-427c03c2236db0deca99c7c486ff463a72723efb519263916e73c25da625d0fb
-e45258ad2abf3445b72cbf3e7e64d507198f666edec002e233cc0af6a8c1095c
-3cd232e2ec50b2ede3e09b61e25996b4a64c0eec9d55025b1f47e53e0b128bef
-a34646b4e2c13699d112c958590058e6b606cbd978cbb0ef69eee350bbf71ff1
-8213a42d135e77e2c53a8121aa3dd1e903dc0e961810d103bd70a2b448f29ec5
-c3d907d7243d76c6ae04c22a8fbc6c1a05f9b9ec97cbb0e76928f4aa26c913e0
-3f8c371efb61f370751eea6af25a3df4ab3da3e4aa263c2477343e4b19915219
-c4c52cf43dbf373c316b80619f479d9b531e62f26ef9fc6da13e9cf0bce74d13
-c2832f1c9d9432437d253dccf73cd699342521a3cfe8f85ccdcd23e9b240c961
-fce15ef77fad8438674b55da638df2492b29fc1a003859f382a776260ae5067f
-93dd176181c10c4a45e8f237c5c9781e01d2e1e0890e1a6e75e2bbfda4d29613
-efdcdfb21317d770fa6c1ac3800f328bdb82b48b7320ddcf64add23374971af1
-50470fd002c01ef412c5bb4984737840da5c9e0e4d4b2b7747056a3865af6db4
-f4b9cd84d27dd2e45aa0d9f32d0cf58a5f1baa374359223cfdd07c18017660a2
-9227404eef0abbd0e29bd8698752e85448a5c3cf596dc805a87ff903ff890e48
-b7971764fcd8f921eefcc55b2d20cd5908a6fa35d56bea96a39ab521d985c50c
-4e0213b30325d295a00d32d97e95646867122dbef37a3c866fd72e2f29ed8758
-a362a4f17875cba8be23d04a35714d4c27c4417039fc8bcd25365c8a4bb41815
-ce1f74949d6b6aa58fef0c4cbb8d54ce92d65d0a65f13ac6063de4a55ba5561d
-509f2fec155b2181a169ecf14f1fab587569f260c0cacded8021ed8d7cae5ad1
-332f1061e166686b41277495597c16e728d6a8ff49f824df503a63322b442182
-665a12900dd48d1361342575fdd5c9d9ddd7bc73a937b2ac6257255414029a65
-9001199e9e1f16cf3cf876bee000302935493ae997e3f112420d7d3f06739b79
-eddc1bf7ecfc5316549d2ff228a4e28b522d6cfaae3148bea2755a45bc27dfc5
-128a9a38777cd3b07f91edacedba2565b55218d7891da863243cf68e7800b82f
-0341740a1f5dc6dcf0125cda844867fe4945326f13a954430753a28ea8491bdd
-c545e71e4d52cabc3f05dce434101d36a62328c5fe6b5df3864f9f5aec22f399
-43f72fed081d3724306477a06eb9b6fcc9faeb77e62ee4e20cc51600b1bb081a
-1c5a00e064d5755838b251807ae57c85675cf04b69a66bef0c19c364969d3547
-55efcf31f8ae346582462e986e3a1d653c205e5d58d21de4553832c885e543bd
-11eea2d3c08f883000966c99281251fbc2920917700037278d4934f3441dd535
-bdd3c52111ed0b282ca23cfa97ab25c8726acb13d50599245e532432572c35ac
-b9391685d9e1deed1f95fcb151594cd63e79691b5972ba2c3a0c0a2ffaf3c9fa
-5ac47d9177a691742e4634db6631c8696d0a30bce1d86a4fb737ab85296ea479
-fe90c51cce54d64087bfc80ae56abb5d04f5516bffb681e6b39f480767f2120e
-97d1e8488f1f540e2ebf63eb74596670f5892f4c327971f697c7530778c3676f
-2792289cb12486935c447d4eaf4afec65fe6c6962306449e33fb19fb9806f87a
-8b91874ddf3e3138481fdc711f0954d73f11fba39efdeb55ed13b16b932525e9
-9f3c86ae60f9096efd4968759def8d629ff2838decbe4c68833ba0d64d1d3330
-b84cfe8ceb23f4b5d55aa5a9b51ee595aee0cd668b20c687d77ff83c803ab994
-c743b43d9882837c42a58cf704490fddcb5646d48cfd2e30464d710c1440513f
-4417dfd66d39e0fa6c596e17d07964ebf2caecd0a9fd78e003541ba53468e719
-b7dac2685ccb9b7d857aff1d4432a72f61829010924781f5d15ffcf8d504e361
-6f86c6638469db4ad281d8ec365848b6f7ae1047114a2cd3cf3d1e46e0b4f40e
-1a8d3e1df1c1b677702d7fbd5a5924f91c726de2e37b436250eb71610dd82cd5
-5c049fd044b4407784fd83387eb6a788103430fab4f682294b287dac43f3061e
-d99c74309ae973bb998bbb2a691402843a1a28ee62ae8e8baf4d645d156b94ab
-34680095425ad8b4dc27289e3c6818d6032f91535459d7595b2b9bfc2f44e782
-30f0af49c0a2223e1cee9e1289f682ed5e8ea7db99663a234719667bcffa8077
-e0118b0b9702538421dfada01d97d7a8f232464b9fc209cf278bd5fef80c14be
-011a9f6fc78dd20ab012a30780db2507f4d5e1e493f30814ab1c70cda75ce959
-b5d515b2ee8640dd4bcda6710703a9e5670abadae856b86ef8e4143a5f03fc16
-a6c57ac7c3a96c50e45191b0b1c4f6acd622c400cd0f2ae9e9d51236f1b945d3
-71adc5feab8aa8422a28755b63978aaff787158a68c26fd29ab6e849b076b852
-2190caef1a86663f4e12cdf25ba7bf882ef2e0e21c77c14fdf940792d7bb28f8
-892a9ca0bbabe1c70c152f30f366bc86b5bb1eb3b54425617682a5463238c999
-aba3a7bf788a297d2a555dbb218b19ce501aac43d94a0bb6ae290628821efb0c
-84ceecb30c140917a458db6fd011f3cbfb4a1cb5ea019db628c106e2a55f1c13
-448edd4a9a159ebb369d509da296da724f729fc7560c00c41f4309e32ea6fb71
-16f62325a5af317f106a8d8c2c01ecce6775d45fdbefdf6925e9a44604dda13b
-27cc9a960a21eea2af9bdf6b3cd357d6097ad40df7403005746a30833e814eac
-8db72c383fa42ba9fd007a263ce3b74c1356bd522d2611e4e960c9ff5204d46f
-ee332f9f134e75c791a6d20923ece8d4dfedcf96ab45dfd751739dbd47b4863a
-f0fda172848cd279afd9fac3cc5744c1fa8a5fb4955c6c1c952f56da06430aee
-084507664f93c71d881b63041cdec58306100a0e8c77421d75679ce33e2a0a63
-ac2f813006cea69e00352ffd5f5914b63dbad5905a590ce0903ed9b9679779e2
-d9da62f478768776a173832a8f3cd66b6b62484d190baf2d834241000b0eec79
-f1e53b42a74b159bf781ee4415ab6acff86c5b0593cf463bf95d8fa82293a548
-84bb226f40f24591e5ad463ae4b672905e7a4222edf976e8ad889e71986b3818
-bd3eeb6a0c96787c6fdf3a4faed94f0ba0269fd082ac451531e3b0c01f996090
-3f821dcd64642868f07aa0feada34088a85e6644ef07f4402b4b293073e9d308
-bb298b0e44be36bdda218259b4f48f1b638f5007d3aa8ece802b485e7e9075d2
-6ec881fbdecb3cf58c8a3afe0d9835e7b468c648e52b2eddb81dcba4e9678bf4
-b173541dbec382423e80877ba2df94a605bbc2cdca2b76f74d2eb425d8191958
-804617f21172f397bb762aa7dfd0485cd020397a5d3e9fc9405ec7edccbcbdf4
-295a0057b7684a701bb7ea01e8978fb3367ecd089be19aab2828f6825d275d3f
-60662c1e2ec5e98ecb99a96d6fe379e2fd158a7106b2190902f0ed71969b6daf
-3f9e460f16f1b40cc2aa08330b9fc2e24802bed034b71de445a14bb33f642989
-4f76319eddee328319ee9577740fc803b81714a99bf0a5722981427ba0858546
-c0f77f3919070060704c3bd991d94909d2012146b88c0d35fba7c2de864e35b7
-caf0099c4630443625be3769b01526f3f0c8c821da9d546bc258c004a4d2b46b
-886f1ef916f50d3f5fd139e0570b4151dd41f1f1b5dab0db7787105c77b86901
-73c562d3eef6ef741078659467f333450d7d80c67c91a26ba8c77adcee6f4c56
-c7f248dd92520db35768e703f7bd171f9e663b9daebeb9611cf48425b6b35c1e
-8bc7a0b45441ad3854ac9b37061839f578256a8e41766d1a6b29a99a0195620f
-a090d0ef4120667902b0587946206f294b78775d60ebec668f6e4fb9ca897e85
-76151b245aff8232a90f97a5a93e935c88579dc0f2e9da7cbd02426b3b15ed50
-30acf50107f7b4d4e2c32dd75d6d8c4539176a2244e761ebf1ffbf97d336fdd6
-ef9cf138326e10bdb57638235348eef8ffd33c84b426ec1c81fd8d4a3907d52d
-1ba7e9b64dd56b8fbc2362e30f2451b69b0d7cbea1f3101afcd44242d3ff5b66
-89a7c05449b281035e983c6b8c68859734b232a73996a19d116ac4a94f7b482e
-1f984371e7e9919c312250c35f6f7fee25ec23e562dcc25cb29ea79dff0e7c8c
-fa19280288c26dd5c32f4aeb98c85afda533191809267f0555498da5688b7c20
-219a058efaa597125535871922ff9b20cfbf4c4b35bdfa4bde73ca8ce6abf14c
-510ed2072a01c8adfada0064777509d4f97bd2baf66e7151ade76e407066efdd
-2e08a15790c81d545b340019bd350c7b90b36adc8658c1848020a77f918e1527
-b3974710af503a79d7947dce93bd81161cd7e0b1125d2fe0edaeb91baf1279e7
-312fbed646472b352310fdfbefdcc4c20ccfed0d6626083b0261d7c47d966984
-8dca4298b9ddb58fe21bb391c7d45d9b562d38c4dc23acb5aa87e3ddf59ee238
-c91318db2491a24110af90539a16940141d1efdf4a13d202f9b9401bc89d7297
-5269cd5515f9a6186a6ef866cfa03730f726d7a4075e0bc6f094e9584a84cf1e
-78489bb68dc09ee3f1356f4e45b8621e06078a6727eb72c36fca805213c1675d
-4365255d90164f33ce6b2231113f64fdcf5a789cd61002b2a38d2ca5bf1f5361
-c9ae0f4efb51337e344fb7ce15f8edbdc9ec82a9435175f59b6c19ae2dd0b10a
-944565e4b14bd1dcda02d42be27fb9f0330636091228e3b89709c8148932a5f8
-c5ba5bfecfef6de83eb414adc613d8534c4e4528d934c37e768d08e103b8ed2a
-e1e49bb1b3e6cbcdc3ff63dac7994b8c09203d82a99710449277c20a34e01538
-67c5d5e6abebba650c441d3fe56de997e928193682e5f1faa93a5bc800862132
-ed3b6c005cc0e604231e3e61d17214ca38148c875c268a861a14b54e659dd932
-cbe6ea7109b273975d6ceed351f0b0876a0b647946d29097dd98b5f6bda7b43a
-e6481f17743fda503b34a120c8c06f4798c1fcd4e521a30d76f2340df562b63d
-dd4b27da8b583547d285f3848bb9fddb60d0ed22a4cb27a2784e8d7662e84ffa
-eea50afc03b0815b72bbe9558c8959d0ccc00a8c8c9f740f95b671a66dfdfc68
-77fac12c1995d977495c9ccacd924e45a66f8739de156ee6962c7930f8aac374
-894f8bc396ff69f2249392c7c4248f9cf9ffff9eaf635e66a34511f39a066b88
-4866e776b8d6eca0319f23ca604ead742bb6f6f3b046454a1c0fc242551112b5
-c745e9b8f12723867b2b895c0f93c99df1d542b86c1c9db47390f2d6c3b57ecc
-66b1a6ab514a47fd9aa6240b46c54a92fdf80fc44eeed4b8a136fb88b1fa5b9c
-a2fe682cca4d0c5a3e994cfebdc270f48e3af91ae6bc9172bd9c73053a761364
-6ef9e68ef58c718a478e7d81e57f34a791c26269819c78574d7cc12632684219
-a1f8e1c5ce8b358d6fbf23984e59d9533ad310d158ab5baa9feda08717a7f5e0
-57684c455a7e3d833f82b4e13e9a92b0b8fba5cdd72a7e46709074ddc82e449a
-c906474441066fdd9cb7f341f3a2ee9f2fbf5e4e1a350a45fcad6b2e05825b6c
-89077d742619cf1f8434a3b5cc44998176667cfd5c5f4ee51326d1ee3e449915
-00bdaf57c88a107ac49c14cebf18d010c5b3206ec88fd06e3c5114581ee5a5e8
-c4ee5a5c3d48653fb23d28f26862c433ed083af01ed3df8e147548f9cdd882f8
-ca3088106b9c73b9e28786ffa643c343a940bf850f312666e635b8db95c6f70b
-83d645fd947f6df322d26f8f9081cae71ba8b9d0de67d535b61146c956801d6b
-ff9a69365bda9bc97d8d93142d4c367d5255587ada25e4fb061f8e430f73d2a9
-7142d9e4c17435b78805946e4fde624ea5d9b5c511c9afe2cfaf447cf08235b8
-575ddab8af93588e0c8206f08f883170ed4463da31a53cef67f01aab8f645acc
-c2c764f24bf831dcf005833ccd1296025368b3d51a04efd095fd1355e93de563
-e71dd047ef49f5bf8c17b01b2884872257d743ac6fdd8f54e27a241d7c75b387
-a8841d8cede676e35d4f01acba2acebd8b22113bfbef80d5eab1e8cf56f649a4
-516ec097872a597e83519fc1397c7d4a4f6db7daf044835b17d085578f5a3776
-fd5ed9235c018354e801fac338aa7ee581e97d91df0196ea4bcb09f0e6f2e2bf
-b5470827f1b6bb0b7133c19bf43bbe824ebdaf9526ab15ff8ae8848bf0decb3f
-cfa7d3f5ed71191894c705a27cd9aa30fd384ce6a5f0bc51c5651dd2510a3481
-d086aa87595f885c4c0afcb02b1837cedf85c5e64d440e36581874a117043b75
-78da94a069cf2bd57ae70c230e8d1a0d4637223d14a9868835d8923feb404323
-43c22d0f0e8201c20247c78abf9267915069d6471862c2a0c51ee3ce3153e305
-4a4ec6ea52dcb55df358d1a0d8aafa79fe08ebe4d22e9ecb9d2e50a7f367cded
-7169f84285c482fc1effbde6feea424ecdda2494127c7b896dd05f5e62f5fd1c
-031de960d6ec59954e8405081601df741edd97f227fd426e0998ca7b9b498beb
-4cda9a16715cb699c46d1386469958079ddf5ff174d70338206208f0b9ade386
-03e8dcf31e09f44976c1ad762896a615d9bfe54978b7c3914458c8af4d33dc62
-9f9af5171df3b9e548b24011ec5f02e31dc379582e16f3c999f047b82e7f27f0
-4bfdd827c9a1d19e4230695d4ec499afdb6147146cb6f5a8a26efbd6d0c5f205
-34cb9c37fa4c4b6122f55bacb756173282abd6a2e5219c25b86a5181021f0bac
-6f17f89f3b8f74c281aeea7c1d4ffac602c2364c9e1ec8b0a623bd3541765cf7
-aa5febbb6e857810a564850259ac4ce6d641f7b765dd46584c43c8113c8583f9
-e7763d3f4f83649e12e15557f48dcb0a637140b2f7479f78f1f64bcf8a07acc0
-43b9d9ac1f8b2c3b00c36b46d8e514c998fcd47354b364e8c2434e774ac7098b
-24c3bfadbaab5bdb8ab0a6b9773aea4175615241249a2a58222df8c53c32d01d
-6adc5fb4a933605fff98c7d011266380b305403a79867936156240a5c555105b
-95cec3873530fa6d37e8cfc286118a9618c60d6282412d0ccc5a8e3af47a42ec
-29cee0176d1c4802144619a5bf1cdf9ec5b8d6f87c379c476ab941da24420a86
-04a0b1ad7884b5e05136139afccf0b7101cae4b8f0bfdbe276aad1b95e2c0d57
-3902bfdee651a202b99189cada176a22facd053bbc73af1c90cbda10635798e9
-8de05c338e90b3dc4afb8d29010590b641db4a9ab707294e55e44c97e275b52f
-b88f52a6c7e545cdc73de46da699c8c3d895880368aa035a137fa8686ef4f64e
-09167b9e523312b175a166de5e1297c60db361d9505c12b48c1780a00be2a9a1
-43bc6362c731eb26a61097c62c28d2cc8d75ba3c63e31a49b9cb5b8b7fe1fbbb
-6153bc87b4538ef5cd4919811329ae933d86ef556883323ed5a6db5c98c11b2c
-cc04c4f937289590e5f7ee8d57940f21373a81b8b92eb7ca978c1a07af7b1065
-3e6498a6e2fa734269d61cf0dedd647eddbbe395e1e8190552f9a4332082bee0
-87f28fd6bb19e48de8ad662f41b4a5de657511f2329fe6b541f50ec43be24d5e
-e7336712535ece6a590426e10422d130f4fd8b0fe314c9fe068c6a45835994ae
-7bfda8ae49fab23905e4d8b374fc654f336b36b2080df61abc288b26b9ca7b42
-68e46f120b82cdcb74715e6d09aac096fd117ace3383beaca52aa248cfe307ca
-8930a34b7062fb153d968c93169dd223449ca68765480cfdc5df39be45055d37
-8ba14daa5a4745a9f7b76ab664ef3d5b2fba29c60a06d1a088c05eec6d95c080
-1974ec344b24dfd892db7874e3e9df0fd61ef8f59b525f92f2b374999f923f34
-668e55cc90ff2890107a7528853f44177fa52a071f0ce997ae94b590289411e4
-c0669c936d4b885de8427b60b2f8820bc9d6781bf275a95921d8cf4f55cc8cc7
-73ff7d001f4fc5c41ea1c755ee48c5550677755aee061a3ac85bc0d9c1e5b410
-f38ddb877fef4ad4142c87c42b6fead87f1daa99ee0fbe7e7eee948672373a3f
-7ace2444607921c61cefa7360f3194685acf836165e19395c2b2c9cb5778d9a2
-6f35f91d61e5e4838aa23909b46a899a1e02e27ebfb5368f1080272f6ae9adc5
-44f512191bf17dba3eb22d98b9b934f359fc86c9e451d2d4194632a7db5b1270
-6a58cea47392fa8cc24f6b4ec5d172e9e5601617d8e22e837c0b35b4281364e5
-81757e2fccb98fa88879d7ccc568fa9b183504b491329320c968b5611eb1f337
-a6e50d6faac591da994aa47761865ab84651c328bf259be59bd752f110f89081
-7553823cc67e36721e95f1c4e2e372e020f2b2ffb045aa70ca4dd6d55d88e32d
-c8a17492ef28a44d4a536fca8bd75b3dc392fc296377b2c4743897c32eb65283
-e776e8f8fd97c661c67c3f0d97343af141bf6b77499a13af4605e36d3f4c3fab
-12bc5daa5db1d12dfe5915acf14409e9302b1bbc8c5861948eae329ea31132df
-8494560e564bc16073c7a777fefb30cac6f4b8943c70195289946a60f06d4306
-4536c2740995b7247451c9e1619f7e277af4bcbfff6b68553ae23eef7b179c16
-cab6aae7b6f5fc72e0d7cac34611d1353716580948ba69dc534a3fa592984244
-c1bbd0a6d3f1fc4d9c8ff48e770f5c65be3b5a961e2ab8931e73c8222e6eb481
-86e92906bf2b44fef5a59b460bc88ad1837730515d82c337c349cd087329ffff
-0718e22bd3f09fede7042992a191575008890c5966f1230ab186f019f1794671
-8e619ce8706fd94bf0fb1d6ec22513150c1b9496742a94e048df079bde5d7bf3
-9db82668e5f5453962990f4e3e0245cd2e767c5cf3754c1371bb37bb7e14db75
-a90fcd5de1a7d75748289177ebe65a397762b5b1dbd468e7cbb3fec66a6b3f2e
-8e9a1802bb2cc4506b3ad1632d674f1d54a0c1c08787f274b48d60e9111d8035
-be3af44a3a12e16175ebbafdee5cfce2a9a26cb9826c86207f8ea895e5c2fd66
-216be83f81fa47f39dbaff3789865b1bef63bae463b7d166dfba5e3e9967697d
-f6c91c7dbb765bdb91f4ee5920567a94199416484e75cb6b1c0d1bdd62e831f2
-4b6d7b1009bea14c78ca6b8f1020cb05c9bfd13076d5f335d0b8ae417fa26c75
-d04a28a778d8858e64736fa0a5ba789b58b4d05540ecdf28ee044ea18704076f
-c3c92090d119bc67594021aaa4e89a063ac0e64f2198c5cdb3951c7681ababbf
-6e96666f467a0fdc729efcd2f1d94e193d8fd56802063840696f3eca394c2841
-6b7e6bd4759aaceebdf82bb473d49256e653943469db71794ae96b3d130bf97d
-752a9b3bc4449bb756039609a4f9fcc63c637d8672f2f24dbd49a5f9f5139c54
-23c4a1cba345784f28b7933dd3d2c9938b35e63678b045ec314fd9e9188f1b18
-ca034a26f5d7e2e779cfe4d16560ed2e4f3ac2bf1b5324c6b342e29b5ba3c9e0
-7bf1bff519f91bd9cbd4c198f0b98431d83d7309d0a4b62bcd450d62649e5b41
-335d87c297d288942a637999c2dbdaaaeda4f68d166265a37df001b1a4a5f561
-64a9a7af810851d98af3e01b0e4bbcdf33d3035b98118b48c6452da0caecca10
-228a308a0a3844d57628b2dfd7189f1fd252ea1ce3cbbab7e71329b886cc36ef
-b40f642aa54698e87f4ce8b310f0ee29968ae04de003fbaff84d866e4220b607
-3b3c5fdfef88354a54d4318dd852ffeb9be81630c673e425fd3bb6ddec9f298f
-a9982f8a5859b983bcc09b989f4a71ee4a54d38a220c3ce7491e7d996d8b0e11
-b085acb8f217be35f3eb7fa08bd8ea8c66df8ad00e329ae732ce12801aa8b1a9
-40db1a7b303967c185b90229a1188eeda3a1565dad1c08181fb35ba03667d513
-9f2b6a71dd27e11c7db9a7eced6404cb09250fa0ae2f0fe7fa61147039cb8685
-e7a1566e25b40b1f23ffda5515c107e3487ede0a148f2d8500f102b4f517c956
-87b2e0399387f4a9067ecc725bcb327ba5e98d5c68fb54ac99834146bbd7e91c
-b04d9576bb16e39608c14c25aae446d250b388610b2714757631c18feb700057
-c0022456c9ea28140a150dc6fea0333ecf9c291d95505de3c053c1f957f76a06
-a5e96f792200eb5f1811e86d70c9bf1e0d28da28b8c6042555a27ddd0aa168b0
-0f3c113217d990f6ead0a6ecc4ff4c92c577121d2b1dcbff547c03184360a6b6
-3788919d20302f0c35541b48cb6e926be087b1f7308041dc8cb8f161d8a8bd32
-ecc861efd6ebe16568dd47b82fd1a02200733fef4176a7477185d79e44c128fd
-c54f4f28cee76dcded7399bcfebbfa620a6f5e4df5350fe6005f84541a6e77cd
-97ddcf704455f96435edb3666d9cb57521f35e258eeb2163944c90cbdb3d4a70
-c94b9d3905fff429f16560c6bc44aa27bb481e24d03f29f135eef38d973d12e9
-c251de1d9b976d4d7bb7b4f62dc7a6093d186d240db797432dfb5e71f8fa09d1
-b9b6cbde7b4674bb3f38967091b8b375c0e7dfddc0a206b0d8908707521254a3
-35be48528674c8597822a0a9e9ca84f0b3d2a44ec9deca0db51fa2ef3db16851
-7939ebef52b5af799ff6fe86b0cc459be94187af479e95651233f2515e01ccc9
-57130b01e6e97df375396f8499535a1fcc0dae920db25db41477263a847b578e
-8ac94e59fcb69b97a1ebf8d84e2fab6925bd16077d5a58403539acb40adbb89a
-55623d7e09a8481e71b47416751f01881ece4d94ea9cff6dabb3546ff2cde4cf
-1ba77ecadcd4499637e26c5064a342d71cf50d725c40286ad352bf97e0da521d
-58055ff97c68768b4435db372f0b3d23845d7709ac47b2a965327f62573a8fe9
-e9c5c435ddf12478bcdfde41c0e4303b03949446ec9291c553eebd9add6bfb9a
-45165ce3820af4264dd3b54ac41e4b2df6ede1286973660e37281c7540beb69d
-16a86ae03b8c5ce7ac142585f72a0cba8cfa3c71a54db60d1305790ffbaeee1f
-f31774926a1da96a37574c9a5b66daad0a68adf9f104123941ac4d3342c13bac
-b9b124ec9db917032e3f495107f3cab93d57751e88a5369e27358ecf4f9348ea
-543fb55c0492862ce28cfb1f28e0e5ffaa32df8fdca241db555619583fad76d5
-04ef599f233c424359768f6e8f0cea95774901577277dfd8f90418598e
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F134_0 /MFECUR+NimbusMonL-Regu 1 1
-[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
- /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
- /caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity
- /lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
- /circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal
- /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
- /tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis
- /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
- /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
- /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
- /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
- /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
- /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
- /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
- /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
- /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
- /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
- /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
- /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
-pdfMakeFont
-%%BeginResource: font ZOVMRD+CMMI10
-%!PS-AdobeFont-1.1: CMMI10 1.100
-%%CreationDate: 1996 Jul 23 07:53:57
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.100) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMMI10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.04 def
-/isFixedPitch false def
-end readonly def
-/FontName /ZOVMRD+CMMI10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 45 /arrowhookright put
-dup 58 /period put
-readonly def
-/FontBBox{-32 -250 1048 750}readonly def
-currentdict end
-currentfile eexec
-d9d66f633b846a97b686a97e45a3d0aa0529731c99a784ccbe85b4993b2eebde
-3b12d472b7cf54651ef21185116a69ab1096ed4bad2f646635e019b6417cc77b
-532f85d811c70d1429a19a5307ef63eb5c5e02c89fc6c20f6d9d89e7d91fe470
-b72befda23f5df76be05af4ce93137a219ed8a04a9d7d6fdf37e6b7fcde0d90b
-986423e5960a5d9fbb4c956556e8df90cbfaec476fa36fd9a5c8175c9af513fe
-d919c2ddd26bdc0d99398b9f4d03d5993dfc0930297866e1cd0a319b6b1fd958
-9e394a533a081c36d456a09920001a3d2199583eb9b84b4dee08e3d12939e321
-990cd249827d9648574955f61baaa11263a91b6c3d47a5190165b0c25abf6d3e
-6ec187e4b05182126bb0d0323d943170b795255260f9fd25f2248d04f45dfbfb
-def7ff8b19bfef637b210018ae02572b389b3f76282beb29cc301905d388c721
-59616893e774413f48de0b408bc66dce3fe17cb9f84d205839d58014d6a88823
-d9320ae93af96d97a02c4d5a2bb2b8c7925c4578003959c46e3ce1a2f0eac4bf
-8b9b325e46435bde60bc54d72bc8acb5c0a34413ac87045dc7b84646a324b808
-6fd8e34217213e131c3b1510415ce45420688ed9c1d27890ec68bd7c1235faf9
-1dab3a369dd2fc3be5cf9655c7b7eda7361d7e05e5831b6b8e2eec542a7b38ee
-03be4bac6079d038acb3c7c916279764547c2d51976baba94ba9866d79f13909
-95aa39b0f03103a07cbdf441b8c5669f729020af284b7ff52a29c6255fcaacf1
-74109050fba2602e72593fbcbfc26e726ee4aef97b7632bc4f5f353b5c67fed2
-3ea752a4a57b8f7feff1d7341d895f0a3a0be1d8e3391970457a967eff84f6d8
-47750b1145b8cc5bd96ee7aa99ddc9e06939e383bda41175233d58ad263ebf19
-afc0e2f840512d321166547b306c592b8a01e1fa2564b9a26dac14256414e4c8
-42616728d918c74d13c349f4186ec7b9708b86467425a6fdb3a396562f7ee4d8
-40b43621744cf8a23a6e532649b66c2a0002dd04f8f39618e4f572819dd34837
-b5a08e643fdca1505af6a1fa3ddfd1fa758013caed8acddbbb334d664dff5b53
-95601766777978d01677b8d19e1b10a078432d2884bb42d1f224976325883657
-05acb022d1e9cb556e37af91917c78e98229e3a4dbf03ae741998542977ad6df
-1760fc1f1a479464922afda2cba7961e9da696b71205e19c542c97f25419c43c
-fa1a042ba0cf5622ffbd3e775d0d564135d99b9ffba011eebc4066b003ce2f88
-825936d7393d05d3804601cee9d123120fdf73624a9d4e361a28e998acec53f8
-7a62a0aee33be2e96542534a8af24497d1c377cd7f723767b44857d94c6cda7a
-c3d6f0087fa36655dd2b81eaecb31fe4f4a2fb1ea9fbe8b83d35826ac93fbb4f
-2bee014f41f8f276510cf5ce35c3954e8cafc521d0c3ab80ea8c7fc29427a1d4
-42d6f6c1800919e58de9ae12304d718ad80febbb412da54153469cd51a288628
-ad109baa77981525b3d9b0efe593537fcbb8520d38cccbd5db171a0385a432c1
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F147_0 /ZOVMRD+CMMI10 1 1
-[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/arrowhookright/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/period/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef]
-pdfMakeFont
-%%BeginResource: font ERVBFT+NimbusMonL-Bold
-%!PS-AdobeFont-1.0: NimbusMonL-Bold 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Mono L Bold) readonly def
-/FamilyName (Nimbus Mono L) readonly def
-/Weight (Bold) readonly def
-/ItalicAngle 0.0 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /ERVBFT+NimbusMonL-Bold def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-43 -278 681 871} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b76040d268b80719e1b3f5a55ab7b892ad5e69acacc6c1640eb
-3067bfc64938f41636db8831883bddabc6777dee17f2e84f1d530bc76f51c621
-75ec6b727a82c193d1c0801ac492bbe281b46626bd21f2adbbfd144793ef754a
-ea5f1cda3310e83d78a098160c66d6b0c68d4976898d9dc1a08d01740ac3e7f6
-8d3ce0a7e109104248cb86318400bd82ef894efd9c9456e97055286c144d3efc
-d2625110f1ae76241079bec19939ac962e0ba813359c15b07c74d5e9868e2167
-ea1199d21ca8827cddf1be8357261bd32e79fea6bc475577c5f6848345bce58d
-f5435281572ae6b33b53607ebee6f862d4c752aee43c00cdbfd258c7765b1358
-5d6165ee034e5815de79cc26c4a720607bafa6049710ee3782bc2cd84fe2473f
-1335d20a3b6e9e8355af36673cdbe63c27d4f0e183fedab10031b1ee33b9573a
-2e1961b7c6baa41f7c3ee707fe86071ede5756a00d7b3bf0a21b7c3cf41093cd
-66eccccc22f4534912cb900b08e69574b07f246305dcbc238780278aeb8c9e55
-3d096a944ec7aa9f697f354aa137df90a9547efec1cbd568cb999979f5aec6af
-a84edaee1564d178541cf4631081781608fd38964257cf89b1c8e0120b3f6af0
-793597ad553cee5cccd5c4f09cb0b4e998e6e76243191af7e93833d067833f0e
-53670d7e996ed67cfe6699a6e3815932ad272af4829c2ee08a30d3938c928d1c
-e89af71192ec1247ca233093aafa54ffa58f4aaf3fe9c62302e598f4ff8cc32c
-4d318391f7a36d0d8b416dd36d776b301425cbaf82d520141238781111a14cce
-7927e2af21ef837558002539aaeb170fa7e7e37efd447c37db455d2f08533155
-53f3c5c3be4817680efd0ba3a114db6aaba6c4d0d57b09ef8baad463996718c1
-9d155a62d7ae82eae4c82760c594a6ba3c7ee4290f0d898bb3e404ccaa91fea4
-eaa2146ac6a23f6c5a8aae834a0587d990024bbe8de485c71b916ad96dd66792
-a732a188e6a57c459ebbd7756cfd54770e2a8d81bd4618d916a30ec7084b2492
-5f77ab14169547eedfefb6f03c7d5365cef512df194628d5fbea6cf56d0f5346
-b6b6c1da1dd8d8321b88807b579bb6a0c8f69cd919e311b6ade903b470f4e0a3
-dd5015c6432452ecec048dcd14814e47def4a53c5ca6fa9e91d8a28c719f9348
-509c0e17d632f8cb3f7468bb0e7f7f6525c086dc7efb997a60e059d3d4938489
-23e60f7c67fa6aa8062594f122a48c54aa7c049859928a3dfc72752acad074aa
-416c667fcd176da4d7d31a9f6be6f146d4a9dc78f419fab7c9e6c74d40ea659c
-24098088bea26bf5a725fe56025d1fcf8465ed7103702aef74973f6fb697e645
-e902d65354a44bb3489007c555a6a08bb057eca27c93bfcee9de42e2782fed4d
-664ad7f2d238b7eda1ca4ad473bb9559e11a9f214e258ce1a2a60512975b112b
-336864238a36732c3adacbfd52c85a0dc809ff955f9c81401f72107f3d263999
-a69836d76d228ab4f954b00da07bc4a4e165f2dc5ecd8138cc408ac22217b15d
-8baf04408d4b47e55129b0e596c93d10cd42372292e1ff483868e8510076f7f1
-ed8ead1bdee2b49533f87ddbef2abdcbca432307f7ad0b3c3d4721f3e67e609b
-b06f8b7e66af7c843aa1f71bdadf0f4fb6baac84815c8154a0023cfb68282b4c
-8e24e478f81f8d26ef82d6d0e1da4a65478f4a1f65a7dfb4d1700207850c33f8
-148158a784b452ac6874080039e2259431c05c4522f1d67522e273b443ae9820
-adb5303cd0d839ffd17eb1fc6957159a569f64873b4b3bf99349c486a3af2b20
-b6b9c41263300ab0844d24daf780b4f324eda854d4e210daedc0e34f4b67fca2
-1265ea3764f8f755007b62e9e18e80bd30f3b96124065198c0a5985ba2172550
-8c8eabe77b26df4451f5068956fce111041a7d23f681ff2c1b93344fe688708b
-61a47674c318d078fc4bf79217659987dcd1bda1e1b74068960036c472906152
-cafe4a8a702d271a02c790ea3e440e4f415556ec703a23b7aaf7bc50c5a32f7f
-fee6426433e945c28be038cbe5ee0e7933945f052757d480c58d4d7dc4ab924f
-985e054fd553d1c037beaba29b14e823a4091b08ed602a69d1c3eb0fd63faa93
-36db22e6588d3d2fa727916163030958cc89b3ce99ddeda6190f97e039f9821d
-ab4e4d9a15cb5094041790b995d8950412bbf049bd1d8afeb8bddafc6aef748a
-f2523b8313e13f90f966c134e39d52e10b63e30aadca42bbac5962e4e3f71337
-bc2fd40679beb44e111250352f04cb0404158bad9f74416c94003bd12c88d9e9
-5cac3a3eb575733eb44a3c32946dacdb3405f5b4a2513fdf9e6bb2e6e21c5385
-6c527ccc120eaf95d400847dfc9e6a40806330442e1895b53a6188e57c65b466
-da203785fc322efd64f2e6f66f996bf7ca035bb2117648a8857f1b10469aee10
-dd22d785de27f01f1d725b56b380917004a06afc0046335f97a2ff20ea44f794
-c1dfd6b107549e39247a5cb3f9c37af849e9c5f06214a570113d91ad4e14d9cb
-aadf8ef93a933795c0cbfb7204dc605b4b3b95b9fed0372d8df634f7293298a3
-6aa4abd1f212ecd5d4ac49d467567385f80e163b9464f6554e48ff78d45aa402
-b5ee093a8f96da45504e41bfb1a72f579031efa801690a32f4e248a5f773027d
-da3f3721d4fb481fd1b8e81054aa4a700e9964a87871e01f03fe80ac4215cdf2
-7a4944cf89a893638730631261114f8aab967fe29e280124fa8d51fc94b1c552
-db58e038097172d5f634ceafb877d7caca03436cf6bf40afe4dc99ce08d3605a
-78e2c90ffe766fd3ac0e8b2ab247c3f689a55e350cbe80a9a452bf8666d5710a
-6fbbc45e4690afc625bb7a8a29bc17aa582b6e200bd5123e26b2d445992a3a5f
-7aa128c3f6230588c41c6c456655961b823e65d7471ad16f9aea07c2b3d39c45
-726f023ea4780719a3656ae18670daa3bc084e60fdf2ba1ff0204f285d72d9a8
-269430e406cd36741bb227a1aa28cedf9484689a78dd5495337bde66b5a790fe
-4af761c0b505ff974e4c7f67348eb1887b5b9315a7b3455d3677bc77b61d48ec
-f5ebdc73b25eeaf12a6c896a54b499ba5f2897b7da9465c34561b23e0e740eec
-fc7adf944329e003f5266b94a425f3864b167a34d0b9d259fcd8d741c9dc0fb5
-bffb8c8cef470f923d7962cb5806c67763358a9f6ccf78220f28e45a84b0ff35
-c585c18b19c61b51cbe58007fb852e0a92ed6d704f15ff0f863528db72ea3dd4
-3ea0af466fa5b60ac4490aa5db18a649c442a60b4f824e914915376a127dbe30
-85a3c56ef4233579b756eb62e04fea0a55503f88bfdf011436d9d5088e027c26
-daa8165842a4ddd43fc3ab8dadbb4d53c5ba9a5b51f33d505fe3ed168109f1f3
-9ac5c3357e48cd9e3adccf2daaad831000e27307d6cb2aa6ecf5f92cff39b266
-73b1d3587e029313101a9075ab35de260f23f3d3bab5f7a6134fd07c076dcd99
-7bf2e7c40ff0c0fa1096312b791d638b0038138ed5c578e51309444691c1b182
-8b346fe0286e13e3907beda13044177c788b4948a4dd398aa9fc317665b250a1
-3570a783821db58159b825b14c2a639f62995a049eeeb8904226a8f8e14a7959
-731a74dc4b215d7ec095ebe86a3bf07080cdb0dce6d06fcc2e3a57bb04944f90
-8f395bd65117984c1596303c2781e3997bbfb6ab9f354ebcea7404785d8dfb04
-b19a3a6792807fe5debd6eeec1ba9ba9a37473d6c435bdefd5b2ea9c21d9ec79
-0043b5ad1b0a50f9a24594d00f8fd155681c33df8f0c0b3cd5a4fc275da65dfc
-6c65ed8713956bb94b6281a4f39c8ef72b932adf3f6ecfa697ff7d84f93e7a29
-8fab7b48172e32ba7b3135f4a2501961f4a1c50403fc38c715743b55095ecc1a
-38f11f1475521fa00f950776279e8a377fb4ca4870c8daa4fc67efe4db8e37c0
-d56ad93cd334ebe18dd6d92a3ea48b29e7e76eec5e8aa0db20ad690869053422
-8567c4b72be2093426677988f8ac9f7fcde0dac8bae175066a485f3b1d0c2129
-9e38a93996a0eb7a3357ee43bcdf8749bcfd7e7e0a23c7d9e118c4da7fff5661
-07454fc1ab28a875af7e512b2432256c401ea462d9aeb0a2f97270cf2aa8ec53
-1e5248ad52b1b74a376faaf7772e948f433cea2f0ed4dabec00855a394fedb83
-1daff1d977e9b816ebd27801505dcaa51f9ab531e6c1358b275d3a6ba38f4f4c
-528f2dceea3a404a6362e3cfef9d904b573571a4e634d4852f3b922495af19c3
-c63c736d1e8a5b15cfc4da58f26f22be233b4579377227110f8fe5b0df57b495
-2c14d2011b6215b855c36d901f001e24261089f5edd39f7e5bbb2bf90c6f5c5e
-7ba8928434f52689365ed48123414ead2e00f8860e60afb5f59d2715c4ee2b3b
-2b10399ca1c3f70259c63762f64a5a1cb6b1995030a7d775a04cd77a95436e4b
-c3b1f3d1959ded9f35fdd7fcde9b051245446dcac11fb3d0228ce4c012a2f201
-81ec3dd2aa1bd66ec02c93e4784268f754c9f0eba42d27b755bc58ad00e09e04
-e05fd21ed0c160353d2f5467b5903b4e1d1b8666acce06ada99c063c684d8738
-3d338c579595d1e2ab301c4236183cf2c3be0320ee83cde4ea050160b58787f2
-bad8154825c9b29cc14682e15db5f53aba109799c10f25fa2e54560fdafe6c91
-c246ae56edebe0aa30e152b61fa64e517f6cc41ac7b3c25ecada33e3f6d6ee5f
-562542e0e66d9c07aa9889505d51452cc2ee73e3683e3fabe26f003b87d9fbdc
-a376e85ad9547c23e463fa073429d32ca0e58326385a89106d5b72cde3c00c11
-c5f40d1e8b61e6cb1cc6416e28afa6caa469682ec8365081a21d77a8b1df7167
-6344226bb9a7533c0fdfe153878a3af3088e520b94933d0099c2ff89974bf795
-d871b9e5d40cd7aac72a99f351d824f86d33cc89bd70dd41f1a866657bac3a58
-a4eedf997eb49f8d967e148f381e753d5e67080d2843d44a3585e078615bea47
-6c882773d995f4154fdb773a7d9e29fe46e464e602cd206063c96fc51c30ffed
-cecdfa28a951dd5211acd684ed3efd9feaa5aa98b091aece8681999d7c8ce708
-1c64f09e18e64198b841d7824e03de11101493975ecb1b7d556714725a14bdb4
-5d9237ecf693202198964c1554a04ab3485bbf9ff863441da3511d8fe6363e32
-a38a11f4dc6a1ee18bfa3a1c2c93a90675b0c21959054b17b1af4d533c87ac69
-08d0c344fe817d6817a74fdb46f35d3b48b9128784f43a68d809425c6570c600
-9a76199111e88a1c9802de558332000dbb9d1211929d509af5915b7ae8ea1c3d
-d2598f5007de8e7383f7453fc6a9c0b91c80e9b1742bf6418dca69450785fb73
-12dd228889cfbc3f6711a26022b29f9295ee1ca8459305fbf2b93cb3fff5b6e7
-2b5c1d2c4d453f0b9a53b6f361136b1048b30e7c90e0de8edda423e55ccb2e2e
-ee7b502af2baf30a92af542869b8f26ee28509dc01492095e0c27ccaa30e0db6
-3f02f11dc0ce8a94b8a8a7ef735e4fab04830ef077a8d788b224c184339274fd
-5f7b547b77f81bad985c73b05a79d3c8661a9c2b71c7313d8b9cb50ae03aee95
-2dbf1afc9ddfc00d59e6f99021dffbb66acddaedf48df5462fc528dfdafa5e5b
-a039d6bb9bdd1a78e47684a3c53ca307abd566093c2a4f6b9f0be52d4f1f2758
-ec48370eab4e1e6ab393a23358bae52fed3b270124639dd0a56ca6afce77494b
-34f46433cac90eb63e7e0d25de6c8a0670b14e83d08a531cf2148002f9a6df19
-7f87c989b831c509df23057b3ec569eb5f5f530edd047a53b5b59f483703bdcf
-b578fdc44ca7487e3d39479ca4760457e7018af01116b29bbdf7c3e0f5c07a8f
-7f502c15059d9635b7ce630194962e4183c3838d9401260a743d8ebae1665ce8
-73bcfe5d090a8984e98030fe6b21dbcb49398b6905ec04ed310e37cd069a85d3
-7cd9e3a02dd8e036b2a79192ec036cf7e10653e08928cb8bf4911122d27e195f
-48d3dfaa34122ef2df8e023c9ea1f246af2879f5df632719bf7a91f266d823aa
-caefce067bf74ee0d625cf128c3930ab83521380e0ceb5daa2384da4ab23c34d
-0db8a4acce1a33b6deea3581efe521279147ac1b36e4f6b2c08df2b2dbab051d
-264a250a06ed06aa906c2682ad2ecdccbfd880941bd824d021f086560bfbb359
-e2519a2708a4976f42913465e18872a93cda809a85730a4930ef1e3e733292c8
-06c80c8865645c6a69b128b1333c3ac8c616d3e3a0163aba54c7a51a063fbce1
-4018cabe1b1ebdafaefc27d2b22afc96449cd515cced671baa88d51c5c778bfe
-00208127f1fc35db9c6afe4fc91dd0bb1277181508d7b9868a055025c65394e9
-ab7a95494118d20fbdd7ce0b5f11492df5e8c54c1ce1ecd2e7279e07fe6a62d5
-63d7ffd38f04ba75057cf190319634f57aa246f03f5f904ff952d7b1006d43bc
-ce88d89ade52e861aefad538b644942b6b97e778000de2f2ac2b2280d85a823a
-176d8387ca420a441980d3e866604325917f78572ec9ba14a0944e37480ad3ff
-9c10590c0705840d09c8bb076a5aae81b5e315ca901e262b773143a554360fda
-3dc799fd07482666f47c17d8a5bad6efa53f20707869c5fd40d940a885310cd6
-d5ca9c351731fa69fdf0bfb148e17ac26ff43bfbb38c101867ed95d789ed2b0f
-61820249b398fac0c5eee32032984302eb1804b82bad515d721213732ad43b95
-d4a02e17b22159ca29e300042804b75807782b9bda49255cccf4e35c461ff59b
-65e36f6c6345dbb2e8c2f5445031999c2d8f0444cf4198ac17db48199c3b3fec
-02a130d230aba456406e1070178bdaafc422343ed9edbf471c965d2b891586db
-a34bb2d66f98f716e605799f3800c68000941a52d691640583cce11b94cb5599
-29fd0d5e8a9307831fe15fcd232eb361721d0da9e7ce111ff1ebc256a407372a
-253180e51f1800ffb0313c2c3f3c4fcddd59f824dcd0eaa1e59837487288b558
-7f8e6d27954208fb815ed1d54a36476a95c660751a2ce7d475c72ff1784c363f
-a641595eb92e65d9e7bfe18eeffeddfe82d9f6f0cee37e6a9e60b44939263272
-4816df40ed24551f0d07d813aba49a80bd3560188e5d0170385fd15c34b45465
-3d5d59bf7624ab116452ac28dc9217b11c75a08d68e55b10e9567a9d3d8d5da8
-89116318aff25efab611da69e132ba2ff888d68c84c056544c0fe9137faa8344
-4008487c34ff2c2376558ce20108f76582965fb06c2129e607a0e60889d97fac
-2c71a026299b071ea7f9995a542b7e31efede8a4d341210a37f7b4bb96aa7c31
-c873cc0c3edff7b23d8a22e7e601ffbbab0f671b02ba487cf6b588ebecd26f9b
-b7e8de0cbda870662bcca90716c0ff768a9c7c69c1dcb4086f1e881c6dd5b3f5
-0ac517ca096f28b1c7ac9195f99e44d444017a3bd54a68f4588f0a7562553053
-8bfaf7788a7243c30446213bc987e3383913f24b36b33e4b082e507cae63358c
-9675599f6d746305a417fe8848f37bf85f4535e28ddbc5868dd6dbd3148cdc1f
-2c2d224f00c3af4c1ddbfd88bf79eec76e45ef546cae548825a0bca6bf93b0b1
-373af60a7b24a75079d6645d0908a9f55ed0fe7397100a730a6f4e55678714bd
-90c887e46a2c7703b13b1dda74a819b97abfe6275a24e73901540168737a8b32
-ca1902b7577b8761b3c4a6b60dfad490e35d71c5f35d8ef382fe66433336951d
-e4ee981f980168853438755f135c333b8723d5778e2e3067dc73b7fd99aafbe1
-d5a2d1cf443905fb45730ce8fff14674abded9f94b45756a646b4cb1f789c7e8
-0748f3641a22c01b10adbdc77760c0e2a0b9055c4f9107d935f5c2fb2fdd2845
-6d6d2d2096e4baf14bcc8d716adf053bfe40845f02c0d18fccc453f3f8e45458
-69f802f506ca21d0fab24d7f3d6d6c219637a2dcbc58614c1456a9c6b0b0f57d
-09cce675fff4f626b1b68c0a63fb9a16145d58176cf27ff5d3513dbec6014f3a
-2b5de7ce69c8ac2fc184bad23950b28cf0414801764967ff97022cd4865d994e
-585ff2c992d480de31f549f26a18e4721133f3d88316976bdae41431d44ec8d7
-4eacb29aeb132ff49e3c646ef025eb541dcc54f38b8aeb562887ed6cdd07ffa6
-cf3b2f89e4b0fbb5226702068b8043b6e2f284e4350c97a7498e6440bc3c8d2d
-27d8aa1eac980e960613180ae4224624b2c6f92ed4666e391ae5e159c0ce207a
-7433e462cd92aeb67eb89fdcd20e46f17f3d15ee679c064176a2db0ad5c38eed
-7595cf6ab9750fca76e8e5ea2443b9d13da375ca2a2dc87fbd3d81ed58e366ef
-94952cbd918134ea08f90516854207a2fd92799c410ed1fb6a9c36877d0b777e
-ef59b03f19bc6b8fda91ab8ae21c89d117825a1595466da10f20b86d6d223cdb
-6976312c7fb7bffb58feadfcd019bacedce96ec239b5a799005e94bdefb9ec40
-e717a597326b5330f38fbf708d002c9eb8d8ea0834241a35e3a07a58a030e678
-5812bb5de1cb511426cf49ff39647db65d8a7f2f87ca5e903eb1478984abcc17
-c7ee0b1f7d1e9e3b81c663abcce77a90f1cff1b01f116d2995e65cba0b3f1a3e
-80079ece2fc25e0f5cf24507c99e5b6e87a417cdf29a1a8c58aa747afa962c25
-14671fbe467e22931a723a236aedff5676acde6ee71dc9eec11301af96927274
-a732813a49a473edb7e9886b6c45605681a563f32745d60cb4a26a7064406756
-c9add724e9b400097377258e81cfe085b1abdb3a00354353b50c9bd11a6e655a
-d264a203708f739a46e4322a1a8204e32ae385d4f7694d6ad63f975986ffd869
-355b7ea9c0feef8f6d7bcce3128a0e45853de0a5f442bb805166c7906c9f1023
-df70bca683907a0bbc11249670f81c522441aa6fc4e7889a38d15ead8cad4ccf
-e95ff5438d0edc450e6399f0228ea318dc2979e7e5a36eb76f9d81061ec8c615
-217d9dc7a1d0924dd953ad2b741e48357953d43186da75f340c58b7d2a6c7eaa
-3038fa4b66b0ccea51af9610e5558d82bf79a301d73d57b6feaef32d6f19e801
-e37a3c1ea341bee088e322faf9ab5ab1934b70f894853984abd5f34c4d3fea05
-5ab4fc70179cc9f1379f98b3d1f529f3c2aa4ae63b8d2bfd46afdbcda8ea11be
-f32c93eb4d435fc37486a1cbaadc3c98de581ebad18f35175d7b3e67c9194d5b
-bb3cd1918e86daacb86055a548fab07ce7c933bd984eb713405d2b3f48124432
-a88e10b97f7be3a270405594d3e06c17b47719e2678f0f069ff1abfe7d3672d7
-6a748a9e277ffdd25f5477d0c9d60d7e8da9e0ef30e5fd6c70d47d31637bc0cd
-4d67f5ed2b103889a61fd11075aabce9f2517ec9b53d7db5b27790d9bb1e19c3
-d7c3a7e1b95516ee38062d4ea759151e4de0449e6aae79500c42b4efe4936d0d
-000fb3391330c035d9d6b9e25671f9ac599a40c37b2439c06fdfd988abcbaf77
-0e42d324e8ca78613f35ea64aa88c3c43e51cebe8ed1067cad94ea0387783e03
-e76af474f739b9249d1e95eef85ab528e8cd2da99e33c7ef0ee9df694db43f3d
-fe467e6fd1b5291ecbf6b1ac7a25c002dee8be0727ec5439715bfd8f854843ea
-1d080677f64889d70165f1bad110a8baf3885629f8ddbc3d3b09c57dea28b4f6
-7a3c042ce64d636d0bdef920ab5ef9544f52ad533837867c4930fd4dd3213e18
-ae2ca622e0e218b1bd54bd60e01d4cddfc2e9b64c6c99e79ab2c3e52cbefa598
-434213d475b6292190b89be95b3c6660133e1b498bd7ff2fd14aab2aca0dffaf
-62d9df30c19ca0e949007dcf8453e70e60a519674d305523d33bfc3119037236
-19cc4ab1707db2c4984c6d4fb4310932e9ede7808cfc7d343a7fda08068966d4
-7877d7de7c0f5ffbfaae5666be3bdb48de31c5ab6bcfa7d35816e5862bc4a13c
-ecf2355935040fac37141f7bef7e58f7b025e187df3950edfd6cea20d0649071
-442b2916ebce5f4d3ce055efdabf1c2dc348ac0ae6777f679e2f62a0a3ee9124
-7fc855bfc6f0c337a74c44ea1f5dd32ce6183a4c80a6b967861f6101c28b72da
-d6aa1128f196627e24179c18f384e27cf7f81f43138381d177f93f8082cc9d56
-1b3c99f1bea073a1a81f8bcea131e3587b397937c4029d486fe6842a709558f7
-43cd16c8f0a5e4fbb3e522663b82e2544a6fecefd3d8a2b222301fd4988c0136
-859e86087fad63292bc4187412731a966710ca9ccb86329560d64be31ca4b526
-82245c1a487046ad21dd9a270e3fae72fecdcf9608784f649a25474034ac744d
-44e14e72d02ff17b2252aa5273de3ba3cd71a95070a9fed0dff80653b3d346c7
-56119529e5bcb6011d341e368827cddf22d4f99f1781829df808507e2b4ceb13
-211b08f55444e75a005639a20c33706f8985f3308c08f77e72dbfbe049ae8177
-c2da2e62eb58f0fbb369f5bab0fff49f9d4765f931fe66f8aa107d8116becdfb
-466d282527bab6fa29721678837cb46d60148a7fd9cae63d6aa634d23ee21161
-ef9e834520f367903a65bef7996ab77d37ba97aeb2a7a8c3502aac988e7a0430
-9d67a06db4a90714fd1a933402df0830026920bf1f71cb0379bda8714415c9bc
-e7795fa4ebc37e819b3d8ee65375bfdd6b36bda41b7791864389e9b589919ee6
-2872bac2e221b28150d3024a984033899e5372ab474b9b4494f7bb4331b6213e
-7953565f35d2ea6da212956dab01571cbeeef86293c58a259860e294f69730e6
-f141680cf75d40e829f9679e98341fd1e0817cb8e40cd6c4fa691ac691fb59df
-b78e87add951eac41ad1b4f4fa45d2e346e0fa73157a7d2b2df89ea56a80e885
-9e0d0331d216db4f1b95d662bad40e472f21bbe05576ce4a2d27af01880f438a
-30c17bc65fb460ac1b3e01aa43aa3677ba05a437fcca3ce4c2864d99c701d79e
-3a199dbc7e2f00be8d4347f96b61ba0f88e90b49d412d0ed162e82715ea04c27
-af3feb0a7b3e4dd17c875a51e9bbed3c9e10eaabeec0f029d94fa90d60605b52
-2dcff539fbc323e7f0e1cbfc1a192a44345efc070bd5d5939d9f4383897704f0
-e785126abd9f582f1afe88a727784afdac3dca49892c6beb52cb1adee18034e8
-e88a441890175575951fd87594b63751e69165496d566bd23c8db4b9239bbaa9
-ef5058f5b51c74cf70632f88f1a05e1b40078c183ea8433427f63a5f68a1b81c
-bd46625b8ba2cf713c001cca4c74a186f93aaa3869a517dd64f1e81c71823239
-1934faea604cf4d9ddf974fb09c5786bde05978bb25209b5c7648602dd62c32c
-61ec4b5ce1177185354dd5cdf15540121b6d82457ff3111db1aab1889fb0e3c8
-38cbc7a671ba16a4bc567d9cdd427205e8f4de7edc64c00bb6080071130b43d3
-6e7919a5b7c29c68ac505ff107d1e2ab66a3417612ba2f461548f1e72c702a19
-7a6311dae649e46768d85d759281429b97a35379b84c763d35cfd434a4e3bbb8
-4c6e5ee8dff3a7449bec14c785bce1d4c617217ee6315fda000f0c54d1054e80
-c8f9f452daaa465f633ffc3eeda9c76e7a77024eaf39bd5bc9562fa44f3da9ae
-7e665a33bd22aae6dbc1d9efab63741e30775eeffb819ff933342c8e6b978f8a
-2aa20c2f2810072c4f2437e7cc13861002ab6d5ee84a6f80549683a34da3cec9
-e3471d112332ea260153836fa24e22eec0cdb0a5b3b0773cfd237daa67c55aa4
-cbf1cc30f43183a93bf7d7068ead32ac8064bb1f0a8bb61cf5472bcab360cf71
-b61c3443eae4f1ec7fc0d883559f8a2ff2522dcd7dad5f395e9ab2454cca6dad
-07bb58bdeb1e54f75816dabea8d170974909b2fad53f9a69d97eb11ff20c6aef
-eb6d76e9fa93c317115602db90359be638da383d9e01f6bdacb5ac5bd7c77d42
-d80646ace9f2384774610f63f97d70c4e81a2871be0a5b028c88afd82a3b6376
-5d5064a6786a829a6e6320120395b1541bfd6e3ec182d50982d7bec4140f146a
-06890a79b85a6f20f9bf616f5f56e02752c5d177a48aa2f8ecb67e42e2314850
-d2109c0965a55d1e0f470371443991f9b8859ac70bd6f049dbf57ccc8e2e3c67
-eb8d1b4f36c660746008460ebc0f7284c802925206b968477a503dfa6879794e
-7ed82fcc58443fa1d95fd561bc9d3a2ccb2bfa19916d8a88e6f7eff0ce0a7d4d
-90c77f63bc75f3368f7a97dea9d9392e3f499ae4b8e53602636cd53ebdb42213
-c2668a3c618a76f6f5a96fc33c0e41ef620a63e3c52512c66b59f810c6b85923
-d81ff8618f42ee19b10d4d088bd6b784e4f9bd6bffe083161181b2f79b374fd4
-b846650d4b95b6c3e58449d8f0a201aec72d87588c54fbb3112045040109a3d2
-d98c778ed3fe07f54010773b628baf29ad3b91072fbdef7cde0b969d0b695bf2
-5d386c6b8647bfd55c169374c57d5bd8fb29af5c5a6718d7cee318a06ad35d96
-fbf879929e28bd43b583aff2769688e087b00ea95b28629a71c6ea847f988357
-da9e23422fe2ebc4c33f183679233e0d1d8150ec58ca6ca0bda2a529e6f6d146
-92010b1eda6360aac940ed23410455209383b68c3a1fd68a0ef92d16cd4deda9
-9dbedb1ce18a79817fb3d043f919f1b98c62ecc70dc27886b258428ae2d1075e
-ef8c1225f96be5ee3c1b4e127d26bc2abc6d457333a0d5cce99dff00f3f41e0b
-a9fd7bac9e96691cd316abe913a6edf95c6c5d37086cf3cb960b82684ce473ed
-574fd8c6ca059bd679441c22e6c39376d3a33c8011361c834bbd7b87c345a9f0
-c6cc1328b5af926f763bebc13be92238da171124de119a097d65e5d623cbf157
-a4e93e250a6bc34bc54feb2889da3f5993eff0bf38ef6e440d0bdb405746aa70
-4e5de570b0347d52b25ae9e0ffd758b8d6da1a57e47289a26d0ed30e31474273
-c2315c74a39e6b26f558dec140d384cd3bbd7246bf46a0f7becce45fe0c343ce
-78016204e814dccc58061d48ffc808423452985b12d28c94eaba89eda793f7b2
-8d9fde11f30434bdf73c48484a814ebe541f4e6eb817de43146ae4e04fa7129a
-ec0e4b92ae22a1d2344375f68314d839aade59c4ac1d556538fd7a9f7ee9a139
-f3620952c6c45f7181a6448a807a1bf62cb59f440199297cbc8a360d0168c153
-7c6b3ba56dd0f7f104271138846a6f305f2c8a7536512c54a1c46232606a6649
-81a8083d59a4b5e8ca2cd0b70dd0b44bef1c2ae9ebcbaeecbc7c4bfb2ce309f7
-830ba06f3c8e79fddf737451a67d8c4425c51e11f832d99198c16dee864b4c9a
-e48863f5a3cd0e6f3c5b31a6bff527bce260aefbc40b1d8065d2f88f97dd9ff4
-8b21d069ae8cebaa511f0d00c1da76207821859bb191d5f9261adff3e6417788
-5b493db49420f472496a8207d3f2d64fa3304de0e78d6259a626d8fdf81c51d0
-f81ef8c619507f0544ebd3aa8d1f200a5ce240a1171441438d6bbb19c0850bdf
-4a0147baf4787513752e4e052a09d6b94bec96107e64f6b2692bedf2a38863e1
-15ac2564c0eb10fb923ef3d505f750bfb6407856406cc92e9b2a3a810fb49ef8
-e8f445c2e32b30d352fba6fe345c8af241307e76c13ed376554b857b23f2b10e
-9f4f1d6b25ee850d744332fb73349790426bc3adf811998f84f4721247ed9dc2
-cb33d343ed9fcbdd001d97708408a4885ef05908333546167859788124f50eaf
-7f9cd5b7a9f4a77b2337f51569fe3fb45e41dc50394ec963851fef76ed67592c
-bac68e378043d77137974cb61772228d63d46d92821662203dcc0dd1db375bd6
-95c9153c7226202ee545aa36b0bfba49bba59e918e3bcad377cb461d52442b9c
-d159764090efaa0a887a12b0c9884d4eb0cbae8b2b5fe1d68b8b13abcde73223
-234063907a8012134dc42337f131ce012a98e582fcc50c9507c1f87b83d62dfc
-bb951dd48c3fb078aaebfa25ae1908f87d97915d86bea53e23c2c4fd426210cb
-a517ee3681183d327a5ab42c02977c3221213e76ed5f986ad6bcc14f50651367
-f142a4dc6379213974fb90a7be
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F392_0 /ERVBFT+NimbusMonL-Bold 1 1
-[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
- /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
- /caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity
- /lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
- /circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal
- /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
- /tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis
- /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
- /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
- /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
- /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
- /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
- /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
- /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
- /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
- /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
- /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
- /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
- /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
-pdfMakeFont
-%%BeginResource: font BZXIEB+CMSY10
-%!PS-AdobeFont-1.1: CMSY10 1.0
-%%CreationDate: 1991 Aug 15 07:20:57
-% Copyright (C) 1997 American Mathematical Society. All Rights Reserved.
-11 dict begin
-/FontInfo 7 dict dup begin
-/version (1.0) readonly def
-/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def
-/FullName (CMSY10) readonly def
-/FamilyName (Computer Modern) readonly def
-/Weight (Medium) readonly def
-/ItalicAngle -14.035 def
-/isFixedPitch false def
-end readonly def
-/FontName /BZXIEB+CMSY10 def
-/PaintType 0 def
-/FontType 1 def
-/FontMatrix [0.001 0 0 0.001 0 0] readonly def
-/Encoding 256 array
-0 1 255 {1 index exch /.notdef put} for
-dup 32 /arrowleft put
-readonly def
-/FontBBox{-29 -960 1116 775}readonly def
-currentdict end
-currentfile eexec
-d9d66f633b846a97b686a97e45a3d0aa052f09f9c8ade9d907c058b87e9b6964
-7d53359e51216774a4eaa1e2b58ec3176bd1184a633b951372b4198d4e8c5ef4
-a213acb58aa0a658908035bf2ed8531779838a960dfe2b27ea49c37156989c85
-e21b3abf72e39a89232cd9f4237fc80c9e64e8425aa3bef7ded60b122a52922a
-221a37d9a807dd01161779dde7d31ff2b87f97c73d63eecdda4c49501773468a
-27d1663e0b62f461f6e40a5d6676d1d12b51e641c1d4e8e2771864fc104f8cbf
-5b78ec1d88228725f1c453a678f58a7e1b7bd7ca700717d288eb8da1f57c4f09
-0abf1d42c5ddd0c384c7e22f8f8047be1d4c1cc8e33368fb1ac82b4e96146730
-de3302b2e6b819cb6ae455b1af3187ffe8071aa57ef8a6616b9cb7941d44ec7a
-71a7bb3df755178d7d2e4bb69859efa4bbc30bd6bb1531133fd4d9438ff99f09
-4ecc068a324d75b5f696b8688eeb2f17e5ed34ccd6d047a4e3806d000c199d7c
-515db70a8d4f6146fe068dc1e5de8bc5703711da090312ba3fc00a08c453c609
-c627a8bd98d9e826f964721e92bbdc978e88eea0a9c14802ebcc41f810428fa8
-b9972032a01769a7c72d1a65276f414deedaf1d22be23f4705bf5ef31b6a3b69
-0c896320f09e9875b50220a5bdbbd57c041b5ea97f421685a7256b0d9755edbe
-d05190dabf1c3dbf558258163c8231d89167a816bba55fb1f14ad04320ae381d
-f783a9eacee8ae5c1838775fe2380bdd1f3afcccc96d2a2dfc999b52a6689c51
-af82b8d63205b339103134dac7e3c45e6693940276041bb07ebdb9b729e8ef0d
-ee8bf450fa42551be65217fea902e28decc09580b504f0f52f1e8fc5ce7ac28d
-c4e47f908fdaeba23827a97a0aa741aa7708f7bbfec6fa69cc4f7c3bd4
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F564_0 /BZXIEB+CMSY10 1 1
-[ /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /arrowleft/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
- /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef]
-pdfMakeFont
-%%BeginResource: font WWWUTU+NimbusRomNo9L-ReguItal
-%!PS-AdobeFont-1.0: NimbusRomNo9L-ReguItal 1.05
-%%CreationDate: Wed Dec 22 1999
-% Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development
-% (URW)++,Copyright 1999 by (URW)++ Design & Development
-% See the file COPYING (GNU General Public License) for license conditions.
-% As a special exception, permission is granted to include this font
-% program in a Postscript or PDF file that consists of a document that
-% contains text to be displayed or printed using this font, regardless
-% of the conditions or license applying to the document itself.
-12 dict begin
-/FontInfo 10 dict dup begin
-/version (1.05) readonly def
-/Notice ((URW)++,Copyright 1999 by (URW)++ Design & Development. See the file COPYING (GNU General Public License) for license conditions. As a special exception, permission is granted to include this font program in a Postscript or PDF file that consists of a document that contains text to be displayed or printed using this font, regardless of the conditions or license applying to the document itself.) readonly def
-/Copyright (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development) readonly def
-/FullName (Nimbus Roman No9 L Regular Italic) readonly def
-/FamilyName (Nimbus Roman No9 L) readonly def
-/Weight (Regular) readonly def
-/ItalicAngle -15.5 def
-/isFixedPitch false def
-/UnderlinePosition -100 def
-/UnderlineThickness 50 def
-end readonly def
-/FontName /WWWUTU+NimbusRomNo9L-ReguItal def
-/PaintType 0 def
-/WMode 0 def
-/FontBBox {-169 -270 1010 924} readonly def
-/FontType 1 def
-/FontMatrix [0.001 0.0 0.0 0.001 0.0 0.0] readonly def
-/Encoding StandardEncoding def
-currentdict end
-currentfile eexec
-d9d66f633b846a989b9974b0179fc6cc445bc2c03103c68570a7b354a4a280ae
-6fbf7f9888e039ab60fcaf852eb4ce3afeb979d5ea70fde44a2ae5c8c0166c27
-bf9665eea11c7d2329c1a211dd26bb372be5822f5ea70d99eb578c7befd44cdf
-045a363056e5e1cc51525ea6fc061dcebb337208eff729802376a2801424f670
-0e7e6397b28f15bc10b40012b0a3eaeb2693e8f7f627c4c9c7c6c5bff105c1e4
-1b2b9e8f09253b76040d268b80719e1b3f5a55ab7b8e134d4cb5abced39ac635
-da001e9934c198a7f9b9ed0028a85e9ae00421dfd8eaa3bb3b4b4ce45d209303
-237bd51809fe4d880900b1eeb236aca87b9ff6ebe6b994a60af5d67ccc42bd56
-77295c346eb4c62bdc1ef22ee07daad928dfb73455f091f32408ed6430b97417
-683af27a03718a156e3f6e7b6e4f2e8177503cd82ddbf4557a3ccff4c858ae7a
-f7efed6cc521a28342436b953e4650b5792be85ea2f989eb6d986905a61fa38b
-96e1bbc830b74469150fb0b598a794fd80d10870084a877273a9502c3456e5ef
-74350e6e3be5863e8ba185eb59fb87b36566af71200b6ed389d1287d4e925e33
-b2383ed05d87d48586e698fbc5d562ed9d8a09ec3eaa1b1f300224af20c23f26
-a2eadc74562571da84b3914d1d80b127c6ff4706c7046bbb372a0013e0ab94f0
-c27946583871d272bf4f20fa84e89d745de7bba885cc09ba72e0f530ed4ef7d1
-864b3c67007ed98800284235372f0a70c912e21e851afbf812165b8df912cd1a
-013e271f0b347967876c68ae4c4107ef8ad1f170916210034c66394a9d971b68
-fbfc1131e37fc178eb97c1b2a0f573add9d7c0bf944e6529734df8a7ef54485b
-a3375cc30e9e328943733cbd352bc15b06c85bfb4a96994291c72a0eae84fb01
-0f1b24d0125fb8c16d60561df8bb7aa7ddfe9549afb70c1e89424214609fde41
-9a142892e30f02754fd234ceb3c59a2a04c06bab7ae40e8fdec50559b8347684
-391c750987802d5452c47c1e0b5f222de9a0eeafee19d796ff375a1e1ef0aeed
-1bcac4f485fcaee18aec585d1a9d80f41871dda45fef1eae82c5893118987beb
-4d9e345c27c7419fe65e4853b40537d822e34ff1e0bd2819d21ef607981259e8
-9f1040a2d708d7463858aa5381759ac49df4dddeb209a278fe60bd2508aca0f4
-6a249a05b652e4c7bf1b676943cdc4602910fa3ea7636985a10f637832a5abab
-9c7a580d605929d6d7154506217252a755beb8462d30a798ffa9b26e500eab24
-7e9fd612c776ae60423995dc1852686cb041e66357a9acd4b6a4e9846b1dc803
-23dab6b7765205d82b50cc6394e725c19df00f7db427341d514047e4bc594efb
-a262eb2c414e43d8acc9cb195d12f3b2a9748f38edb3ac3447d27d20d1e62bbe
-22f6378e508f0cd6f17ef1c500407f6d442e92ef2e00b8de78660d87fd1c7209
-ea67cdb37076e1eaaed128814a948e27e1f2fa81fe54be6c57ef8c2b2e460f08
-6ff1bb529c9100b1d878dc9a077d21805e89d8b0fbc2a074e4b55a869c96fca7
-8117347b9cfa480ff4a37b34b040a99fba99942bd86ce4b46ff5c69babca7a3a
-f5018da05556bff71ecc844b2b718598f0825cda3d19d714fb66472621113ad7
-bb240de7dfbd1f17ffd8f2ef4b85a8eb6e1bfdf26c7f98168197c02c4aa535c2
-0f9ef9b7cb7f1d174b2e94953f541c3b84d43366e0e00a028b98f990b4d01515
-3ccc2e1853473bb9b25857e4b8f9d6695ef332bd3baa9ee551a4b142defb7f03
-97cd075ef9cd41082ccbf63e849c48835e105923e725d41d2b5ee0c3f03a603a
-161713216af97bd21aa87e3a80d75383603152011530b8abd2294d041e90a040
-f61baf86be97f8daa8326eb1a2b4511425785f35f75835683515af6cd0e73194
-2b25d5fa8c7e12ccde33aa193d61a35eba7f7e101843e35dfdf3e07a1442b0eb
-f2a9084634736a21128843df49c84b1061d0826777a754076c4c3d0a68b32dba
-ed4b5c0746ddecdd79fbcc7a4425eddaa7f49257148f05ff52ff6bac71cb65ca
-8ad5869cc9fd7c4c194ae8d5d20a730a035234d8f9a6363e7a49fc22bbd34d08
-eb7fd43a678be52b95eccf029a6b18a512d30ceb0b6adf80ff1232dfda1a5752
-b5222edd9012b45cf0df0644b2e713afef21255a08232efbd5d5f7506bfd050a
-f0daf55b5db595d29361f8253c26c37e09b4f87056edd8c90e0df4fc74072541
-8ad8ccea562e4ce72acc8e9f39284fca274c572ffec24ba30ef9db07054965bd
-2205d717c9b3b0723061cd74ec688b915ab6689904d5762629c891f2fc0cdfb1
-8d8a4d2260dc93d7ac1107b197d7e8418bbacfc660d888697296b7cc6581024c
-e583b0114ffe3b3a960d601ff23c0f633e2b85300042f717c4718c0547fd9b19
-e74d0e18f6908e4528065888c136dc8767b74025ef5faf470a272f57f548d738
-c5d2ff6def4366c1c08e0b09855e04ec3bbd8cb6b770f638ac7d852b7b2250f6
-cfbb5669c9112fbf73546a9c1e968a1e1a06128efee6422e41df1519c7346635
-31fea419bba8067c6d0e964143a0906762197b8de95502ae9bb54ced17de5ce8
-9d628716bf1e306aad09bd7f8cb2b7dae5bfa9ef53e716d5aa2ca014eae837c6
-c0f2d5f535ae93682e855b1bdd6ce955627284a4712f67c1d6de9f80d4dda43a
-9fe34fe4fab544459a1dfa0d1383c50bb3e6c3df078acb88db37ecb38aaabbb3
-cc59d3fbe6a84f1f9521b6e05d0a0b2e0fceae8eeea4f41976945501f32bb383
-455467d21777796688e57ae9b7b392d167b63bfdc1102565649b53694f1eb3e8
-5ec2f094ab06d427b5e1e7412b3369336c766a7fc778190dd5aeebef9b6a034e
-133314cb512667f1a4eef90a1251ca9e8aaf7966ec96004c09c4dfacbb0d4c45
-60d8df4183d3598fb9584a4433c9131f8602474f27e4916b43de80ed1d02f6e4
-d208b014c0a44d94ef709930eca646b2f07d8358d48d0a768b6f13492e3cb877
-fe38c58a7f5468af52ffc11b8c02bd91484cdc022abe678a7f2e298a7fad967a
-2ea7dc427e6ac154766ca4ae15fd414a76064823f3145724184e30ec4f1494c8
-78f7f63edea60daf2448de8a79801ecfd86a06ef122451dd2380bb1a4256a7ea
-806d131e66d5a6e3079f7c2d7c143e2879f5316ffebb1bfa166a088b8fa9cb7f
-4a5f0875a8ff5d378e9e8205c6155ea85756475ca5149eb72643b4ae1f907c0c
-fc8f63150cdc6209b1951af23ff68188360939501770eac39ed55dadc4dfb1c5
-b2ef39c93d0326a804f62e8f187a224444098835ff670ad55b49f3cd0aba2901
-293ae04427916ee14c81f4044a05d9c8ad14ad4b5567e8e0147780a0bd294c5a
-10a50a5cc7656f901588419108d2570e804a5e590004008776c8cf20b56d5ef1
-fa32538c480bcc1955321f954008871ba180177dea952fefec536f6522582647
-bc205dd139a18d2a41956baa4b002169cf042ab2ebf91ff203dc2e2559171910
-2119e94673a275d73f3909d0834b170e2b62beedcca27afb44a35ac51dcb5719
-82706f101b216b4af3523974378a05c327702b132335ff288adf62578f30cdcc
-cf826898361bd49238f368ae2182fbb631e375e903ed9efb911a047119b40830
-a39909494e86aee21694223df1a57ac8e5b4f0465d0868939ac77ccb448d3f58
-36631cebdc06bf2865c58437568cd734efbfa870214853232ccb48cc57c8c32e
-97cdeb89cf5e0c032e81de377b368f7d57187f0828675a52382d41de6cd9fb52
-2a1ccfde3192c650fcd7d1f86db03c401e6eebd0d40bf23c10e021ed66bc5b7c
-ae57d0905bd24925c8573f069139883bbde13df3ae05bec1771eddb9b003555f
-9d69657ac718c065a32ef7ca8a1ff5880fc66196e8123050a47ebe4dd5c1a4a7
-40ce1cf340bf08021fceef8172d9cdeb063f4e4c2205ae4503c71aec1836f9bf
-96ccd0a712e33407446ceab96221d7b3f4342fc74aafa802481acecee7243807
-390b2d12c844193560738e576d27b0f5a90b25e1b5a27de8a2c74b3303526191
-5ee0251065475f26bf0bbca5549f13e1357797a5728b46ba9570c095d938112c
-b3ba212c26cd6bb569ea276e1d8397569f8d4c78528490187a172d2e30dd0228
-d69fdaa25fbdb477c88d52f0ba137280d68656036c17b8852b03c21621d0b21c
-6c016f18cacfa9a998e972f40eda07278da54fe5119babf0145d6824f051cd63
-91bc93472f780f00e261dc74d6673da37d8d9291e25af279829f8d47bb524c19
-8b598ce1c576ac8542b5ead99b039ac2996a6d791a22a5d5bb0fa3eb65d1fa01
-401d5c7d44a9cfe082e9314ada6f4ac8ecea5be8e5a1cb6a1dba1c615e69ec9b
-0f231b64ac31c545859f0195bb9b403121df7be1ea1488b413825d8e1d7afbfc
-e5a8e1e52d9c3ea6de3ce75d013cb7396e825bac3a50d0bffd2d30c6f1c5dc0d
-83c1b68dd8b6042382285812093db4c5d7f6eaa8a4acbeba794f63610456a641
-42fdfd0c4c5f0c4486a6170b7701ca64cd1408f686fbd2afb56ba307722b2bba
-c542123f766171b43aae5ac053094a04ac4faa3cbdadcec81ab5aaac58d3a7b7
-1dbedcfe63d062b11dbcacefea89c6f8916389d3f7d93da89ebd8c37414c7db6
-d6512a4e8c76145ac170faf136a023b3c31cbae9775e436d6cb2835b77b56458
-6905d558a3cfab0f1f3426557a66bf775292df056cfaaca8c087b4c0bcc2aae1
-fa49f346602384f743be6b1aa26134ba2872366c17f1dd356221838a40be3a4d
-0b8502a964d360ea9bc58e4ffbf283c8294679197faf5d23aad1c89c3da84902
-c95619fa0ab76ca0c7ae725a1c5d9c40e84cc84eba8fc95361f3a738ddbcb593
-b3110db2f69ecf9da21d788d36a1bf986e2dd78c9e62f643e6677f80991f90a0
-8bd35484fc4aef3243bc3b460f57bf6f0a503b57f84723738e1b94c3029520c1
-f8d787f99305ef87fe64293b5fbf0a378306459c022f4127f2e2207ba818aac4
-1c860b70833b92cb7228ab2c8f68d03b6ecb67d4f83cb160c170298e1bff339f
-306505ea4fe86929f115b3c55c7fbdb7f09eb38f7c8ca86c9c89d9b92dae37a9
-5839a181e6e55835da3e81c8846980ec5c16646a31bbffe54a8505e005c9200c
-cb2b476083d7e55e63648146e8e615d349ed779b787232605beb38346e3578bf
-d043797edc00f6df91c9a02958ea01f55f00d576c8a8d236e81b59eaf96bdfe3
-4de4125a3893acea97aa8d6373b736d4cc0166095bbb75b7341f06d8e3fb732a
-5539fa8a27abc1d82f1a86a76870450fdebbe889dd048cbf2f184dcca5377649
-9ca0053aa9a88ab4d6f279f8a3ba704ed057dc2a361d07e5af6c9c8ce4b08c05
-d06635afce1cd7fb1288df9ca1f9a556d1a120691297d8134214da14db45cdbf
-5545abb75134d45257b1e373eaf23fb600370cf8e7de02e7211639b11f8fa0d5
-6627c5718f554ca3351ac95c04dbe894e20692065af2c7a9e239449df4a65917
-2e0fa2bd3ebffbffd9093569851a31db46c8c30c1fb8339a7f742a2c89212831
-15459844298972b8b06e2c699d6acaaf331a023047e5b2041fc39d830b0851a5
-8ef1e329b688034f9c91927cbaae2ec2c84f8502127055ade448d6dd7eea3aae
-392dce03347141b3b85f3018b3396b9fb1e4a59c50d9e8b82610088575eec663
-5686e7234e72e4690ce386fcf9d16b54c9c692e9324427dee7e096b6d4c45501
-da2d0eda66a1f29e90c00fd2c62ae43a97f611794c4704d179ce0bd63ffc4f50
-ab3ca7086bf942283fb0d175888a13e5278aaaa25a26e3df4fbf13e64519ad94
-44af171207f3f89b369ccd6162c0ba1320d30d3a596d9f58976f94434c1fb773
-e70be87528a9bd5fb7e494e6cdba0a3cabab8dc2073ea7f5b956bf5d5ca1b258
-25a73e0824ce8d00f4c945c0afdc4b57f7c0162a14b30154b61ab030a73679af
-d43e322a04fc7b3c814f3b2d07585eae6a5254b43bc836c6000bf23a56fbfbfe
-8478f1cd00150ee39f0aad2c7ae3313b8d619b84ddd8cd3878a4b306950873da
-9a592f520b7d7e0cf9b9c97d35139eef9c329763869e64d89a52fed016e1cd40
-4497359d9d4d6bb70222418282cd9ed7f12c16cc1aa6b3eea9c812b7c3910209
-2831b0f05e644f58e878c1eaa3d587c89b26db8b9952e0bead12c7db6aa5a042
-9e33012db0551fe6a589baa800905a7cb35d220efbb675a96444edd18ad89dbc
-ebc4087162e977b4cc680a0e3490bfaf28a556c3bb9299935097e3e048679849
-a85ce906f55bdf564f3cca2b0a70b404d02520b77614e577231cb2310dde1ba5
-cea1ef926ad191c98a21ed76ebb8f407ea2ae2ff56014216abb118c0218590f5
-f3284f9a187a85b3f5091f05b21d747f6fe7384a27ae6a8ddb923df4f61900e9
-adb8be5d338613e1486d710e892b5b733061951d164ae233023a69e02457e90d
-dfb6d8a53ea0a57f3c9e27614633ace3c6cf57dc8c81d0c079642c4a0745d281
-2bc6ac4587a56e65d6955e50f4380d94f9628c130102e2a3325d694865a0dd90
-01ab118f393fd86d01aedb5612fcb49e8b81fa6fadf7b69650fcef45a0a724d9
-ecf8ced5cf56913fb68a39c71350acd855433cc25b25ade198cda46bfccf1fac
-f1c841a1e6058a73e26e580cb46384885c417799d92822689c2f58bc1e0a040a
-9d7d3d73de3c18688d62581d54a0eadf9deffb3db34a9f052bce33d5fe8e8ae9
-78e4b0bdcc2a8ffdcaa5b4c0f4a0256d94364e70e1749dbc2b147d69ec539b47
-ef868ac4807f7ac1f01c93b3361942915581efc754453f221f4a70bb903ec310
-62cca7ac392f6f70b61f49822cfd65c668070babc1102322e4cf224902f0cc6e
-26bb2c119c3c66434f4a85164c49ed51084a1f0795eb631f6d38123619cc5ced
-c8c6908f380a4a3f7939d0b03187e448fa44333ed8d8c2504c3fce0235795d86
-f7a7bb423d1a7ca81b27b4f81c93ac95ba336a0d8e6bb90c96ae775ee34c07da
-5cd019a73b7944424d242dd7d96ea0349307ed426fe0c7fb8b5cbe3d295a3069
-b975fafbe78109cab35ac2fa5154f66af9b9ea522cd4847408d1ce24cf7fc770
-4f222fedc962ff21d09aa2ae6cc1b14cfbcab5d0016607362d3c8f6347f7a54e
-821327ddd475396b465b1bf5894703c6de1e9947e64867e68efb2620c7f46367
-c0c345f294b781943f0c96500688a08347b0272c60e5d6a7810a44c4e5654d09
-05931a57e1fe6ff7edd1e77a1e1c39070b49e4d72a62f06340f9a76d0553905b
-35e5711434d25cc3b14557bbaf66a82a6ef543bbfd14c314ddee0ee99090482f
-c1dd06eecf203ec9511a3ad6ccecdd1139ccf31dc72e407853d159c1622131df
-f560bd84c30c58439b06aef79bf53ffaa90ab3727e59f164271a69c5bf36f0d8
-3f9c0099933b6bdfc2f613d4f3565dfbd0c85e8723491ead13697f8945f63a6a
-612990613b54bb7a19c1d3a13c14f19694e3b1293293a51c64ebe436738eb61e
-2ccef09ca77eeb35c7bf10db2a9b1eabbe4fb88ccefeae6359bf5e136ee974ea
-a1a5c7152d54de8dfab89422943ad50e5884f330ad4078763ea071c6265e555d
-a610d246133435db11c37e786302e3e8889ece1d9ec3670d82babfed7be2fb7e
-fdb78e1b6e1c682b930f48bf0a28301b463a5ca77c368f7d57187f0828675a52
-382d41de6cd9fb522cf52d8792796fccac48d9528d6ba65cca775eea0d9e272c
-084f8017bb4ff779b615a46518b256b2c43b27e28b988bf6b60d783d56905a5d
-7794904c0cb95e2aa83512f47d2c393b778b7611053d31bbc4670c6ffe45ff25
-2b7064e4740e8895169607d57c89956b526a664b28a2a9f7c42d6a40c4a95aa6
-6be98967f52a855db02c498f141fd6afffc0a69b14bbd009a0c0f023d4d6706c
-cc05401aa96d550b6ce0190281ba4cebf16acfa4fd94730cd977d6c120c124ba
-ef8489e22a13c30552196e99046201ccff11cb3aff92a63e47a10a3a6433bfc0
-e77047453b71527f209c939d8516182ca5f0966ccbf971fede25e3fefd92cf8b
-fd11ac59dff36c25aaa8c771a83d9cbb7dccb37f4f7572f11f702bc27ea9510b
-a2d4baa94f5953beb927aaf2426421f0093c603bd63827e28f17d57cef476577
-c1f13eb8beeada42a1eb221cac3dccd5d84a6f74fa2b289c3cab6e2fc94dd92b
-d96a015b218ca7facbe18f9c7a580610905847a649e4477773b87686f7f28b33
-24148f4213ccaac483b43be2a9763fdbbdbbd50a0f9d59fc31f5b7b2ac0f915a
-89abd64d84faa62a4c3167fbbf651a6236ead6ad931c11435921cbdc4ed66f67
-fe83bc059fa0c625001ad5b3bf638293646d33076f3afafa8b8fd7307da5c53b
-5845999c1624e9ed30cd48483403f9afdabbcbe80fa5025bea2cbc081e2b32c7
-42685421ce3d574a414b340075cb02e80d7427d4cc503ee02f5b33e509d76e0b
-21b5d5a252757c4b7893dd9870f9371eca57ae78ac688ee28c31d597bc018496
-3fa54a8e160a77dc8b0627d7319885fb2ae0e2e2c9fbcde4b5a7acb04bf1e611
-b73b0dee3ac8f44c4ca15dbeca20c35a7a8805f3c22e6fba8e9b22722dd25ae3
-ba2dec2a0c9a13509f4c9fd3dba03ef6e49a632bf7de5ec45b64a1f4e3a36976
-1b7a9c7b95bd29b09b930b0d82f2c39f9bc3c24d99c58a664d4adedf7b74e13e
-6d85e03e615a60a2aee9f790c6d0a2e6e82e6840e51b38c4579fb95337423fba
-437d97ab42bafb1097b2e2952e86c88e94ba7020e83163b5d810de8f57625819
-d86d7ae834d7135e30f2e21dd061ff15f22de6c9243d2caaa5abf67abee3a6f5
-306273037adcd10e8f00818ee88ad2ea98d6b7f1ee7e3d1db49a57fa350664d6
-021078ee1ebfbdbe5aee9efab2acd9809ccfb180f8017a84ba6bfc1ba5940eca
-3076c863f8d9df3e4afb32361acab13bacd3e465d094b64bece987be66fa501d
-5deba893368ea3fdd3b3a4201d3bd68b3464ead10c6f0ddf513a630e0133fec8
-08630e4b3c8b0aad1bbeed508e7e03d41b3d060a92b1958407843e4cabd78d79
-ff72fc0e92f4903cfd05856f457dd15b1aab99c1d29804d2f3134c9817f45fd2
-efebb92545f056f4ca76ea74ad464cd041b7cbb8892f2dba833118b83e20c039
-99939ffc6cc50503bb871565797ec537e26eb622fd30303273748af2afd97e07
-a9c2a96f4ef8754dc3ea8f3348cb30d76bdaa84d2e933c94c99d13e74f19970f
-5d2bd19712926e230dd02aeae6461edd83ac935ec2f420649f82d4160a072700
-10141602c3a6572740d8e97fd08e56b987062bb57237bbb3056a36e97e399a7a
-cf9653743a9984ef36254d60772a0eedca800923461a3e4443a5ef469aefceec
-aa1831e56b0d8ea6ccb76bb9dbb6ab7584ee268bdd0f5f0d57eddba9b97d74a2
-910f178f388a50fa32aad7b87b3235efcabd4b5009190d12e8c770f6e70dbe10
-e747e1984a1c41d701e6220b001fe25b9a677c996f8fd91bd40fa7e07f57e8bd
-5d2381442b337924e56de4d18cdc352314caebf065f610b00b50302bae3ad612
-dad9059a3d7f3bd63827e28f17d57cef4a8cb8af1f080a993c3c74871e4b7bdb
-2602d07587aed02aa783d80234b6eecc77d163847e63d3c9aa412d10acea7a5c
-5ece5b893bb3031facee72701acd225d6b6a752cb2f84de3ceab2b97b606a0bf
-c6874869a86e3a55a4e1d7abd94719f604ea68b1108ebb5bebc3ef465bdd2cdb
-864ecfe0d6959d5114eaaf1612c970caa2c94729178e6af130a1df211a3795a9
-b5fb934e47f6c48155a19acce788036b4867f90d40c1e4ff7460399f1f08f98a
-0aa3e0d8e354195a2563759dfe0183c8d67b449516ed8f5cf3288f7298d62092
-922f07027352bc7c9612cfca46f1cf2ed1417ab863c2615f2d26ee13d7a04a18
-8336ec9961e76af2f506e3db3d67a2a4fb2dbbb0ca34be6db9789a1cda607d9b
-35f0eac47f488bbe74f8f04b49dc492ec8f096e6710ad59d248a0c98497541d8
-5f9134d5215b0a05fc29db1aa71e432a2c0b00106bf3124df0b72c144375a280
-9cc5ed8335b3e970eaad9178f43011b55d7f3e11d89be1058361893016254440
-353b88162a4e7913721092e05573497ed693f3120176dc08253d2356559041d8
-741a6b9c41f8eb695369633632ffc35a1e2e4ed6258f0a8eef0bf6bb028efed8
-a679be4bc197cc868255f748ca953312eef556d8fdae4e9706c3116e76140587
-db18492730a14e96c211fcd0aeb0d4324b1b4abd0150637c6c135fcca1823fde
-20482dbbab536f87e1d3f0ac4b5154e33bfaade3ac4af8b8d2082658d35a251e
-a0d718f702ed8d957555331c9593abbf64b2194dac9f098773ef4313cd8a48e7
-4d60513d6ee1c132e59ebf5dce2359b61efd16fb4cce810172abb3939e874792
-a862462c72895461ed4dd265abbf52c11c50e607fd3bebeff0397398f656066c
-5f64fc4e67cf5f984fe818c9500cb10beadc1ac513c0c8e60701144b949ce67d
-08cec1adeb70fb01f48abfea22412f4b07b710a8d774228ae156bfdd556c0f49
-bda072c0926a08150f77ee338b3b4303bd2186da21b89df804cd531c499ef953
-9b1ed325e5ef952af05cf67a9fe64b1af975c18348809161ad382debfde45495
-5b32472edf5098b6d1f8fc8807f81ee5be3659bd0f47542ee81e20cbaef168dd
-4b991069cda2f850b1faa40e74fad79ed5f74a0fde1c060996a2280e9c9d21f5
-d23174d3ef4d9eb6e337d443cfccaeab8b0015e6427f9439c8473a1364faf782
-f58bd8bd775899092844ba570c427dff47b8cc4859fd9042ce78aa27ffea8b5a
-c52be0d97cd01c7250a6eda489b5a17e23167239e0d7fd8f3429529ef02548e9
-b7bc1dcfc729600ff98d9f9b33ecdd10ff78baa313b7e35c51dfe8c6a17568fd
-bfbd434860a8ef3821b336783fa328279c05b05aba37f8d26da43391c9cfbd71
-6b240148995a005448afbe45ef2c2853aa3c1cf3ba6434ec79e8dbacef443569
-8e6ef17bdf960e9a37f0b34f4aa39641492bcce95afe55d168e510f934288da7
-c61eb3e1a42f18abc608995cd8c9afcc591751bcd9759387d3924751b1a2c79a
-0cf18b53d3ed8096e2c559dd001e8bf6824b3eedafedd8b89fa23f4aeed14435
-a7d05da7b0607edf2aab0816e866f6791e834bff5f5c6699edb97df199549d54
-3d039671a481d094352ec76d2f7e5119887ee3ad1117f749a85b3b6f37e3d25f
-25397d1d019da9c5c6fbbfbaeb4fdf0a423f6394968f2eabc560f76e75b07b54
-a6d87328604fc86be37a1e8e5790eb845cca88bbc2e01eab28a6d6615229658b
-7554a85064aacf698949e4f56f2bd61bd5af31bd6012ef0c1bb627cbeec71b52
-e99af95f699617a8462e14e144424a64e4c1cda80a13cf7b20929041b2df6686
-15c2f77a73f9cdbca33cd11188a9a608b240b27e7cfc5234fdad6db5d6565787
-d99f45709674690ee704de4ce6accc37343eaac02dd8ca368221d607c4ea24dc
-05aaa5162120301a8fb4c3166ef0e813aab536200a8d54d3e0679cbad59cae0d
-d9c251016336c63243b42f4a439af0f1b4d4cc3ee9c24dae5ec87c10b4b046eb
-3877eae636101c3231319957690cf7cd562fb48e44abd46bfd8640de5348a01d
-8389dbe26165729c3ea1023b354cc6b6928922cffb2df9ea60d853a74067b442
-a7d4938296e2ffdeee8b33dae2ecf5be2451fbe3829f9c1d45820c9849176a43
-22694f059367670d68ad12080a84603821f867ca37dc727c3c5254103af21cd9
-034f679aea5d4bc81366245725fa46cd671ac9251817e8abbe9f06f182b738e9
-05769b0d6a504170334d09bb7b809c249ca9678658b36fef98a0f8936cc9167f
-31837fb2e92319b8e4df5168494fe90a12a88b93bae098fac2f3af2c087759cf
-0fdc3d901e921222a19e53c654d13e52a6f272bd65e3deee14e3e59c6dd9b794
-dbd476ccd4deb50e94d207123a5bb6276e40177c13adee9227e283b51bdc8e50
-2af8d9f3d4cdf61a9bffdb5047aa305f7c61fbb49440b70993c9620020fadf15
-4b5248e8e2a6fd5638a447a593b320039eb53a709e992a481c0de5f19640c17f
-cdcfacfbf7b5252c0274c53f6de78a11db640076e01a11be6a63c3a8be0e3fb0
-f0c1f40b379b80399771b0b23aa0fb934ee3184f0c18d5cb40285510a4eb92f1
-6f089ce3cf32b52add23b0f6a436637a17a71f90e8c91adeaff7eb97220a17b7
-354ea80c678e158c1ecd586f0e2e6d7ab5a179500d404e19a65db6c9568b0799
-330d69b254d29e704196964553817ab428be257c5d51aac61ee9cffcd3ec4615
-1d6e9992ad91a791d1c2465df24757dcbc64f3788b15868b905e53ccd04625c7
-f04fa267d68a6aeb59443ead9bc171f845b2b0d7ac7e788c21411a1d4b3935d6
-ef2093333ce092da5d06fcf6c1f1afc68db00cc1d0090f21046b54694f5162cc
-cb07ac6e81a3b657871db0692cd70edcfb645c335167e08eb15caa6cbf6419b0
-1cb28d3beb8c5ab6c8f77663a2c258177a1feb9abb560e903b45a1d14644a08d
-778a0db918b36ed5a2d6d409adf41a21b13211679094cf290c4652633d861e1e
-2cf20b69ccdcf17ac7d4bc15febe037998b98c176369d225995e578f62f6e548
-049da929686caf8b58bf1baf99bfd7196c8084419d381078ad0bc6bffbe163de
-15a4d0e6fb53208aff06f08967882b17c0696f060218ae037682036cb39365b7
-33d8c2b0f2414f3c919473a6abc8d419f70b541a62082602990c3c35a55217d5
-96fea82048181950779a3fc5f67bdad8df84e5433fa67bccd05ec886d857b789
-18ffbf083fa0b9f98cf5cfc9ae29d607d2ed11fa02131fd7c258431b20f7b113
-c316b7163644fdef029d33366200e9c4b5727940490a81aa139dddf9493f6b32
-0ee84950a6a549460032d0ba7fb3b2ded2e4028bd3ef456005bfc1456c681f25
-82dad6da15127a1ef14550d9557b86c2bc37440d538ee5146f320c9db07aed68
-70f6fa748a5b87fde0e3ef4cf1567e743eea26076ba668b46f3f7ad99f4df367
-fd40d87cca35267a09a3a33f8212655b747323e9d5f184cde766906f6f85ef2b
-3ad0dc0edcd150e589dae9c0e19d464ad618c32e14a5dbcaa6ecbcd990cc49ad
-c6de19129debd2de99b506adf4dbdea4ff1364e300447c9c0deda2cdf1d3648b
-1a83bd4be46e1797fb5b6216077a54f12c7ace9c28320026a19492e58193d082
-c0b5473a5a603ce22ea377511b725ad9c23b1a1b906b465fa02d0fb620e23074
-66c9d077730916850cd2abcc2412a364f4a0efde3fb741dea91fbba138e74dcb
-809627282be317d8f1dbb22220c9696bf39a27fc38aff90eaf458151a00a8a88
-9d4f5d933b1eee63054c65798ad32079ce573d53c620b6a0f81fd931b5a24707
-ebb30cf01b0c63b55ee8c08b805a9a45aea8aacf49982ce6d3e8726c6a122437
-1b9b116a56de605482449dabbb83d353ebdf355fcb8cde5658c699b8a55718a8
-6e051b42221dda48257e9f56d09f31a77630930abb0fce0d49ec9cb27c6ce480
-4c3b36d45ec195e7f78dc930370ed66cd4b6763085ec4c626693e69b39e993b1
-70b2289f29dcf94d5d2763a8211a92c40442371aa2f4297c9958c833421ee693
-a74b256e425979afe86b286bbda0983e14194250d9fecd03a8ba1fe615e93ae1
-d60d43f6858ea9cd47ddf88a1bfb5e90b60a28cdb269d9e1e43b0cf470a95b48
-aa5299e7159e7ccb18200914b93c3b0df79f181789fdfd6693613d0d42778883
-88847927f59d40f0cb5334f62eafe4f380076cfb7720174eceab1eb5050ea12c
-e4293db115c4f9bd4d21910a69d566a706f5c0e1bcb344203503855e6643b125
-17b6db03c41f13a347ad39e47a46d626f8a31a163bda6d23264657b412bdec99
-c87a103d26
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-0000000000000000000000000000000000000000000000000000000000000000
-cleartomark
-%%EndResource
-/F637_0 /WWWUTU+NimbusRomNo9L-ReguItal 1 1
-[ /.notdef/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash
- /ogonek/ring/.notdef/breve/minus/.notdef/Zcaron/zcaron
- /caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity
- /lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle
- /space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
- /parenleft/parenright/asterisk/plus/comma/hyphen/period/slash
- /zero/one/two/three/four/five/six/seven
- /eight/nine/colon/semicolon/less/equal/greater/question
- /at/A/B/C/D/E/F/G
- /H/I/J/K/L/M/N/O
- /P/Q/R/S/T/U/V/W
- /X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore
- /quoteleft/a/b/c/d/e/f/g
- /h/i/j/k/l/m/n/o
- /p/q/r/s/t/u/v/w
- /x/y/z/braceleft/bar/braceright/asciitilde/.notdef
- /Euro/integral/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
- /circumflex/perthousand/Scaron/guilsinglleft/OE/Omega/radical/approxequal
- /.notdef/.notdef/.notdef/quotedblleft/quotedblright/bullet/endash/emdash
- /tilde/trademark/scaron/guilsinglright/oe/Delta/lozenge/Ydieresis
- /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section
- /dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron
- /degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
- /cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
- /Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
- /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
- /Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
- /Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
- /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
- /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
- /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
- /oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]
-pdfMakeFont
-612 792 false pdfSetup
-%%EndSetup
-%%Page: 1 1
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 756] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 463.019 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -36] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-117.436 701.916 Td
-/F122_0 24.7902 Tf
-(bzip2) 63.3638 Tj
--278 TJm
-(and) 44.077 Tj
--278 TJm
-(libbzip2,) 99.1856 Tj
--278 TJm
-(ver) 37.2101 Tj
-15 TJm
-(sion) 50.9687 Tj
--278 TJm
-(1.0.5) 55.1334 Tj
-[1 0 0 1 72 696.784] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -15.4939] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -681.29] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90.4929 661.631 Td
-/F122_0 20.6585 Tf
-(A) 14.9154 Tj
--278 TJm
-(pr) 20.6585 Tj
-20 TJm
-(ogram) 63.1324 Tj
--278 TJm
-(and) 36.7308 Tj
--278 TJm
-(librar) 51.6669 Tj
--10 TJm
-(y) 11.4861 Tj
--278 TJm
-(f) 6.87928 Tj
-20 TJm
-(or) 20.6585 Tj
--278 TJm
-(data) 42.4739 Tj
--278 TJm
-(compression) 128.579 Tj
-[1 0 0 1 72 657.035] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -144] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -513.035] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-207.676 503.285 Td
-/F122_0 11.9552 Tf
-(J) 6.64709 Tj
-20 TJm
-(ulian) 27.9034 Tj
--278 TJm
-(Se) 14.6212 Tj
-15 TJm
-(war) 20.5988 Tj
-20 TJm
-(d,) 10.6282 Tj
--278 TJm
-(http://www) 61.103 Tj
-40 TJm
-(.bzip.or) 42.5127 Tj
-15 TJm
-(g) 7.30463 Tj
-[1 0 0 1 72 500.625] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -435.826] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 463.019 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 2 2
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -13.9477] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 709.534 Td
-/F122_0 14.3462 Tf
-(bzip2) 36.6689 Tj
--489 TJm
-(and) 25.5075 Tj
--488 TJm
-(libbzip2,) 57.3991 Tj
--542 TJm
-(ver) 21.5336 Tj
-15 TJm
-(sion) 29.4958 Tj
--488 TJm
-(1.0.5:) 36.6832 Tj
--766 TJm
-(A) 10.358 Tj
--488 TJm
-(pr) 14.3462 Tj
-20 TJm
-(ogram) 43.842 Tj
--489 TJm
-(and) 25.5075 Tj
--489 TJm
-(librar) 35.8798 Tj
--10 TJm
-(y) 7.97649 Tj
--488 TJm
-(f) 4.77728 Tj
-20 TJm
-(or) 14.3462 Tj
--489 TJm
-(data) 29.4958 Tj
-72 692.319 Td
-(compression) 89.2907 Tj
-[1 0 0 1 72 689.349] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -689.349] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 680.364 Td
-/F130_0 9.9626 Tf
-(by) 9.9626 Tj
--250 TJm
-(Julian) 23.8007 Tj
--250 TJm
-(Se) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard) 12.7222 Tj
-[1 0 0 1 72 678.207] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -678.207] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 668.409 Td
-/F130_0 9.9626 Tf
-(Cop) 16.6077 Tj
-10 TJm
-(yright) 23.8007 Tj
-[1 0 0 1 114.799 668.409] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -114.799 -668.409] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-114.799 668.409 Td
-/F130_0 9.9626 Tf
-(\251) 7.57158 Tj
-[1 0 0 1 122.371 668.409] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -122.371 -668.409] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-124.861 668.409 Td
-/F130_0 9.9626 Tf
-(1996-2007) 43.1679 Tj
--250 TJm
-(Julian) 23.8007 Tj
--250 TJm
-(Se) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard) 12.7222 Tj
-[1 0 0 1 72 666.252] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -7.9701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -658.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 650.875 Td
-/F130_0 7.9701 Tf
-(This) 14.1708 Tj
--250 TJm
-(program,) 28.9952 Tj
-[1 0 0 1 119.151 650.875] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.151 -650.875] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.151 650.875 Td
-/F134_0 7.9701 Tf
-(bzip2) 23.9103 Tj
-[1 0 0 1 143.061 650.875] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.061 -650.875] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-143.061 650.875 Td
-/F130_0 7.9701 Tf
-(,) 1.99253 Tj
--250 TJm
-(the) 9.73946 Tj
--250 TJm
-(associated) 32.7571 Tj
--250 TJm
-(library) 21.2483 Tj
-[1 0 0 1 216.768 650.875] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -216.768 -650.875] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-216.768 650.875 Td
-/F134_0 7.9701 Tf
-(libbzip2) 38.2565 Tj
-[1 0 0 1 255.024 650.875] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -255.024 -650.875] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-255.024 650.875 Td
-/F130_0 7.9701 Tf
-(,) 1.99253 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(all) 7.9701 Tj
--250 TJm
-(documentation,) 49.3668 Tj
--250 TJm
-(are) 9.73149 Tj
--250 TJm
-(cop) 11.5088 Tj
-10 TJm
-(yright) 19.0406 Tj
--250 TJm
-(\251) 6.05728 Tj
--250 TJm
-(1996-2007) 34.5344 Tj
--250 TJm
-(Julian) 19.0406 Tj
--250 TJm
-(Se) 7.9701 Tj
-25 TJm
-(w) 5.75441 Tj
-10 TJm
-(ard.) 12.1703 Tj
--310 TJm
-(All) 10.1858 Tj
--250 TJm
-(rights) 18.1559 Tj
--250 TJm
-(reserv) 19.471 Tj
-15 TJm
-(ed.) 9.5163 Tj
-[1 0 0 1 72 649.149] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -7.9701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -641.179] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 633.34 Td
-/F130_0 7.9701 Tf
-(Redistrib) 29.2264 Tj
-20 TJm
-(ution) 16.3865 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(use) 10.6241 Tj
--250 TJm
-(in) 6.20074 Tj
--250 TJm
-(source) 20.802 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(binary) 20.3636 Tj
--250 TJm
-(forms,) 20.5868 Tj
--250 TJm
-(with) 14.1708 Tj
--250 TJm
-(or) 6.63909 Tj
--250 TJm
-(without) 24.3566 Tj
--250 TJm
-(modi\002cation,) 42.2894 Tj
--250 TJm
-(are) 9.73149 Tj
--250 TJm
-(permitted) 30.5494 Tj
--250 TJm
-(pro) 10.6241 Tj
-15 TJm
-(vided) 17.7096 Tj
--250 TJm
-(that) 11.9551 Tj
--250 TJm
-(the) 9.73946 Tj
--250 TJm
-(follo) 15.0555 Tj
-25 TJm
-(wing) 15.9402 Tj
--250 TJm
-(conditions) 33.2114 Tj
--250 TJm
-(are) 9.73149 Tj
--250 TJm
-(met:) 14.1708 Tj
-[1 0 0 1 72 631.615] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -23.7789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 5.5791 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -77.5791 -607.836] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-77.5791 607.836 Td
-/F130_0 7.9701 Tf
-(\225) 2.78954 Tj
-[1 0 0 1 80.3686 607.836] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9926 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.594 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -83.9552 -607.836] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-83.9552 607.836 Td
-/F130_0 7.9701 Tf
-(Redistrib) 29.2264 Tj
-20 TJm
-(utions) 19.4869 Tj
--250 TJm
-(of) 6.63909 Tj
--250 TJm
-(source) 20.802 Tj
--250 TJm
-(code) 15.0475 Tj
--250 TJm
-(must) 15.5018 Tj
--250 TJm
-(retain) 18.1479 Tj
--250 TJm
-(the) 9.73946 Tj
--250 TJm
-(abo) 11.5088 Tj
-15 TJm
-(v) 3.98505 Tj
-15 TJm
-(e) 3.53872 Tj
--250 TJm
-(cop) 11.5088 Tj
-10 TJm
-(yright) 19.0406 Tj
--250 TJm
-(notice,) 21.4714 Tj
--250 TJm
-(this) 11.5168 Tj
--250 TJm
-(list) 9.74743 Tj
--250 TJm
-(of) 6.63909 Tj
--250 TJm
-(conditions) 33.2114 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(the) 9.73946 Tj
--250 TJm
-(follo) 15.0555 Tj
-25 TJm
-(wing) 15.9402 Tj
--250 TJm
-(disclaimer) 33.2034 Tj
-55 TJm
-(.) 1.99253 Tj
-[1 0 0 1 470.908 607.836] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -398.908 -17.5343] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 5.5791 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -77.5791 -590.302] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-77.5791 590.302 Td
-/F130_0 7.9701 Tf
-(\225) 2.78954 Tj
-[1 0 0 1 80.3686 590.302] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9926 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.594 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -83.9552 -590.302] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-83.9552 590.302 Td
-/F130_0 7.9701 Tf
-(The) 12.3935 Tj
--270 TJm
-(origin) 19.0406 Tj
--270 TJm
-(of) 6.63909 Tj
--270 TJm
-(this) 11.5168 Tj
--270 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are) 9.73149 Tj
--270 TJm
-(must) 15.5018 Tj
--270 TJm
-(not) 10.1858 Tj
--270 TJm
-(be) 7.52377 Tj
--270 TJm
-(misrepresented;) 50.4667 Tj
--279 TJm
-(you) 11.9551 Tj
--270 TJm
-(must) 15.5018 Tj
--270 TJm
-(not) 10.1858 Tj
--270 TJm
-(claim) 17.7096 Tj
--270 TJm
-(that) 11.9551 Tj
--270 TJm
-(you) 11.9551 Tj
--270 TJm
-(wrote) 18.1479 Tj
--270 TJm
-(the) 9.73946 Tj
--270 TJm
-(original) 24.795 Tj
--270 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are.) 11.724 Tj
--740 TJm
-(If) 5.30809 Tj
--270 TJm
-(you) 11.9551 Tj
--270 TJm
-(use) 10.6241 Tj
--270 TJm
-(this) 11.5168 Tj
--270 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are) 9.73149 Tj
--270 TJm
-(in) 6.20074 Tj
--269 TJm
-(a) 3.53872 Tj
-83.9552 580.737 Td
-(product,) 26.3412 Tj
--250 TJm
-(an) 7.52377 Tj
--250 TJm
-(ackno) 19.0326 Tj
-25 TJm
-(wledgment) 35.4191 Tj
--250 TJm
-(in) 6.20074 Tj
--250 TJm
-(the) 9.73946 Tj
--250 TJm
-(product) 24.3487 Tj
--250 TJm
-(documentation) 47.3743 Tj
--250 TJm
-(w) 5.75441 Tj
-10 TJm
-(ould) 14.1708 Tj
--250 TJm
-(be) 7.52377 Tj
--250 TJm
-(appreciated) 36.7342 Tj
--250 TJm
-(b) 3.98505 Tj
-20 TJm
-(ut) 6.20074 Tj
--250 TJm
-(is) 5.31606 Tj
--250 TJm
-(not) 10.1858 Tj
--250 TJm
-(required.) 28.5489 Tj
-[1 0 0 1 403.817 580.737] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -331.817 -17.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 5.5791 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -77.5791 -563.203] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-77.5791 563.203 Td
-/F130_0 7.9701 Tf
-(\225) 2.78954 Tj
-[1 0 0 1 80.3686 563.203] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9926 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.594 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -83.9552 -563.203] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-83.9552 563.203 Td
-/F130_0 7.9701 Tf
-(Altered) 23.9023 Tj
--250 TJm
-(source) 20.802 Tj
--250 TJm
-(v) 3.98505 Tj
-15 TJm
-(ersions) 22.5793 Tj
--250 TJm
-(must) 15.5018 Tj
--250 TJm
-(be) 7.52377 Tj
--250 TJm
-(plainly) 22.1409 Tj
--250 TJm
-(mark) 16.3786 Tj
-10 TJm
-(ed) 7.52377 Tj
--250 TJm
-(as) 6.63909 Tj
--250 TJm
-(such,) 16.6017 Tj
--250 TJm
-(and) 11.5088 Tj
--250 TJm
-(must) 15.5018 Tj
--250 TJm
-(not) 10.1858 Tj
--250 TJm
-(be) 7.52377 Tj
--250 TJm
-(misrepresented) 48.251 Tj
--250 TJm
-(as) 6.63909 Tj
--250 TJm
-(being) 17.7096 Tj
--250 TJm
-(the) 9.73946 Tj
--250 TJm
-(original) 24.795 Tj
--250 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are.) 11.724 Tj
-[1 0 0 1 464.405 563.203] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -392.405 -17.5343] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 5.5791 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -77.5791 -545.669] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-77.5791 545.669 Td
-/F130_0 7.9701 Tf
-(\225) 2.78954 Tj
-[1 0 0 1 80.3686 545.669] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9926 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.594 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -83.9552 -545.669] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-83.9552 545.669 Td
-/F130_0 7.9701 Tf
-(The) 12.3935 Tj
--250 TJm
-(name) 17.2632 Tj
--250 TJm
-(of) 6.63909 Tj
--250 TJm
-(the) 9.73946 Tj
--250 TJm
-(author) 20.3636 Tj
--250 TJm
-(may) 13.7245 Tj
--250 TJm
-(not) 10.1858 Tj
--250 TJm
-(be) 7.52377 Tj
--250 TJm
-(used) 14.6092 Tj
--250 TJm
-(to) 6.20074 Tj
--250 TJm
-(endorse) 24.787 Tj
--250 TJm
-(or) 6.63909 Tj
--250 TJm
-(promote) 26.5643 Tj
--250 TJm
-(products) 27.449 Tj
--250 TJm
-(deri) 12.3935 Tj
-25 TJm
-(v) 3.98505 Tj
-15 TJm
-(ed) 7.52377 Tj
--250 TJm
-(from) 15.4939 Tj
--250 TJm
-(this) 11.5168 Tj
--250 TJm
-(softw) 17.7096 Tj
-10 TJm
-(are) 9.73149 Tj
--250 TJm
-(without) 24.3566 Tj
--250 TJm
-(speci\002c) 24.3487 Tj
--250 TJm
-(prior) 15.4939 Tj
--250 TJm
-(written) 22.5793 Tj
--250 TJm
-(permission.) 36.9733 Tj
-[1 0 0 1 533.577 545.669] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -461.577 -9.6956] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -535.973] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 528.135 Td
-/F130_0 7.9701 Tf
-(THIS) 17.7096 Tj
--401 TJm
-(SOFTW) 27.0107 Tj
-120 TJm
-(ARE) 15.9402 Tj
--401 TJm
-(IS) 7.08542 Tj
--400 TJm
-(PR) 9.74743 Tj
-40 TJm
-(O) 5.75441 Tj
-50 TJm
-(VIDED) 24.787 Tj
--401 TJm
-(BY) 11.0705 Tj
--401 TJm
-(THE) 15.4939 Tj
--401 TJm
-(A) 5.75441 Tj
-55 TJm
-(UTHOR) 27.449 Tj
--401 TJm
-("AS) 13.4376 Tj
--401 TJm
-(IS") 10.3372 Tj
--401 TJm
-(AND) 17.2632 Tj
--400 TJm
-(ANY) 17.2632 Tj
--401 TJm
-(EXPRESS) 34.1041 Tj
--401 TJm
-(OR) 11.0705 Tj
--401 TJm
-(IMPLIED) 32.3188 Tj
--401 TJm
-(W) 7.52377 Tj
-120 TJm
-(ARRANTIES,) 46.7128 Tj
--401 TJm
-(INCLUDING,) 46.2585 Tj
--400 TJm
-(B) 5.31606 Tj
-10 TJm
-(UT) 10.6241 Tj
-72 518.571 Td
-(NO) 11.5088 Tj
-40 TJm
-(T) 4.86973 Tj
--304 TJm
-(LIMITED) 32.7571 Tj
--304 TJm
-(T) 4.86973 Tj
-18 TJm
-(O,) 7.74694 Tj
--305 TJm
-(THE) 15.4939 Tj
--304 TJm
-(IMPLIED) 32.3188 Tj
--304 TJm
-(W) 7.52377 Tj
-120 TJm
-(ARRANTIES) 44.7202 Tj
--304 TJm
-(OF) 10.1858 Tj
--304 TJm
-(MERCHANT) 44.7202 Tj
-93 TJm
-(ABILITY) 31.8724 Tj
--304 TJm
-(AND) 17.2632 Tj
--305 TJm
-(FITNESS) 31.442 Tj
--304 TJm
-(FOR) 15.5018 Tj
--304 TJm
-(A) 5.75441 Tj
--304 TJm
-(P) 4.43138 Tj
-92 TJm
-(AR) 11.0705 Tj
-60 TJm
-(TICULAR) 34.5344 Tj
--304 TJm
-(PURPOSE) 34.9887 Tj
--304 TJm
-(ARE) 15.9402 Tj
--305 TJm
-(DI) 8.40846 Tj
-1 TJm
-(S-) 7.08542 Tj
-72 509.006 Td
-(CLAIMED.) 38.2963 Tj
--576 TJm
-(IN) 8.40846 Tj
--287 TJm
-(NO) 11.5088 Tj
--288 TJm
-(EVENT) 26.118 Tj
--288 TJm
-(SHALL) 25.6797 Tj
--288 TJm
-(THE) 15.4939 Tj
--287 TJm
-(A) 5.75441 Tj
-55 TJm
-(UTHOR) 27.449 Tj
--288 TJm
-(BE) 10.1858 Tj
--288 TJm
-(LIABLE) 28.3337 Tj
--288 TJm
-(FOR) 15.5018 Tj
--288 TJm
-(ANY) 17.2632 Tj
--287 TJm
-(DIRECT) 28.78 Tj
-74 TJm
-(,) 1.99253 Tj
--288 TJm
-(INDIRECT) 37.1885 Tj
-74 TJm
-(,) 1.99253 Tj
--288 TJm
-(INCIDENT) 37.6268 Tj
-93 TJm
-(AL,) 12.6167 Tj
--288 TJm
-(SPECIAL,) 34.3193 Tj
--288 TJm
-(EXEMPLAR) 42.9509 Tj
-65 TJm
-(Y) 5.75441 Tj
-129 TJm
-(,) 1.99253 Tj
-72 499.442 Td
-(OR) 11.0705 Tj
--299 TJm
-(CONSEQ) 31.8804 Tj
-10 TJm
-(UENTIAL) 34.5265 Tj
--300 TJm
-(D) 5.75441 Tj
-40 TJm
-(AMA) 18.5942 Tj
-40 TJm
-(GES) 15.0555 Tj
--299 TJm
-(\(INCLUDING,) 48.9125 Tj
--299 TJm
-(B) 5.31606 Tj
-10 TJm
-(UT) 10.6241 Tj
--299 TJm
-(NO) 11.5088 Tj
-40 TJm
-(T) 4.86973 Tj
--300 TJm
-(LIMITED) 32.7571 Tj
--299 TJm
-(T) 4.86973 Tj
-18 TJm
-(O,) 7.74694 Tj
--299 TJm
-(PR) 9.74743 Tj
-40 TJm
-(OCUREMENT) 49.59 Tj
--299 TJm
-(OF) 10.1858 Tj
--300 TJm
-(SUBSTITUTE) 47.8206 Tj
--299 TJm
-(GOODS) 27.449 Tj
--299 TJm
-(OR) 11.0705 Tj
--300 TJm
-(SER) 14.6172 Tj
-80 TJm
-(VICES) 23.0256 Tj
-1 TJm
-(;) 2.21569 Tj
-72 489.878 Td
-(LOSS) 19.4869 Tj
--360 TJm
-(OF) 10.1858 Tj
--360 TJm
-(USE,) 17.048 Tj
--360 TJm
-(D) 5.75441 Tj
-40 TJm
-(A) 5.75441 Tj
-111 TJm
-(T) 4.86973 Tj
-93 TJm
-(A,) 7.74694 Tj
--360 TJm
-(OR) 11.0705 Tj
--359 TJm
-(PR) 9.74743 Tj
-40 TJm
-(OFITS;) 24.3566 Tj
--360 TJm
-(OR) 11.0705 Tj
--360 TJm
-(B) 5.31606 Tj
-10 TJm
-(USINESS) 32.3267 Tj
--360 TJm
-(INTERR) 28.78 Tj
-40 TJm
-(UPTION\)) 31.8724 Tj
--360 TJm
-(HO) 11.5088 Tj
-35 TJm
-(WEVER) 28.3337 Tj
--360 TJm
-(CA) 11.0705 Tj
-55 TJm
-(USED) 20.8099 Tj
--359 TJm
-(AND) 17.2632 Tj
--360 TJm
-(ON) 11.5088 Tj
--360 TJm
-(ANY) 17.2632 Tj
--360 TJm
-(THEOR) 26.5643 Tj
-65 TJm
-(Y) 5.75441 Tj
--360 TJm
-(OF) 10.1858 Tj
--360 TJm
-(LIAB) 18.5942 Tj
-1 TJm
-(ILITY) 20.802 Tj
-128 TJm
-(,) 1.99253 Tj
-72 480.314 Td
-(WHETHER) 38.9578 Tj
--247 TJm
-(IN) 8.40846 Tj
--247 TJm
-(CONTRA) 32.7651 Tj
-40 TJm
-(CT) 10.1858 Tj
-74 TJm
-(,) 1.99253 Tj
--247 TJm
-(STRICT) 27.457 Tj
--247 TJm
-(LIABILITY) 39.3962 Tj
-129 TJm
-(,) 1.99253 Tj
--246 TJm
-(OR) 11.0705 Tj
--247 TJm
-(T) 4.86973 Tj
-18 TJm
-(OR) 11.0705 Tj
-60 TJm
-(T) 4.86973 Tj
--247 TJm
-(\(INCLUDING) 46.92 Tj
--247 TJm
-(NEGLIGENCE) 50.4667 Tj
--247 TJm
-(OR) 11.0705 Tj
--247 TJm
-(O) 5.75441 Tj
-40 TJm
-(THER) 20.8099 Tj
-55 TJm
-(WISE\)) 22.133 Tj
--247 TJm
-(ARISING) 32.3188 Tj
--247 TJm
-(IN) 8.40846 Tj
--247 TJm
-(ANY) 17.2632 Tj
--247 TJm
-(W) 7.52377 Tj
-120 TJm
-(A) 5.75441 Tj
-105 TJm
-(Y) 5.75441 Tj
--247 TJm
-(OUT) 16.3786 Tj
-72 470.75 Td
-(OF) 10.1858 Tj
--250 TJm
-(THE) 15.4939 Tj
--250 TJm
-(USE) 15.0555 Tj
--250 TJm
-(OF) 10.1858 Tj
--250 TJm
-(THIS) 17.7096 Tj
--250 TJm
-(SOFTW) 27.0107 Tj
-120 TJm
-(ARE,) 17.9327 Tj
--250 TJm
-(EVEN) 21.2483 Tj
--250 TJm
-(IF) 7.08542 Tj
--250 TJm
-(AD) 11.5088 Tj
-40 TJm
-(VISED) 23.464 Tj
--250 TJm
-(OF) 10.1858 Tj
--250 TJm
-(THE) 15.4939 Tj
--250 TJm
-(POSSIBILITY) 47.8206 Tj
--250 TJm
-(OF) 10.1858 Tj
--250 TJm
-(SUCH) 21.2563 Tj
--250 TJm
-(D) 5.75441 Tj
-40 TJm
-(AMA) 18.5942 Tj
-40 TJm
-(GE.) 12.6167 Tj
-[1 0 0 1 72 469.598] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -7.9701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -461.628] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 453.216 Td
-/F130_0 7.9701 Tf
-(P) 4.43138 Tj
-92 TJm
-(A) 5.75441 Tj
-111 TJm
-(TENTS:) 27.0107 Tj
--296 TJm
-(T) 4.86973 Tj
-80 TJm
-(o) 3.98505 Tj
--295 TJm
-(the) 9.73946 Tj
--296 TJm
-(best) 12.8398 Tj
--295 TJm
-(of) 6.63909 Tj
--296 TJm
-(my) 10.1858 Tj
--295 TJm
-(kno) 11.9551 Tj
-25 TJm
-(wledge,) 25.0102 Tj
-[1 0 0 1 208.544 453.216] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -208.544 -453.216] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-208.544 453.216 Td
-/F134_0 7.9701 Tf
-(bzip2) 23.9103 Tj
-[1 0 0 1 232.454 453.216] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -232.454 -453.216] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-234.81 453.216 Td
-/F130_0 7.9701 Tf
-(and) 11.5088 Tj
-[1 0 0 1 248.674 453.216] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -248.674 -453.216] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-248.674 453.216 Td
-/F134_0 7.9701 Tf
-(libbzip2) 38.2565 Tj
-[1 0 0 1 286.931 453.216] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -286.931 -453.216] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-289.286 453.216 Td
-/F130_0 7.9701 Tf
-(do) 7.9701 Tj
--296 TJm
-(not) 10.1858 Tj
--295 TJm
-(use) 10.6241 Tj
--296 TJm
-(an) 7.52377 Tj
-15 TJm
-(y) 3.98505 Tj
--295 TJm
-(patented) 27.0027 Tj
--296 TJm
-(algorithms.) 36.0886 Tj
--893 TJm
-(Ho) 9.73946 Tj
-25 TJm
-(we) 9.29314 Tj
-25 TJm
-(v) 3.98505 Tj
-15 TJm
-(er) 6.19277 Tj
-40 TJm
-(,) 1.99253 Tj
--307 TJm
-(I) 2.65404 Tj
--295 TJm
-(do) 7.9701 Tj
--296 TJm
-(not) 10.1858 Tj
--295 TJm
-(ha) 7.52377 Tj
-20 TJm
-(v) 3.98505 Tj
-15 TJm
-(e) 3.53872 Tj
--296 TJm
-(the) 9.73946 Tj
--295 TJm
-(resources) 30.0951 Tj
--296 TJm
-(to) 6.20074 Tj
-72 443.652 Td
-(carry) 16.3706 Tj
--250 TJm
-(out) 10.1858 Tj
--250 TJm
-(a) 3.53872 Tj
--250 TJm
-(patent) 19.4789 Tj
--250 TJm
-(search.) 22.3482 Tj
--620 TJm
-(Therefore) 31.4181 Tj
--250 TJm
-(I) 2.65404 Tj
--250 TJm
-(cannot) 21.2483 Tj
--250 TJm
-(gi) 6.20074 Tj
-25 TJm
-(v) 3.98505 Tj
-15 TJm
-(e) 3.53872 Tj
--250 TJm
-(an) 7.52377 Tj
-15 TJm
-(y) 3.98505 Tj
--250 TJm
-(guarantee) 30.9798 Tj
--250 TJm
-(of) 6.63909 Tj
--250 TJm
-(the) 9.73946 Tj
--250 TJm
-(abo) 11.5088 Tj
-15 TJm
-(v) 3.98505 Tj
-15 TJm
-(e) 3.53872 Tj
--250 TJm
-(statement.) 32.5419 Tj
-[1 0 0 1 72 441.926] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -391.074] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 46.7993 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -46.7993 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5986 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 3 3
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -13.9477] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 707.441 Td
-/F122_0 17.2154 Tf
-(T) 10.5186 Tj
-80 TJm
-(ab) 20.0904 Tj
-10 TJm
-(le) 14.3576 Tj
--278 TJm
-(of) 16.2513 Tj
--278 TJm
-(Contents) 74.5943 Tj
-[1 0 0 1 72 698.619] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.7401] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -686.879] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 686.879 Td
-/F130_0 9.9626 Tf
-(1.) 7.47195 Tj
--310 TJm
-(Introduction) 49.2551 Tj
-[1 0 0 1 131.815 686.879] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -136.796 -686.879] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-145.733 686.879 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 686.879] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -686.879] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 686.879 Td
-/F130_0 9.9626 Tf
-(1) 4.9813 Tj
-[1 0 0 1 516.09 686.879] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -674.923] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 674.923 Td
-/F130_0 9.9626 Tf
-(2.) 7.47195 Tj
--310 TJm
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-[1 0 0 1 152.318 674.923] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -157.3 -674.923] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-167.054 674.923 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 674.923] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -674.923] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 674.923 Td
-/F130_0 9.9626 Tf
-(2) 4.9813 Tj
-[1 0 0 1 516.09 674.923] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -662.968] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 662.968 Td
-/F130_0 9.9626 Tf
-(2.1.) 14.9439 Tj
--310 TJm
-(N) 7.193 Tj
-35 TJm
-(AME) 22.1369 Tj
-[1 0 0 1 119.014 662.968] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -123.995 -662.968] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-132.691 662.968 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 662.968] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -662.968] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 662.968 Td
-/F130_0 9.9626 Tf
-(2) 4.9813 Tj
-[1 0 0 1 516.09 662.968] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -651.013] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 651.013 Td
-/F130_0 9.9626 Tf
-(2.2.) 14.9439 Tj
--310 TJm
-(SYNOPSIS) 47.0534 Tj
-[1 0 0 1 137.085 651.013] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -142.067 -651.013] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-150.582 651.013 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 651.013] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -651.013] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 651.013 Td
-/F130_0 9.9626 Tf
-(2) 4.9813 Tj
-[1 0 0 1 516.09 651.013] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -639.058] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 639.058 Td
-/F130_0 9.9626 Tf
-(2.3.) 14.9439 Tj
--310 TJm
-(DESCRIPTION) 64.7569 Tj
-[1 0 0 1 154.789 639.058] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -159.77 -639.058] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-168.29 639.058 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 639.058] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -639.058] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 639.058 Td
-/F130_0 9.9626 Tf
-(3) 4.9813 Tj
-[1 0 0 1 516.09 639.058] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8557] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -627.103] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 627.103 Td
-/F130_0 9.9626 Tf
-(2.4.) 14.9439 Tj
--310 TJm
-(OPTIONS) 42.0621 Tj
-[1 0 0 1 132.094 627.103] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.076 -627.103] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-145.873 627.103 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 627.103] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -627.103] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 627.103 Td
-/F130_0 9.9626 Tf
-(4) 4.9813 Tj
-[1 0 0 1 516.09 627.103] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -615.147] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 615.147 Td
-/F130_0 9.9626 Tf
-(2.5.) 14.9439 Tj
--310 TJm
-(MEMOR) 37.6387 Tj
-65 TJm
-(Y) 7.193 Tj
--250 TJm
-(MAN) 23.2427 Tj
-35 TJm
-(A) 7.193 Tj
-40 TJm
-(GEMENT) 41.5042 Tj
-[1 0 0 1 207.9 615.147] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -212.881 -615.147] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-221.412 615.147 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 615.147] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -615.147] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 615.147 Td
-/F130_0 9.9626 Tf
-(5) 4.9813 Tj
-[1 0 0 1 516.09 615.147] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -603.192] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 603.192 Td
-/F130_0 9.9626 Tf
-(2.6.) 14.9439 Tj
--310 TJm
-(RECO) 26.5703 Tj
-50 TJm
-(VERING) 37.6287 Tj
--250 TJm
-(D) 7.193 Tj
-40 TJm
-(A) 7.193 Tj
-111 TJm
-(T) 6.08715 Tj
-93 TJm
-(A) 7.193 Tj
--250 TJm
-(FR) 12.1843 Tj
-40 TJm
-(OM) 16.0497 Tj
--250 TJm
-(D) 7.193 Tj
-40 TJm
-(AMA) 23.2427 Tj
-40 TJm
-(GED) 20.4731 Tj
--250 TJm
-(FILES) 26.5703 Tj
-[1 0 0 1 293.449 603.192] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -298.43 -603.192] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-308.464 603.192 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 603.192] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -603.192] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 603.192 Td
-/F130_0 9.9626 Tf
-(6) 4.9813 Tj
-[1 0 0 1 516.09 603.192] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8557] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -591.237] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 591.237 Td
-/F130_0 9.9626 Tf
-(2.7.) 14.9439 Tj
--310 TJm
-(PERFORMANCE) 73.6236 Tj
--250 TJm
-(NO) 14.386 Tj
-40 TJm
-(TES) 17.7135 Tj
-[1 0 0 1 197.847 591.237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -202.829 -591.237] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-211.958 591.237 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 591.237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -591.237] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 591.237 Td
-/F130_0 9.9626 Tf
-(6) 4.9813 Tj
-[1 0 0 1 516.09 591.237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8557] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -579.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 579.282 Td
-/F130_0 9.9626 Tf
-(2.8.) 14.9439 Tj
--310 TJm
-(CA) 13.8381 Tj
-135 TJm
-(VEA) 20.4731 Tj
-111 TJm
-(TS) 11.6264 Tj
-[1 0 0 1 133.519 579.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -138.5 -579.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-148.799 579.282 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 579.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -579.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 579.282 Td
-/F130_0 9.9626 Tf
-(7) 4.9813 Tj
-[1 0 0 1 516.09 579.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -567.327] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 567.327 Td
-/F130_0 9.9626 Tf
-(2.9.) 14.9439 Tj
--310 TJm
-(A) 7.193 Tj
-55 TJm
-(UTHOR) 34.3112 Tj
-[1 0 0 1 130.989 567.327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -135.97 -567.327] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-145.32 567.327 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 567.327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -567.327] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 567.327 Td
-/F130_0 9.9626 Tf
-(7) 4.9813 Tj
-[1 0 0 1 516.09 567.327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.2192] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.736] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -555.372] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 555.372 Td
-/F130_0 9.9626 Tf
-(3.) 7.47195 Tj
--310 TJm
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 160.049 555.372] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -160.049 -555.372] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-160.049 555.372 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 207.87 555.372] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -215.342 -555.372] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-224.856 555.372 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 555.372] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -555.372] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 555.372 Td
-/F130_0 9.9626 Tf
-(8) 4.9813 Tj
-[1 0 0 1 516.09 555.372] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -543.416] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 543.416 Td
-/F130_0 9.9626 Tf
-(3.1.) 14.9439 Tj
--310 TJm
-(T) 6.08715 Tj
-80 TJm
-(op-le) 20.4731 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(structure) 34.8591 Tj
-[1 0 0 1 164.921 543.416] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.902 -543.416] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-179.997 543.416 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 543.416] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -543.416] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 543.416 Td
-/F130_0 9.9626 Tf
-(8) 4.9813 Tj
-[1 0 0 1 516.09 543.416] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -531.461] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 531.461 Td
-/F130_0 9.9626 Tf
-(3.1.1.) 22.4159 Tj
--310 TJm
-(Lo) 11.0684 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(summary) 37.0808 Tj
-[1 0 0 1 177.374 531.461] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -182.355 -531.461] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-192.866 531.461 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 531.461] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -531.461] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 531.461 Td
-/F130_0 9.9626 Tf
-(9) 4.9813 Tj
-[1 0 0 1 516.09 531.461] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -519.506] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 519.506 Td
-/F130_0 9.9626 Tf
-(3.1.2.) 22.4159 Tj
--310 TJm
-(High-le) 30.4357 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(summary) 37.0808 Tj
-[1 0 0 1 179.287 519.506] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -184.268 -519.506] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-193.822 519.506 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 519.506] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -519.506] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 519.506 Td
-/F130_0 9.9626 Tf
-(9) 4.9813 Tj
-[1 0 0 1 516.09 519.506] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -507.551] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 507.551 Td
-/F130_0 9.9626 Tf
-(3.1.3.) 22.4159 Tj
--310 TJm
-(Utility) 26.0223 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(summary) 37.0808 Tj
-[1 0 0 1 202.669 507.551] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -207.65 -507.551] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-216.582 507.551 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 507.551] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -507.551] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 507.551 Td
-/F130_0 9.9626 Tf
-(9) 4.9813 Tj
-[1 0 0 1 516.09 507.551] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -495.596] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 495.596 Td
-/F130_0 9.9626 Tf
-(3.2.) 14.9439 Tj
--310 TJm
-(Error) 21.0211 Tj
--250 TJm
-(handling) 34.8691 Tj
-[1 0 0 1 148.413 495.596] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -153.394 -495.596] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-162.611 495.596 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 495.596] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -495.596] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 495.596 Td
-/F130_0 9.9626 Tf
-(10) 9.9626 Tj
-[1 0 0 1 516.09 495.596] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -483.641] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 483.641 Td
-/F130_0 9.9626 Tf
-(3.3.) 14.9439 Tj
--310 TJm
-(Lo) 11.0684 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
-[1 0 0 1 167.571 483.641] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -172.552 -483.641] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-181.045 483.641 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 483.641] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -483.641] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 483.641 Td
-/F130_0 9.9626 Tf
-(11) 9.9626 Tj
-[1 0 0 1 516.09 483.641] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8557] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -471.685] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 471.685 Td
-/F130_0 9.9626 Tf
-(3.3.1.) 22.4159 Tj
-[1 0 0 1 97.5043 471.685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -471.685] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 471.685 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 205.101 471.685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.082 -471.685] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-219.736 471.685 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 471.685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -471.685] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 471.685 Td
-/F130_0 9.9626 Tf
-(11) 9.9626 Tj
-[1 0 0 1 516.09 471.685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -459.73] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 459.73 Td
-/F130_0 9.9626 Tf
-(3.3.2.) 22.4159 Tj
-[1 0 0 1 97.5043 459.73] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -459.73] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 459.73 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 181.19 459.73] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -186.172 -459.73] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-194.497 459.73 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 459.73] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -459.73] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 459.73 Td
-/F130_0 9.9626 Tf
-(13) 9.9626 Tj
-[1 0 0 1 516.09 459.73] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -447.775] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 447.775 Td
-/F130_0 9.9626 Tf
-(3.3.3.) 22.4159 Tj
-[1 0 0 1 97.5043 447.775] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -447.775] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 447.775 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.619 Tj
-[1 0 0 1 199.123 447.775] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.105 -447.775] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-214.533 447.775 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 447.775] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -447.775] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 447.775 Td
-/F130_0 9.9626 Tf
-(16) 9.9626 Tj
-[1 0 0 1 516.09 447.775] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -435.82] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 435.82 Td
-/F130_0 9.9626 Tf
-(3.3.4.) 22.4159 Tj
-[1 0 0 1 97.5043 435.82] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -435.82] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 435.82 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.551 Tj
-[1 0 0 1 217.056 435.82] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -222.037 -435.82] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-232.355 435.82 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 435.82] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -435.82] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 435.82 Td
-/F130_0 9.9626 Tf
-(16) 9.9626 Tj
-[1 0 0 1 516.09 435.82] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -423.865] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 423.865 Td
-/F130_0 9.9626 Tf
-(3.3.5.) 22.4159 Tj
-[1 0 0 1 97.5043 423.865] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -423.865] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 423.865 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 193.146 423.865] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -198.127 -423.865] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-207.116 423.865 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 423.865] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -423.865] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 423.865 Td
-/F130_0 9.9626 Tf
-(17) 9.9626 Tj
-[1 0 0 1 516.09 423.865] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -411.91] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 411.91 Td
-/F130_0 9.9626 Tf
-(3.3.6.) 22.4159 Tj
-[1 0 0 1 97.5043 411.91] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -411.91] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 411.91 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.574 Tj
-[1 0 0 1 211.078 411.91] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -216.06 -411.91] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-224.938 411.91 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 411.91] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -411.91] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 411.91 Td
-/F130_0 9.9626 Tf
-(18) 9.9626 Tj
-[1 0 0 1 516.09 411.91] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -399.954] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 399.954 Td
-/F130_0 9.9626 Tf
-(3.4.) 14.9439 Tj
--310 TJm
-(High-le) 30.4357 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
-[1 0 0 1 169.483 399.954] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -174.465 -399.954] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-184.216 399.954 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 399.954] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -399.954] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 399.954 Td
-/F130_0 9.9626 Tf
-(18) 9.9626 Tj
-[1 0 0 1 516.09 399.954] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -387.999] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 387.999 Td
-/F130_0 9.9626 Tf
-(3.4.1.) 22.4159 Tj
-[1 0 0 1 97.5043 387.999] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -387.999] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 387.999 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-[1 0 0 1 181.19 387.999] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -186.172 -387.999] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-194.497 387.999 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 387.999] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -387.999] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 387.999 Td
-/F130_0 9.9626 Tf
-(19) 9.9626 Tj
-[1 0 0 1 516.09 387.999] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -376.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 376.044 Td
-/F130_0 9.9626 Tf
-(3.4.2.) 22.4159 Tj
-[1 0 0 1 97.5043 376.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -376.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 376.044 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 157.28 376.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -162.261 -376.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-171.472 376.044 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 376.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -376.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 376.044 Td
-/F130_0 9.9626 Tf
-(20) 9.9626 Tj
-[1 0 0 1 516.09 376.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6452] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -364.089] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 364.089 Td
-/F130_0 9.9626 Tf
-(3.4.3.) 22.4159 Tj
-[1 0 0 1 97.5043 364.089] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -364.089] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 364.089 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.574 Tj
-[1 0 0 1 211.078 364.089] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -216.06 -364.089] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-224.938 364.089 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 364.089] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -364.089] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 364.089 Td
-/F130_0 9.9626 Tf
-(21) 9.9626 Tj
-[1 0 0 1 516.09 364.089] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6452] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -352.134] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 352.134 Td
-/F130_0 9.9626 Tf
-(3.4.4.) 22.4159 Tj
-[1 0 0 1 97.5043 352.134] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -352.134] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 352.134 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 187.168 352.134] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -192.149 -352.134] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-201.914 352.134 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 352.134] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -352.134] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 352.134 Td
-/F130_0 9.9626 Tf
-(22) 9.9626 Tj
-[1 0 0 1 516.09 352.134] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6451] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -340.179] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 340.179 Td
-/F130_0 9.9626 Tf
-(3.4.5.) 22.4159 Tj
-[1 0 0 1 97.5043 340.179] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -340.179] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 340.179 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-[1 0 0 1 187.168 340.179] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -192.149 -340.179] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-201.914 340.179 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 340.179] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -340.179] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 340.179 Td
-/F130_0 9.9626 Tf
-(22) 9.9626 Tj
-[1 0 0 1 516.09 340.179] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -328.223] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 328.223 Td
-/F130_0 9.9626 Tf
-(3.4.6.) 22.4159 Tj
-[1 0 0 1 97.5043 328.223] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -328.223] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 328.223 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-[1 0 0 1 163.258 328.223] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -168.239 -328.223] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-176.675 328.223 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 328.223] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -328.223] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 328.223 Td
-/F130_0 9.9626 Tf
-(23) 9.9626 Tj
-[1 0 0 1 516.09 328.223] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6452] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -316.268] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 316.268 Td
-/F130_0 9.9626 Tf
-(3.4.7.) 22.4159 Tj
-[1 0 0 1 97.5043 316.268] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -316.268] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 316.268 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-[1 0 0 1 193.146 316.268] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -198.127 -316.268] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-207.116 316.268 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 316.268] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -316.268] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 316.268 Td
-/F130_0 9.9626 Tf
-(23) 9.9626 Tj
-[1 0 0 1 516.09 316.268] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6451] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -304.313] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 304.313 Td
-/F130_0 9.9626 Tf
-(3.4.8.) 22.4159 Tj
--310 TJm
-(Handling) 37.0808 Tj
--250 TJm
-(embedded) 40.9463 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(streams) 30.4357 Tj
-[1 0 0 1 279.56 304.313] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -284.541 -304.313] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-294.601 304.313 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 304.313] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -304.313] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 304.313 Td
-/F130_0 9.9626 Tf
-(24) 9.9626 Tj
-[1 0 0 1 516.09 304.313] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -292.358] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 292.358 Td
-/F130_0 9.9626 Tf
-(3.4.9.) 22.4159 Tj
--310 TJm
-(Standard) 35.417 Tj
--250 TJm
-(\002le-reading/writing) 77.4791 Tj
--250 TJm
-(code) 18.8094 Tj
-[1 0 0 1 234.19 292.358] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -239.172 -292.358] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-247.564 292.358 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 292.358] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -292.358] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 292.358 Td
-/F130_0 9.9626 Tf
-(25) 9.9626 Tj
-[1 0 0 1 516.09 292.358] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -280.403] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 280.403 Td
-/F130_0 9.9626 Tf
-(3.5.) 14.9439 Tj
--310 TJm
-(Utility) 26.0223 Tj
--250 TJm
-(functions) 37.0808 Tj
-[1 0 0 1 155.625 280.403] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -160.607 -280.403] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-170.645 280.403 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 280.403] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -280.403] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 280.403 Td
-/F130_0 9.9626 Tf
-(26) 9.9626 Tj
-[1 0 0 1 516.09 280.403] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -268.448] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 268.448 Td
-/F130_0 9.9626 Tf
-(3.5.1.) 22.4159 Tj
-[1 0 0 1 97.5043 268.448] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -268.448] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 268.448 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffCompress) 143.461 Tj
-[1 0 0 1 240.966 268.448] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -245.948 -268.448] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-255.38 268.448 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 268.448] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -268.448] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 268.448 Td
-/F130_0 9.9626 Tf
-(26) 9.9626 Tj
-[1 0 0 1 516.09 268.448] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -256.492] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 256.492 Td
-/F130_0 9.9626 Tf
-(3.5.2.) 22.4159 Tj
-[1 0 0 1 97.5043 256.492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -256.492] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 256.492 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.417 Tj
-[1 0 0 1 252.922 256.492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -257.903 -256.492] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-267.999 256.492 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 256.492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -256.492] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 256.492 Td
-/F130_0 9.9626 Tf
-(27) 9.9626 Tj
-[1 0 0 1 516.09 256.492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -244.537] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 244.537 Td
-/F130_0 9.9626 Tf
-(3.6.) 14.9439 Tj
-[1 0 0 1 90.0324 244.537] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90.0324 -244.537] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90.0324 244.537 Td
-/F134_0 9.9626 Tf
-(zlib) 23.9102 Tj
-[1 0 0 1 113.943 244.537] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.943 -244.537] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-116.433 244.537 Td
-/F130_0 9.9626 Tf
-(compatibility) 53.1405 Tj
--250 TJm
-(functions) 37.0808 Tj
-[1 0 0 1 209.144 244.537] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -214.126 -244.537] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-223.971 244.537 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 244.537] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -244.537] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 244.537 Td
-/F130_0 9.9626 Tf
-(28) 9.9626 Tj
-[1 0 0 1 516.09 244.537] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -232.582] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 232.582 Td
-/F130_0 9.9626 Tf
-(3.7.) 14.9439 Tj
--310 TJm
-(Using) 23.8007 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.42339 Tj
-[1 0 0 1 177.195 232.582] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -177.195 -232.582] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-177.195 232.582 Td
-/F134_0 9.9626 Tf
-(stdio) 29.8878 Tj
-[1 0 0 1 207.083 232.582] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -207.083 -232.582] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-207.083 232.582 Td
-/F130_0 9.9626 Tf
-(-free) 18.7994 Tj
--250 TJm
-(en) 9.40469 Tj
-40 TJm
-(vironment) 40.9562 Tj
-[1 0 0 1 278.335 232.582] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -283.316 -232.582] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-291.775 232.582 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 232.582] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -232.582] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 232.582 Td
-/F130_0 9.9626 Tf
-(28) 9.9626 Tj
-[1 0 0 1 516.09 232.582] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -220.627] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 220.627 Td
-/F130_0 9.9626 Tf
-(3.7.1.) 22.4159 Tj
--310 TJm
-(Getting) 29.8878 Tj
--250 TJm
-(rid) 11.0684 Tj
--250 TJm
-(of) 8.29885 Tj
-[1 0 0 1 154.231 220.627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -154.231 -220.627] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-154.231 220.627 Td
-/F134_0 9.9626 Tf
-(stdio) 29.8878 Tj
-[1 0 0 1 184.119 220.627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -189.1 -220.627] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-198.175 220.627 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 220.627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -220.627] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 220.627 Td
-/F130_0 9.9626 Tf
-(29) 9.9626 Tj
-[1 0 0 1 516.09 220.627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -208.672] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 208.672 Td
-/F130_0 9.9626 Tf
-(3.7.2.) 22.4159 Tj
--310 TJm
-(Critical) 29.8878 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(handling) 34.8691 Tj
-[1 0 0 1 186.599 208.672] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -191.58 -208.672] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-201.629 208.672 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 208.672] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -208.672] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 208.672 Td
-/F130_0 9.9626 Tf
-(29) 9.9626 Tj
-[1 0 0 1 516.09 208.672] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -196.717] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 196.717 Td
-/F130_0 9.9626 Tf
-(3.8.) 14.9439 Tj
--310 TJm
-(Making) 30.9936 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(W) 9.40469 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(DLL) 19.3673 Tj
-[1 0 0 1 189.828 196.717] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -194.809 -196.717] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-203.243 196.717 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 196.717] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -196.717] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 196.717 Td
-/F130_0 9.9626 Tf
-(29) 9.9626 Tj
-[1 0 0 1 516.09 196.717] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1569] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -184.761] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 184.761 Td
-/F130_0 9.9626 Tf
-(4.) 7.47195 Tj
--310 TJm
-(Miscellanea) 48.1393 Tj
-[1 0 0 1 130.699 184.761] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -135.68 -184.761] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-144.898 184.761 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 184.761] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -184.761] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 184.761 Td
-/F130_0 9.9626 Tf
-(31) 9.9626 Tj
-[1 0 0 1 516.09 184.761] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8557] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -172.806] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 172.806 Td
-/F130_0 9.9626 Tf
-(4.1.) 14.9439 Tj
--310 TJm
-(Limitations) 45.9475 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(format) 26.5603 Tj
-[1 0 0 1 255.231 172.806] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -260.212 -172.806] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-269.154 172.806 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 172.806] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -172.806] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 172.806 Td
-/F130_0 9.9626 Tf
-(31) 9.9626 Tj
-[1 0 0 1 516.09 172.806] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -160.851] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 160.851 Td
-/F130_0 9.9626 Tf
-(4.2.) 14.9439 Tj
--310 TJm
-(Portability) 42.0721 Tj
--250 TJm
-(issues) 23.8007 Tj
-[1 0 0 1 158.395 160.851] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -163.376 -160.851] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-172.03 160.851 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 160.851] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -160.851] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 160.851 Td
-/F130_0 9.9626 Tf
-(32) 9.9626 Tj
-[1 0 0 1 516.09 160.851] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1569] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -148.896] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 148.896 Td
-/F130_0 9.9626 Tf
-(4.3.) 14.9439 Tj
--310 TJm
-(Reporting) 39.8504 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
-[1 0 0 1 150.993 148.896] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.975 -148.896] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-166.115 148.896 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 148.896] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -148.896] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 148.896 Td
-/F130_0 9.9626 Tf
-(32) 9.9626 Tj
-[1 0 0 1 516.09 148.896] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -136.941] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 136.941 Td
-/F130_0 9.9626 Tf
-(4.4.) 14.9439 Tj
--310 TJm
-(Did) 14.9439 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(get) 12.1743 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(right) 18.8194 Tj
--250 TJm
-(package?) 37.0609 Tj
-[1 0 0 1 212.602 136.941] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 3.0884 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 3.0884 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -218.778 -136.941] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-229.109 136.941 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 136.941] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -136.941] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 136.941 Td
-/F130_0 9.9626 Tf
-(33) 9.9626 Tj
-[1 0 0 1 516.09 136.941] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -124.986] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 124.986 Td
-/F130_0 9.9626 Tf
-(4.5.) 14.9439 Tj
--310 TJm
-(Further) 29.3299 Tj
--250 TJm
-(Reading) 33.2053 Tj
-[1 0 0 1 155.058 124.986] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -160.039 -124.986] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-170.361 124.986 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 124.986] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -124.986] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 124.986 Td
-/F130_0 9.9626 Tf
-(34) 9.9626 Tj
-[1 0 0 1 516.09 124.986] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1569] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -62.0143] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 41.3997 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -494.668 -50.8518] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-536.068 50.8518 Td
-/F130_0 9.9626 Tf
-(iii) 8.30881 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 4 4
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -13.9477] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 701.916 Td
-/F122_0 24.7902 Tf
-(1.) 20.675 Tj
--278 TJm
-(Intr) 39.937 Tj
-20 TJm
-(oduction) 104.664 Tj
-[1 0 0 1 72 701.606] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -691.643] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 679.998 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 679.998] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -679.998] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.507 679.998 Td
-/F130_0 9.9626 Tf
-(compresses) 45.9276 Tj
--263 TJm
-(\002les) 16.6077 Tj
--263 TJm
-(using) 21.589 Tj
--263 TJm
-(the) 12.1743 Tj
--262 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws-Wheeler) 48.1293 Tj
--263 TJm
-(block-sorting) 53.1305 Tj
--263 TJm
-(te) 7.193 Tj
-15 TJm
-(xt) 7.7509 Tj
--263 TJm
-(compression) 50.3609 Tj
--263 TJm
-(algorithm,) 41.2352 Tj
--266 TJm
-(and) 14.386 Tj
--263 TJm
-(Huf) 15.4918 Tj
-25 TJm
-(fman) 20.4731 Tj
--263 TJm
-(coding.) 29.6088 Tj
-72 668.043 Td
-(Compression) 52.5826 Tj
--203 TJm
-(is) 6.64505 Tj
--204 TJm
-(generally) 37.0708 Tj
--203 TJm
-(considerably) 50.9089 Tj
--203 TJm
-(better) 22.6848 Tj
--204 TJm
-(t) 2.7696 Tj
-1 TJm
-(han) 14.386 Tj
--204 TJm
-(that) 14.9439 Tj
--203 TJm
-(achie) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed) 9.40469 Tj
--203 TJm
-(by) 9.9626 Tj
--204 TJm
-(more) 20.4731 Tj
--203 TJm
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(entional) 32.0995 Tj
--203 TJm
-(LZ77/LZ78-based) 73.0458 Tj
--204 TJm
-(compressors,) 52.2937 Tj
-72 656.087 Td
-(and) 14.386 Tj
--250 TJm
-(approaches) 44.8118 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(performance) 50.341 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(PPM) 19.9352 Tj
--250 TJm
-(f) 3.31755 Tj
-10 TJm
-(amily) 22.6948 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(statistical) 37.6387 Tj
--250 TJm
-(compressors.) 52.2937 Tj
-[1 0 0 1 72 653.931] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -643.968] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 634.17 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 634.17] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -634.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-105.073 634.17 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--320 TJm
-(b) 4.9813 Tj
-20 TJm
-(uilt) 13.2901 Tj
--319 TJm
-(on) 9.9626 Tj
--320 TJm
-(top) 12.7322 Tj
--320 TJm
-(of) 8.29885 Tj
-[1 0 0 1 176.712 634.17] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -176.712 -634.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-176.712 634.17 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 224.533 634.17] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -224.533 -634.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-224.533 634.17 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--337 TJm
-(a) 4.42339 Tj
--320 TJm
-(\003e) 9.9626 Tj
-15 TJm
-(xible) 19.9252 Tj
--320 TJm
-(library) 26.5603 Tj
--319 TJm
-(for) 11.6164 Tj
--320 TJm
-(handling) 34.8691 Tj
--320 TJm
-(compressed) 47.0334 Tj
--320 TJm
-(data) 16.5977 Tj
--319 TJm
-(in) 7.7509 Tj
--320 TJm
-(the) 12.1743 Tj
-[1 0 0 1 449.816 634.17] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -449.816 -634.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-449.816 634.17 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 479.704 634.17] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -479.704 -634.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-482.889 634.17 Td
-/F130_0 9.9626 Tf
-(format.) 29.0509 Tj
--1039 TJm
-(This) 17.7135 Tj
-72 622.214 Td
-(manual) 29.3299 Tj
--316 TJm
-(describes) 37.0708 Tj
--316 TJm
-(both) 17.7135 Tj
--317 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--316 TJm
-(to) 7.7509 Tj
--316 TJm
-(use) 13.2801 Tj
--316 TJm
-(the) 12.1743 Tj
--316 TJm
-(program) 33.7533 Tj
--316 TJm
-(and) 14.386 Tj
--317 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--316 TJm
-(to) 7.7509 Tj
--316 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--316 TJm
-(with) 17.7135 Tj
--316 TJm
-(the) 12.1743 Tj
--317 TJm
-(library) 26.5603 Tj
--316 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
--1017 TJm
-(Most) 20.4831 Tj
--316 TJm
-(of) 8.29885 Tj
--316 TJm
-(the) 12.1743 Tj
--317 TJm
-(manual) 29.3299 Tj
--316 TJm
-(is) 6.64505 Tj
-72 610.259 Td
-(de) 9.40469 Tj
-25 TJm
-(v) 4.9813 Tj
-20 TJm
-(oted) 17.1556 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(program,) 36.2439 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(good) 19.9252 Tj
--250 TJm
-(ne) 9.40469 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(if) 6.08715 Tj
--250 TJm
-(your) 18.2614 Tj
--250 TJm
-(interest) 29.3299 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(only) 17.7135 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(program.) 36.2439 Tj
-[1 0 0 1 72 608.102] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -29.7236] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -578.379] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 578.379 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 578.379] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -86.944 -578.379] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 578.379 Td
-/F130_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--259 TJm
-(to) 7.7509 Tj
--260 TJm
-(use) 13.2801 Tj
--259 TJm
-(bzip2) 22.1369 Tj
-[1 0 0 1 156.985 578.379] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -156.985 -578.379] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-159.57 578.379 Td
-/F130_0 9.9626 Tf
-([2]) 11.6164 Tj
-[1 0 0 1 171.186 578.379] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -171.186 -578.379] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-173.771 578.379 Td
-/F130_0 9.9626 Tf
-(describes) 37.0708 Tj
--259 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--260 TJm
-(to) 7.7509 Tj
--259 TJm
-(use) 13.2801 Tj
-[1 0 0 1 259.119 578.379] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -259.119 -578.379] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-259.119 578.379 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 289.007 578.379] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -289.007 -578.379] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-289.007 578.379 Td
-/F130_0 9.9626 Tf
-(;) 2.7696 Tj
--264 TJm
-(this) 14.396 Tj
--260 TJm
-(is) 6.64505 Tj
--259 TJm
-(the) 12.1743 Tj
--260 TJm
-(only) 17.7135 Tj
--259 TJm
-(part) 15.4918 Tj
--259 TJm
-(you) 14.9439 Tj
--260 TJm
-(need) 18.8094 Tj
--259 TJm
-(to) 7.7509 Tj
--260 TJm
-(read) 17.1456 Tj
--259 TJm
-(if) 6.08715 Tj
--260 TJm
-(you) 14.9439 Tj
--259 TJm
-(just) 14.396 Tj
--260 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--259 TJm
-(to) 7.7509 Tj
--260 TJm
-(kno) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
-86.944 566.424 Td
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(operate) 29.3199 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(program.) 36.2439 Tj
-[1 0 0 1 199.302 566.424] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -127.302 -21.9178] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -544.506] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 544.506 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 544.506] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -86.944 -544.506] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 544.506 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(libbzip2) 32.6574 Tj
-[1 0 0 1 197.09 544.506] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -197.09 -544.506] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-199.58 544.506 Td
-/F130_0 9.9626 Tf
-([8]) 11.6164 Tj
-[1 0 0 1 211.197 544.506] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -211.197 -544.506] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-213.687 544.506 Td
-/F130_0 9.9626 Tf
-(describes) 37.0708 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(programming) 54.2364 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(aces) 17.1456 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(detail,) 24.6275 Tj
--250 TJm
-(and) 14.386 Tj
-[1 0 0 1 417.501 544.506] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -345.501 -21.9178] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -522.588] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 522.588 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 522.588] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -86.944 -522.588] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 522.588 Td
-/F130_0 9.9626 Tf
-(Miscellanea) 48.1393 Tj
-[1 0 0 1 135.083 522.588] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -135.083 -522.588] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-137.573 522.588 Td
-/F130_0 9.9626 Tf
-([31]) 16.5977 Tj
-[1 0 0 1 154.171 522.588] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -154.171 -522.588] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-156.662 522.588 Td
-/F130_0 9.9626 Tf
-(records) 29.3199 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(miscellaneous) 56.4481 Tj
--250 TJm
-(notes) 21.031 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(I) 3.31755 Tj
--250 TJm
-(thought) 30.4457 Tj
--250 TJm
-(ought) 22.6948 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(recorded) 34.8492 Tj
--250 TJm
-(some) 21.031 Tj
-25 TJm
-(where.) 26.8293 Tj
-[1 0 0 1 492.31 522.588] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -420.31 -471.736] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 43.0633 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.332 -50.8518] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-539.395 50.8518 Td
-/F130_0 9.9626 Tf
-(1) 4.9813 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 5 5
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -13.9477] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 701.916 Td
-/F122_0 24.7902 Tf
-(2.) 20.675 Tj
--278 TJm
-(Ho) 33.0453 Tj
-15 TJm
-(w) 19.2868 Tj
--278 TJm
-(to) 23.4019 Tj
--278 TJm
-(use) 42.7135 Tj
--278 TJm
-(bzip2) 63.3638 Tj
-[1 0 0 1 72 696.784] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -14.944] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -671.877] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 656.35 Td
-/F122_0 17.2154 Tf
-(T) 10.5186 Tj
-80 TJm
-(ab) 20.0904 Tj
-10 TJm
-(le) 14.3576 Tj
--278 TJm
-(of) 16.2513 Tj
--278 TJm
-(Contents) 74.5943 Tj
-[1 0 0 1 72 647.528] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.7401] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -635.788] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 635.788 Td
-/F130_0 9.9626 Tf
-(2.1.) 14.9439 Tj
--310 TJm
-(N) 7.193 Tj
-35 TJm
-(AME) 22.1369 Tj
-[1 0 0 1 119.014 635.788] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -123.995 -635.788] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-132.691 635.788 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 635.788] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -635.788] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 635.788 Td
-/F130_0 9.9626 Tf
-(2) 4.9813 Tj
-[1 0 0 1 516.09 635.788] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -623.832] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 623.832 Td
-/F130_0 9.9626 Tf
-(2.2.) 14.9439 Tj
--310 TJm
-(SYNOPSIS) 47.0534 Tj
-[1 0 0 1 137.085 623.832] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -142.067 -623.832] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-150.582 623.832 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 623.832] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -623.832] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 623.832 Td
-/F130_0 9.9626 Tf
-(2) 4.9813 Tj
-[1 0 0 1 516.09 623.832] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -611.877] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 611.877 Td
-/F130_0 9.9626 Tf
-(2.3.) 14.9439 Tj
--310 TJm
-(DESCRIPTION) 64.7569 Tj
-[1 0 0 1 154.789 611.877] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -159.77 -611.877] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-168.29 611.877 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 611.877] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -611.877] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 611.877 Td
-/F130_0 9.9626 Tf
-(3) 4.9813 Tj
-[1 0 0 1 516.09 611.877] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8557] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -599.922] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 599.922 Td
-/F130_0 9.9626 Tf
-(2.4.) 14.9439 Tj
--310 TJm
-(OPTIONS) 42.0621 Tj
-[1 0 0 1 132.094 599.922] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.076 -599.922] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-145.873 599.922 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 599.922] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -599.922] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 599.922 Td
-/F130_0 9.9626 Tf
-(4) 4.9813 Tj
-[1 0 0 1 516.09 599.922] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -587.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 587.967 Td
-/F130_0 9.9626 Tf
-(2.5.) 14.9439 Tj
--310 TJm
-(MEMOR) 37.6387 Tj
-65 TJm
-(Y) 7.193 Tj
--250 TJm
-(MAN) 23.2427 Tj
-35 TJm
-(A) 7.193 Tj
-40 TJm
-(GEMENT) 41.5042 Tj
-[1 0 0 1 207.9 587.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -212.881 -587.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-221.412 587.967 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 587.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -587.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 587.967 Td
-/F130_0 9.9626 Tf
-(5) 4.9813 Tj
-[1 0 0 1 516.09 587.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -576.012] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 576.012 Td
-/F130_0 9.9626 Tf
-(2.6.) 14.9439 Tj
--310 TJm
-(RECO) 26.5703 Tj
-50 TJm
-(VERING) 37.6287 Tj
--250 TJm
-(D) 7.193 Tj
-40 TJm
-(A) 7.193 Tj
-111 TJm
-(T) 6.08715 Tj
-93 TJm
-(A) 7.193 Tj
--250 TJm
-(FR) 12.1843 Tj
-40 TJm
-(OM) 16.0497 Tj
--250 TJm
-(D) 7.193 Tj
-40 TJm
-(AMA) 23.2427 Tj
-40 TJm
-(GED) 20.4731 Tj
--250 TJm
-(FILES) 26.5703 Tj
-[1 0 0 1 293.449 576.012] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -298.43 -576.012] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-308.464 576.012 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 576.012] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -576.012] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 576.012 Td
-/F130_0 9.9626 Tf
-(6) 4.9813 Tj
-[1 0 0 1 516.09 576.012] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8557] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -564.056] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 564.056 Td
-/F130_0 9.9626 Tf
-(2.7.) 14.9439 Tj
--310 TJm
-(PERFORMANCE) 73.6236 Tj
--250 TJm
-(NO) 14.386 Tj
-40 TJm
-(TES) 17.7135 Tj
-[1 0 0 1 197.847 564.056] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -202.829 -564.056] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-211.958 564.056 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 564.056] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -564.056] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 564.056 Td
-/F130_0 9.9626 Tf
-(6) 4.9813 Tj
-[1 0 0 1 516.09 564.056] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -552.101] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 552.101 Td
-/F130_0 9.9626 Tf
-(2.8.) 14.9439 Tj
--310 TJm
-(CA) 13.8381 Tj
-135 TJm
-(VEA) 20.4731 Tj
-111 TJm
-(TS) 11.6264 Tj
-[1 0 0 1 133.519 552.101] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -138.5 -552.101] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-148.799 552.101 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 552.101] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -552.101] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 552.101 Td
-/F130_0 9.9626 Tf
-(7) 4.9813 Tj
-[1 0 0 1 516.09 552.101] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8556] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -540.146] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 540.146 Td
-/F130_0 9.9626 Tf
-(2.9.) 14.9439 Tj
--310 TJm
-(A) 7.193 Tj
-55 TJm
-(UTHOR) 34.3112 Tj
-[1 0 0 1 130.989 540.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -135.97 -540.146] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-145.32 540.146 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 540.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -540.146] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 540.146 Td
-/F130_0 9.9626 Tf
-(7) 4.9813 Tj
-[1 0 0 1 516.09 540.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.2191] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -520.002] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 508.266 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--250 TJm
-(chapter) 29.3199 Tj
--250 TJm
-(contains) 33.2053 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(cop) 14.386 Tj
-10 TJm
-(y) 4.9813 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
-[1 0 0 1 213.837 508.266] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -213.837 -508.266] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-213.837 508.266 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 243.725 508.266] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -243.725 -508.266] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-246.215 508.266 Td
-/F130_0 9.9626 Tf
-(man) 17.1556 Tj
--250 TJm
-(page,) 21.3 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(nothing) 30.4457 Tj
--250 TJm
-(else.) 17.9825 Tj
-[1 0 0 1 72 506.109] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -496.146] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 473.513 Td
-/F122_0 20.6585 Tf
-(2.1.) 34.4584 Tj
--278 TJm
-(NAME) 60.8186 Tj
-[1 0 0 1 72 473.513] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -31.8804] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -441.632] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 441.632 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 441.632] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -441.632] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 441.632 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 116.832 441.632] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -116.832 -441.632] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-116.832 441.632 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 121.813 441.632] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -121.813 -441.632] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-121.813 441.632 Td
-/F134_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-[1 0 0 1 163.656 441.632] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -163.656 -441.632] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-166.147 441.632 Td
-/F130_0 9.9626 Tf
-(-) 3.31755 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(block-sorting) 53.1305 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(compressor) 45.9276 Tj
-40 TJm
-(,) 2.49065 Tj
--250 TJm
-(v1.0.4) 24.9065 Tj
-[1 0 0 1 325.129 441.632] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -253.129 -21.9179] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -419.715] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 419.715 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 419.715] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -419.715] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 419.715 Td
-/F134_0 9.9626 Tf
-(bzcat) 29.8878 Tj
-[1 0 0 1 116.832 419.715] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -116.832 -419.715] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.322 419.715 Td
-/F130_0 9.9626 Tf
-(-) 3.31755 Tj
--250 TJm
-(decompresses) 55.3323 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(stdout) 24.3586 Tj
-[1 0 0 1 236.651 419.715] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -164.651 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -397.797] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 397.797 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 397.797] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -397.797] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 397.797 Td
-/F134_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-[1 0 0 1 158.675 397.797] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -158.675 -397.797] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-161.166 397.797 Td
-/F130_0 9.9626 Tf
-(-) 3.31755 Tj
--250 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ers) 11.6164 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(damaged) 35.965 Tj
--250 TJm
-(bzip2) 22.1369 Tj
--250 TJm
-(\002les) 16.6077 Tj
-[1 0 0 1 323.545 397.797] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -251.545 -12.1195] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -375.715] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 353.081 Td
-/F122_0 20.6585 Tf
-(2.2.) 34.4584 Tj
--278 TJm
-(SYNOPSIS) 105.627 Tj
-[1 0 0 1 72 352.823] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -31.6223] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -321.201] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 321.201 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 321.201] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -321.201] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 321.201 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 116.832 321.201] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -116.832 -321.201] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.322 321.201 Td
-/F130_0 9.9626 Tf
-([) 3.31755 Tj
--250 TJm
-(-cdfkqstvzVL123456789) 100.164 Tj
--250 TJm
-(]) 3.31755 Tj
--250 TJm
-([) 3.31755 Tj
--250 TJm
-(\002lenames) 38.1866 Tj
--250 TJm
-(...) 7.47195 Tj
--620 TJm
-(]) 3.31755 Tj
-[1 0 0 1 297.045 321.201] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -225.045 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -299.283] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 299.283 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 299.283] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -299.283] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 299.283 Td
-/F134_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-[1 0 0 1 128.787 299.283] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -128.787 -299.283] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-131.278 299.283 Td
-/F130_0 9.9626 Tf
-([) 3.31755 Tj
--250 TJm
-(-fkvsVL) 33.7533 Tj
--250 TJm
-(]) 3.31755 Tj
--250 TJm
-([) 3.31755 Tj
--250 TJm
-(\002lenames) 38.1866 Tj
--250 TJm
-(...) 7.47195 Tj
--620 TJm
-(]) 3.31755 Tj
-[1 0 0 1 242.589 299.283] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -170.589 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -277.365] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 277.365 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 277.365] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -277.365] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 277.365 Td
-/F134_0 9.9626 Tf
-(bzcat) 29.8878 Tj
-[1 0 0 1 116.832 277.365] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -116.832 -277.365] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.322 277.365 Td
-/F130_0 9.9626 Tf
-([) 3.31755 Tj
--250 TJm
-(-s) 7.193 Tj
--250 TJm
-(]) 3.31755 Tj
--250 TJm
-([) 3.31755 Tj
--250 TJm
-(\002lenames) 38.1866 Tj
--250 TJm
-(...) 7.47195 Tj
--620 TJm
-(]) 3.31755 Tj
-[1 0 0 1 204.074 277.365] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -132.074 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -255.447] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 255.447 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 255.447] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -255.447] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 255.447 Td
-/F134_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-[1 0 0 1 158.675 255.447] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -158.675 -255.447] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-161.166 255.447 Td
-/F130_0 9.9626 Tf
-(\002lename) 34.3112 Tj
-[1 0 0 1 195.476 255.447] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -123.477 -204.596] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 43.0633 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.332 -50.8519] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-539.395 50.8519 Td
-/F130_0 9.9626 Tf
-(2) 4.9813 Tj
-[1 0 0 1 453.269 50.8519] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 6 6
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 105.519 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -371.59 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F130_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-[1 0 0 1 266.071 747.089] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 704.93 Td
-/F122_0 20.6585 Tf
-(2.3.) 34.4584 Tj
--278 TJm
-(DESCRIPTION) 141.18 Tj
-[1 0 0 1 72 704.672] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -694.709] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 683.012 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 683.012] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -683.012] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.56 683.012 Td
-/F130_0 9.9626 Tf
-(compresses) 45.9276 Tj
--268 TJm
-(\002les) 16.6077 Tj
--268 TJm
-(using) 21.589 Tj
--268 TJm
-(the) 12.1743 Tj
--269 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws-Wheeler) 48.1293 Tj
--268 TJm
-(block) 22.1369 Tj
--268 TJm
-(sorting) 27.6761 Tj
--268 TJm
-(te) 7.193 Tj
-15 TJm
-(xt) 7.7509 Tj
--268 TJm
-(compression) 50.3609 Tj
--268 TJm
-(algorithm,) 41.2352 Tj
--273 TJm
-(and) 14.386 Tj
--268 TJm
-(Huf) 15.4918 Tj
-25 TJm
-(fman) 20.4731 Tj
--269 TJm
-(c) 4.42339 Tj
-1 TJm
-(od) 9.9626 Tj
--1 TJm
-(i) 2.7696 Tj
-1 TJm
-(ng.) 12.4533 Tj
-72 671.057 Td
-(Compression) 52.5826 Tj
--203 TJm
-(is) 6.64505 Tj
--204 TJm
-(generally) 37.0708 Tj
--203 TJm
-(considerably) 50.9089 Tj
--203 TJm
-(better) 22.6848 Tj
--204 TJm
-(t) 2.7696 Tj
-1 TJm
-(han) 14.386 Tj
--204 TJm
-(that) 14.9439 Tj
--203 TJm
-(achie) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed) 9.40469 Tj
--203 TJm
-(by) 9.9626 Tj
--204 TJm
-(more) 20.4731 Tj
--203 TJm
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(entional) 32.0995 Tj
--203 TJm
-(LZ77/LZ78-based) 73.0458 Tj
--204 TJm
-(compressors,) 52.2937 Tj
-72 659.101 Td
-(and) 14.386 Tj
--250 TJm
-(approaches) 44.8118 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(performance) 50.341 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(PPM) 19.9352 Tj
--250 TJm
-(f) 3.31755 Tj
-10 TJm
-(amily) 22.6948 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(statistical) 37.6387 Tj
--250 TJm
-(compressors.) 52.2937 Tj
-[1 0 0 1 72 656.945] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -646.982] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 637.184 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(command-line) 57.5539 Tj
--250 TJm
-(options) 29.3399 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(deliberately) 47.0334 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--250 TJm
-(similar) 27.6761 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(those) 21.031 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(GNU) 21.579 Tj
-[1 0 0 1 364.869 637.184] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -364.869 -637.184] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-364.869 637.184 Td
-/F134_0 9.9626 Tf
-(gzip) 23.9102 Tj
-[1 0 0 1 388.779 637.184] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -388.779 -637.184] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-388.779 637.184 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(identical.) 36.8018 Tj
-[1 0 0 1 72 635.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -625.064] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 615.266 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 615.266] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -615.266] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-105.175 615.266 Td
-/F130_0 9.9626 Tf
-(e) 4.42339 Tj
-15 TJm
-(xpects) 25.4544 Tj
--330 TJm
-(a) 4.42339 Tj
--330 TJm
-(list) 12.1843 Tj
--330 TJm
-(of) 8.29885 Tj
--330 TJm
-(\002le) 12.7322 Tj
--329 TJm
-(names) 25.4544 Tj
--330 TJm
-(to) 7.7509 Tj
--330 TJm
-(accompan) 40.3884 Tj
-15 TJm
-(y) 4.9813 Tj
--330 TJm
-(the) 12.1743 Tj
--330 TJm
-(command-line) 57.5539 Tj
--330 TJm
-(\003ags.) 21.31 Tj
--1099 TJm
-(Each) 19.9152 Tj
--330 TJm
-(\002le) 12.7322 Tj
--330 TJm
-(is) 6.64505 Tj
--330 TJm
-(replaced) 33.7433 Tj
--330 TJm
-(by) 9.9626 Tj
--330 TJm
-(a) 4.42339 Tj
--330 TJm
-(compressed) 47.0334 Tj
-72 603.311 Td
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--349 TJm
-(of) 8.29885 Tj
--348 TJm
-(itself,) 22.4159 Tj
--373 TJm
-(with) 17.7135 Tj
--349 TJm
-(the) 12.1743 Tj
--349 TJm
-(name) 21.579 Tj
-[1 0 0 1 204.444 603.311] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.444 -603.311] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-204.444 603.311 Td
-/F134_0 9.9626 Tf
-(original_name.bz2) 101.619 Tj
-[1 0 0 1 306.063 603.311] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -306.063 -603.311] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-306.063 603.311 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1212 TJm
-(Each) 19.9152 Tj
--348 TJm
-(compressed) 47.0334 Tj
--349 TJm
-(\002le) 12.7322 Tj
--348 TJm
-(has) 13.2801 Tj
--349 TJm
-(the) 12.1743 Tj
--348 TJm
-(same) 20.4731 Tj
--349 TJm
-(modi\002cation) 50.3709 Tj
--349 TJm
-(date,) 19.0883 Tj
-72 591.356 Td
-(permissions,) 50.092 Tj
--344 TJm
-(and,) 16.8766 Tj
--344 TJm
-(when) 21.579 Tj
--325 TJm
-(possible,) 35.1481 Tj
--344 TJm
-(o) 4.9813 Tj
-25 TJm
-(wnership) 36.5229 Tj
--325 TJm
-(as) 8.29885 Tj
--325 TJm
-(the) 12.1743 Tj
--326 TJm
-(corresponding) 56.996 Tj
--325 TJm
-(original,) 33.4843 Tj
--344 TJm
-(so) 8.85675 Tj
--325 TJm
-(that) 14.9439 Tj
--325 TJm
-(these) 20.4731 Tj
--325 TJm
-(properties) 39.8404 Tj
--325 TJm
-(can) 13.8281 Tj
--326 TJm
-(be) 9.40469 Tj
--325 TJm
-(correctly) 35.4071 Tj
-72 579.4 Td
-(restored) 32.0895 Tj
--308 TJm
-(at) 7.193 Tj
--308 TJm
-(decompression) 59.7656 Tj
--307 TJm
-(time.) 20.2042 Tj
--484 TJm
-(File) 15.5018 Tj
--308 TJm
-(name) 21.579 Tj
--308 TJm
-(handling) 34.8691 Tj
--308 TJm
-(is) 6.64505 Tj
--307 TJm
-(nai) 12.1743 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--308 TJm
-(in) 7.7509 Tj
--308 TJm
-(the) 12.1743 Tj
--308 TJm
-(sense) 21.579 Tj
--308 TJm
-(that) 14.9439 Tj
--308 TJm
-(there) 19.9152 Tj
--307 TJm
-(is) 6.64505 Tj
--308 TJm
-(no) 9.9626 Tj
--308 TJm
-(mechanism) 45.3796 Tj
--308 TJm
-(for) 11.6164 Tj
--308 TJm
-(preserving) 42.0521 Tj
-72 567.445 Td
-(original) 30.9936 Tj
--334 TJm
-(\002le) 12.7322 Tj
--333 TJm
-(names,) 27.9451 Tj
--355 TJm
-(permissions,) 50.092 Tj
--355 TJm
-(o) 4.9813 Tj
-25 TJm
-(wnerships) 40.3983 Tj
--333 TJm
-(or) 8.29885 Tj
--334 TJm
-(dates) 20.4731 Tj
--334 TJm
-(in) 7.7509 Tj
--333 TJm
-(\002lesystems) 44.2838 Tj
--334 TJm
-(which) 24.3486 Tj
--334 TJm
-(lack) 16.5977 Tj
--333 TJm
-(these) 20.4731 Tj
--334 TJm
-(concepts,) 37.3498 Tj
--355 TJm
-(or) 8.29885 Tj
--333 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--334 TJm
-(serious) 28.224 Tj
--334 TJm
-(\002le) 12.7322 Tj
-72 555.49 Td
-(name) 21.579 Tj
--250 TJm
-(length) 24.9065 Tj
--250 TJm
-(restrictions,) 46.7644 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(as) 8.29885 Tj
--250 TJm
-(MS-DOS.) 40.1294 Tj
-[1 0 0 1 72 553.333] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -543.371] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 533.572 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 533.572] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -533.572] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.379 533.572 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 121.255 533.572] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -121.255 -533.572] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-121.255 533.572 Td
-/F134_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-[1 0 0 1 163.098 533.572] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -163.098 -533.572] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-165.589 533.572 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(erwrite) 28.2141 Tj
--250 TJm
-(e) 4.42339 Tj
-15 TJm
-(xisting) 27.1282 Tj
--250 TJm
-(\002les.) 19.0983 Tj
--620 TJm
-(If) 6.63509 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(happen,) 31.2626 Tj
--250 TJm
-(specify) 28.772 Tj
--250 TJm
-(the) 12.1743 Tj
-[1 0 0 1 495.977 533.572] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -495.977 -533.572] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-495.977 533.572 Td
-/F134_0 9.9626 Tf
-(-f) 11.9551 Tj
-[1 0 0 1 507.932 533.572] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -507.932 -533.572] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-510.423 533.572 Td
-/F130_0 9.9626 Tf
-(\003ag.) 17.4346 Tj
-[1 0 0 1 72 531.415] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -521.453] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 511.654 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--284 TJm
-(no) 9.9626 Tj
--285 TJm
-(\002le) 12.7322 Tj
--284 TJm
-(names) 25.4544 Tj
--284 TJm
-(are) 12.1643 Tj
--284 TJm
-(speci\002ed,) 37.9077 Tj
-[1 0 0 1 193.935 511.654] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -193.935 -511.654] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-193.935 511.654 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 223.823 511.654] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -223.823 -511.654] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-226.655 511.654 Td
-/F130_0 9.9626 Tf
-(compresses) 45.9276 Tj
--284 TJm
-(from) 19.3673 Tj
--285 TJm
-(standard) 33.7533 Tj
--284 TJm
-(input) 20.4831 Tj
--284 TJm
-(to) 7.7509 Tj
--284 TJm
-(standard) 33.7533 Tj
--285 TJm
-(output.) 27.9551 Tj
--825 TJm
-(In) 8.29885 Tj
--285 TJm
-(this) 14.396 Tj
--284 TJm
-(case,) 19.6363 Tj
-[1 0 0 1 491.778 511.654] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -491.778 -511.654] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-491.778 511.654 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 521.666 511.654] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -521.666 -511.654] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-524.499 511.654 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
-72 499.699 Td
-(decline) 28.772 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(write) 20.4731 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(terminal,) 35.696 Tj
--250 TJm
-(as) 8.29885 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(entirely) 30.4357 Tj
--250 TJm
-(incomprehensible) 70.8341 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(therefore) 35.955 Tj
--250 TJm
-(pointless.) 37.9177 Tj
-[1 0 0 1 72 497.542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -487.58] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 477.781 Td
-/F134_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-[1 0 0 1 113.843 477.781] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.843 -477.781] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-116.176 477.781 Td
-/F130_0 9.9626 Tf
-(\(or) 11.6164 Tj
-[1 0 0 1 130.125 477.781] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -130.125 -477.781] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-130.125 477.781 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(-d) 11.9551 Tj
-[1 0 0 1 177.946 477.781] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -177.946 -477.781] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-177.946 477.781 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--234 TJm
-(decompresses) 55.3323 Tj
--234 TJm
-(all) 9.9626 Tj
--234 TJm
-(speci\002ed) 35.417 Tj
--235 TJm
-(\002les.) 19.0983 Tj
--609 TJm
-(Files) 19.3773 Tj
--234 TJm
-(which) 24.3486 Tj
--234 TJm
-(were) 19.3573 Tj
--234 TJm
-(not) 12.7322 Tj
--235 TJm
-(created) 28.762 Tj
--234 TJm
-(by) 9.9626 Tj
-[1 0 0 1 445.012 477.781] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -445.012 -477.781] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-445.012 477.781 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 474.9 477.781] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -474.9 -477.781] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.233 477.781 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--234 TJm
-(be) 9.40469 Tj
--234 TJm
-(detected) 33.1954 Tj
-72 465.826 Td
-(and) 14.386 Tj
--280 TJm
-(i) 2.7696 Tj
-1 TJm
-(gnored,) 30.1568 Tj
--287 TJm
-(and) 14.386 Tj
--280 TJm
-(a) 4.42339 Tj
--279 TJm
-(w) 7.193 Tj
-10 TJm
-(arning) 25.4544 Tj
--280 TJm
-(issued.) 27.3972 Tj
-[1 0 0 1 216.033 465.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -216.033 -465.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-216.033 465.826 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 245.921 465.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -245.921 -465.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-248.705 465.826 Td
-/F130_0 9.9626 Tf
-(attempts) 33.7633 Tj
--279 TJm
-(to) 7.7509 Tj
--280 TJm
-(guess) 22.1369 Tj
--279 TJm
-(the) 12.1743 Tj
--280 TJm
-(\002lename) 34.3112 Tj
--279 TJm
-(for) 11.6164 Tj
--280 TJm
-(the) 12.1743 Tj
--279 TJm
-(decompressed) 56.4381 Tj
--280 TJm
-(\002le) 12.7322 Tj
--279 TJm
-(from) 19.3673 Tj
--280 TJm
-(that) 14.9439 Tj
--279 TJm
-(of) 8.29885 Tj
--280 TJm
-(the) 12.1743 Tj
-72 453.871 Td
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(as) 8.29885 Tj
--250 TJm
-(follo) 18.8194 Tj
-25 TJm
-(ws:) 13.8381 Tj
-[1 0 0 1 72 451.714] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -29.7236] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -421.991] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 421.991 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 421.991] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -421.991] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 421.991 Td
-/F134_0 9.9626 Tf
-(filename.bz2) 71.7307 Tj
-[1 0 0 1 164.653 421.991] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -164.653 -421.991] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-167.143 421.991 Td
-/F130_0 9.9626 Tf
-(becomes) 34.8591 Tj
-[1 0 0 1 204.493 421.991] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.493 -421.991] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-204.493 421.991 Td
-/F134_0 9.9626 Tf
-(filename) 47.8205 Tj
-[1 0 0 1 252.313 421.991] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -180.313 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -400.073] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 400.073 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 400.073] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -400.073] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 400.073 Td
-/F134_0 9.9626 Tf
-(filename.bz) 65.7532 Tj
-[1 0 0 1 158.675 400.073] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -158.675 -400.073] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-161.166 400.073 Td
-/F130_0 9.9626 Tf
-(becomes) 34.8591 Tj
-[1 0 0 1 198.515 400.073] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -198.515 -400.073] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-198.515 400.073 Td
-/F134_0 9.9626 Tf
-(filename) 47.8205 Tj
-[1 0 0 1 246.336 400.073] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -174.336 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -378.155] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 378.155 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 378.155] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -378.155] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 378.155 Td
-/F134_0 9.9626 Tf
-(filename.tbz2) 77.7083 Tj
-[1 0 0 1 164.653 378.155] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -164.653 -378.155] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-167.143 378.155 Td
-/F130_0 9.9626 Tf
-(becomes) 34.8591 Tj
-[1 0 0 1 204.493 378.155] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.493 -378.155] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-204.493 378.155 Td
-/F134_0 9.9626 Tf
-(filename.tar) 71.7307 Tj
-[1 0 0 1 276.224 378.155] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.224 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -356.237] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 356.237 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 356.237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -356.237] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 356.237 Td
-/F134_0 9.9626 Tf
-(filename.tbz) 71.7307 Tj
-[1 0 0 1 164.653 356.237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -164.653 -356.237] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-167.143 356.237 Td
-/F130_0 9.9626 Tf
-(becomes) 34.8591 Tj
-[1 0 0 1 204.493 356.237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.493 -356.237] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-204.493 356.237 Td
-/F134_0 9.9626 Tf
-(filename.tar) 71.7307 Tj
-[1 0 0 1 276.224 356.237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.224 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -334.319] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 334.319 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 334.319] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -334.319] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 334.319 Td
-/F134_0 9.9626 Tf
-(anyothername) 71.7307 Tj
-[1 0 0 1 164.653 334.319] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -164.653 -334.319] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-167.143 334.319 Td
-/F130_0 9.9626 Tf
-(becomes) 34.8591 Tj
-[1 0 0 1 204.493 334.319] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.493 -334.319] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-204.493 334.319 Td
-/F134_0 9.9626 Tf
-(anyothername.out) 95.641 Tj
-[1 0 0 1 300.134 334.319] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -228.134 -11.4968] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -322.823] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 312.402 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--342 TJm
-(the) 12.1743 Tj
--342 TJm
-(\002le) 12.7322 Tj
--342 TJm
-(does) 18.2614 Tj
--342 TJm
-(not) 12.7322 Tj
--343 TJm
-(end) 14.386 Tj
--342 TJm
-(in) 7.7509 Tj
--342 TJm
-(one) 14.386 Tj
--342 TJm
-(of) 8.29885 Tj
--342 TJm
-(the) 12.1743 Tj
--342 TJm
-(recognised) 43.158 Tj
--342 TJm
-(endings,) 33.4843 Tj
-[1 0 0 1 309.305 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -309.305 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-309.305 312.402 Td
-/F134_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-[1 0 0 1 333.215 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -333.215 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-333.215 312.402 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 339.344 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -339.344 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-339.344 312.402 Td
-/F134_0 9.9626 Tf
-(.bz) 17.9327 Tj
-[1 0 0 1 357.276 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -357.276 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-357.276 312.402 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 363.405 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -363.405 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-363.405 312.402 Td
-/F134_0 9.9626 Tf
-(.tbz2) 29.8878 Tj
-[1 0 0 1 393.293 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -393.293 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-396.701 312.402 Td
-/F130_0 9.9626 Tf
-(or) 8.29885 Tj
-[1 0 0 1 408.409 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -408.409 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-408.409 312.402 Td
-/F134_0 9.9626 Tf
-(.tbz) 23.9102 Tj
-[1 0 0 1 432.319 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -432.319 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-432.319 312.402 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 438.448 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -438.448 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-438.448 312.402 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 468.336 312.402] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468.336 -312.402] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-471.744 312.402 Td
-/F130_0 9.9626 Tf
-(complains) 40.9562 Tj
--342 TJm
-(that) 14.9439 Tj
--342 TJm
-(it) 5.53921 Tj
-72 300.446 Td
-(cannot) 26.5603 Tj
--250 TJm
-(guess) 22.1369 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(name) 21.579 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(original) 30.9936 Tj
--250 TJm
-(\002le,) 15.2229 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(uses) 17.1556 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(original) 30.9936 Tj
--250 TJm
-(name) 21.579 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 370.009 300.446] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -370.009 -300.446] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-370.009 300.446 Td
-/F134_0 9.9626 Tf
-(.out) 23.9102 Tj
-[1 0 0 1 393.92 300.446] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -393.92 -300.446] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-396.41 300.446 Td
-/F130_0 9.9626 Tf
-(appended.) 40.6673 Tj
-[1 0 0 1 72 298.29] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -288.327] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 278.529 Td
-/F130_0 9.9626 Tf
-(As) 11.0684 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(compression,) 52.8516 Tj
--250 TJm
-(supplying) 39.3025 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(\002lenames) 38.1866 Tj
--250 TJm
-(causes) 26.0024 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(standard) 33.7533 Tj
--250 TJm
-(input) 20.4831 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(standard) 33.7533 Tj
--250 TJm
-(output.) 27.9551 Tj
-[1 0 0 1 72 276.372] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -266.409] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 256.611 Td
-/F134_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-[1 0 0 1 113.843 256.611] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.843 -256.611] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-116.409 256.611 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--257 TJm
-(correctly) 35.4071 Tj
--258 TJm
-(decompress) 47.0334 Tj
--257 TJm
-(a) 4.42339 Tj
--258 TJm
-(\002le) 12.7322 Tj
--257 TJm
-(which) 24.3486 Tj
--258 TJm
-(is) 6.64505 Tj
--258 TJm
-(the) 12.1743 Tj
--257 TJm
-(concatenation) 55.3323 Tj
--258 TJm
-(of) 8.29885 Tj
--257 TJm
-(tw) 9.9626 Tj
-10 TJm
-(o) 4.9813 Tj
--258 TJm
-(or) 8.29885 Tj
--257 TJm
-(more) 20.4731 Tj
--258 TJm
-(compressed) 47.0334 Tj
--257 TJm
-(\002les.) 19.0983 Tj
--665 TJm
-(The) 15.4918 Tj
--258 TJm
-(result) 22.1369 Tj
--257 TJm
-(is) 6.64505 Tj
-72 244.656 Td
-(the) 12.1743 Tj
--239 TJm
-(concatenation) 55.3323 Tj
--238 TJm
-(of) 8.29885 Tj
--239 TJm
-(the) 12.1743 Tj
--239 TJm
-(corresponding) 56.996 Tj
--239 TJm
-(uncompressed) 56.996 Tj
--238 TJm
-(\002les.) 19.0983 Tj
--613 TJm
-(Inte) 15.4918 Tj
-15 TJm
-(grity) 18.8194 Tj
--238 TJm
-(testing) 26.5703 Tj
--239 TJm
-(\() 3.31755 Tj
-[1 0 0 1 382.247 244.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -382.247 -244.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-382.247 244.656 Td
-/F134_0 9.9626 Tf
-(-t) 11.9551 Tj
-[1 0 0 1 394.202 244.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -394.202 -244.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-394.202 244.656 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--239 TJm
-(of) 8.29885 Tj
--238 TJm
-(concatenated) 52.0048 Tj
--239 TJm
-(compressed) 47.0334 Tj
--239 TJm
-(\002les) 16.6077 Tj
--239 TJm
-(is) 6.64505 Tj
-72 232.7 Td
-(also) 16.0497 Tj
--250 TJm
-(supported.) 41.7831 Tj
-[1 0 0 1 72 230.544] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -220.581] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 210.783 Td
-/F130_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--399 TJm
-(can) 13.8281 Tj
--399 TJm
-(also) 16.0497 Tj
--399 TJm
-(compress) 37.6287 Tj
--400 TJm
-(or) 8.29885 Tj
--399 TJm
-(decompress) 47.0334 Tj
--399 TJm
-(\002les) 16.6077 Tj
--399 TJm
-(to) 7.7509 Tj
--399 TJm
-(the) 12.1743 Tj
--399 TJm
-(standard) 33.7533 Tj
--399 TJm
-(output) 25.4644 Tj
--399 TJm
-(by) 9.9626 Tj
--400 TJm
-(gi) 7.7509 Tj
-25 TJm
-(ving) 17.7135 Tj
--399 TJm
-(the) 12.1743 Tj
-[1 0 0 1 409.67 210.783] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -409.67 -210.783] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-409.67 210.783 Td
-/F134_0 9.9626 Tf
-(-c) 11.9551 Tj
-[1 0 0 1 421.625 210.783] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -421.625 -210.783] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-425.602 210.783 Td
-/F130_0 9.9626 Tf
-(\003ag.) 17.4346 Tj
--757 TJm
-(Multiple) 34.3212 Tj
--400 TJm
-(\002l) 8.30881 Tj
-1 TJm
-(es) 8.29885 Tj
--400 TJm
-(may) 17.1556 Tj
--399 TJm
-(be) 9.40469 Tj
-72 198.828 Td
-(compressed) 47.0334 Tj
--367 TJm
-(and) 14.386 Tj
--367 TJm
-(decompressed) 56.4381 Tj
--367 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.42339 Tj
--367 TJm
-(this.) 16.8866 Tj
--1321 TJm
-(The) 15.4918 Tj
--367 TJm
-(resulting) 34.8691 Tj
--367 TJm
-(outputs) 29.3399 Tj
--367 TJm
-(are) 12.1643 Tj
--367 TJm
-(fed) 12.7222 Tj
--367 TJm
-(sequentially) 48.1492 Tj
--366 TJm
-(to) 7.7509 Tj
--367 TJm
-(stdout.) 26.8492 Tj
--1322 TJm
-(Compression) 52.5826 Tj
--367 TJm
-(of) 8.29885 Tj
-72 186.872 Td
-(multiple) 33.2153 Tj
--289 TJm
-(\002les) 16.6077 Tj
--289 TJm
-(in) 7.7509 Tj
--289 TJm
-(this) 14.396 Tj
--289 TJm
-(manner) 29.8778 Tj
--288 TJm
-(generates) 37.6188 Tj
--289 TJm
-(a) 4.42339 Tj
--289 TJm
-(stream) 26.5603 Tj
--289 TJm
-(containing) 42.0621 Tj
--289 TJm
-(multiple) 33.2153 Tj
--289 TJm
-(compressed) 47.0334 Tj
--289 TJm
-(\002le) 12.7322 Tj
--289 TJm
-(representations.) 62.8042 Tj
--853 TJm
-(Such) 19.9252 Tj
--289 TJm
-(a) 4.42339 Tj
--289 TJm
-(stream) 26.5603 Tj
-72 174.917 Td
-(can) 13.8281 Tj
--391 TJm
-(be) 9.40469 Tj
--391 TJm
-(decompressed) 56.4381 Tj
--390 TJm
-(correctly) 35.4071 Tj
--391 TJm
-(only) 17.7135 Tj
--391 TJm
-(by) 9.9626 Tj
-[1 0 0 1 238.116 174.917] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -238.116 -174.917] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-238.116 174.917 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 268.004 174.917] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -268.004 -174.917] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-271.897 174.917 Td
-/F130_0 9.9626 Tf
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--391 TJm
-(0.9.0) 19.9252 Tj
--391 TJm
-(or) 8.29885 Tj
--391 TJm
-(l) 2.7696 Tj
-1 TJm
-(ater) 14.9339 Tj
-55 TJm
-(.) 2.49065 Tj
--733 TJm
-(Earlier) 27.1082 Tj
--391 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--391 TJm
-(of) 8.29885 Tj
-[1 0 0 1 448.071 174.917] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -448.071 -174.917] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-448.071 174.917 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 477.958 174.917] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -477.958 -174.917] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-481.852 174.917 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--391 TJm
-(stop) 16.6077 Tj
--391 TJm
-(after) 18.2515 Tj
-72 162.962 Td
-(decompressing) 59.7656 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002rst) 15.5018 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(stream.) 29.0509 Tj
-[1 0 0 1 72 160.805] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -150.843] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 141.044 Td
-/F134_0 9.9626 Tf
-(bzcat) 29.8878 Tj
-[1 0 0 1 101.888 141.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -141.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.379 141.044 Td
-/F130_0 9.9626 Tf
-(\(or) 11.6164 Tj
-[1 0 0 1 118.486 141.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -118.486 -141.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-118.486 141.044 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(-dc) 17.9327 Tj
-[1 0 0 1 172.284 141.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -172.284 -141.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-172.284 141.044 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--250 TJm
-(decompresses) 55.3323 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(speci\002ed) 35.417 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(standard) 33.7533 Tj
--250 TJm
-(output.) 27.9551 Tj
-[1 0 0 1 72 138.887] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -128.925] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 119.126 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 119.126] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -119.126] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.866 119.126 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--299 TJm
-(read) 17.1456 Tj
--299 TJm
-(ar) 7.74094 Tj
-18 TJm
-(guments) 33.7633 Tj
--299 TJm
-(from) 19.3673 Tj
--299 TJm
-(the) 12.1743 Tj
--299 TJm
-(en) 9.40469 Tj
-40 TJm
-(vironment) 40.9562 Tj
--298 TJm
-(v) 4.9813 Tj
-25 TJm
-(ariables) 30.9837 Tj
-[1 0 0 1 316.903 119.126] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -316.903 -119.126] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-316.903 119.126 Td
-/F134_0 9.9626 Tf
-(BZIP2) 29.8878 Tj
-[1 0 0 1 346.791 119.126] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -346.791 -119.126] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-349.769 119.126 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 367.133 119.126] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -367.133 -119.126] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-367.133 119.126 Td
-/F134_0 9.9626 Tf
-(BZIP) 23.9102 Tj
-[1 0 0 1 391.043 119.126] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -391.043 -119.126] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-391.043 119.126 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--299 TJm
-(in) 7.7509 Tj
--299 TJm
-(that) 14.9439 Tj
--299 TJm
-(order) 21.0211 Tj
-40 TJm
-(,) 2.49065 Tj
--311 TJm
-(and) 14.386 Tj
--299 TJm
-(will) 15.5018 Tj
--299 TJm
-(process) 29.8778 Tj
--299 TJm
-(them) 19.9252 Tj
-72 107.171 Td
-(before) 25.4445 Tj
--250 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(ar) 7.74094 Tj
-18 TJm
-(guments) 33.7633 Tj
--250 TJm
-(read) 17.1456 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(command) 39.2925 Tj
--250 TJm
-(line.) 17.4346 Tj
--310 TJm
-(This) 17.7135 Tj
--250 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(enient) 24.3486 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.40469 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(supply) 26.5703 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(ar) 7.74094 Tj
-18 TJm
-(guments.) 36.2539 Tj
-[1 0 0 1 72 105.014] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -95.0517] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 85.2534 Td
-/F130_0 9.9626 Tf
-(Compression) 52.5826 Tj
--294 TJm
-(is) 6.64505 Tj
--294 TJm
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--294 TJm
-(performed,) 43.9849 Tj
--305 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--294 TJm
-(if) 6.08715 Tj
--294 TJm
-(the) 12.1743 Tj
--294 TJm
-(compressed) 47.0334 Tj
--294 TJm
-(\002le) 12.7322 Tj
--293 TJm
-(is) 6.64505 Tj
--294 TJm
-(slightly) 29.8978 Tj
--294 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--294 TJm
-(than) 17.1556 Tj
--294 TJm
-(the) 12.1743 Tj
--294 TJm
-(original.) 33.4843 Tj
--884 TJm
-(Files) 19.3773 Tj
--294 TJm
-(of) 8.29885 Tj
--294 TJm
-(less) 14.9439 Tj
--294 TJm
-(than) 17.1556 Tj
-72 73.2982 Td
-(about) 22.1369 Tj
--246 TJm
-(one) 14.386 Tj
--246 TJm
-(hundred) 32.6474 Tj
--245 TJm
-(bytes) 21.031 Tj
--246 TJm
-(tend) 17.1556 Tj
--246 TJm
-(to) 7.7509 Tj
--246 TJm
-(get) 12.1743 Tj
--246 TJm
-(l) 2.7696 Tj
-1 TJm
-(ar) 7.74094 Tj
-18 TJm
-(ger) 12.7222 Tj
-40 TJm
-(,) 2.49065 Tj
--247 TJm
-(since) 20.4731 Tj
--246 TJm
-(the) 12.1743 Tj
--246 TJm
-(compression) 50.3609 Tj
--245 TJm
-(mechanism) 45.3796 Tj
--246 TJm
-(has) 13.2801 Tj
--246 TJm
-(a) 4.42339 Tj
--246 TJm
-(constant) 33.2053 Tj
--246 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(erhead) 26.5503 Tj
--245 TJm
-(in) 7.7509 Tj
--246 TJm
-(the) 12.1743 Tj
--246 TJm
-(re) 7.74094 Tj
-15 TJm
-(gion) 17.7135 Tj
--246 TJm
-(of) 8.29885 Tj
-[1 0 0 1 72 50.8518] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 43.0633 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.332 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-539.395 50.9514 Td
-/F130_0 9.9626 Tf
-(3) 4.9813 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 7 7
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 105.519 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -371.59 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F130_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-[1 0 0 1 266.071 747.089] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -741.554] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(50) 9.9626 Tj
--264 TJm
-(bytes.) 23.5217 Tj
--351 TJm
-(Random) 33.7633 Tj
--264 TJm
-(dat) 12.1743 Tj
-1 TJm
-(a) 4.42339 Tj
--264 TJm
-(\(including) 40.9562 Tj
--264 TJm
-(the) 12.1743 Tj
--264 TJm
-(output) 25.4644 Tj
--263 TJm
-(of) 8.29885 Tj
--264 TJm
-(most) 19.3773 Tj
--264 TJm
-(\002le) 12.7322 Tj
--263 TJm
-(compressors\)) 53.1206 Tj
--264 TJm
-(is) 6.64505 Tj
--264 TJm
-(coded) 23.7907 Tj
--263 TJm
-(at) 7.193 Tj
--264 TJm
-(about) 22.1369 Tj
--264 TJm
-(8.05) 17.4346 Tj
--263 TJm
-(bits) 14.396 Tj
--264 TJm
-(per) 12.7222 Tj
--264 TJm
-(byte,) 19.6462 Tj
--267 TJm
-(gi) 7.7509 Tj
-25 TJm
-(ving) 17.7135 Tj
--264 TJm
-(an) 9.40469 Tj
-72 698.082 Td
-(e) 4.42339 Tj
-15 TJm
-(xpansion) 35.9749 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(around) 27.6661 Tj
--250 TJm
-(0.5%.) 23.2427 Tj
-[1 0 0 1 72 695.925] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -686.081] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 676.283 Td
-/F130_0 9.9626 Tf
-(As) 11.0684 Tj
--268 TJm
-(a) 4.42339 Tj
--268 TJm
-(self-check) 40.9363 Tj
--269 TJm
-(for) 11.6164 Tj
--268 TJm
-(your) 18.2614 Tj
--268 TJm
-(protection,) 42.889 Tj
-[1 0 0 1 217.273 676.283] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -217.273 -676.283] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-217.273 676.283 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 247.161 676.283] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -247.161 -676.283] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-249.833 676.283 Td
-/F130_0 9.9626 Tf
-(uses) 17.1556 Tj
--268 TJm
-(32-bit) 23.8007 Tj
--268 TJm
-(CRCs) 23.8106 Tj
--269 TJm
-(to) 7.7509 Tj
--268 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--268 TJm
-(sure) 16.5977 Tj
--268 TJm
-(that) 14.9439 Tj
--268 TJm
-(the) 12.1743 Tj
--269 TJm
-(decompressed) 56.4381 Tj
--268 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--268 TJm
-(of) 8.29885 Tj
--268 TJm
-(a) 4.42339 Tj
--268 TJm
-(\002le) 12.7322 Tj
--269 TJm
-(is) 6.64505 Tj
-72 664.328 Td
-(identical) 34.3112 Tj
--200 TJm
-(to) 7.7509 Tj
--199 TJm
-(the) 12.1743 Tj
--200 TJm
-(original.) 33.4843 Tj
--586 TJm
-(This) 17.7135 Tj
--200 TJm
-(guards) 26.5603 Tj
--199 TJm
-(ag) 9.40469 Tj
-5 TJm
-(ainst) 18.8194 Tj
--200 TJm
-(corruption) 41.5042 Tj
--199 TJm
-(of) 8.29885 Tj
--200 TJm
-(the) 12.1743 Tj
--200 TJm
-(compressed) 47.0334 Tj
--199 TJm
-(data,) 19.0883 Tj
--210 TJm
-(and) 14.386 Tj
--199 TJm
-(ag) 9.40469 Tj
-5 TJm
-(ainst) 18.8194 Tj
--200 TJm
-(undetected) 43.158 Tj
--200 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
--199 TJm
-(in) 7.7509 Tj
-[1 0 0 1 510.112 664.328] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -510.112 -664.328] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-510.112 664.328 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 540 664.328] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -664.328] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 652.373 Td
-/F130_0 9.9626 Tf
-(\(hopefully) 41.5042 Tj
--275 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--274 TJm
-(unlik) 20.4831 Tj
-10 TJm
-(ely\).) 17.9825 Tj
--384 TJm
-(The) 15.4918 Tj
--275 TJm
-(chances) 31.5316 Tj
--275 TJm
-(of) 8.29885 Tj
--275 TJm
-(data) 16.5977 Tj
--274 TJm
-(corruption) 41.5042 Tj
--275 TJm
-(going) 22.6948 Tj
--275 TJm
-(undetected) 43.158 Tj
--274 TJm
-(is) 6.64505 Tj
--275 TJm
-(microscopic,) 51.1878 Tj
--281 TJm
-(about) 22.1369 Tj
--275 TJm
-(one) 14.386 Tj
--274 TJm
-(chance) 27.6562 Tj
--275 TJm
-(in) 7.7509 Tj
--275 TJm
-(four) 16.5977 Tj
-72 640.417 Td
-(billion) 26.0223 Tj
--279 TJm
-(for) 11.6164 Tj
--279 TJm
-(each) 18.2515 Tj
--279 TJm
-(\002le) 12.7322 Tj
--280 TJm
-(processed.) 41.7732 Tj
--795 TJm
-(Be) 11.0684 Tj
--279 TJm
-(a) 4.42339 Tj
-15 TJm
-(w) 7.193 Tj
-10 TJm
-(are,) 14.655 Tj
--286 TJm
-(though,) 30.1668 Tj
--287 TJm
-(that) 14.9439 Tj
--279 TJm
-(the) 12.1743 Tj
--279 TJm
-(check) 23.2328 Tj
--279 TJm
-(occurs) 26.0024 Tj
--279 TJm
-(upon) 19.9252 Tj
--279 TJm
-(decompression,) 62.2563 Tj
--287 TJm
-(so) 8.85675 Tj
--279 TJm
-(it) 5.53921 Tj
--279 TJm
-(can) 13.8281 Tj
--279 TJm
-(only) 17.7135 Tj
--280 TJm
-(tell) 12.7322 Tj
--279 TJm
-(you) 14.9439 Tj
-72 628.462 Td
-(that) 14.9439 Tj
--237 TJm
-(something) 41.5142 Tj
--236 TJm
-(is) 6.64505 Tj
--237 TJm
-(wrong.) 27.9451 Tj
--611 TJm
-(It) 6.08715 Tj
--237 TJm
-(can') 17.1456 Tj
-18 TJm
-(t) 2.7696 Tj
--237 TJm
-(help) 17.1556 Tj
--237 TJm
-(you) 14.9439 Tj
--236 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--237 TJm
-(the) 12.1743 Tj
--237 TJm
-(original) 30.9936 Tj
--237 TJm
-(uncompressed) 56.996 Tj
--236 TJm
-(data.) 19.0883 Tj
--612 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--236 TJm
-(can) 13.8281 Tj
--237 TJm
-(use) 13.2801 Tj
-[1 0 0 1 458.159 628.462] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -458.159 -628.462] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-458.159 628.462 Td
-/F134_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-[1 0 0 1 529.89 628.462] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -529.89 -628.462] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-532.249 628.462 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
-72 616.507 Td
-(try) 11.0684 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(damaged) 35.965 Tj
--250 TJm
-(\002les.) 19.0983 Tj
-[1 0 0 1 72 614.35] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -604.506] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 594.708 Td
-/F130_0 9.9626 Tf
-(Return) 27.1182 Tj
--298 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
--406 TJm
-(0) 4.9813 Tj
--298 TJm
-(for) 11.6164 Tj
--298 TJm
-(a) 4.42339 Tj
--298 TJm
-(normal) 28.224 Tj
--298 TJm
-(e) 4.42339 Tj
-15 TJm
-(xit,) 13.0112 Tj
--310 TJm
-(1) 4.9813 Tj
--298 TJm
-(for) 11.6164 Tj
--297 TJm
-(en) 9.40469 Tj
-40 TJm
-(vironmental) 48.1492 Tj
--298 TJm
-(problems) 37.0808 Tj
--298 TJm
-(\(\002le) 16.0497 Tj
--298 TJm
-(not) 12.7322 Tj
--298 TJm
-(found,) 25.7334 Tj
--310 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-25 TJm
-(alid) 14.9439 Tj
--298 TJm
-(\003ags,) 21.31 Tj
--310 TJm
-(I/O) 13.2801 Tj
--298 TJm
-(errors,) 25.7234 Tj
--310 TJm
-(etc.\),) 19.9152 Tj
--310 TJm
-(2) 4.9813 Tj
--298 TJm
-(to) 7.7509 Tj
-72 582.753 Td
-(indicate) 31.5416 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(corrupt) 28.772 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le,) 15.2229 Tj
--250 TJm
-(3) 4.9813 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(an) 9.40469 Tj
--250 TJm
-(internal) 30.4357 Tj
--250 TJm
-(consistenc) 41.5042 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(\(e) 7.74094 Tj
-15 TJm
-(g,) 7.47195 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug\)) 13.2801 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(caused) 27.1082 Tj
-[1 0 0 1 443.065 582.753] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -443.065 -582.753] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-443.065 582.753 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 472.953 582.753] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.953 -582.753] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-475.444 582.753 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(panic.) 24.0696 Tj
-[1 0 0 1 72 580.596] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -570.752] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 548.118 Td
-/F122_0 20.6585 Tf
-(2.4.) 34.4584 Tj
--278 TJm
-(OPTIONS) 92.9839 Tj
-[1 0 0 1 72 547.86] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -528.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 516.475 Td
-/F134_0 9.9626 Tf
-(-c) 11.9551 Tj
--600 TJm
-(--stdout) 47.8205 Tj
-[1 0 0 1 137.753 516.475] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -68.2441 -0.1544] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -516.32] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 504.52 Td
-/F130_0 9.9626 Tf
-(Compress) 39.8504 Tj
--250 TJm
-(or) 8.29885 Tj
--250 TJm
-(decompress) 47.0334 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(standard) 33.7533 Tj
--250 TJm
-(output.) 27.9551 Tj
-[1 0 0 1 72 502.363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.8664] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -488.652] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 478.854 Td
-/F134_0 9.9626 Tf
-(-d) 11.9551 Tj
--600 TJm
-(--decompress) 71.7307 Tj
-[1 0 0 1 161.664 478.854] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -92.1544 -1.5341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -477.32] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 466.899 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(orce) 17.1456 Tj
--296 TJm
-(decompression.) 62.2563 Tj
-[1 0 0 1 200.214 466.899] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -200.214 -466.899] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-200.214 466.899 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 230.102 466.899] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -230.102 -466.899] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-230.102 466.899 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 235.659 466.899] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -235.659 -466.899] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-235.659 466.899 Td
-/F134_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-[1 0 0 1 277.502 466.899] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -277.502 -466.899] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-280.454 466.899 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 297.791 466.899] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -297.791 -466.899] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-297.791 466.899 Td
-/F134_0 9.9626 Tf
-(bzcat) 29.8878 Tj
-[1 0 0 1 327.679 466.899] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -327.679 -466.899] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-330.631 466.899 Td
-/F130_0 9.9626 Tf
-(are) 12.1643 Tj
--296 TJm
-(really) 22.6848 Tj
--296 TJm
-(the) 12.1743 Tj
--297 TJm
-(same) 20.4731 Tj
--296 TJm
-(program,) 36.2439 Tj
--308 TJm
-(and) 14.386 Tj
--296 TJm
-(the) 12.1743 Tj
--296 TJm
-(decision) 33.2053 Tj
--297 TJm
-(about) 22.1369 Tj
-108 454.944 Td
-(what) 19.3673 Tj
--303 TJm
-(actions) 28.224 Tj
--303 TJm
-(to) 7.7509 Tj
--303 TJm
-(tak) 12.1743 Tj
-10 TJm
-(e) 4.42339 Tj
--303 TJm
-(is) 6.64505 Tj
--303 TJm
-(done) 19.3673 Tj
--303 TJm
-(on) 9.9626 Tj
--304 TJm
-(the) 12.1743 Tj
--303 TJm
-(basis) 19.9252 Tj
--303 TJm
-(of) 8.29885 Tj
--303 TJm
-(which) 24.3486 Tj
--303 TJm
-(name) 21.579 Tj
--303 TJm
-(is) 6.64505 Tj
--303 TJm
-(used.) 20.7521 Tj
--939 TJm
-(This) 17.7135 Tj
--303 TJm
-(\003ag) 14.9439 Tj
--303 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(errides) 27.1082 Tj
--303 TJm
-(that) 14.9439 Tj
--303 TJm
-(mechanism,) 47.8703 Tj
--316 TJm
-(and) 14.386 Tj
-108 442.988 Td
-(forces) 24.3386 Tj
--250 TJm
-(bzip2) 22.1369 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(decompress.) 49.5241 Tj
-[1 0 0 1 72 440.832] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.8665] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -427.121] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 417.323 Td
-/F134_0 9.9626 Tf
-(-z) 11.9551 Tj
--600 TJm
-(--compress) 59.7756 Tj
-[1 0 0 1 149.709 417.323] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -80.1993 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -415.789] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 405.368 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(complement) 49.2551 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 187.969 405.368] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -187.969 -405.368] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-187.969 405.368 Td
-/F134_0 9.9626 Tf
-(-d) 11.9551 Tj
-[1 0 0 1 199.924 405.368] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -199.924 -405.368] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-199.924 405.368 Td
-/F130_0 9.9626 Tf
-(:) 2.7696 Tj
--310 TJm
-(forces) 24.3386 Tj
--250 TJm
-(compression,) 52.8516 Tj
--250 TJm
-(re) 7.74094 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(ardless) 27.6661 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-20 TJm
-(okation) 29.8878 Tj
--250 TJm
-(name.) 24.0696 Tj
-[1 0 0 1 72 403.211] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.8665] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -389.5] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 379.702 Td
-/F134_0 9.9626 Tf
-(-t) 11.9551 Tj
--600 TJm
-(--test) 35.8654 Tj
-[1 0 0 1 125.798 379.702] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -56.2889 -0.1544] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -379.548] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 367.747 Td
-/F130_0 9.9626 Tf
-(Check) 25.4544 Tj
--270 TJm
-(inte) 14.9439 Tj
-15 TJm
-(grity) 18.8194 Tj
--271 TJm
-(of) 8.29885 Tj
--270 TJm
-(the) 12.1743 Tj
--271 TJm
-(speci\002ed) 35.417 Tj
--270 TJm
-(\002le\(s\),) 25.7334 Tj
--276 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--270 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--270 TJm
-(decompress) 47.0334 Tj
--271 TJm
-(them.) 22.4159 Tj
--742 TJm
-(This) 17.7135 Tj
--271 TJm
-(really) 22.6848 Tj
--270 TJm
-(performs) 35.965 Tj
--270 TJm
-(a) 4.42339 Tj
--271 TJm
-(trial) 16.0497 Tj
--270 TJm
-(decompres-) 46.4755 Tj
-108 355.791 Td
-(sion) 16.6077 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(thro) 16.0497 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(a) 4.42339 Tj
-15 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.40469 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(result.) 24.6275 Tj
-[1 0 0 1 72 353.635] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.8664] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -339.924] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 330.126 Td
-/F134_0 9.9626 Tf
-(-f) 11.9551 Tj
--600 TJm
-(--force) 41.8429 Tj
-[1 0 0 1 131.776 330.126] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -62.2665 -0.1544] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -329.971] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 318.171 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(orce) 17.1456 Tj
--338 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(erwrite) 28.2141 Tj
--339 TJm
-(of) 8.29885 Tj
--338 TJm
-(output) 25.4644 Tj
--338 TJm
-(\002les.) 19.0983 Tj
--1150 TJm
-(Normally) 38.1866 Tj
-65 TJm
-(,) 2.49065 Tj
-[1 0 0 1 289.831 318.171] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -289.831 -318.171] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-289.831 318.171 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 319.719 318.171] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -319.719 -318.171] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-323.089 318.171 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--338 TJm
-(not) 12.7322 Tj
--339 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(erwrite) 28.2141 Tj
--338 TJm
-(e) 4.42339 Tj
-15 TJm
-(xisting) 27.1282 Tj
--338 TJm
-(output) 25.4644 Tj
--338 TJm
-(\002les.) 19.0983 Tj
--1150 TJm
-(Also) 18.8194 Tj
--339 TJm
-(forces) 24.3386 Tj
-[1 0 0 1 108 306.215] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -108 -306.215] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 306.215 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 137.888 306.215] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.888 -306.215] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-140.379 306.215 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(break) 22.1269 Tj
--250 TJm
-(hard) 17.7035 Tj
--250 TJm
-(links) 19.3773 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(\002les,) 19.0983 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(otherwise) 38.7346 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ouldn') 26.0123 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(do.) 12.4533 Tj
-[1 0 0 1 72 304.681] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -294.837] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 284.416 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 137.888 284.416] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.888 -284.416] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-141.211 284.416 Td
-/F130_0 9.9626 Tf
-(normally) 35.9749 Tj
--334 TJm
-(declines) 32.6474 Tj
--333 TJm
-(to) 7.7509 Tj
--334 TJm
-(decompress) 47.0334 Tj
--333 TJm
-(\002les) 16.6077 Tj
--334 TJm
-(which) 24.3486 Tj
--333 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--334 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--333 TJm
-(the) 12.1743 Tj
--334 TJm
-(correct) 27.6562 Tj
--333 TJm
-(magic) 24.3486 Tj
--334 TJm
-(header) 26.5503 Tj
--333 TJm
-(bytes.) 23.5217 Tj
--561 TJm
-(If) 6.63509 Tj
--334 TJm
-(forced) 25.4445 Tj
-108 272.461 Td
-(\() 3.31755 Tj
-[1 0 0 1 111.318 272.461] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -111.318 -272.461] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-111.318 272.461 Td
-/F134_0 9.9626 Tf
-(-f) 11.9551 Tj
-[1 0 0 1 123.273 272.461] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -123.273 -272.461] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-123.273 272.461 Td
-/F130_0 9.9626 Tf
-(\),) 5.8082 Tj
--250 TJm
-(ho) 9.9626 Tj
-25 TJm
-(we) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
-40 TJm
-(,) 2.49065 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(pass) 17.1556 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(through) 30.9936 Tj
--250 TJm
-(unmodi\002ed.) 47.8803 Tj
--310 TJm
-(This) 17.7135 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(GNU) 21.579 Tj
-[1 0 0 1 412.585 272.461] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -412.585 -272.461] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-412.585 272.461 Td
-/F134_0 9.9626 Tf
-(gzip) 23.9102 Tj
-[1 0 0 1 436.496 272.461] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -436.496 -272.461] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-438.986 272.461 Td
-/F130_0 9.9626 Tf
-(beha) 18.8094 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(es.) 10.7895 Tj
-[1 0 0 1 72 270.304] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.8665] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -256.594] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 246.795 Td
-/F134_0 9.9626 Tf
-(-k) 11.9551 Tj
--600 TJm
-(--keep) 35.8654 Tj
-[1 0 0 1 125.798 246.795] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -56.2889 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -245.261] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 234.84 Td
-/F130_0 9.9626 Tf
-(K) 7.193 Tj
-25 TJm
-(eep) 13.8281 Tj
--250 TJm
-(\(don') 21.579 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(delete\)) 27.1082 Tj
--250 TJm
-(input) 20.4831 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(during) 26.0123 Tj
--250 TJm
-(compression) 50.3609 Tj
--250 TJm
-(or) 8.29885 Tj
--250 TJm
-(decompression.) 62.2563 Tj
-[1 0 0 1 72 232.683] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.8665] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -218.973] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 209.174 Td
-/F134_0 9.9626 Tf
-(-s) 11.9551 Tj
--600 TJm
-(--small) 41.8429 Tj
-[1 0 0 1 131.776 209.174] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -62.2665 -0.1544] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -209.02] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 197.219 Td
-/F130_0 9.9626 Tf
-(Reduce) 29.8778 Tj
--347 TJm
-(memory) 33.2053 Tj
--347 TJm
-(usage,) 25.1755 Tj
--371 TJm
-(for) 11.6164 Tj
--346 TJm
-(compression,) 52.8516 Tj
--371 TJm
-(decompression) 59.7656 Tj
--347 TJm
-(and) 14.386 Tj
--347 TJm
-(testing.) 29.0609 Tj
--1201 TJm
-(Files) 19.3773 Tj
--347 TJm
-(are) 12.1643 Tj
--347 TJm
-(decompressed) 56.4381 Tj
--346 TJm
-(and) 14.386 Tj
--347 TJm
-(tested) 23.2427 Tj
-108 185.264 Td
-(using) 21.589 Tj
--388 TJm
-(a) 4.42339 Tj
--388 TJm
-(modi\002ed) 35.427 Tj
--388 TJm
-(algorithm) 38.7446 Tj
--389 TJm
-(which) 24.3486 Tj
--388 TJm
-(only) 17.7135 Tj
--388 TJm
-(requires) 32.0895 Tj
--388 TJm
-(2.5) 12.4533 Tj
--388 TJm
-(bytes) 21.031 Tj
--388 TJm
-(per) 12.7222 Tj
--388 TJm
-(block) 22.1369 Tj
--389 TJm
-(byte.) 19.6462 Tj
--1448 TJm
-(This) 17.7135 Tj
--389 TJm
-(means) 25.4544 Tj
--388 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--388 TJm
-(\002le) 12.7322 Tj
--388 TJm
-(can) 13.8281 Tj
--388 TJm
-(be) 9.40469 Tj
-108 173.309 Td
-(decompressed) 56.4381 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(2300k) 24.9065 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(albeit) 22.1369 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(about) 22.1369 Tj
--250 TJm
-(half) 15.4918 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(normal) 28.224 Tj
--250 TJm
-(speed.) 25.1755 Tj
-[1 0 0 1 72 171.152] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -161.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 151.51 Td
-/F130_0 9.9626 Tf
-(During) 28.224 Tj
--252 TJm
-(compr) 25.4544 Tj
-1 TJm
-(ession,) 27.3972 Tj
-[1 0 0 1 194.09 151.51] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -194.09 -151.51] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-194.09 151.51 Td
-/F134_0 9.9626 Tf
-(-s) 11.9551 Tj
-[1 0 0 1 206.046 151.51] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -206.046 -151.51] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-208.551 151.51 Td
-/F130_0 9.9626 Tf
-(selects) 26.5603 Tj
--251 TJm
-(a) 4.42339 Tj
--252 TJm
-(block) 22.1369 Tj
--251 TJm
-(size) 15.4918 Tj
--252 TJm
-(of) 8.29885 Tj
--252 TJm
-(200k,) 22.4159 Tj
--251 TJm
-(which) 24.3486 Tj
--252 TJm
-(limits) 22.7048 Tj
--251 TJm
-(memory) 33.2053 Tj
--252 TJm
-(use) 13.2801 Tj
--251 TJm
-(to) 7.7509 Tj
--252 TJm
-(around) 27.6661 Tj
--251 TJm
-(the) 12.1743 Tj
--252 TJm
-(same) 20.4731 Tj
--251 TJm
-(\002gure,) 25.7334 Tj
--252 TJm
-(at) 7.193 Tj
-108 139.554 Td
-(the) 12.1743 Tj
--287 TJm
-(e) 4.42339 Tj
-15 TJm
-(xpense) 27.6661 Tj
--287 TJm
-(of) 8.29885 Tj
--288 TJm
-(your) 18.2614 Tj
--287 TJm
-(compression) 50.3609 Tj
--287 TJm
-(ratio.) 20.7521 Tj
--843 TJm
-(In) 8.29885 Tj
--287 TJm
-(short,) 22.4159 Tj
--297 TJm
-(if) 6.08715 Tj
--287 TJm
-(your) 18.2614 Tj
--287 TJm
-(machine) 33.7533 Tj
--287 TJm
-(is) 6.64505 Tj
--287 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w) 7.193 Tj
--287 TJm
-(on) 9.9626 Tj
--288 TJm
-(memory) 33.2053 Tj
--287 TJm
-(\(8) 8.29885 Tj
--287 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(abytes) 25.4544 Tj
--287 TJm
-(or) 8.29885 Tj
--287 TJm
-(less\),) 20.7521 Tj
-108 127.599 Td
-(use) 13.2801 Tj
-[1 0 0 1 123.771 127.599] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -123.771 -127.599] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-123.771 127.599 Td
-/F134_0 9.9626 Tf
-(-s) 11.9551 Tj
-[1 0 0 1 135.726 127.599] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -135.726 -127.599] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-138.216 127.599 Td
-/F130_0 9.9626 Tf
-(for) 11.6164 Tj
--250 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(erything.) 35.696 Tj
--620 TJm
-(See) 14.386 Tj
-[1 0 0 1 220.079 127.599] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -220.079 -127.599] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-220.079 127.599 Td
-/F130_0 9.9626 Tf
-(MEMOR) 37.6387 Tj
-65 TJm
-(Y) 7.193 Tj
--250 TJm
-(MAN) 23.2427 Tj
-35 TJm
-(A) 7.193 Tj
-40 TJm
-(GEMENT) 41.5042 Tj
-[1 0 0 1 337.946 127.599] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -337.946 -127.599] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-340.437 127.599 Td
-/F130_0 9.9626 Tf
-([5]) 11.6164 Tj
-[1 0 0 1 352.053 127.599] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -352.053 -127.599] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-354.544 127.599 Td
-/F130_0 9.9626 Tf
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 125.443] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.8665] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -111.732] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 101.934 Td
-/F134_0 9.9626 Tf
-(-q) 11.9551 Tj
--600 TJm
-(--quiet) 41.8429 Tj
-[1 0 0 1 131.776 101.934] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -62.2665 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -100.399] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 89.9784 Td
-/F130_0 9.9626 Tf
-(Suppress) 35.9749 Tj
--221 TJm
-(non-essential) 52.5726 Tj
--220 TJm
-(w) 7.193 Tj
-10 TJm
-(arning) 25.4544 Tj
--221 TJm
-(messages.) 40.1194 Tj
--300 TJm
-(Messages) 38.7346 Tj
--221 TJm
-(pertaining) 40.3983 Tj
--221 TJm
-(to) 7.7509 Tj
--220 TJm
-(I/O) 13.2801 Tj
--221 TJm
-(errors) 23.2328 Tj
--221 TJm
-(and) 14.386 Tj
--220 TJm
-(other) 20.4731 Tj
--221 TJm
-(critical) 27.6661 Tj
--221 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ents) 16.0497 Tj
--221 TJm
-(wi) 9.9626 Tj
-1 TJm
-(ll) 5.53921 Tj
--221 TJm
-(not) 12.7322 Tj
-108 78.0232 Td
-(be) 9.40469 Tj
--250 TJm
-(suppressed.) 46.2065 Tj
-[1 0 0 1 72 75.8664] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.8664] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -21.1482] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 43.0633 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.332 -50.8518] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-539.395 50.8518 Td
-/F130_0 9.9626 Tf
-(4) 4.9813 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 8 8
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 105.519 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -371.59 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F130_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-[1 0 0 1 266.071 747.089] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F134_0 9.9626 Tf
-(-v) 11.9551 Tj
--600 TJm
-(--verbose) 53.798 Tj
-[1 0 0 1 143.731 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -74.2217 -0.1544] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -709.883] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 698.082 Td
-/F130_0 9.9626 Tf
-(V) 7.193 Tj
-111 TJm
-(erbose) 26.0024 Tj
--323 TJm
-(mode) 22.1369 Tj
--322 TJm
-(--) 6.63509 Tj
--323 TJm
-(sho) 13.8381 Tj
-25 TJm
-(w) 7.193 Tj
--322 TJm
-(the) 12.1743 Tj
--323 TJm
-(compression) 50.3609 Tj
--323 TJm
-(ratio) 18.2614 Tj
--322 TJm
-(for) 11.6164 Tj
--323 TJm
-(each) 18.2515 Tj
--322 TJm
-(\002le) 12.7322 Tj
--323 TJm
-(processed.) 41.7732 Tj
--1056 TJm
-(Further) 29.3299 Tj
-[1 0 0 1 430.015 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -430.015 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-430.015 698.082 Td
-/F134_0 9.9626 Tf
-(-v) 11.9551 Tj
-[1 0 0 1 441.97 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -441.97 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-441.97 698.082 Td
-/F130_0 9.9626 Tf
-(') 3.31755 Tj
-55 TJm
-(s) 3.87545 Tj
--323 TJm
-(increase) 32.6375 Tj
--322 TJm
-(the) 12.1743 Tj
--323 TJm
-(v) 4.9813 Tj
-15 TJm
-(erbosity) 32.0995 Tj
-108 686.127 Td
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el,) 9.68365 Tj
--250 TJm
-(spe) 13.2801 Tj
-25 TJm
-(wing) 19.9252 Tj
--250 TJm
-(out) 12.7322 Tj
--250 TJm
-(lots) 14.396 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(information) 47.0434 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(primarily) 37.0808 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(interest) 29.3299 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(diagnostic) 40.9562 Tj
--250 TJm
-(purposes.) 37.9077 Tj
-[1 0 0 1 72 683.97] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -670.023] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 660.224 Td
-/F134_0 9.9626 Tf
-(-L) 11.9551 Tj
--600 TJm
-(--license) 53.798 Tj
--600 TJm
-(-V) 11.9551 Tj
--600 TJm
-(--version) 53.798 Tj
-[1 0 0 1 221.44 660.224] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -151.93 -0.1544] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -660.07] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 648.269 Td
-/F130_0 9.9626 Tf
-(Display) 30.9936 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(softw) 22.1369 Tj
-10 TJm
-(are) 12.1643 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion,) 26.8392 Tj
--250 TJm
-(license) 27.6661 Tj
--250 TJm
-(terms) 22.1369 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(conditions.) 44.0048 Tj
-[1 0 0 1 72 646.112] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -632.165] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 622.366 Td
-/F134_0 9.9626 Tf
-(-1) 11.9551 Tj
-[1 0 0 1 83.9552 622.366] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -83.9552 -622.366] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.4458 622.366 Td
-/F130_0 9.9626 Tf
-(\(or) 11.6164 Tj
-[1 0 0 1 100.553 622.366] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -100.553 -622.366] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-100.553 622.366 Td
-/F134_0 9.9626 Tf
-(--fast) 35.8654 Tj
-[1 0 0 1 136.418 622.366] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -136.418 -622.366] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-136.418 622.366 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 152.468 622.366] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -152.468 -622.366] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-152.468 622.366 Td
-/F134_0 9.9626 Tf
-(-9) 11.9551 Tj
-[1 0 0 1 164.423 622.366] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -164.423 -622.366] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-166.914 622.366 Td
-/F130_0 9.9626 Tf
-(\(or) 11.6164 Tj
-[1 0 0 1 181.021 622.366] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -181.021 -622.366] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-181.021 622.366 Td
-/F134_0 9.9626 Tf
-(-best) 29.8878 Tj
-[1 0 0 1 210.909 622.366] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.909 -622.366] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.909 622.366 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
-[1 0 0 1 214.226 622.366] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -142.226 -1.7832] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -620.583] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 610.411 Td
-/F130_0 9.9626 Tf
-(Set) 12.7322 Tj
--288 TJm
-(the) 12.1743 Tj
--289 TJm
-(block) 22.1369 Tj
--288 TJm
-(size) 15.4918 Tj
--288 TJm
-(to) 7.7509 Tj
--288 TJm
-(100) 14.9439 Tj
--289 TJm
-(k,) 7.47195 Tj
--298 TJm
-(200) 14.9439 Tj
--288 TJm
-(k) 4.9813 Tj
--288 TJm
-(...) 7.47195 Tj
--850 TJm
-(900) 14.9439 Tj
--288 TJm
-(k) 4.9813 Tj
--288 TJm
-(when) 21.579 Tj
--289 TJm
-(compressing.) 52.8516 Tj
--849 TJm
-(Has) 15.4918 Tj
--289 TJm
-(no) 9.9626 Tj
--288 TJm
-(ef) 7.74094 Tj
-25 TJm
-(fect) 14.9339 Tj
--288 TJm
-(when) 21.579 Tj
--288 TJm
-(decompressing.) 62.2563 Tj
--850 TJm
-(See) 14.386 Tj
-[1 0 0 1 108 598.456] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -108 -598.456] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 598.456 Td
-/F130_0 9.9626 Tf
-(MEMOR) 37.6387 Tj
-65 TJm
-(Y) 7.193 Tj
--297 TJm
-(MAN) 23.2427 Tj
-35 TJm
-(A) 7.193 Tj
-40 TJm
-(GEMENT) 41.5042 Tj
-[1 0 0 1 226.338 598.456] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -226.338 -598.456] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-229.3 598.456 Td
-/F130_0 9.9626 Tf
-([5]) 11.6164 Tj
-[1 0 0 1 240.916 598.456] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -240.916 -598.456] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-243.878 598.456 Td
-/F130_0 9.9626 Tf
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.49065 Tj
--904 TJm
-(The) 15.4918 Tj
-[1 0 0 1 297.278 598.456] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -297.278 -598.456] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-297.278 598.456 Td
-/F134_0 9.9626 Tf
-(--fast) 35.8654 Tj
-[1 0 0 1 333.144 598.456] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -333.144 -598.456] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-336.106 598.456 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 353.454 598.456] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -353.454 -598.456] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-353.454 598.456 Td
-/F134_0 9.9626 Tf
-(--best) 35.8654 Tj
-[1 0 0 1 389.319 598.456] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -389.319 -598.456] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-392.281 598.456 Td
-/F130_0 9.9626 Tf
-(aliases) 26.5603 Tj
--297 TJm
-(are) 12.1643 Tj
--298 TJm
-(primarily) 37.0808 Tj
--297 TJm
-(for) 11.6164 Tj
--297 TJm
-(GNU) 21.579 Tj
-[1 0 0 1 516.09 598.456] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -516.09 -598.456] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-516.09 598.456 Td
-/F134_0 9.9626 Tf
-(gzip) 23.9102 Tj
-[1 0 0 1 540 598.456] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -598.456] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 586.501 Td
-/F130_0 9.9626 Tf
-(compatibility) 53.1405 Tj
-65 TJm
-(.) 2.49065 Tj
--356 TJm
-(In) 8.29885 Tj
--265 TJm
-(particular) 38.1767 Tj
-40 TJm
-(,) 2.49065 Tj
-[1 0 0 1 220.423 586.501] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -220.423 -586.501] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-220.423 586.501 Td
-/F134_0 9.9626 Tf
-(--fast) 35.8654 Tj
-[1 0 0 1 256.288 586.501] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -256.288 -586.501] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-258.932 586.501 Td
-/F130_0 9.9626 Tf
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--265 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--266 TJm
-(things) 24.3586 Tj
--265 TJm
-(signi\002cantly) 49.2651 Tj
--265 TJm
-(f) 3.31755 Tj
-10 TJm
-(aster) 18.8094 Tj
-55 TJm
-(.) 2.49065 Tj
--712 TJm
-(And) 17.1556 Tj
-[1 0 0 1 444.622 586.501] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.622 -586.501] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-444.622 586.501 Td
-/F134_0 9.9626 Tf
-(--best) 35.8654 Tj
-[1 0 0 1 480.487 586.501] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -480.487 -586.501] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-483.131 586.501 Td
-/F130_0 9.9626 Tf
-(merely) 27.6661 Tj
--265 TJm
-(selects) 26.5603 Tj
-108 574.546 Td
-(the) 12.1743 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
-55 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 574.446] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -560.498] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 548.643 Td
-/F134_0 9.9626 Tf
-(--) 11.9551 Tj
-[1 0 0 1 83.9552 548.643] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -14.4458 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -548.643] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 536.688 Td
-/F130_0 9.9626 Tf
-(T) 6.08715 Tj
-35 TJm
-(reats) 18.8094 Tj
--261 TJm
-(all) 9.9626 Tj
--261 TJm
-(subsequent) 44.2738 Tj
--260 TJm
-(ar) 7.74094 Tj
-18 TJm
-(guments) 33.7633 Tj
--261 TJm
-(as) 8.29885 Tj
--261 TJm
-(\002le) 12.7322 Tj
--261 TJm
-(names,) 27.9451 Tj
--263 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--261 TJm
-(if) 6.08715 Tj
--261 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--260 TJm
-(start) 17.1556 Tj
--261 TJm
-(with) 17.7135 Tj
--261 TJm
-(a) 4.42339 Tj
--261 TJm
-(dash.) 20.7521 Tj
--685 TJm
-(This) 17.7135 Tj
--260 TJm
-(is) 6.64505 Tj
--261 TJm
-(so) 8.85675 Tj
--261 TJm
-(you) 14.9439 Tj
--261 TJm
-(can) 13.8281 Tj
--260 TJm
-(handle) 26.5603 Tj
--261 TJm
-(\002les) 16.6077 Tj
-108 524.732 Td
-(with) 17.7135 Tj
--250 TJm
-(names) 25.4544 Tj
--250 TJm
-(be) 9.40469 Tj
-15 TJm
-(ginning) 30.4457 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(dash,) 20.7521 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(e) 4.42339 Tj
-15 TJm
-(xample:) 32.0995 Tj
-[1 0 0 1 302.27 524.732] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -302.27 -524.732] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-302.27 524.732 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(--) 11.9551 Tj
--600 TJm
-(-myfilename) 65.7532 Tj
-[1 0 0 1 421.821 524.732] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -421.821 -524.732] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-421.821 524.732 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 522.576] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -508.628] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 498.83 Td
-/F134_0 9.9626 Tf
-(--repetitive-fast) 101.619 Tj
-[1 0 0 1 173.619 498.83] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -173.619 -498.83] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-173.619 498.83 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 178.6 498.83] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -183.582 -498.83] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-183.582 498.83 Td
-/F134_0 9.9626 Tf
-(--repetitive-best) 101.619 Tj
-[1 0 0 1 285.2 498.83] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -215.691 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -497.295] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 486.874 Td
-/F130_0 9.9626 Tf
-(These) 23.7907 Tj
--207 TJm
-(\003ags) 18.8194 Tj
--206 TJm
-(are) 12.1643 Tj
--207 TJm
-(redundant) 39.8404 Tj
--207 TJm
-(in) 7.7509 Tj
--206 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--207 TJm
-(0.9.5) 19.9252 Tj
--207 TJm
-(and) 14.386 Tj
--206 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e.) 6.91404 Tj
--591 TJm
-(The) 15.4918 Tj
-15 TJm
-(y) 4.9813 Tj
--207 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vided) 22.1369 Tj
--207 TJm
-(some) 21.031 Tj
--207 TJm
-(c) 4.42339 Tj
-1 TJm
-(o) 4.9813 Tj
--1 TJm
-(a) 4.42339 Tj
-1 TJm
-(rse) 11.6164 Tj
--207 TJm
-(control) 28.224 Tj
--207 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--207 TJm
-(the) 12.1743 Tj
--206 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
-108 474.919 Td
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--251 TJm
-(sorting) 27.6761 Tj
--250 TJm
-(algorithm) 38.7446 Tj
--250 TJm
-(in) 7.7509 Tj
--251 TJm
-(earlier) 25.4445 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions,) 30.7147 Tj
--250 TJm
-(which) 24.3486 Tj
--251 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--250 TJm
-(sometimes) 42.62 Tj
--250 TJm
-(useful.) 26.8392 Tj
--622 TJm
-(0.9.5) 19.9252 Tj
--251 TJm
-(and) 14.386 Tj
--250 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--251 TJm
-(an) 9.40469 Tj
--250 TJm
-(impro) 23.8007 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed) 9.40469 Tj
-108 462.964 Td
-(algorithm) 38.7446 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(renders) 29.3199 Tj
--250 TJm
-(these) 20.4731 Tj
--250 TJm
-(\003ags) 18.8194 Tj
--250 TJm
-(irrele) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant.) 14.6649 Tj
-[1 0 0 1 72 460.807] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -436.897] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 414.264 Td
-/F122_0 20.6585 Tf
-(2.5.) 34.4584 Tj
--278 TJm
-(MEMOR) 79.184 Tj
-50 TJm
-(Y) 13.7792 Tj
--278 TJm
-(MANA) 61.9548 Tj
-50 TJm
-(GEMENT) 88.3771 Tj
-[1 0 0 1 72 414.005] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -404.043] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 392.346 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 392.346] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -392.346] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.454 392.346 Td
-/F130_0 9.9626 Tf
-(compresses) 45.9276 Tj
--258 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.40469 Tj
--257 TJm
-(\002les) 16.6077 Tj
--258 TJm
-(in) 7.7509 Tj
--257 TJm
-(blocks.) 28.503 Tj
--666 TJm
-(The) 15.4918 Tj
--257 TJm
-(block) 22.1369 Tj
--258 TJm
-(size) 15.4918 Tj
--258 TJm
-(af) 7.74094 Tj
-25 TJm
-(fects) 18.8094 Tj
--257 TJm
-(both) 17.7135 Tj
--258 TJm
-(the) 12.1743 Tj
--257 TJm
-(compression) 50.3609 Tj
--258 TJm
-(ratio) 18.2614 Tj
--257 TJm
-(achie) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed,) 11.8953 Tj
--260 TJm
-(and) 14.386 Tj
--258 TJm
-(the) 12.1743 Tj
--257 TJm
-(amount) 29.8878 Tj
-72 380.391 Td
-(of) 8.29885 Tj
--215 TJm
-(memory) 33.2053 Tj
--215 TJm
-(needed) 28.2141 Tj
--215 TJm
-(for) 11.6164 Tj
--215 TJm
-(compression) 50.3609 Tj
--214 TJm
-(and) 14.386 Tj
--215 TJm
-(decompression.) 62.2563 Tj
--597 TJm
-(The) 15.4918 Tj
--215 TJm
-(\003ags) 18.8194 Tj
-[1 0 0 1 337.719 380.391] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -337.719 -380.391] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-337.719 380.391 Td
-/F134_0 9.9626 Tf
-(-1) 11.9551 Tj
-[1 0 0 1 349.674 380.391] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -349.674 -380.391] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-351.815 380.391 Td
-/F130_0 9.9626 Tf
-(through) 30.9936 Tj
-[1 0 0 1 384.95 380.391] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -384.95 -380.391] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-384.95 380.391 Td
-/F134_0 9.9626 Tf
-(-9) 11.9551 Tj
-[1 0 0 1 396.905 380.391] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -396.905 -380.391] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-399.046 380.391 Td
-/F130_0 9.9626 Tf
-(specify) 28.772 Tj
--215 TJm
-(the) 12.1743 Tj
--215 TJm
-(block) 22.1369 Tj
--215 TJm
-(size) 15.4918 Tj
--215 TJm
-(to) 7.7509 Tj
--214 TJm
-(be) 9.40469 Tj
--215 TJm
-(100,000) 32.3785 Tj
-72 368.435 Td
-(bytes) 21.031 Tj
--278 TJm
-(through) 30.9936 Tj
--277 TJm
-(900,000) 32.3785 Tj
--278 TJm
-(bytes) 21.031 Tj
--278 TJm
-(\(the) 15.4918 Tj
--277 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault\)) 18.2614 Tj
--278 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.49065 Tj
--786 TJm
-(At) 9.9626 Tj
--278 TJm
-(decompression) 59.7656 Tj
--278 TJm
-(time,) 20.2042 Tj
--284 TJm
-(the) 12.1743 Tj
--278 TJm
-(block) 22.1369 Tj
--278 TJm
-(size) 15.4918 Tj
--277 TJm
-(used) 18.2614 Tj
--278 TJm
-(for) 11.6164 Tj
--278 TJm
-(compression) 50.3609 Tj
-72 356.48 Td
-(is) 6.64505 Tj
--243 TJm
-(read) 17.1456 Tj
--242 TJm
-(from) 19.3673 Tj
--243 TJm
-(the) 12.1743 Tj
--242 TJm
-(header) 26.5503 Tj
--243 TJm
-(of) 8.29885 Tj
--242 TJm
-(the) 12.1743 Tj
--243 TJm
-(compressed) 47.0334 Tj
--242 TJm
-(\002le,) 15.2229 Tj
--244 TJm
-(and) 14.386 Tj
-[1 0 0 1 275.174 356.48] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -275.174 -356.48] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-275.174 356.48 Td
-/F134_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-[1 0 0 1 317.017 356.48] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -317.017 -356.48] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-319.433 356.48 Td
-/F130_0 9.9626 Tf
-(then) 17.1556 Tj
--243 TJm
-(all) 9.9626 Tj
-1 TJm
-(o) 4.9813 Tj
--1 TJm
-(c) 4.42339 Tj
-1 TJm
-(ates) 15.4918 Tj
--243 TJm
-(itself) 19.9252 Tj
--242 TJm
-(just) 14.396 Tj
--243 TJm
-(enough) 29.3299 Tj
--243 TJm
-(memory) 33.2053 Tj
--242 TJm
-(to) 7.7509 Tj
--243 TJm
-(decompress) 47.0334 Tj
-72 344.525 Td
-(the) 12.1743 Tj
--303 TJm
-(\002le.) 15.2229 Tj
--940 TJm
-(Since) 22.1369 Tj
--304 TJm
-(block) 22.1369 Tj
--303 TJm
-(sizes) 19.3673 Tj
--303 TJm
-(are) 12.1643 Tj
--303 TJm
-(stored) 24.3486 Tj
--304 TJm
-(in) 7.7509 Tj
--303 TJm
-(compressed) 47.0334 Tj
--303 TJm
-(\002les,) 19.0983 Tj
--317 TJm
-(it) 5.53921 Tj
--303 TJm
-(follo) 18.8194 Tj
-25 TJm
-(ws) 11.0684 Tj
--304 TJm
-(that) 14.9439 Tj
--303 TJm
-(the) 12.1743 Tj
--303 TJm
-(\003ags) 18.8194 Tj
-[1 0 0 1 406.35 344.525] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -406.35 -344.525] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-406.35 344.525 Td
-/F134_0 9.9626 Tf
-(-1) 11.9551 Tj
-[1 0 0 1 418.305 344.525] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -418.305 -344.525] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-421.327 344.525 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
-[1 0 0 1 432.1 344.525] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -432.1 -344.525] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-432.1 344.525 Td
-/F134_0 9.9626 Tf
-(-9) 11.9551 Tj
-[1 0 0 1 444.055 344.525] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.055 -344.525] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-447.077 344.525 Td
-/F130_0 9.9626 Tf
-(are) 12.1643 Tj
--303 TJm
-(irrele) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant) 12.1743 Tj
--304 TJm
-(to) 7.7509 Tj
--303 TJm
-(and) 14.386 Tj
--303 TJm
-(so) 8.85675 Tj
-72 332.57 Td
-(ignored) 30.4357 Tj
--250 TJm
-(during) 26.0123 Tj
--250 TJm
-(decompression.) 62.2563 Tj
-[1 0 0 1 72 330.413] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -320.45] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 310.652 Td
-/F130_0 9.9626 Tf
-(Compression) 52.5826 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(requirements,) 54.5054 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(bytes,) 23.5217 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(estimated) 38.1866 Tj
--250 TJm
-(as:) 11.0684 Tj
-[1 0 0 1 72 308.495] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -60.7721] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 59.7758 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 56.1893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -299.13] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 299.13 Td
-/F134_0 9.9626 Tf
-(Compression:) 71.7307 Tj
--1278 TJm
-(400k) 23.9102 Tj
--426 TJm
-(+) 5.97756 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(8) 5.97756 Tj
--426 TJm
-(x) 5.97756 Tj
--426 TJm
-(block) 29.8878 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(\)) 5.97756 Tj
-90 275.22 Td
-(Decompression:) 83.6858 Tj
--426 TJm
-(100k) 23.9102 Tj
--426 TJm
-(+) 5.97756 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(4) 5.97756 Tj
--426 TJm
-(x) 5.97756 Tj
--426 TJm
-(block) 29.8878 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(\),) 11.9551 Tj
--426 TJm
-(or) 11.9551 Tj
-153.66 263.265 Td
-(100k) 23.9102 Tj
--426 TJm
-(+) 5.97756 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(2.5) 17.9327 Tj
--426 TJm
-(x) 5.97756 Tj
--426 TJm
-(block) 29.8878 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(\)) 5.97756 Tj
-[1 0 0 1 72 247.723] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -237.761] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 225.805 Td
-/F130_0 9.9626 Tf
-(Lar) 13.8281 Tj
-18 TJm
-(ger) 12.7222 Tj
--292 TJm
-(block) 22.1369 Tj
--292 TJm
-(sizes) 19.3673 Tj
--291 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--292 TJm
-(rapidly) 28.224 Tj
--292 TJm
-(diminishing) 47.6113 Tj
--292 TJm
-(mar) 15.4918 Tj
-18 TJm
-(ginal) 19.9252 Tj
--291 TJm
-(returns.) 30.1568 Tj
--871 TJm
-(Most) 20.4831 Tj
--292 TJm
-(of) 8.29885 Tj
--291 TJm
-(the) 12.1743 Tj
--292 TJm
-(compression) 50.3609 Tj
--292 TJm
-(comes) 25.4544 Tj
--292 TJm
-(from) 19.3673 Tj
--291 TJm
-(the) 12.1743 Tj
--292 TJm
-(\002rst) 15.5018 Tj
--292 TJm
-(tw) 9.9626 Tj
-10 TJm
-(o) 4.9813 Tj
--292 TJm
-(or) 8.29885 Tj
-72 213.85 Td
-(three) 19.9152 Tj
--232 TJm
-(hundred) 32.6474 Tj
--232 TJm
-(k) 4.9813 Tj
--232 TJm
-(of) 8.29885 Tj
--232 TJm
-(block) 22.1369 Tj
--232 TJm
-(size,) 17.9825 Tj
--235 TJm
-(a) 4.42339 Tj
--232 TJm
-(f) 3.31755 Tj
-10 TJm
-(act) 11.6164 Tj
--232 TJm
-(w) 7.193 Tj
-10 TJm
-(orth) 16.0497 Tj
--232 TJm
-(bearing) 29.8778 Tj
--232 TJm
-(in) 7.7509 Tj
--232 TJm
-(mind) 20.4831 Tj
--232 TJm
-(when) 21.579 Tj
--231 TJm
-(using) 21.589 Tj
-[1 0 0 1 354.025 213.85] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -354.025 -213.85] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-354.025 213.85 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 383.913 213.85] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -383.913 -213.85] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-386.223 213.85 Td
-/F130_0 9.9626 Tf
-(on) 9.9626 Tj
--232 TJm
-(small) 21.589 Tj
--232 TJm
-(machines.) 40.1194 Tj
--304 TJm
-(It) 6.08715 Tj
--232 TJm
-(is) 6.64505 Tj
--232 TJm
-(also) 16.0497 Tj
--231 TJm
-(important) 38.7446 Tj
-72 201.895 Td
-(to) 7.7509 Tj
--250 TJm
-(appreciate) 40.9363 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(memory) 33.2053 Tj
--250 TJm
-(requirement) 48.1393 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(set) 11.0684 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(compression) 50.3609 Tj
--250 TJm
-(time) 17.7135 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(choice) 26.0024 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(block) 22.1369 Tj
--250 TJm
-(size.) 17.9825 Tj
-[1 0 0 1 72 199.738] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -189.776] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 179.977 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--388 TJm
-(\002les) 16.6077 Tj
--389 TJm
-(compressed) 47.0334 Tj
--388 TJm
-(with) 17.7135 Tj
--389 TJm
-(the) 12.1743 Tj
--388 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--389 TJm
-(900k) 19.9252 Tj
--388 TJm
-(block) 22.1369 Tj
--389 TJm
-(size,) 17.9825 Tj
-[1 0 0 1 302.002 179.977] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -302.002 -179.977] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-302.002 179.977 Td
-/F134_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-[1 0 0 1 343.846 179.977] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -343.846 -179.977] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-347.715 179.977 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--388 TJm
-(require) 28.2141 Tj
--389 TJm
-(about) 22.1369 Tj
--388 TJm
-(3700) 19.9252 Tj
--389 TJm
-(kbytes) 26.0123 Tj
--388 TJm
-(to) 7.7509 Tj
--389 TJm
-(decompress.) 49.5241 Tj
-72 168.022 Td
-(T) 6.08715 Tj
-80 TJm
-(o) 4.9813 Tj
--424 TJm
-(support) 29.8878 Tj
--425 TJm
-(decompression) 59.7656 Tj
--424 TJm
-(of) 8.29885 Tj
--424 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--425 TJm
-(\002l) 8.30881 Tj
-1 TJm
-(e) 4.42339 Tj
--425 TJm
-(on) 9.9626 Tj
--424 TJm
-(a) 4.42339 Tj
--424 TJm
-(4) 4.9813 Tj
--425 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(abyte) 21.579 Tj
--424 TJm
-(machine,) 36.2439 Tj
-[1 0 0 1 348.272 168.022] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -348.272 -168.022] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-348.272 168.022 Td
-/F134_0 9.9626 Tf
-(bunzip2) 41.8429 Tj
-[1 0 0 1 390.115 168.022] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -390.115 -168.022] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-394.342 168.022 Td
-/F130_0 9.9626 Tf
-(has) 13.2801 Tj
--424 TJm
-(an) 9.40469 Tj
--425 TJm
-(option) 25.4644 Tj
--424 TJm
-(to) 7.7509 Tj
--424 TJm
-(decompress) 47.0334 Tj
--424 TJm
-(using) 21.589 Tj
-72 156.067 Td
-(approximately) 57.5539 Tj
--281 TJm
-(half) 15.4918 Tj
--281 TJm
-(this) 14.396 Tj
--280 TJm
-(amount) 29.8878 Tj
--281 TJm
-(of) 8.29885 Tj
--281 TJm
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.49065 Tj
--288 TJm
-(about) 22.1369 Tj
--281 TJm
-(2300) 19.9252 Tj
--281 TJm
-(kbytes.) 28.503 Tj
--805 TJm
-(Decompression) 61.9773 Tj
--280 TJm
-(speed) 22.6848 Tj
--281 TJm
-(is) 6.64505 Tj
--281 TJm
-(also) 16.0497 Tj
--281 TJm
-(halv) 17.1556 Tj
-15 TJm
-(ed,) 11.8953 Tj
--288 TJm
-(so) 8.85675 Tj
--281 TJm
-(you) 14.9439 Tj
--281 TJm
-(should) 26.5703 Tj
-72 144.112 Td
-(use) 13.2801 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(option) 25.4644 Tj
--250 TJm
-(only) 17.7135 Tj
--250 TJm
-(where) 24.3386 Tj
--250 TJm
-(necessary) 38.7246 Tj
-65 TJm
-(.) 2.49065 Tj
--620 TJm
-(The) 15.4918 Tj
--250 TJm
-(rele) 14.9339 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant) 12.1743 Tj
--250 TJm
-(\003ag) 14.9439 Tj
--250 TJm
-(is) 6.64505 Tj
-[1 0 0 1 305.024 144.112] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -305.024 -144.112] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-305.024 144.112 Td
-/F134_0 9.9626 Tf
-(-s) 11.9551 Tj
-[1 0 0 1 316.979 144.112] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -316.979 -144.112] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-316.979 144.112 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 141.955] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -131.992] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 122.194 Td
-/F130_0 9.9626 Tf
-(In) 8.29885 Tj
--204 TJm
-(general,) 31.8106 Tj
--214 TJm
-(try) 11.0684 Tj
--204 TJm
-(and) 14.386 Tj
--205 TJm
-(use) 13.2801 Tj
--204 TJm
-(the) 12.1743 Tj
--204 TJm
-(lar) 10.5105 Tj
-18 TJm
-(gest) 16.0497 Tj
--205 TJm
-(block) 22.1369 Tj
--204 TJm
-(size) 15.4918 Tj
--205 TJm
-(memory) 33.2053 Tj
--204 TJm
-(constraints) 43.1679 Tj
--204 TJm
-(allo) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.49065 Tj
--214 TJm
-(since) 20.4731 Tj
--204 TJm
-(that) 14.9439 Tj
--205 TJm
-(maximises) 42.62 Tj
--204 TJm
-(the) 12.1743 Tj
--204 TJm
-(compression) 50.3609 Tj
--205 TJm
-(achie) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ed.) 11.8953 Tj
-72 110.239 Td
-(Compression) 52.5826 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(speed) 22.6848 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(virtually) 33.7633 Tj
--250 TJm
-(unaf) 17.7035 Tj
-25 TJm
-(fected) 24.3386 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(block) 22.1369 Tj
--250 TJm
-(size.) 17.9825 Tj
-[1 0 0 1 72 108.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -98.1193] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 88.321 Td
-/F130_0 9.9626 Tf
-(Another) 32.6474 Tj
--296 TJm
-(signi\002cant) 41.5142 Tj
--296 TJm
-(point) 20.4831 Tj
--295 TJm
-(applies) 28.224 Tj
--296 TJm
-(to) 7.7509 Tj
--296 TJm
-(\002les) 16.6077 Tj
--296 TJm
-(which) 24.3486 Tj
--296 TJm
-(\002t) 8.30881 Tj
--296 TJm
-(in) 7.7509 Tj
--296 TJm
-(a) 4.42339 Tj
--295 TJm
-(single) 23.8007 Tj
--296 TJm
-(block) 22.1369 Tj
--296 TJm
-(--) 6.63509 Tj
--296 TJm
-(that) 14.9439 Tj
--296 TJm
-(means) 25.4544 Tj
--296 TJm
-(most) 19.3773 Tj
--295 TJm
-(\002les) 16.6077 Tj
--296 TJm
-(you') 18.2614 Tj
-50 TJm
-(d) 4.9813 Tj
--296 TJm
-(encounter) 39.2825 Tj
--296 TJm
-(using) 21.589 Tj
--296 TJm
-(a) 4.42339 Tj
-72 76.3658 Td
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.40469 Tj
--290 TJm
-(block) 22.1369 Tj
--290 TJm
-(size.) 17.9825 Tj
--859 TJm
-(The) 15.4918 Tj
--290 TJm
-(amount) 29.8878 Tj
--290 TJm
-(of) 8.29885 Tj
--290 TJm
-(real) 14.9339 Tj
--290 TJm
-(memory) 33.2053 Tj
--289 TJm
-(touched) 31.5416 Tj
--290 TJm
-(is) 6.64505 Tj
--290 TJm
-(proportional) 49.2551 Tj
--290 TJm
-(to) 7.7509 Tj
--290 TJm
-(the) 12.1743 Tj
--290 TJm
-(size) 15.4918 Tj
--290 TJm
-(of) 8.29885 Tj
--290 TJm
-(the) 12.1743 Tj
--289 TJm
-(\002le,) 15.2229 Tj
--300 TJm
-(since) 20.4731 Tj
--290 TJm
-(the) 12.1743 Tj
--290 TJm
-(\002le) 12.7322 Tj
--290 TJm
-(is) 6.64505 Tj
--290 TJm
-(smaller) 29.3299 Tj
-[1 0 0 1 72 50.8518] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 43.0633 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.332 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-539.395 50.9514 Td
-/F130_0 9.9626 Tf
-(5) 4.9813 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 9 9
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 105.519 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -371.59 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F130_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-[1 0 0 1 266.071 747.089] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -741.554] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(than) 17.1556 Tj
--362 TJm
-(a) 4.42339 Tj
--362 TJm
-(block.) 24.6275 Tj
--1293 TJm
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--362 TJm
-(e) 4.42339 Tj
-15 TJm
-(xample,) 31.8205 Tj
--390 TJm
-(compressing) 50.3609 Tj
--362 TJm
-(a) 4.42339 Tj
--362 TJm
-(\002le) 12.7322 Tj
--362 TJm
-(20,000) 27.3972 Tj
--362 TJm
-(bytes) 21.031 Tj
--362 TJm
-(long) 17.7135 Tj
--362 TJm
-(with) 17.7135 Tj
--362 TJm
-(the) 12.1743 Tj
--362 TJm
-(\003ag) 14.9439 Tj
-[1 0 0 1 406.528 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -406.528 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-406.528 710.037 Td
-/F134_0 9.9626 Tf
-(-9) 11.9551 Tj
-[1 0 0 1 418.483 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -418.483 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-422.09 710.037 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--362 TJm
-(cause) 22.1269 Tj
--362 TJm
-(the) 12.1743 Tj
--362 TJm
-(compressor) 45.9276 Tj
--362 TJm
-(to) 7.7509 Tj
-72 698.082 Td
-(allocate) 30.9837 Tj
--271 TJm
-(around) 27.6661 Tj
--272 TJm
-(7600k) 24.9065 Tj
--271 TJm
-(of) 8.29885 Tj
--272 TJm
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.49065 Tj
--277 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--271 TJm
-(only) 17.7135 Tj
--272 TJm
-(touch) 22.1369 Tj
--271 TJm
-(400k) 19.9252 Tj
--272 TJm
-(+) 5.61891 Tj
--271 TJm
-(20000) 24.9065 Tj
--272 TJm
-(*) 4.9813 Tj
--271 TJm
-(8) 4.9813 Tj
--272 TJm
-(=) 5.61891 Tj
--271 TJm
-(560) 14.9439 Tj
--272 TJm
-(kbytes) 26.0123 Tj
--271 TJm
-(of) 8.29885 Tj
--272 TJm
-(it.) 8.02986 Tj
--748 TJm
-(Similarly) 37.0908 Tj
-65 TJm
-(,) 2.49065 Tj
--277 TJm
-(the) 12.1743 Tj
--272 TJm
-(decompressor) 55.3323 Tj
-72 686.127 Td
-(will) 15.5018 Tj
--250 TJm
-(allocate) 30.9837 Tj
--250 TJm
-(3700k) 24.9065 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(only) 17.7135 Tj
--250 TJm
-(touch) 22.1369 Tj
--250 TJm
-(100k) 19.9252 Tj
--250 TJm
-(+) 5.61891 Tj
--250 TJm
-(20000) 24.9065 Tj
--250 TJm
-(*) 4.9813 Tj
--250 TJm
-(4) 4.9813 Tj
--250 TJm
-(=) 5.61891 Tj
--250 TJm
-(180) 14.9439 Tj
--250 TJm
-(kbytes.) 28.503 Tj
-[1 0 0 1 72 683.97] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -674.008] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 664.209 Td
-/F130_0 9.9626 Tf
-(Here) 19.3573 Tj
--293 TJm
-(is) 6.64505 Tj
--294 TJm
-(a) 4.42339 Tj
--293 TJm
-(table) 19.3673 Tj
--294 TJm
-(which) 24.3486 Tj
--293 TJm
-(summarises) 47.0434 Tj
--294 TJm
-(the) 12.1743 Tj
--293 TJm
-(maximum) 40.4083 Tj
--294 TJm
-(memory) 33.2053 Tj
--293 TJm
-(usage) 22.6848 Tj
--294 TJm
-(for) 11.6164 Tj
--293 TJm
-(dif) 11.0684 Tj
-25 TJm
-(ferent) 23.2328 Tj
--294 TJm
-(block) 22.1369 Tj
--293 TJm
-(sizes.) 21.8579 Tj
--881 TJm
-(Also) 18.8194 Tj
--293 TJm
-(recorded) 34.8492 Tj
--294 TJm
-(is) 6.64505 Tj
--293 TJm
-(the) 12.1743 Tj
--294 TJm
-(total) 17.7135 Tj
-72 652.254 Td
-(compressed) 47.0334 Tj
--289 TJm
-(size) 15.4918 Tj
--289 TJm
-(for) 11.6164 Tj
--289 TJm
-(14) 9.9626 Tj
--289 TJm
-(\002les) 16.6077 Tj
--290 TJm
-(of) 8.29885 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(Calg) 18.8194 Tj
-5 TJm
-(ary) 12.7222 Tj
--289 TJm
-(T) 6.08715 Tj
-70 TJm
-(e) 4.42339 Tj
-15 TJm
-(xt) 7.7509 Tj
--289 TJm
-(Compression) 52.5826 Tj
--289 TJm
-(Corpus) 28.782 Tj
--289 TJm
-(totalling) 33.2153 Tj
--289 TJm
-(3,141,622) 39.8504 Tj
--290 TJm
-(bytes.) 23.5217 Tj
--854 TJm
-(This) 17.7135 Tj
--290 TJm
-(column) 29.8878 Tj
--289 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
-72 640.299 Td
-(some) 21.031 Tj
--253 TJm
-(feel) 14.9339 Tj
--253 TJm
-(for) 11.6164 Tj
--253 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--253 TJm
-(compression) 50.3609 Tj
--253 TJm
-(v) 4.9813 Tj
-25 TJm
-(aries) 18.8094 Tj
--253 TJm
-(with) 17.7135 Tj
--253 TJm
-(block) 22.1369 Tj
--253 TJm
-(size.) 17.9825 Tj
--638 TJm
-(These) 23.7907 Tj
--253 TJm
-(\002gures) 27.1182 Tj
--253 TJm
-(tend) 17.1556 Tj
--254 TJm
-(to) 7.7509 Tj
--253 TJm
-(understate) 40.9463 Tj
--253 TJm
-(the) 12.1743 Tj
--253 TJm
-(adv) 14.386 Tj
-25 TJm
-(antage) 26.0024 Tj
--253 TJm
-(of) 8.29885 Tj
--253 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--253 TJm
-(block) 22.1369 Tj
-72 628.344 Td
-(sizes) 19.3673 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--250 TJm
-(\002les,) 19.0983 Tj
--250 TJm
-(since) 20.4731 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(Corpus) 28.782 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(dominated) 42.0621 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(smaller) 29.3299 Tj
--250 TJm
-(\002les.) 19.0983 Tj
-[1 0 0 1 72 626.187] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -156.413] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 155.417 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5865] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 151.831] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -616.822] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-123.952 616.822 Td
-/F134_0 9.9626 Tf
-(Compress) 47.8205 Tj
--1278 TJm
-(Decompress) 59.7756 Tj
--1278 TJm
-(Decompress) 59.7756 Tj
--1278 TJm
-(Corpus) 35.8654 Tj
-90 604.867 Td
-(Flag) 23.9102 Tj
--2130 TJm
-(usage) 29.8878 Tj
--2556 TJm
-(usage) 29.8878 Tj
--2982 TJm
-(-s) 11.9551 Tj
--426 TJm
-(usage) 29.8878 Tj
--2130 TJm
-(Size) 23.9102 Tj
-94.244 580.956 Td
-(-1) 11.9551 Tj
--2556 TJm
-(1200k) 29.8878 Tj
--2982 TJm
-(500k) 23.9102 Tj
--3834 TJm
-(350k) 23.9102 Tj
--2556 TJm
-(914704) 35.8654 Tj
-94.244 569.001 Td
-(-2) 11.9551 Tj
--2556 TJm
-(2000k) 29.8878 Tj
--2982 TJm
-(900k) 23.9102 Tj
--3834 TJm
-(600k) 23.9102 Tj
--2556 TJm
-(877703) 35.8654 Tj
-94.244 557.046 Td
-(-3) 11.9551 Tj
--2556 TJm
-(2800k) 29.8878 Tj
--2556 TJm
-(1300k) 29.8878 Tj
--3834 TJm
-(850k) 23.9102 Tj
--2556 TJm
-(860338) 35.8654 Tj
-94.244 545.091 Td
-(-4) 11.9551 Tj
--2556 TJm
-(3600k) 29.8878 Tj
--2556 TJm
-(1700k) 29.8878 Tj
--3408 TJm
-(1100k) 29.8878 Tj
--2556 TJm
-(846899) 35.8654 Tj
-94.244 533.136 Td
-(-5) 11.9551 Tj
--2556 TJm
-(4400k) 29.8878 Tj
--2556 TJm
-(2100k) 29.8878 Tj
--3408 TJm
-(1350k) 29.8878 Tj
--2556 TJm
-(845160) 35.8654 Tj
-94.244 521.181 Td
-(-6) 11.9551 Tj
--2556 TJm
-(5200k) 29.8878 Tj
--2556 TJm
-(2500k) 29.8878 Tj
--3408 TJm
-(1600k) 29.8878 Tj
--2556 TJm
-(838626) 35.8654 Tj
-94.244 509.225 Td
-(-7) 11.9551 Tj
--2556 TJm
-(6100k) 29.8878 Tj
--2556 TJm
-(2900k) 29.8878 Tj
--3408 TJm
-(1850k) 29.8878 Tj
--2556 TJm
-(834096) 35.8654 Tj
-94.244 497.27 Td
-(-8) 11.9551 Tj
--2556 TJm
-(6800k) 29.8878 Tj
--2556 TJm
-(3300k) 29.8878 Tj
--3408 TJm
-(2100k) 29.8878 Tj
--2556 TJm
-(828642) 35.8654 Tj
-94.244 485.315 Td
-(-9) 11.9551 Tj
--2556 TJm
-(7600k) 29.8878 Tj
--2556 TJm
-(3700k) 29.8878 Tj
--3408 TJm
-(2350k) 29.8878 Tj
--2556 TJm
-(828642) 35.8654 Tj
-[1 0 0 1 72 469.773] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -459.811] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 435.021 Td
-/F122_0 20.6585 Tf
-(2.6.) 34.4584 Tj
--278 TJm
-(RECO) 59.6824 Tj
-50 TJm
-(VERING) 79.2047 Tj
--278 TJm
-(D) 14.9154 Tj
-40 TJm
-(A) 14.9154 Tj
-90 TJm
-(T) 12.6223 Tj
-90 TJm
-(A) 14.9154 Tj
--278 TJm
-(FR) 27.5378 Tj
-20 TJm
-(OM) 33.2808 Tj
--278 TJm
-(D) 14.9154 Tj
-40 TJm
-(AMA) 47.0394 Tj
-50 TJm
-(GED) 44.767 Tj
-72 410.23 Td
-(FILES) 58.5462 Tj
-[1 0 0 1 72 409.972] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -400.01] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 388.312 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 388.312] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -388.312] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-105.138 388.312 Td
-/F130_0 9.9626 Tf
-(compresses) 45.9276 Tj
--326 TJm
-(\002les) 16.6077 Tj
--326 TJm
-(in) 7.7509 Tj
--326 TJm
-(blocks,) 28.503 Tj
--346 TJm
-(usually) 28.782 Tj
--326 TJm
-(900kbytes) 40.9562 Tj
--326 TJm
-(long.) 20.2042 Tj
--1077 TJm
-(Each) 19.9152 Tj
--326 TJm
-(block) 22.1369 Tj
--327 TJm
-(is) 6.64505 Tj
--326 TJm
-(handled) 31.5416 Tj
--326 TJm
-(independently) 56.4481 Tj
-65 TJm
-(.) 2.49065 Tj
--1077 TJm
-(If) 6.63509 Tj
--326 TJm
-(a) 4.42339 Tj
--326 TJm
-(media) 24.3486 Tj
--326 TJm
-(or) 8.29885 Tj
-72 376.357 Td
-(transmission) 50.3709 Tj
--319 TJm
-(error) 19.3573 Tj
--318 TJm
-(causes) 26.0024 Tj
--319 TJm
-(a) 4.42339 Tj
--318 TJm
-(multi-block) 46.4955 Tj
-[1 0 0 1 234.518 376.357] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -234.518 -376.357] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-234.518 376.357 Td
-/F134_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-[1 0 0 1 258.429 376.357] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -258.429 -376.357] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-261.603 376.357 Td
-/F130_0 9.9626 Tf
-(\002le) 12.7322 Tj
--319 TJm
-(to) 7.7509 Tj
--318 TJm
-(become) 30.9837 Tj
--319 TJm
-(damaged,) 38.4556 Tj
--336 TJm
-(it) 5.53921 Tj
--318 TJm
-(may) 17.1556 Tj
--319 TJm
-(be) 9.40469 Tj
--318 TJm
-(possible) 32.6574 Tj
--319 TJm
-(to) 7.7509 Tj
--318 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--319 TJm
-(data) 16.5977 Tj
--319 TJm
-(from) 19.3673 Tj
--318 TJm
-(the) 12.1743 Tj
-72 364.402 Td
-(undamaged) 45.9276 Tj
--250 TJm
-(blocks) 26.0123 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002le.) 15.2229 Tj
-[1 0 0 1 72 362.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -352.283] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 342.484 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--358 TJm
-(compressed) 47.0334 Tj
--357 TJm
-(representation) 56.4381 Tj
--358 TJm
-(of) 8.29885 Tj
--357 TJm
-(each) 18.2515 Tj
--358 TJm
-(block) 22.1369 Tj
--358 TJm
-(is) 6.64505 Tj
--357 TJm
-(delimited) 37.6387 Tj
--358 TJm
-(by) 9.9626 Tj
--357 TJm
-(a) 4.42339 Tj
--358 TJm
-(48-bit) 23.8007 Tj
--358 TJm
-(pattern,) 30.1568 Tj
--384 TJm
-(which) 24.3486 Tj
--358 TJm
-(mak) 17.1556 Tj
-10 TJm
-(es) 8.29885 Tj
--357 TJm
-(it) 5.53921 Tj
--358 TJm
-(possible) 32.6574 Tj
--357 TJm
-(to) 7.7509 Tj
--358 TJm
-(\002nd) 15.5018 Tj
--358 TJm
-(the) 12.1743 Tj
-72 330.529 Td
-(block) 22.1369 Tj
--286 TJm
-(boundaries) 43.7159 Tj
--286 TJm
-(wit) 12.7322 Tj
-1 TJm
-(h) 4.9813 Tj
--286 TJm
-(reasonable) 42.6001 Tj
--286 TJm
-(certainty) 34.8591 Tj
-65 TJm
-(.) 2.49065 Tj
--835 TJm
-(Each) 19.9152 Tj
--285 TJm
-(block) 22.1369 Tj
--286 TJm
-(also) 16.0497 Tj
--286 TJm
-(carries) 26.5503 Tj
--286 TJm
-(its) 9.41466 Tj
--285 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
--286 TJm
-(32-bit) 23.8007 Tj
--286 TJm
-(CRC,) 22.4258 Tj
--286 TJm
-(so) 8.85675 Tj
--285 TJm
-(damaged) 35.965 Tj
--286 TJm
-(blocks) 26.0123 Tj
--286 TJm
-(can) 13.8281 Tj
--286 TJm
-(be) 9.40469 Tj
-72 318.574 Td
-(distinguished) 53.1405 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(undamaged) 45.9276 Tj
--250 TJm
-(ones.) 20.7521 Tj
-[1 0 0 1 72 316.417] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -306.455] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 296.656 Td
-/F134_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-[1 0 0 1 143.731 296.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.731 -296.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-146.448 296.656 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--273 TJm
-(a) 4.42339 Tj
--272 TJm
-(simple) 26.5703 Tj
--273 TJm
-(program) 33.7533 Tj
--273 TJm
-(whose) 25.4544 Tj
--272 TJm
-(purpose) 31.5416 Tj
--273 TJm
-(is) 6.64505 Tj
--273 TJm
-(to) 7.7509 Tj
--272 TJm
-(search) 25.4445 Tj
--273 TJm
-(for) 11.6164 Tj
--273 TJm
-(blocks) 26.0123 Tj
--272 TJm
-(in) 7.7509 Tj
-[1 0 0 1 392.655 296.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -392.655 -296.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-392.655 296.656 Td
-/F134_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-[1 0 0 1 416.566 296.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -416.566 -296.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.282 296.656 Td
-/F130_0 9.9626 Tf
-(\002les,) 19.0983 Tj
--278 TJm
-(and) 14.386 Tj
--273 TJm
-(write) 20.4731 Tj
--273 TJm
-(each) 18.2515 Tj
--272 TJm
-(block) 22.1369 Tj
--273 TJm
-(out) 12.7322 Tj
-72 284.701 Td
-(into) 15.5018 Tj
--254 TJm
-(its) 9.41466 Tj
--255 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
-[1 0 0 1 121.43 284.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -121.43 -284.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-121.43 284.701 Td
-/F134_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-[1 0 0 1 145.34 284.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -145.34 -284.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-147.875 284.701 Td
-/F130_0 9.9626 Tf
-(\002le.) 15.2229 Tj
--647 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--255 TJm
-(can) 13.8281 Tj
--254 TJm
-(then) 17.1556 Tj
--255 TJm
-(use) 13.2801 Tj
-[1 0 0 1 240.01 284.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -240.01 -284.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-240.01 284.701 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(-t) 11.9551 Tj
-[1 0 0 1 287.831 284.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -287.831 -284.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-290.367 284.701 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--255 TJm
-(t) 2.7696 Tj
-1 TJm
-(est) 11.0684 Tj
--255 TJm
-(the) 12.1743 Tj
--254 TJm
-(inte) 14.9439 Tj
-15 TJm
-(grity) 18.8194 Tj
--255 TJm
-(of) 8.29885 Tj
--254 TJm
-(the) 12.1743 Tj
--255 TJm
-(resulting) 34.8691 Tj
--254 TJm
-(\002les,) 19.0983 Tj
--256 TJm
-(and) 14.386 Tj
--255 TJm
-(decompress) 47.0334 Tj
--254 TJm
-(those) 21.031 Tj
-72 272.746 Td
-(which) 24.3486 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(undamaged.) 48.4182 Tj
-[1 0 0 1 72 270.589] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -260.626] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 250.828 Td
-/F134_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-[1 0 0 1 143.731 250.828] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.731 -250.828] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-150.099 250.828 Td
-/F130_0 9.9626 Tf
-(tak) 12.1743 Tj
-10 TJm
-(es) 8.29885 Tj
--639 TJm
-(a) 4.42339 Tj
--639 TJm
-(single) 23.8007 Tj
--639 TJm
-(ar) 7.74094 Tj
-18 TJm
-(gument,) 32.3785 Tj
--737 TJm
-(the) 12.1743 Tj
--639 TJm
-(name) 21.579 Tj
--639 TJm
-(of) 8.29885 Tj
--639 TJm
-(the) 12.1743 Tj
--639 TJm
-(damaged) 35.965 Tj
--639 TJm
-(\002le,) 15.2229 Tj
--737 TJm
-(and) 14.386 Tj
--639 TJm
-(writes) 24.3486 Tj
--639 TJm
-(a) 4.42339 Tj
--639 TJm
-(number) 30.4357 Tj
--639 TJm
-(of) 8.29885 Tj
--640 TJm
-(\002les) 16.6077 Tj
-[1 0 0 1 72 238.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -238.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 238.873 Td
-/F134_0 9.9626 Tf
-(rec0001file.bz2) 89.6634 Tj
-[1 0 0 1 161.664 238.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.664 -238.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-161.664 238.873 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 169.072 238.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.072 -238.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-169.072 238.873 Td
-/F134_0 9.9626 Tf
-(rec0002file.bz2) 89.6634 Tj
-[1 0 0 1 258.736 238.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -258.736 -238.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-258.736 238.873 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--494 TJm
-(etc,) 14.107 Tj
--493 TJm
-(containing) 42.0621 Tj
--445 TJm
-(the) 12.1743 Tj
--445 TJm
-(e) 4.42339 Tj
-15 TJm
-(xtracted) 32.0895 Tj
--445 TJm
-(blocks.) 28.503 Tj
--1789 TJm
-(The) 15.4918 Tj
--445 TJm
-(output) 25.4644 Tj
--445 TJm
-(\002lenames) 38.1866 Tj
--445 TJm
-(are) 12.1643 Tj
-72 226.918 Td
-(designed) 35.417 Tj
--337 TJm
-(so) 8.85675 Tj
--337 TJm
-(that) 14.9439 Tj
--337 TJm
-(the) 12.1743 Tj
--337 TJm
-(use) 13.2801 Tj
--337 TJm
-(of) 8.29885 Tj
--337 TJm
-(wildc) 22.1369 Tj
-1 TJm
-(ards) 16.5977 Tj
--337 TJm
-(in) 7.7509 Tj
--337 TJm
-(subsequent) 44.2738 Tj
--337 TJm
-(processing) 42.61 Tj
--337 TJm
-(--) 6.63509 Tj
--337 TJm
-(for) 11.6164 Tj
--337 TJm
-(e) 4.42339 Tj
-15 TJm
-(xample,) 31.8205 Tj
-[1 0 0 1 396.538 226.918] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -396.538 -226.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-396.538 226.918 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--600 TJm
-(-dc) 17.9327 Tj
--600 TJm
-(rec) 17.9327 Tj
-474.247 225.174 Td
-(*) 5.97756 Tj
-480.224 226.918 Td
-(file.bz2) 47.8205 Tj
--600 TJm
-(>) 5.97756 Tj
-72 214.963 Td
-(recovered_data) 83.6858 Tj
-[1 0 0 1 155.686 214.963] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.686 -214.963] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-158.177 214.963 Td
-/F130_0 9.9626 Tf
-(--) 6.63509 Tj
--250 TJm
-(lists) 16.0597 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002les) 16.6077 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(correct) 27.6562 Tj
--250 TJm
-(order) 21.0211 Tj
-55 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 213.653] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -203.69] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 193.045 Td
-/F134_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-[1 0 0 1 143.731 193.045] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.731 -193.045] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-145.93 193.045 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--221 TJm
-(be) 9.40469 Tj
--220 TJm
-(of) 8.29885 Tj
--221 TJm
-(most) 19.3773 Tj
--221 TJm
-(use) 13.2801 Tj
--220 TJm
-(dealing) 29.3299 Tj
--221 TJm
-(with) 17.7135 Tj
--221 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.40469 Tj
-[1 0 0 1 307.229 193.045] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -307.229 -193.045] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-307.229 193.045 Td
-/F134_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-[1 0 0 1 331.14 193.045] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -331.14 -193.045] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-333.338 193.045 Td
-/F130_0 9.9626 Tf
-(\002les,) 19.0983 Tj
--227 TJm
-(as) 8.29885 Tj
--220 TJm
-(these) 20.4731 Tj
--221 TJm
-(will) 15.5018 Tj
--221 TJm
-(contain) 29.3299 Tj
--220 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--221 TJm
-(blocks.) 28.503 Tj
--600 TJm
-(It) 6.08715 Tj
--221 TJm
-(is) 6.64505 Tj
--221 TJm
-(clearly) 27.1082 Tj
-72 181.09 Td
-(futile) 21.031 Tj
--289 TJm
-(to) 7.7509 Tj
--289 TJm
-(use) 13.2801 Tj
--289 TJm
-(it) 5.53921 Tj
--289 TJm
-(on) 9.9626 Tj
--289 TJm
-(damaged) 35.965 Tj
--289 TJm
-(single-block) 49.2551 Tj
--290 TJm
-(\002les) 16.6077 Tj
-1 TJm
-(,) 2.49065 Tj
--299 TJm
-(since) 20.4731 Tj
--289 TJm
-(a) 4.42339 Tj
--290 TJm
-(damaged) 35.965 Tj
--289 TJm
-(block) 22.1369 Tj
--289 TJm
-(cannot) 26.5603 Tj
--289 TJm
-(be) 9.40469 Tj
--289 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ered.) 19.6363 Tj
--854 TJm
-(If) 6.63509 Tj
--289 TJm
-(you) 14.9439 Tj
--290 TJm
-(wish) 18.8194 Tj
--289 TJm
-(to) 7.7509 Tj
--289 TJm
-(minimise) 37.0908 Tj
-72 169.135 Td
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--320 TJm
-(potential) 34.8691 Tj
--320 TJm
-(data) 16.5977 Tj
--319 TJm
-(loss) 15.5018 Tj
--320 TJm
-(through) 30.9936 Tj
--320 TJm
-(media) 24.3486 Tj
--320 TJm
-(or) 8.29885 Tj
--319 TJm
-(transmission) 50.3709 Tj
--320 TJm
-(errors,) 25.7234 Tj
--337 TJm
-(you) 14.9439 Tj
--320 TJm
-(might) 23.2527 Tj
--320 TJm
-(consider) 33.7533 Tj
--320 TJm
-(compressing) 50.3609 Tj
--319 TJm
-(with) 17.7135 Tj
--320 TJm
-(a) 4.42339 Tj
--320 TJm
-(smaller) 29.3299 Tj
--320 TJm
-(block) 22.1369 Tj
-72 157.179 Td
-(size.) 17.9825 Tj
-[1 0 0 1 72 157.08] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -147.117] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 122.426 Td
-/F122_0 20.6585 Tf
-(2.7.) 34.4584 Tj
--278 TJm
-(PERFORMANCE) 161.818 Tj
--278 TJm
-(NO) 30.9877 Tj
-40 TJm
-(TES) 40.1808 Tj
-[1 0 0 1 72 122.168] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -112.206] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 100.509 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--305 TJm
-(sorting) 27.6761 Tj
--304 TJm
-(phase) 22.6848 Tj
--305 TJm
-(of) 8.29885 Tj
--304 TJm
-(compression) 50.3609 Tj
--305 TJm
-(g) 4.9813 Tj
-5 TJm
-(athers) 23.7907 Tj
--304 TJm
-(together) 32.6474 Tj
--305 TJm
-(similar) 27.6761 Tj
--304 TJm
-(strings) 26.5703 Tj
--305 TJm
-(in) 7.7509 Tj
--304 TJm
-(the) 12.1743 Tj
--305 TJm
-(\002le.) 15.2229 Tj
--947 TJm
-(Because) 33.1954 Tj
--305 TJm
-(of) 8.29885 Tj
--304 TJm
-(this,) 16.8866 Tj
--319 TJm
-(\002les) 16.6077 Tj
--304 TJm
-(containing) 42.0621 Tj
--305 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
-72 88.5534 Td
-(long) 17.7135 Tj
--286 TJm
-(runs) 17.1556 Tj
--285 TJm
-(of) 8.29885 Tj
--286 TJm
-(repeated) 33.7433 Tj
--285 TJm
-(symbols,) 35.706 Tj
--295 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.42339 Tj
--286 TJm
-("aabaabaabaab) 59.3771 Tj
--285 TJm
-(...") 11.5367 Tj
--571 TJm
-(\(repeated) 37.0609 Tj
--286 TJm
-(se) 8.29885 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(eral) 14.9339 Tj
--286 TJm
-(hundred) 32.6474 Tj
--285 TJm
-(times\)) 24.9065 Tj
--286 TJm
-(may) 17.1556 Tj
--286 TJm
-(com) 17.1556 Tj
-1 TJm
-(press) 20.4731 Tj
--286 TJm
-(more) 20.4731 Tj
--286 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wly) 14.9439 Tj
-72 76.5983 Td
-(than) 17.1556 Tj
--322 TJm
-(normal.) 30.7147 Tj
--524 TJm
-(V) 7.193 Tj
-111 TJm
-(ersions) 28.224 Tj
--322 TJm
-(0.9.5) 19.9252 Tj
--321 TJm
-(and) 14.386 Tj
--322 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--322 TJm
-(f) 3.31755 Tj
-10 TJm
-(are) 12.1643 Tj
--321 TJm
-(much) 22.1369 Tj
--322 TJm
-(better) 22.6848 Tj
--321 TJm
-(than) 17.1556 Tj
--322 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--321 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--322 TJm
-(in) 7.7509 Tj
--322 TJm
-(this) 14.396 Tj
--321 TJm
-(respect.) 30.7047 Tj
--1050 TJm
-(The) 15.4918 Tj
--321 TJm
-(ratio) 18.2614 Tj
--322 TJm
-(between) 33.1954 Tj
-[1 0 0 1 72 50.8518] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 43.0633 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.332 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-539.395 50.9514 Td
-/F130_0 9.9626 Tf
-(6) 4.9813 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 10 10
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 105.519 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -371.59 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.109 749.245 Td
-/F130_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-[1 0 0 1 266.071 747.089] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -540 -741.554] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(w) 7.193 Tj
-10 TJm
-(orst-case) 35.4071 Tj
--289 TJm
-(and) 14.386 Tj
--290 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(erage-case) 42.0322 Tj
--289 TJm
-(compression) 50.3609 Tj
--290 TJm
-(time) 17.7135 Tj
--289 TJm
-(is) 6.64505 Tj
--290 TJm
-(in) 7.7509 Tj
--289 TJm
-(the) 12.1743 Tj
--290 TJm
-(re) 7.74094 Tj
-15 TJm
-(gion) 17.7135 Tj
--289 TJm
-(of) 8.29885 Tj
--289 TJm
-(10:1.) 20.2042 Tj
--857 TJm
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--290 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--289 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions,) 30.7147 Tj
--299 TJm
-(this) 14.396 Tj
--290 TJm
-(\002gure) 23.2427 Tj
--289 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--290 TJm
-(more) 20.4731 Tj
-72 698.082 Td
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.42339 Tj
--250 TJm
-(100:1.) 25.1855 Tj
--620 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(the) 12.1743 Tj
-[1 0 0 1 186.002 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -186.002 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-186.002 698.082 Td
-/F134_0 9.9626 Tf
-(-vvvv) 29.8878 Tj
-[1 0 0 1 215.889 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -215.889 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-218.38 698.082 Td
-/F130_0 9.9626 Tf
-(option) 25.4644 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(monitor) 31.5516 Tj
--250 TJm
-(progress) 33.7533 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(great) 19.9152 Tj
--250 TJm
-(detail,) 24.6275 Tj
--250 TJm
-(if) 6.08715 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant.) 14.6649 Tj
-[1 0 0 1 72 695.925] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -685.963] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 676.164 Td
-/F130_0 9.9626 Tf
-(Decompression) 61.9773 Tj
--250 TJm
-(speed) 22.6848 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(unaf) 17.7035 Tj
-25 TJm
-(fected) 24.3386 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(these) 20.4731 Tj
--250 TJm
-(phenomena.) 48.4182 Tj
-[1 0 0 1 72 674.007] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -664.045] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 654.247 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 654.247] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -654.247] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.863 654.247 Td
-/F130_0 9.9626 Tf
-(usually) 28.782 Tj
--299 TJm
-(allocates) 34.8591 Tj
--298 TJm
-(se) 8.29885 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(eral) 14.9339 Tj
--299 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(abytes) 25.4544 Tj
--298 TJm
-(of) 8.29885 Tj
--299 TJm
-(memory) 33.2053 Tj
--299 TJm
-(to) 7.7509 Tj
--298 TJm
-(operate) 29.3199 Tj
--299 TJm
-(in,) 10.2416 Tj
--311 TJm
-(and) 14.386 Tj
--298 TJm
-(then) 17.1556 Tj
--299 TJm
-(char) 17.1456 Tj
-18 TJm
-(ges) 13.2801 Tj
--298 TJm
-(all) 9.9626 Tj
--299 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--299 TJm
-(it) 5.53921 Tj
--298 TJm
-(in) 7.7509 Tj
--299 TJm
-(a) 4.42339 Tj
--298 TJm
-(f) 3.31755 Tj
-10 TJm
-(airly) 18.2614 Tj
--299 TJm
-(random) 30.4357 Tj
-72 642.291 Td
-(f) 3.31755 Tj
-10 TJm
-(ashion.) 28.503 Tj
--743 TJm
-(This) 17.7135 Tj
--270 TJm
-(means) 25.4544 Tj
--271 TJm
-(that) 14.9439 Tj
--270 TJm
-(performance,) 52.8317 Tj
--276 TJm
-(both) 17.7135 Tj
--270 TJm
-(for) 11.6164 Tj
--271 TJm
-(compressing) 50.3609 Tj
--270 TJm
-(and) 14.386 Tj
--271 TJm
-(decompressing,) 62.2563 Tj
--275 TJm
-(is) 6.64505 Tj
--271 TJm
-(lar) 10.5105 Tj
-18 TJm
-(gely) 17.1556 Tj
--270 TJm
-(determined) 44.8217 Tj
--271 TJm
-(by) 9.9626 Tj
--270 TJm
-(the) 12.1743 Tj
--271 TJm
-(speed) 22.6848 Tj
-72 630.336 Td
-(at) 7.193 Tj
--294 TJm
-(which) 24.3486 Tj
--294 TJm
-(your) 18.2614 Tj
--294 TJm
-(machine) 33.7533 Tj
--295 TJm
-(ca) 8.84679 Tj
-1 TJm
-(n) 4.9813 Tj
--295 TJm
-(service) 28.2141 Tj
--294 TJm
-(cache) 22.6749 Tj
--294 TJm
-(misses.) 29.0609 Tj
--442 TJm
-(Because) 33.1954 Tj
--294 TJm
-(of) 8.29885 Tj
--294 TJm
-(this,) 16.8866 Tj
--306 TJm
-(small) 21.589 Tj
--294 TJm
-(changes) 32.0895 Tj
--294 TJm
-(to) 7.7509 Tj
--294 TJm
-(the) 12.1743 Tj
--294 TJm
-(code) 18.8094 Tj
--294 TJm
-(to) 7.7509 Tj
--294 TJm
-(reduce) 26.5503 Tj
--294 TJm
-(the) 12.1743 Tj
--295 TJm
-(miss) 18.2714 Tj
--294 TJm
-(rate) 14.9339 Tj
-72 618.381 Td
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--253 TJm
-(been) 18.8094 Tj
--253 TJm
-(observ) 26.5603 Tj
-15 TJm
-(ed) 9.40469 Tj
--253 TJm
-(to) 7.7509 Tj
--253 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--253 TJm
-(disproportionately) 73.0557 Tj
--253 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.40469 Tj
--253 TJm
-(performance) 50.341 Tj
--253 TJm
-(impro) 23.8007 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ements.) 30.7147 Tj
--639 TJm
-(I) 3.31755 Tj
--253 TJm
-(imagine) 32.0995 Tj
-[1 0 0 1 438.909 618.381] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -438.909 -618.381] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-438.909 618.381 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 468.796 618.381] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468.796 -618.381] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-471.318 618.381 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--253 TJm
-(perform) 32.0895 Tj
--253 TJm
-(best) 16.0497 Tj
-72 606.426 Td
-(on) 9.9626 Tj
--250 TJm
-(machines) 37.6287 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--250 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.40469 Tj
--250 TJm
-(caches.) 29.041 Tj
-[1 0 0 1 72 604.269] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -594.306] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 571.673 Td
-/F122_0 20.6585 Tf
-(2.8.) 34.4584 Tj
--278 TJm
-(CA) 29.8309 Tj
-80 TJm
-(VEA) 42.4739 Tj
-90 TJm
-(TS) 26.4016 Tj
-[1 0 0 1 72 571.415] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -561.452] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 549.755 Td
-/F130_0 9.9626 Tf
-(I/O) 13.2801 Tj
--268 TJm
-(error) 19.3573 Tj
--267 TJm
-(messages) 37.6287 Tj
--268 TJm
-(are) 12.1643 Tj
--268 TJm
-(not) 12.7322 Tj
--268 TJm
-(as) 8.29885 Tj
--267 TJm
-(helpful) 28.224 Tj
--268 TJm
-(as) 8.29885 Tj
--268 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--267 TJm
-(could) 22.1369 Tj
--268 TJm
-(be.) 11.8953 Tj
-[1 0 0 1 293.313 549.755] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -293.313 -549.755] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-293.313 549.755 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 323.201 549.755] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -323.201 -549.755] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-325.868 549.755 Td
-/F130_0 9.9626 Tf
-(tries) 17.1556 Tj
--268 TJm
-(hard) 17.7035 Tj
--267 TJm
-(to) 7.7509 Tj
--268 TJm
-(detect) 23.7907 Tj
--268 TJm
-(I/O) 13.2801 Tj
--268 TJm
-(errors) 23.2328 Tj
--267 TJm
-(and) 14.386 Tj
--268 TJm
-(e) 4.42339 Tj
-15 TJm
-(xit) 10.5205 Tj
--268 TJm
-(cleanly) 28.772 Tj
-65 TJm
-(,) 2.49065 Tj
--272 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--268 TJm
-(the) 12.1743 Tj
-72 537.8 Td
-(details) 26.0123 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(what) 19.3673 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(problem) 33.2053 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(sometimes) 42.62 Tj
--250 TJm
-(seem) 20.4731 Tj
--250 TJm
-(rather) 23.2328 Tj
--250 TJm
-(misleading.) 46.2165 Tj
-[1 0 0 1 72 535.643] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -525.681] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 515.882 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--280 TJm
-(manual) 29.3299 Tj
--279 TJm
-(page) 18.8094 Tj
--280 TJm
-(pertains) 31.5416 Tj
--280 TJm
-(to) 7.7509 Tj
--279 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--280 TJm
-(1.0.5) 19.9252 Tj
--280 TJm
-(of) 8.29885 Tj
-[1 0 0 1 256.84 515.882] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -256.84 -515.882] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-256.84 515.882 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 286.728 515.882] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -286.728 -515.882] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-286.728 515.882 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--798 TJm
-(Compressed) 49.2551 Tj
--280 TJm
-(data) 16.5977 Tj
--279 TJm
-(created) 28.762 Tj
--280 TJm
-(by) 9.9626 Tj
--280 TJm
-(this) 14.396 Tj
--279 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--280 TJm
-(is) 6.64505 Tj
--280 TJm
-(entirely) 30.4357 Tj
--279 TJm
-(forw) 18.8094 Tj
-10 TJm
-(ards) 16.5977 Tj
-72 503.927 Td
-(and) 14.386 Tj
--294 TJm
-(backw) 26.0024 Tj
-10 TJm
-(ards) 16.5977 Tj
--293 TJm
-(compatible) 44.2738 Tj
--294 TJm
-(with) 17.7135 Tj
--294 TJm
-(the) 12.1743 Tj
--293 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--294 TJm
-(public) 24.9065 Tj
--294 TJm
-(releases,) 34.0223 Tj
--304 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--294 TJm
-(0.1pl2,) 27.6761 Tj
--305 TJm
-(0.9.0) 19.9252 Tj
--293 TJm
-(and) 14.386 Tj
--294 TJm
-(0.9.5,) 22.4159 Tj
--305 TJm
-(1.0.0,) 22.4159 Tj
--304 TJm
-(1.0.1,) 22.4159 Tj
--305 TJm
-(1.0.2) 19.9252 Tj
--294 TJm
-(and) 14.386 Tj
-72 491.972 Td
-(1.0.3,) 22.4159 Tj
--263 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--260 TJm
-(with) 17.7135 Tj
--260 TJm
-(the) 12.1743 Tj
--260 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--260 TJm
-(e) 4.42339 Tj
-15 TJm
-(xception:) 37.0808 Tj
--330 TJm
-(0.9.0) 19.9252 Tj
--260 TJm
-(and) 14.386 Tj
--260 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--260 TJm
-(can) 13.8281 Tj
--260 TJm
-(correctly) 35.4071 Tj
--260 TJm
-(decompress) 47.0334 Tj
--260 TJm
-(multiple) 33.2153 Tj
--260 TJm
-(concatenated) 52.0048 Tj
--260 TJm
-(compressed) 47.0334 Tj
-72 480.017 Td
-(\002les.) 19.0983 Tj
--310 TJm
-(0.1pl2) 25.1855 Tj
--250 TJm
-(cannot) 26.5603 Tj
--250 TJm
-(do) 9.9626 Tj
--250 TJm
-(this;) 17.1656 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(stop) 16.6077 Tj
--250 TJm
-(after) 18.2515 Tj
--250 TJm
-(decompressing) 59.7656 Tj
--250 TJm
-(just) 14.396 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002rst) 15.5018 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(stream.) 29.0509 Tj
-[1 0 0 1 72 477.86] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -467.897] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 458.099 Td
-/F134_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-[1 0 0 1 143.731 458.099] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.731 -458.099] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-146.174 458.099 Td
-/F130_0 9.9626 Tf
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--245 TJm
-(prior) 19.3673 Tj
--245 TJm
-(to) 7.7509 Tj
--245 TJm
-(1.0.2) 19.9252 Tj
--246 TJm
-(used) 18.2614 Tj
--245 TJm
-(32-bit) 23.8007 Tj
--245 TJm
-(inte) 14.9439 Tj
-15 TJm
-(gers) 16.5977 Tj
--245 TJm
-(to) 7.7509 Tj
--245 TJm
-(represent) 36.5129 Tj
--245 TJm
-(bit) 10.5205 Tj
--246 TJm
-(positions) 35.9849 Tj
--245 TJm
-(in) 7.7509 Tj
--245 TJm
-(compressed) 47.0334 Tj
--245 TJm
-(\002les,) 19.0983 Tj
--246 TJm
-(so) 8.85675 Tj
--245 TJm
-(it) 5.53921 Tj
--245 TJm
-(could) 22.1369 Tj
-72 446.144 Td
-(not) 12.7322 Tj
--384 TJm
-(handle) 26.5603 Tj
--383 TJm
-(compressed) 47.0334 Tj
--384 TJm
-(\002les) 16.6077 Tj
--383 TJm
-(more) 20.4731 Tj
--384 TJm
-(than) 17.1556 Tj
--383 TJm
-(512) 14.9439 Tj
--384 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(abytes) 25.4544 Tj
--383 TJm
-(long.) 20.2042 Tj
--1421 TJm
-(V) 7.193 Tj
-111 TJm
-(ersions) 28.224 Tj
--384 TJm
-(1.0.2) 19.9252 Tj
--383 TJm
-(and) 14.386 Tj
--384 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--384 TJm
-(use) 13.2801 Tj
--383 TJm
-(64-bit) 23.8007 Tj
--384 TJm
-(ints) 14.396 Tj
--383 TJm
-(on) 9.9626 Tj
--384 TJm
-(some) 21.031 Tj
-72 434.189 Td
-(platforms) 38.1866 Tj
--245 TJm
-(which) 24.3486 Tj
--246 TJm
-(support) 29.8878 Tj
--245 TJm
-(them) 19.9252 Tj
--246 TJm
-(\(GNU) 24.8965 Tj
--245 TJm
-(supported) 39.2925 Tj
--245 TJm
-(tar) 10.5105 Tj
-18 TJm
-(gets,) 18.5404 Tj
--247 TJm
-(and) 14.386 Tj
--245 TJm
-(W) 9.40469 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws\).) 16.8766 Tj
--309 TJm
-(T) 6.08715 Tj
-80 TJm
-(o) 4.9813 Tj
--245 TJm
-(establish) 34.8691 Tj
--245 TJm
-(whether) 32.0895 Tj
--246 TJm
-(or) 8.29885 Tj
--245 TJm
-(not) 12.7322 Tj
-[1 0 0 1 468.269 434.189] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468.269 -434.189] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-468.269 434.189 Td
-/F134_0 9.9626 Tf
-(bzip2recover) 71.7307 Tj
-[1 0 0 1 540 434.189] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -434.189] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 422.233 Td
-/F130_0 9.9626 Tf
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--255 TJm
-(b) 4.9813 Tj
-20 TJm
-(uilt) 13.2901 Tj
--255 TJm
-(with) 17.7135 Tj
--255 TJm
-(such) 18.2614 Tj
--255 TJm
-(a) 4.42339 Tj
--255 TJm
-(limitation,) 41.2452 Tj
--256 TJm
-(run) 13.2801 Tj
--255 TJm
-(it) 5.53921 Tj
--255 TJm
-(without) 30.4457 Tj
--255 TJm
-(ar) 7.74094 Tj
-18 TJm
-(guments.) 36.2539 Tj
--325 TJm
-(In) 8.29885 Tj
--255 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--256 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ent) 12.1743 Tj
--255 TJm
-(you) 14.9439 Tj
--255 TJm
-(can) 13.8281 Tj
--255 TJm
-(b) 4.9813 Tj
-20 TJm
-(uild) 15.5018 Tj
--255 TJm
-(yourself) 32.6474 Tj
--255 TJm
-(an) 9.40469 Tj
--255 TJm
-(unlimited) 38.1966 Tj
--255 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--255 TJm
-(if) 6.08715 Tj
-72 410.278 Td
-(you) 14.9439 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(recompile) 39.8404 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 176.318 410.278] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -176.318 -410.278] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-176.318 410.278 Td
-/F134_0 9.9626 Tf
-(MaybeUInt64) 65.7532 Tj
-[1 0 0 1 242.071 410.278] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -242.071 -410.278] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-244.562 410.278 Td
-/F130_0 9.9626 Tf
-(set) 11.0684 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(an) 9.40469 Tj
--250 TJm
-(unsigned) 35.9749 Tj
--250 TJm
-(64-bit) 23.8007 Tj
--250 TJm
-(inte) 14.9439 Tj
-15 TJm
-(ger) 12.7222 Tj
-55 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 408.121] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -398.159] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 375.525 Td
-/F122_0 20.6585 Tf
-(2.9.) 34.4584 Tj
--278 TJm
-(A) 14.9154 Tj
-50 TJm
-(UTHOR) 73.441 Tj
-[1 0 0 1 72 375.267] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -365.305] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 353.608 Td
-/F130_0 9.9626 Tf
-(Julian) 23.8007 Tj
--250 TJm
-(Se) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard,) 15.2129 Tj
-[1 0 0 1 132.801 353.608] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -132.801 -353.608] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-132.801 353.608 Td
-/F134_0 9.9626 Tf
-(jseward@bzip.org) 95.641 Tj
-[1 0 0 1 228.443 353.608] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -156.443 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -342.111] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 331.69 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--299 TJm
-(ideas) 20.4731 Tj
--300 TJm
-(embodied) 39.2925 Tj
--299 TJm
-(in) 7.7509 Tj
-[1 0 0 1 166.942 331.69] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -166.942 -331.69] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-166.942 331.69 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 196.83 331.69] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -196.83 -331.69] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-199.813 331.69 Td
-/F130_0 9.9626 Tf
-(are) 12.1643 Tj
--299 TJm
-(due) 14.386 Tj
--300 TJm
-(to) 7.7509 Tj
--299 TJm
-(\(at) 10.5105 Tj
--300 TJm
-(least\)) 21.579 Tj
--299 TJm
-(the) 12.1743 Tj
--300 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--299 TJm
-(people:) 29.3299 Tj
--409 TJm
-(Michael) 32.6474 Tj
--300 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws) 11.0684 Tj
--299 TJm
-(and) 14.386 Tj
--299 TJm
-(Da) 11.6164 Tj
-20 TJm
-(vid) 12.7322 Tj
--300 TJm
-(Wheeler) 33.7433 Tj
--299 TJm
-(\(for) 14.9339 Tj
-72 319.735 Td
-(the) 12.1743 Tj
--312 TJm
-(block) 22.1369 Tj
--313 TJm
-(sorting) 27.6761 Tj
--312 TJm
-(transformation\),) 64.468 Tj
--328 TJm
-(Da) 11.6164 Tj
-20 TJm
-(vid) 12.7322 Tj
--312 TJm
-(Wheeler) 33.7433 Tj
--313 TJm
-(\(ag) 12.7222 Tj
-5 TJm
-(ain,) 14.6649 Tj
--327 TJm
-(for) 11.6164 Tj
--313 TJm
-(the) 12.1743 Tj
--312 TJm
-(Huf) 15.4918 Tj
-25 TJm
-(fman) 20.4731 Tj
--312 TJm
-(coder\),) 27.9351 Tj
--328 TJm
-(Peter) 20.4731 Tj
--313 TJm
-(Fenwick) 34.3112 Tj
--312 TJm
-(\(for) 14.9339 Tj
--312 TJm
-(the) 12.1743 Tj
--313 TJm
-(structured) 39.8404 Tj
-72 307.78 Td
-(coding) 27.1182 Tj
--325 TJm
-(model) 24.9065 Tj
--326 TJm
-(in) 7.7509 Tj
--325 TJm
-(the) 12.1743 Tj
--326 TJm
-(original) 30.9936 Tj
-[1 0 0 1 191.156 307.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -191.156 -307.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-191.156 307.779 Td
-/F134_0 9.9626 Tf
-(bzip) 23.9102 Tj
-[1 0 0 1 215.067 307.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -215.067 -307.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-215.067 307.779 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--344 TJm
-(and) 14.386 Tj
--326 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--325 TJm
-(re\002nements\),) 52.2937 Tj
--345 TJm
-(and) 14.386 Tj
--325 TJm
-(Alistair) 29.8878 Tj
--326 TJm
-(Mof) 17.1556 Tj
-25 TJm
-(f) 3.31755 Tj
-10 TJm
-(at,) 9.68365 Tj
--344 TJm
-(Radford) 32.6474 Tj
--325 TJm
-(Neal) 18.8094 Tj
--326 TJm
-(and) 14.386 Tj
--325 TJm
-(Ian) 12.7222 Tj
--326 TJm
-(W) 9.40469 Tj
-40 TJm
-(itten) 17.7135 Tj
--325 TJm
-(\(for) 14.9339 Tj
-72 295.824 Td
-(the) 12.1743 Tj
--277 TJm
-(arithmetic) 40.3983 Tj
--277 TJm
-(coder) 22.1269 Tj
--277 TJm
-(in) 7.7509 Tj
--277 TJm
-(the) 12.1743 Tj
--277 TJm
-(original) 30.9936 Tj
-[1 0 0 1 214.171 295.824] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -214.171 -295.824] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-214.171 295.824 Td
-/F134_0 9.9626 Tf
-(bzip) 23.9102 Tj
-[1 0 0 1 238.082 295.824] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -238.082 -295.824] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-238.082 295.824 Td
-/F130_0 9.9626 Tf
-(\).) 5.8082 Tj
--782 TJm
-(I) 3.31755 Tj
--277 TJm
-(am) 12.1743 Tj
--276 TJm
-(much) 22.1369 Tj
--277 TJm
-(indebted) 34.3112 Tj
--277 TJm
-(for) 11.6164 Tj
--277 TJm
-(their) 18.2614 Tj
--277 TJm
-(help,) 19.6462 Tj
--284 TJm
-(support) 29.8878 Tj
--277 TJm
-(and) 14.386 Tj
--277 TJm
-(advice.) 28.493 Tj
--781 TJm
-(See) 14.386 Tj
--277 TJm
-(the) 12.1743 Tj
--277 TJm
-(manual) 29.3299 Tj
-72 283.869 Td
-(in) 7.7509 Tj
--330 TJm
-(the) 12.1743 Tj
--330 TJm
-(source) 26.0024 Tj
--330 TJm
-(distrib) 25.4644 Tj
-20 TJm
-(ution) 20.4831 Tj
--330 TJm
-(for) 11.6164 Tj
--329 TJm
-(pointers) 32.0995 Tj
--330 TJm
-(to) 7.7509 Tj
--330 TJm
-(sources) 29.8778 Tj
--330 TJm
-(of) 8.29885 Tj
--330 TJm
-(documentation.) 61.7083 Tj
--1099 TJm
-(Christian) 36.5329 Tj
--330 TJm
-(v) 4.9813 Tj
-20 TJm
-(on) 9.9626 Tj
--330 TJm
-(Roques) 29.8878 Tj
--330 TJm
-(encouraged) 45.9176 Tj
--330 TJm
-(me) 12.1743 Tj
--330 TJm
-(to) 7.7509 Tj
--330 TJm
-(look) 17.7135 Tj
-72 271.914 Td
-(for) 11.6164 Tj
--271 TJm
-(f) 3.31755 Tj
-10 TJm
-(aster) 18.8094 Tj
--271 TJm
-(sorting) 27.6761 Tj
--271 TJm
-(algorithms,) 45.1107 Tj
--276 TJm
-(so) 8.85675 Tj
--272 TJm
-(as) 8.29885 Tj
--271 TJm
-(to) 7.7509 Tj
--271 TJm
-(speed) 22.6848 Tj
--271 TJm
-(up) 9.9626 Tj
--271 TJm
-(compression.) 52.8516 Tj
--746 TJm
-(Bela) 18.2614 Tj
--271 TJm
-(Lubkin) 28.782 Tj
--271 TJm
-(encouraged) 45.9176 Tj
--271 TJm
-(me) 12.1743 Tj
--272 TJm
-(to) 7.7509 Tj
--271 TJm
-(impro) 23.8007 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--271 TJm
-(the) 12.1743 Tj
--271 TJm
-(w) 7.193 Tj
-10 TJm
-(orst-case) 35.4071 Tj
-72 259.959 Td
-(compression) 50.3609 Tj
--340 TJm
-(performance.) 52.8317 Tj
--580 TJm
-(Donna) 26.5603 Tj
--339 TJm
-(Robinson) 38.1966 Tj
--340 TJm
-(XMLised) 38.1866 Tj
--340 TJm
-(the) 12.1743 Tj
--340 TJm
-(documentation.) 61.7083 Tj
--580 TJm
-(Man) 18.2614 Tj
-15 TJm
-(y) 4.9813 Tj
--340 TJm
-(people) 26.5603 Tj
--340 TJm
-(sent) 16.0497 Tj
--339 TJm
-(patches,) 32.3685 Tj
--363 TJm
-(helped) 26.5603 Tj
--340 TJm
-(with) 17.7135 Tj
-72 248.004 Td
-(portability) 41.5142 Tj
--250 TJm
-(problems,) 39.5714 Tj
--250 TJm
-(lent) 14.9439 Tj
--250 TJm
-(machines,) 40.1194 Tj
--250 TJm
-(g) 4.9813 Tj
-5 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(advice) 26.0024 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(were) 19.3573 Tj
--250 TJm
-(generally) 37.0708 Tj
--250 TJm
-(helpful.) 30.7147 Tj
-[1 0 0 1 72 245.847] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -194.995] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.5851] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 43.0633 -6.4855] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.332 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-539.395 50.9514 Td
-/F130_0 9.9626 Tf
-(7) 4.9813 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 11 11
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 4.3836 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 141.643 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -141.643 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -13.9477] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -15.0365 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 701.916 Td
-/F122_0 24.7902 Tf
-(3.) 20.675 Tj
--556 TJm
-(Pr) 26.1785 Tj
-20 TJm
-(ogramming) 134.983 Tj
--278 TJm
-(with) 49.5804 Tj
-[1 0 0 1 330.484 701.916] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -330.484 -701.916] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-330.484 701.916 Td
-/F392_0 24.7902 Tf
-(libbzip2) 118.993 Tj
-[1 0 0 1 449.477 701.916] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -377.477 -5.5156] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -14.9439] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -671.493] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 656.35 Td
-/F122_0 17.2154 Tf
-(T) 10.5186 Tj
-80 TJm
-(ab) 20.0904 Tj
-10 TJm
-(le) 14.3576 Tj
--278 TJm
-(of) 16.2513 Tj
--278 TJm
-(Contents) 74.5943 Tj
-[1 0 0 1 72 647.528] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.7401] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -635.788] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 635.788 Td
-/F130_0 9.9626 Tf
-(3.1.) 14.9439 Tj
--310 TJm
-(T) 6.08715 Tj
-80 TJm
-(op-le) 20.4731 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(structure) 34.8591 Tj
-[1 0 0 1 164.921 635.788] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.902 -635.788] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-179.997 635.788 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 635.788] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -635.788] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 635.788 Td
-/F130_0 9.9626 Tf
-(8) 4.9813 Tj
-[1 0 0 1 516.09 635.788] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -623.832] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 623.832 Td
-/F130_0 9.9626 Tf
-(3.1.1.) 22.4159 Tj
--310 TJm
-(Lo) 11.0684 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(summary) 37.0808 Tj
-[1 0 0 1 177.374 623.832] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -182.355 -623.832] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-192.866 623.832 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 623.832] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -623.832] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 623.832 Td
-/F130_0 9.9626 Tf
-(9) 4.9813 Tj
-[1 0 0 1 516.09 623.832] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1569] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -611.877] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 611.877 Td
-/F130_0 9.9626 Tf
-(3.1.2.) 22.4159 Tj
--310 TJm
-(High-le) 30.4357 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(summary) 37.0808 Tj
-[1 0 0 1 179.287 611.877] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -184.268 -611.877] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-193.822 611.877 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 611.877] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -611.877] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 611.877 Td
-/F130_0 9.9626 Tf
-(9) 4.9813 Tj
-[1 0 0 1 516.09 611.877] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -599.922] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 599.922 Td
-/F130_0 9.9626 Tf
-(3.1.3.) 22.4159 Tj
--310 TJm
-(Utility) 26.0223 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(summary) 37.0808 Tj
-[1 0 0 1 202.669 599.922] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -207.65 -599.922] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-216.582 599.922 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 511.108 599.922] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.108 -599.922] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.108 599.922 Td
-/F130_0 9.9626 Tf
-(9) 4.9813 Tj
-[1 0 0 1 516.09 599.922] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -587.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 587.967 Td
-/F130_0 9.9626 Tf
-(3.2.) 14.9439 Tj
--310 TJm
-(Error) 21.0211 Tj
--250 TJm
-(handling) 34.8691 Tj
-[1 0 0 1 148.413 587.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -153.394 -587.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-162.611 587.967 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 587.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -587.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 587.967 Td
-/F130_0 9.9626 Tf
-(10) 9.9626 Tj
-[1 0 0 1 516.09 587.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1569] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -576.012] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 576.012 Td
-/F130_0 9.9626 Tf
-(3.3.) 14.9439 Tj
--310 TJm
-(Lo) 11.0684 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
-[1 0 0 1 167.571 576.012] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -172.552 -576.012] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-181.045 576.012 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 576.012] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -576.012] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 576.012 Td
-/F130_0 9.9626 Tf
-(11) 9.9626 Tj
-[1 0 0 1 516.09 576.012] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -0.0995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.8557] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -564.056] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 564.056 Td
-/F130_0 9.9626 Tf
-(3.3.1.) 22.4159 Tj
-[1 0 0 1 97.5043 564.056] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -564.056] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 564.056 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 205.101 564.056] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.082 -564.056] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-219.736 564.056 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 564.056] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -564.056] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 564.056 Td
-/F130_0 9.9626 Tf
-(11) 9.9626 Tj
-[1 0 0 1 516.09 564.056] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -552.101] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 552.101 Td
-/F130_0 9.9626 Tf
-(3.3.2.) 22.4159 Tj
-[1 0 0 1 97.5043 552.101] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -552.101] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 552.101 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 181.19 552.101] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -186.172 -552.101] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-194.497 552.101 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 552.101] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -552.101] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 552.101 Td
-/F130_0 9.9626 Tf
-(13) 9.9626 Tj
-[1 0 0 1 516.09 552.101] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -540.146] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 540.146 Td
-/F130_0 9.9626 Tf
-(3.3.3.) 22.4159 Tj
-[1 0 0 1 97.5043 540.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -540.146] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 540.146 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.619 Tj
-[1 0 0 1 199.123 540.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.105 -540.146] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-214.533 540.146 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 540.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -540.146] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 540.146 Td
-/F130_0 9.9626 Tf
-(16) 9.9626 Tj
-[1 0 0 1 516.09 540.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -528.191] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 528.191 Td
-/F130_0 9.9626 Tf
-(3.3.4.) 22.4159 Tj
-[1 0 0 1 97.5043 528.191] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -528.191] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 528.191 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.551 Tj
-[1 0 0 1 217.056 528.191] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -222.037 -528.191] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-232.355 528.191 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 528.191] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -528.191] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 528.191 Td
-/F130_0 9.9626 Tf
-(16) 9.9626 Tj
-[1 0 0 1 516.09 528.191] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -516.236] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 516.236 Td
-/F130_0 9.9626 Tf
-(3.3.5.) 22.4159 Tj
-[1 0 0 1 97.5043 516.236] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -516.236] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 516.236 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 193.146 516.236] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -198.127 -516.236] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-207.116 516.236 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 516.236] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -516.236] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 516.236 Td
-/F130_0 9.9626 Tf
-(17) 9.9626 Tj
-[1 0 0 1 516.09 516.236] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -504.281] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 504.281 Td
-/F130_0 9.9626 Tf
-(3.3.6.) 22.4159 Tj
-[1 0 0 1 97.5043 504.281] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -504.281] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 504.281 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.574 Tj
-[1 0 0 1 211.078 504.281] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -216.06 -504.281] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-224.938 504.281 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 504.281] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -504.281] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 504.281 Td
-/F130_0 9.9626 Tf
-(18) 9.9626 Tj
-[1 0 0 1 516.09 504.281] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -492.325] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 492.325 Td
-/F130_0 9.9626 Tf
-(3.4.) 14.9439 Tj
--310 TJm
-(High-le) 30.4357 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
-[1 0 0 1 169.483 492.325] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -174.465 -492.325] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-184.216 492.325 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 492.325] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -492.325] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 492.325 Td
-/F130_0 9.9626 Tf
-(18) 9.9626 Tj
-[1 0 0 1 516.09 492.325] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -480.37] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 480.37 Td
-/F130_0 9.9626 Tf
-(3.4.1.) 22.4159 Tj
-[1 0 0 1 97.5043 480.37] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -480.37] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 480.37 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-[1 0 0 1 181.19 480.37] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -186.172 -480.37] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-194.497 480.37 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 480.37] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -480.37] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 480.37 Td
-/F130_0 9.9626 Tf
-(19) 9.9626 Tj
-[1 0 0 1 516.09 480.37] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -468.415] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 468.415 Td
-/F130_0 9.9626 Tf
-(3.4.2.) 22.4159 Tj
-[1 0 0 1 97.5043 468.415] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -468.415] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 468.415 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 157.28 468.415] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -162.261 -468.415] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-171.472 468.415 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 468.415] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -468.415] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 468.415 Td
-/F130_0 9.9626 Tf
-(20) 9.9626 Tj
-[1 0 0 1 516.09 468.415] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6452] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -456.46] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 456.46 Td
-/F130_0 9.9626 Tf
-(3.4.3.) 22.4159 Tj
-[1 0 0 1 97.5043 456.46] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -456.46] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 456.46 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.574 Tj
-[1 0 0 1 211.078 456.46] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -216.06 -456.46] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-224.938 456.46 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 456.46] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -456.46] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 456.46 Td
-/F130_0 9.9626 Tf
-(21) 9.9626 Tj
-[1 0 0 1 516.09 456.46] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6452] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -444.505] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 444.505 Td
-/F130_0 9.9626 Tf
-(3.4.4.) 22.4159 Tj
-[1 0 0 1 97.5043 444.505] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -444.505] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 444.505 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 187.168 444.505] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -192.149 -444.505] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-201.914 444.505 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 444.505] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -444.505] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 444.505 Td
-/F130_0 9.9626 Tf
-(22) 9.9626 Tj
-[1 0 0 1 516.09 444.505] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6451] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -432.55] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 432.55 Td
-/F130_0 9.9626 Tf
-(3.4.5.) 22.4159 Tj
-[1 0 0 1 97.5043 432.55] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -432.55] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 432.55 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-[1 0 0 1 187.168 432.55] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -192.149 -432.55] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-201.914 432.55 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 432.55] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -432.55] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 432.55 Td
-/F130_0 9.9626 Tf
-(22) 9.9626 Tj
-[1 0 0 1 516.09 432.55] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -420.594] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 420.594 Td
-/F130_0 9.9626 Tf
-(3.4.6.) 22.4159 Tj
-[1 0 0 1 97.5043 420.594] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -420.594] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 420.594 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-[1 0 0 1 163.258 420.594] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -168.239 -420.594] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-176.675 420.594 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 420.594] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -420.594] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 420.594 Td
-/F130_0 9.9626 Tf
-(23) 9.9626 Tj
-[1 0 0 1 516.09 420.594] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6452] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -408.639] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 408.639 Td
-/F130_0 9.9626 Tf
-(3.4.7.) 22.4159 Tj
-[1 0 0 1 97.5043 408.639] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -408.639] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 408.639 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-[1 0 0 1 193.146 408.639] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -198.127 -408.639] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-207.116 408.639 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 408.639] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -408.639] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 408.639 Td
-/F130_0 9.9626 Tf
-(23) 9.9626 Tj
-[1 0 0 1 516.09 408.639] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.6451] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -396.684] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 396.684 Td
-/F130_0 9.9626 Tf
-(3.4.8.) 22.4159 Tj
--310 TJm
-(Handling) 37.0808 Tj
--250 TJm
-(embedded) 40.9463 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(streams) 30.4357 Tj
-[1 0 0 1 279.56 396.684] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -284.541 -396.684] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-294.601 396.684 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 396.684] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -396.684] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 396.684 Td
-/F130_0 9.9626 Tf
-(24) 9.9626 Tj
-[1 0 0 1 516.09 396.684] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -384.729] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 384.729 Td
-/F130_0 9.9626 Tf
-(3.4.9.) 22.4159 Tj
--310 TJm
-(Standard) 35.417 Tj
--250 TJm
-(\002le-reading/writing) 77.4791 Tj
--250 TJm
-(code) 18.8094 Tj
-[1 0 0 1 234.19 384.729] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -239.172 -384.729] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-247.564 384.729 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 384.729] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -384.729] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 384.729 Td
-/F130_0 9.9626 Tf
-(25) 9.9626 Tj
-[1 0 0 1 516.09 384.729] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -372.774] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 372.774 Td
-/F130_0 9.9626 Tf
-(3.5.) 14.9439 Tj
--310 TJm
-(Utility) 26.0223 Tj
--250 TJm
-(functions) 37.0808 Tj
-[1 0 0 1 155.625 372.774] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -160.607 -372.774] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-170.645 372.774 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 372.774] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -372.774] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 372.774 Td
-/F130_0 9.9626 Tf
-(26) 9.9626 Tj
-[1 0 0 1 516.09 372.774] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -360.819] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 360.819 Td
-/F130_0 9.9626 Tf
-(3.5.1.) 22.4159 Tj
-[1 0 0 1 97.5043 360.819] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -360.819] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 360.819 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffCompress) 143.461 Tj
-[1 0 0 1 240.966 360.819] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -245.948 -360.819] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-255.38 360.819 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 360.819] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -360.819] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 360.819 Td
-/F130_0 9.9626 Tf
-(26) 9.9626 Tj
-[1 0 0 1 516.09 360.819] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -348.863] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 348.863 Td
-/F130_0 9.9626 Tf
-(3.5.2.) 22.4159 Tj
-[1 0 0 1 97.5043 348.863] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -97.5043 -348.863] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-97.5043 348.863 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.417 Tj
-[1 0 0 1 252.922 348.863] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -257.903 -348.863] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-267.999 348.863 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 348.863] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -348.863] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 348.863 Td
-/F130_0 9.9626 Tf
-(27) 9.9626 Tj
-[1 0 0 1 516.09 348.863] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -1.5342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -10.421] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -336.908] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 336.908 Td
-/F130_0 9.9626 Tf
-(3.6.) 14.9439 Tj
-[1 0 0 1 90.0324 336.908] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90.0324 -336.908] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90.0324 336.908 Td
-/F134_0 9.9626 Tf
-(zlib) 23.9102 Tj
-[1 0 0 1 113.943 336.908] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.943 -336.908] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-116.433 336.908 Td
-/F130_0 9.9626 Tf
-(compatibility) 53.1405 Tj
--250 TJm
-(functions) 37.0808 Tj
-[1 0 0 1 209.144 336.908] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -214.126 -336.908] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-223.971 336.908 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 336.908] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -336.908] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 336.908 Td
-/F130_0 9.9626 Tf
-(28) 9.9626 Tj
-[1 0 0 1 516.09 336.908] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -324.953] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 324.953 Td
-/F130_0 9.9626 Tf
-(3.7.) 14.9439 Tj
--310 TJm
-(Using) 23.8007 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.42339 Tj
-[1 0 0 1 177.195 324.953] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -177.195 -324.953] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-177.195 324.953 Td
-/F134_0 9.9626 Tf
-(stdio) 29.8878 Tj
-[1 0 0 1 207.083 324.953] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -207.083 -324.953] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-207.083 324.953 Td
-/F130_0 9.9626 Tf
-(-free) 18.7994 Tj
--250 TJm
-(en) 9.40469 Tj
-40 TJm
-(vironment) 40.9562 Tj
-[1 0 0 1 278.335 324.953] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -283.316 -324.953] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-291.775 324.953 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 324.953] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -324.953] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 324.953 Td
-/F130_0 9.9626 Tf
-(28) 9.9626 Tj
-[1 0 0 1 516.09 324.953] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1569] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -312.998] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 312.998 Td
-/F130_0 9.9626 Tf
-(3.7.1.) 22.4159 Tj
--310 TJm
-(Getting) 29.8878 Tj
--250 TJm
-(rid) 11.0684 Tj
--250 TJm
-(of) 8.29885 Tj
-[1 0 0 1 154.231 312.998] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -154.231 -312.998] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-154.231 312.998 Td
-/F134_0 9.9626 Tf
-(stdio) 29.8878 Tj
-[1 0 0 1 184.119 312.998] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -189.1 -312.998] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-198.175 312.998 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 312.998] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -312.998] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 312.998 Td
-/F130_0 9.9626 Tf
-(29) 9.9626 Tj
-[1 0 0 1 516.09 312.998] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -301.043] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 301.043 Td
-/F130_0 9.9626 Tf
-(3.7.2.) 22.4159 Tj
--310 TJm
-(Critical) 29.8878 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(handling) 34.8691 Tj
-[1 0 0 1 186.599 301.043] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -191.58 -301.043] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-201.629 301.043 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 301.043] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -301.043] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 301.043 Td
-/F130_0 9.9626 Tf
-(29) 9.9626 Tj
-[1 0 0 1 516.09 301.043] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -289.088] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 289.088 Td
-/F130_0 9.9626 Tf
-(3.8.) 14.9439 Tj
--310 TJm
-(Making) 30.9936 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(W) 9.40469 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(DLL) 19.3673 Tj
-[1 0 0 1 189.828 289.088] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -194.809 -289.088] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-203.243 289.088 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 289.088] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -289.088] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 289.088 Td
-/F130_0 9.9626 Tf
-(29) 9.9626 Tj
-[1 0 0 1 516.09 289.088] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1569] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -267.006] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 257.207 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--250 TJm
-(chapter) 29.3199 Tj
--250 TJm
-(describes) 37.0708 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(programming) 54.2364 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 282.448 257.207] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -282.448 -257.207] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-282.448 257.207 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 330.269 257.207] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -330.269 -257.207] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-330.269 257.207 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 255.05] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -245.088] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 235.289 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--273 TJm
-(general) 29.3199 Tj
--272 TJm
-(background) 47.0334 Tj
--273 TJm
-(information,) 49.534 Tj
--278 TJm
-(particularly) 45.9276 Tj
--273 TJm
-(about) 22.1369 Tj
--273 TJm
-(memory) 33.2053 Tj
--272 TJm
-(use) 13.2801 Tj
--273 TJm
-(and) 14.386 Tj
--273 TJm
-(performance) 50.341 Tj
--272 TJm
-(aspects,) 31.2626 Tj
--279 TJm
-(you') 18.2614 Tj
-50 TJm
-(d) 4.9813 Tj
--272 TJm
-(be) 9.40469 Tj
--273 TJm
-(well) 17.1556 Tj
--273 TJm
-(advised) 30.4357 Tj
-72 223.334 Td
-(to) 7.7509 Tj
--250 TJm
-(read) 17.1456 Tj
-[1 0 0 1 101.878 223.334] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -101.878 -223.334] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-101.878 223.334 Td
-/F130_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-[1 0 0 1 171.636 223.334] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -171.636 -223.334] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-174.126 223.334 Td
-/F130_0 9.9626 Tf
-([2]) 11.6164 Tj
-[1 0 0 1 185.743 223.334] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -185.743 -223.334] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-188.233 223.334 Td
-/F130_0 9.9626 Tf
-(as) 8.29885 Tj
--250 TJm
-(well.) 19.6462 Tj
-[1 0 0 1 72 221.177] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -211.215] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 188.581 Td
-/F122_0 20.6585 Tf
-(3.1.) 34.4584 Tj
--278 TJm
-(T) 12.6223 Tj
-80 TJm
-(op-le) 49.3532 Tj
-15 TJm
-(vel) 28.7153 Tj
--278 TJm
-(structure) 89.5339 Tj
-[1 0 0 1 72 184.305] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -174.343] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 166.664 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 119.821 166.664] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.821 -166.664] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-123.608 166.664 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--380 TJm
-(a) 4.42339 Tj
--380 TJm
-(\003e) 9.9626 Tj
-15 TJm
-(xible) 19.9252 Tj
--381 TJm
-(library) 26.5603 Tj
--380 TJm
-(for) 11.6164 Tj
--380 TJm
-(compressing) 50.3609 Tj
--380 TJm
-(and) 14.386 Tj
--380 TJm
-(decompressing) 59.7656 Tj
--380 TJm
-(data) 16.5977 Tj
--381 TJm
-(in) 7.7509 Tj
--380 TJm
-(the) 12.1743 Tj
-[1 0 0 1 405.291 166.664] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -405.291 -166.664] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-405.291 166.664 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 435.178 166.664] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -435.178 -166.664] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-438.966 166.664 Td
-/F130_0 9.9626 Tf
-(data) 16.5977 Tj
--380 TJm
-(format.) 29.0509 Tj
--1401 TJm
-(Although) 37.6387 Tj
-72 154.708 Td
-(packaged) 37.6188 Tj
--285 TJm
-(as) 8.29885 Tj
--284 TJm
-(a) 4.42339 Tj
--285 TJm
-(single) 23.8007 Tj
--285 TJm
-(entity) 22.6948 Tj
-65 TJm
-(,) 2.49065 Tj
--293 TJm
-(it) 5.53921 Tj
--285 TJm
-(helps) 21.031 Tj
--285 TJm
-(to) 7.7509 Tj
--284 TJm
-(re) 7.74094 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(ard) 12.7222 Tj
--285 TJm
-(the) 12.1743 Tj
--285 TJm
-(library) 26.5603 Tj
--284 TJm
-(as) 8.29885 Tj
--285 TJm
-(three) 19.9152 Tj
--285 TJm
-(separate) 32.6375 Tj
--284 TJm
-(parts:) 22.1369 Tj
--380 TJm
-(the) 12.1743 Tj
--285 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w) 7.193 Tj
--284 TJm
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--285 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace,) 15.7608 Tj
--293 TJm
-(and) 14.386 Tj
--285 TJm
-(the) 12.1743 Tj
--285 TJm
-(high) 17.7135 Tj
-72 142.753 Td
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace,) 15.7608 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(utility) 23.8106 Tj
--250 TJm
-(functions.) 39.5714 Tj
-[1 0 0 1 72 140.596] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -130.634] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 120.835 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--349 TJm
-(structure) 34.8591 Tj
--349 TJm
-(of) 8.29885 Tj
-[1 0 0 1 141.082 120.835] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -141.082 -120.835] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-141.082 120.835 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 188.903 120.835] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -188.903 -120.835] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-188.903 120.835 Td
-/F130_0 9.9626 Tf
-(') 3.31755 Tj
-55 TJm
-(s) 3.87545 Tj
--349 TJm
-(interf) 21.579 Tj
-10 TJm
-(aces) 17.1456 Tj
--349 TJm
-(is) 6.64505 Tj
--349 TJm
-(similar) 27.6761 Tj
--349 TJm
-(to) 7.7509 Tj
--349 TJm
-(that) 14.9439 Tj
--349 TJm
-(of) 8.29885 Tj
--349 TJm
-(Jean-loup) 38.7346 Tj
--349 TJm
-(Gailly') 28.224 Tj
-55 TJm
-(s) 3.87545 Tj
--349 TJm
-(and) 14.386 Tj
--349 TJm
-(Mark) 21.579 Tj
--349 TJm
-(Adler') 26.0024 Tj
-55 TJm
-(s) 3.87545 Tj
--349 TJm
-(e) 4.42339 Tj
-15 TJm
-(xcellent) 31.5416 Tj
-[1 0 0 1 516.09 120.835] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -516.09 -120.835] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-516.09 120.835 Td
-/F134_0 9.9626 Tf
-(zlib) 23.9102 Tj
-[1 0 0 1 540 120.835] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -120.835] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 108.88 Td
-/F130_0 9.9626 Tf
-(library) 26.5603 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 106.723] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -96.7608] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 86.9624 Td
-/F130_0 9.9626 Tf
-(All) 12.7322 Tj
--242 TJm
-(e) 4.42339 Tj
-15 TJm
-(xternally) 35.417 Tj
--242 TJm
-(visible) 26.5703 Tj
--241 TJm
-(symbols) 33.2153 Tj
--242 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--242 TJm
-(names) 25.4544 Tj
--242 TJm
-(be) 9.40469 Tj
-15 TJm
-(ginning) 30.4457 Tj
-[1 0 0 1 284.687 86.9624] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -284.687 -86.9624] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-284.687 86.9624 Td
-/F134_0 9.9626 Tf
-(BZ2_) 23.9102 Tj
-[1 0 0 1 308.597 86.9624] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -308.597 -86.9624] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-308.597 86.9624 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--615 TJm
-(This) 17.7135 Tj
--241 TJm
-(is) 6.64505 Tj
--242 TJm
-(ne) 9.40469 Tj
-25 TJm
-(w) 7.193 Tj
--242 TJm
-(in) 7.7509 Tj
--242 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--242 TJm
-(1.0.) 14.9439 Tj
--614 TJm
-(The) 15.4918 Tj
--242 TJm
-(intention) 35.427 Tj
--242 TJm
-(is) 6.64505 Tj
--241 TJm
-(to) 7.7509 Tj
--242 TJm
-(minimise) 37.0908 Tj
-72 75.0073 Td
-(pollution) 35.9849 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(namespaces) 47.5814 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(clients.) 28.503 Tj
-[1 0 0 1 72 72.8505] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -21.9987] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 4.3836 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 43.0633 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -498.225 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-541.288 50.9514 Td
-/F130_0 9.9626 Tf
-(8) 4.9813 Tj
-[1 0 0 1 455.161 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5986 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -15.0366 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 12 12
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 4.3836 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -344.462 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-420.96 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 498.449 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -498.449 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.449 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 546.269 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -15.0365 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(T) 6.08715 Tj
-80 TJm
-(o) 4.9813 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(part) 15.4918 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(need) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 240.567 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -240.567 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-240.567 710.037 Td
-/F134_0 9.9626 Tf
-(#include) 47.8205 Tj
--600 TJm
-(<bzlib.h>) 53.798 Tj
-[1 0 0 1 348.163 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -348.163 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-350.654 710.037 Td
-/F130_0 9.9626 Tf
-(into) 15.5018 Tj
--250 TJm
-(your) 18.2614 Tj
--250 TJm
-(sources.) 32.3685 Tj
-[1 0 0 1 72 707.88] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -697.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 679.416 Td
-/F122_0 17.2154 Tf
-(3.1.1.) 43.0729 Tj
--278 TJm
-(Lo) 21.0372 Tj
-15 TJm
-(w-le) 33.484 Tj
-15 TJm
-(vel) 23.9294 Tj
--278 TJm
-(summar) 66.9679 Tj
--10 TJm
-(y) 9.57176 Tj
-[1 0 0 1 72 675.853] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -665.89] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 657.498 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--212 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--212 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vides) 21.031 Tj
--212 TJm
-(services) 32.0895 Tj
--212 TJm
-(for) 11.6164 Tj
--212 TJm
-(compressing) 50.3609 Tj
--212 TJm
-(and) 14.386 Tj
--212 TJm
-(decompress) 47.0334 Tj
-1 TJm
-(ing) 12.7322 Tj
--212 TJm
-(data) 16.5977 Tj
--212 TJm
-(in) 7.7509 Tj
--212 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.49065 Tj
--595 TJm
-(There') 26.5503 Tj
-55 TJm
-(s) 3.87545 Tj
--212 TJm
-(no) 9.9626 Tj
--212 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vision) 24.3586 Tj
--212 TJm
-(for) 11.6164 Tj
--212 TJm
-(dealing) 29.3299 Tj
-72 645.543 Td
-(with) 17.7135 Tj
--213 TJm
-(\002les,) 19.0983 Tj
--220 TJm
-(streams) 30.4357 Tj
--213 TJm
-(or) 8.29885 Tj
--213 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--213 TJm
-(other) 20.4731 Tj
--213 TJm
-(I/O) 13.2801 Tj
--213 TJm
-(mechanisms,) 51.7457 Tj
--221 TJm
-(just) 14.396 Tj
--213 TJm
-(straight) 29.8878 Tj
--213 TJm
-(memory-to-memory) 80.7967 Tj
--213 TJm
-(w) 7.193 Tj
-10 TJm
-(ork.) 15.7708 Tj
--595 TJm
-(In) 8.29885 Tj
--213 TJm
-(f) 3.31755 Tj
-10 TJm
-(act,) 14.107 Tj
--221 TJm
-(this) 14.396 Tj
--213 TJm
-(part) 15.4918 Tj
--213 TJm
-(of) 8.29885 Tj
--213 TJm
-(the) 12.1743 Tj
--213 TJm
-(library) 26.5603 Tj
-72 633.588 Td
-(can) 13.8281 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(compiled) 37.0808 Tj
--250 TJm
-(without) 30.4457 Tj
--250 TJm
-(inclusion) 36.5329 Tj
--250 TJm
-(of) 8.29885 Tj
-[1 0 0 1 222.534 633.588] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -222.534 -633.588] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-222.534 633.588 Td
-/F134_0 9.9626 Tf
-(stdio.h) 41.8429 Tj
-[1 0 0 1 264.377 633.588] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -264.377 -633.588] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-264.377 633.588 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(helpful) 28.224 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(embedded) 40.9463 Tj
--250 TJm
-(applications.) 50.6399 Tj
-[1 0 0 1 72 631.431] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -621.469] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 611.67 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(part) 15.4918 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(global) 24.9065 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(ariables) 30.9837 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(therefore) 35.955 Tj
--250 TJm
-(thread-safe.) 46.7445 Tj
-[1 0 0 1 72 609.513] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -599.551] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 589.752 Td
-/F130_0 9.9626 Tf
-(Six) 13.2901 Tj
--875 TJm
-(routines) 32.0995 Tj
--876 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--875 TJm
-(up) 9.9626 Tj
--876 TJm
-(the) 12.1743 Tj
--875 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w) 7.193 Tj
--876 TJm
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--875 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace:) 16.0398 Tj
-[1 0 0 1 308.791 589.752] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -308.791 -589.752] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-308.791 589.752 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 416.387 589.752] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -416.387 -589.752] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-416.387 589.752 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 429.158 589.752] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -429.158 -589.752] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-429.158 589.752 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 512.844 589.752] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -512.844 -589.752] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-512.844 589.752 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--1032 TJm
-(and) 14.386 Tj
-[1 0 0 1 72 577.797] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -577.797] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 577.797 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.619 Tj
-[1 0 0 1 173.619 577.797] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -173.619 -577.797] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-186.15 577.797 Td
-/F130_0 9.9626 Tf
-(for) 11.6164 Tj
--1258 TJm
-(compression,) 52.8516 Tj
--1510 TJm
-(and) 14.386 Tj
--1257 TJm
-(a) 4.42339 Tj
--1258 TJm
-(corresponding) 56.996 Tj
--1258 TJm
-(trio) 13.8381 Tj
-[1 0 0 1 417.958 577.797] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -417.958 -577.797] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-417.958 577.797 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.551 Tj
-[1 0 0 1 537.509 577.797] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -537.509 -577.797] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-537.509 577.797 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 72 565.842] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -565.842] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 565.842 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 167.641 565.842] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -167.641 -565.842] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-172.707 565.842 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 192.158 565.842] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -192.158 -565.842] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-192.158 565.842 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.574 Tj
-[1 0 0 1 305.732 565.842] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -305.732 -565.842] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-310.798 565.842 Td
-/F130_0 9.9626 Tf
-(for) 11.6164 Tj
--508 TJm
-(decompression.) 62.2563 Tj
--2171 TJm
-(The) 15.4918 Tj
-[1 0 0 1 431.918 565.842] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -431.918 -565.842] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-431.918 564.099 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-437.895 565.842 Td
-(Init) 23.9102 Tj
-[1 0 0 1 461.805 565.842] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -461.805 -565.842] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-466.871 565.842 Td
-/F130_0 9.9626 Tf
-(functions) 37.0808 Tj
--508 TJm
-(allocate) 30.9837 Tj
-72 553.887 Td
-(memory) 33.2053 Tj
--574 TJm
-(for) 11.6164 Tj
--573 TJm
-(compression/decompression) 112.896 Tj
--574 TJm
-(and) 14.386 Tj
--574 TJm
-(do) 9.9626 Tj
--573 TJm
-(other) 20.4731 Tj
--574 TJm
-(initialisations,) 56.1891 Tj
--654 TJm
-(whilst) 24.3586 Tj
--574 TJm
-(the) 12.1743 Tj
-[1 0 0 1 419.502 553.887] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -419.502 -553.887] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.502 552.144 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-425.48 553.887 Td
-(End) 17.9327 Tj
-[1 0 0 1 443.413 553.887] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -443.413 -553.887] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-449.128 553.887 Td
-/F130_0 9.9626 Tf
-(functions) 37.0808 Tj
--574 TJm
-(close) 20.4731 Tj
--573 TJm
-(do) 9.9626 Tj
-25 TJm
-(wn) 12.1743 Tj
-72 541.932 Td
-(operations) 41.5042 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(release) 27.6562 Tj
--250 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 539.775] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -529.812] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 520.014 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--303 TJm
-(real) 14.9339 Tj
--303 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--303 TJm
-(is) 6.64505 Tj
--303 TJm
-(done) 19.3673 Tj
--303 TJm
-(by) 9.9626 Tj
-[1 0 0 1 176.892 520.014] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -176.892 -520.014] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-176.892 520.014 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 260.578 520.014] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -260.578 -520.014] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-263.598 520.014 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 281.003 520.014] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -281.003 -520.014] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-281.003 520.014 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 376.645 520.014] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -376.645 -520.014] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-376.645 520.014 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--939 TJm
-(These) 23.7907 Tj
--303 TJm
-(compress) 37.6287 Tj
--303 TJm
-(and) 14.386 Tj
--303 TJm
-(decompress) 47.0334 Tj
--303 TJm
-(data) 16.5977 Tj
-72 508.059 Td
-(from) 19.3673 Tj
--205 TJm
-(a) 4.42339 Tj
--205 TJm
-(user) 16.5977 Tj
-20 TJm
-(-supplied) 37.0808 Tj
--205 TJm
-(input) 20.4831 Tj
--206 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--205 TJm
-(to) 7.7509 Tj
--205 TJm
-(a) 4.42339 Tj
--205 TJm
-(user) 16.5977 Tj
-20 TJm
-(-supplied) 37.0808 Tj
--205 TJm
-(output) 25.4644 Tj
--205 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-55 TJm
-(.) 2.49065 Tj
--591 TJm
-(These) 23.7907 Tj
--205 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fers) 14.9339 Tj
--205 TJm
-(can) 13.8281 Tj
--205 TJm
-(be) 9.40469 Tj
--205 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--205 TJm
-(size;) 18.2614 Tj
--220 TJm
-(arbitrary) 34.3012 Tj
--206 TJm
-(quantities) 38.7446 Tj
--205 TJm
-(of) 8.29885 Tj
-72 496.104 Td
-(data) 16.5977 Tj
--258 TJm
-(are) 12.1643 Tj
--258 TJm
-(handled) 31.5416 Tj
--258 TJm
-(by) 9.9626 Tj
--257 TJm
-(making) 29.8878 Tj
--258 TJm
-(repeated) 33.7433 Tj
--258 TJm
-(calls) 18.2614 Tj
--258 TJm
-(to) 7.7509 Tj
--258 TJm
-(these) 20.4731 Tj
--258 TJm
-(functions.) 39.5714 Tj
--667 TJm
-(This) 17.7135 Tj
--258 TJm
-(is) 6.64505 Tj
--258 TJm
-(a) 4.42339 Tj
--257 TJm
-(\003e) 9.9626 Tj
-15 TJm
-(xible) 19.9252 Tj
--258 TJm
-(mechanism) 45.3796 Tj
--258 TJm
-(allo) 14.9439 Tj
-25 TJm
-(wing) 19.9252 Tj
--258 TJm
-(a) 4.42339 Tj
--258 TJm
-(consumer) 38.7346 Tj
-20 TJm
-(-pull) 18.8194 Tj
-72 484.148 Td
-(style) 18.8194 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(acti) 14.386 Tj
-25 TJm
-(vity) 15.5018 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(or) 8.29885 Tj
--250 TJm
-(producer) 35.4071 Tj
-20 TJm
-(-push,) 24.6275 Tj
--250 TJm
-(or) 8.29885 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(mixture) 30.9936 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(both.) 20.2042 Tj
-[1 0 0 1 72 481.992] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -472.029] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 453.527 Td
-/F122_0 17.2154 Tf
-(3.1.2.) 43.0729 Tj
--278 TJm
-(High-le) 58.343 Tj
-15 TJm
-(vel) 23.9294 Tj
--278 TJm
-(summar) 66.9679 Tj
--10 TJm
-(y) 9.57176 Tj
-[1 0 0 1 72 449.697] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -439.734] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 431.61 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--284 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--284 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vides) 21.031 Tj
--285 TJm
-(some) 21.031 Tj
--284 TJm
-(handy) 24.3486 Tj
--284 TJm
-(wrappers) 36.5129 Tj
--284 TJm
-(around) 27.6661 Tj
--284 TJm
-(the) 12.1743 Tj
--284 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--285 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--284 TJm
-(to) 7.7509 Tj
--284 TJm
-(f) 3.31755 Tj
-10 TJm
-(acilitate) 31.5416 Tj
--284 TJm
-(reading) 29.8778 Tj
--284 TJm
-(and) 14.386 Tj
--285 TJm
-(writ) 16.0497 Tj
-1 TJm
-(ing) 12.7322 Tj
-[1 0 0 1 510.112 431.61] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -510.112 -431.61] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-510.112 431.61 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 540 431.61] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -431.61] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 419.654 Td
-/F130_0 9.9626 Tf
-(format) 26.5603 Tj
--347 TJm
-(\002les) 16.6077 Tj
--346 TJm
-(\() 3.31755 Tj
-[1 0 0 1 125.391 419.654] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -125.391 -419.654] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-125.391 419.654 Td
-/F134_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-[1 0 0 1 149.301 419.654] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -149.301 -419.654] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-152.754 419.654 Td
-/F130_0 9.9626 Tf
-(\002les\).) 22.4159 Tj
--1200 TJm
-(The) 15.4918 Tj
--346 TJm
-(routines) 32.0995 Tj
--347 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--346 TJm
-(hooks) 23.8007 Tj
--347 TJm
-(to) 7.7509 Tj
--346 TJm
-(f) 3.31755 Tj
-10 TJm
-(acilitate) 31.5416 Tj
--347 TJm
-(reading) 29.8778 Tj
--347 TJm
-(\002les) 16.6077 Tj
--346 TJm
-(in) 7.7509 Tj
--347 TJm
-(which) 24.3486 Tj
--346 TJm
-(the) 12.1743 Tj
-[1 0 0 1 460.049 419.654] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -460.049 -419.654] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-460.049 419.654 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 489.937 419.654] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -489.937 -419.654] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-493.39 419.654 Td
-/F130_0 9.9626 Tf
-(data) 16.5977 Tj
--347 TJm
-(stream) 26.5603 Tj
-72 407.699 Td
-(is) 6.64505 Tj
--339 TJm
-(embedded) 40.9463 Tj
--339 TJm
-(within) 25.4644 Tj
--339 TJm
-(some) 21.031 Tj
--339 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
-20 TJm
-(-scale) 23.2328 Tj
--339 TJm
-(\002le) 12.7322 Tj
--339 TJm
-(structure,) 37.3498 Tj
--361 TJm
-(or) 8.29885 Tj
--339 TJm
-(wh) 12.1743 Tj
--1 TJm
-(e) 4.42339 Tj
-1 TJm
-(re) 7.74094 Tj
--340 TJm
-(there) 19.9152 Tj
--339 TJm
-(are) 12.1643 Tj
--339 TJm
-(multiple) 33.2153 Tj
-[1 0 0 1 400.941 407.699] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -400.941 -407.699] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-400.941 407.699 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 430.829 407.699] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -430.829 -407.699] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-434.207 407.699 Td
-/F130_0 9.9626 Tf
-(data) 16.5977 Tj
--339 TJm
-(streams) 30.4357 Tj
--339 TJm
-(concatenated) 52.0048 Tj
-72 395.744 Td
-(end-to-end.) 45.6486 Tj
-[1 0 0 1 72 395.644] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -385.682] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 373.826 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--332 TJm
-(reading) 29.8778 Tj
--333 TJm
-(\002les,) 19.0983 Tj
-[1 0 0 1 144.803 373.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -144.803 -373.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-144.803 373.826 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-[1 0 0 1 228.489 373.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -228.489 -373.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-228.489 373.826 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 234.496 373.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -234.496 -373.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-234.496 373.826 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 294.272 373.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -294.272 -373.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-294.272 373.826 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 300.279 373.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -300.279 -373.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-300.279 373.826 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 389.942 373.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -389.942 -373.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-393.253 373.826 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 410.951 373.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -410.951 -373.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-410.951 373.826 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.574 Tj
-[1 0 0 1 524.525 373.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -524.525 -373.826] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-527.836 373.826 Td
-/F130_0 9.9626 Tf
-(are) 12.1643 Tj
-72 361.871 Td
-(supplied.) 36.2539 Tj
--620 TJm
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--250 TJm
-(writing) 28.782 Tj
--250 TJm
-(\002les,) 19.0983 Tj
-[1 0 0 1 183.471 361.871] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -183.471 -361.871] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-183.471 361.871 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-[1 0 0 1 273.135 361.871] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -273.135 -361.871] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-273.135 361.871 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 278.116 361.871] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.116 -361.871] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-278.116 361.871 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-[1 0 0 1 343.869 361.871] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -343.869 -361.871] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-346.36 361.871 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 363.237 361.871] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -363.237 -361.871] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-363.237 361.871 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteFinish) 101.619 Tj
-[1 0 0 1 464.856 361.871] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -464.856 -361.871] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-467.346 361.871 Td
-/F130_0 9.9626 Tf
-(are) 12.1643 Tj
--250 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable.) 29.0509 Tj
-[1 0 0 1 72 359.714] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -349.751] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 339.953 Td
-/F130_0 9.9626 Tf
-(As) 11.0684 Tj
--374 TJm
-(with) 17.7135 Tj
--374 TJm
-(the) 12.1743 Tj
--375 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--374 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--405 TJm
-(no) 9.9626 Tj
--374 TJm
-(global) 24.9065 Tj
--374 TJm
-(v) 4.9813 Tj
-25 TJm
-(ariables) 30.9837 Tj
--375 TJm
-(are) 12.1643 Tj
--374 TJm
-(used) 18.2614 Tj
--374 TJm
-(so) 8.85675 Tj
--374 TJm
-(the) 12.1743 Tj
--374 TJm
-(library) 26.5603 Tj
--375 TJm
-(is) 6.64505 Tj
--374 TJm
-(per) 12.7222 Tj
--374 TJm
-(se) 8.29885 Tj
--374 TJm
-(thread-safe.) 46.7445 Tj
--1365 TJm
-(Ho) 12.1743 Tj
-25 TJm
-(we) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
-40 TJm
-(,) 2.49065 Tj
--406 TJm
-(if) 6.08715 Tj
--374 TJm
-(I/O) 13.2801 Tj
-72 327.998 Td
-(errors) 23.2328 Tj
--267 TJm
-(occur) 22.1269 Tj
--267 TJm
-(whilst) 24.3586 Tj
--267 TJm
-(reading) 29.8778 Tj
--267 TJm
-(or) 8.29885 Tj
--267 TJm
-(writing) 28.782 Tj
--267 TJm
-(the) 12.1743 Tj
--268 TJm
-(underlying) 43.1679 Tj
--267 TJm
-(compressed) 47.0334 Tj
--267 TJm
-(\002les,) 19.0983 Tj
--271 TJm
-(you) 14.9439 Tj
--267 TJm
-(may) 17.1556 Tj
--267 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--267 TJm
-(to) 7.7509 Tj
--267 TJm
-(consult) 28.782 Tj
-[1 0 0 1 457.199 327.998] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -457.199 -327.998] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-457.199 327.998 Td
-/F134_0 9.9626 Tf
-(errno) 29.8878 Tj
-[1 0 0 1 487.087 327.998] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -487.087 -327.998] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-489.748 327.998 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--267 TJm
-(determine) 39.8404 Tj
-72 316.043 Td
-(the) 12.1743 Tj
--366 TJm
-(cause) 22.1269 Tj
--365 TJm
-(of) 8.29885 Tj
--366 TJm
-(the) 12.1743 Tj
--365 TJm
-(error) 19.3573 Tj
-55 TJm
-(.) 2.49065 Tj
--1314 TJm
-(In) 8.29885 Tj
--366 TJm
-(that) 14.9439 Tj
--365 TJm
-(case,) 19.6363 Tj
--395 TJm
-(you') 18.2614 Tj
-50 TJm
-(d) 4.9813 Tj
--366 TJm
-(need) 18.8094 Tj
--365 TJm
-(a) 4.42339 Tj
--366 TJm
-(C) 6.64505 Tj
--365 TJm
-(library) 26.5603 Tj
--366 TJm
-(which) 24.3486 Tj
--366 TJm
-(correctly) 35.4071 Tj
--365 TJm
-(supports) 33.7633 Tj
-[1 0 0 1 431.668 316.043] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -431.668 -316.043] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-431.668 316.043 Td
-/F134_0 9.9626 Tf
-(errno) 29.8878 Tj
-[1 0 0 1 461.556 316.043] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -461.556 -316.043] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-465.199 316.043 Td
-/F130_0 9.9626 Tf
-(in) 7.7509 Tj
--366 TJm
-(a) 4.42339 Tj
--365 TJm
-(multithreaded) 55.3422 Tj
-72 304.088 Td
-(en) 9.40469 Tj
-40 TJm
-(vironment.) 43.4469 Tj
-[1 0 0 1 72 303.988] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -294.025] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 282.17 Td
-/F130_0 9.9626 Tf
-(T) 6.08715 Tj
-80 TJm
-(o) 4.9813 Tj
--243 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--243 TJm
-(the) 12.1743 Tj
--242 TJm
-(library) 26.5603 Tj
--243 TJm
-(a) 4.42339 Tj
--243 TJm
-(little) 18.2714 Tj
--242 TJm
-(simpler) 29.8878 Tj
--243 TJm
-(and) 14.386 Tj
--243 TJm
-(more) 20.4731 Tj
--243 TJm
-(portable,) 35.1381 Tj
-[1 0 0 1 289.263 282.17] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -289.263 -282.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-289.263 282.17 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-[1 0 0 1 372.949 282.17] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -372.949 -282.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-375.368 282.17 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 392.172 282.17] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -392.172 -282.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-392.172 282.17 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-[1 0 0 1 481.836 282.17] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -481.836 -282.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-484.254 282.17 Td
-/F130_0 9.9626 Tf
-(require) 28.2141 Tj
--243 TJm
-(you) 14.9439 Tj
--242 TJm
-(to) 7.7509 Tj
-72 270.215 Td
-(pass) 17.1556 Tj
--247 TJm
-(them) 19.9252 Tj
--248 TJm
-(\002le) 12.7322 Tj
--247 TJm
-(handles) 30.4357 Tj
--247 TJm
-(\() 3.31755 Tj
-[1 0 0 1 165.421 270.215] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -165.421 -270.215] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-165.421 270.215 Td
-/F134_0 9.9626 Tf
-(FILE) 23.9102 Tj
-189.331 268.471 Td
-(*) 5.97756 Tj
-[1 0 0 1 195.309 270.215] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -195.309 -270.215] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-195.309 270.215 Td
-/F130_0 9.9626 Tf
-(s\)) 7.193 Tj
--247 TJm
-(which) 24.3486 Tj
--248 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--247 TJm
-(pre) 12.7222 Tj
-25 TJm
-(viously) 29.3399 Tj
--247 TJm
-(been) 18.8094 Tj
--248 TJm
-(opened) 28.772 Tj
--247 TJm
-(for) 11.6164 Tj
--247 TJm
-(reading) 29.8778 Tj
--247 TJm
-(or) 8.29885 Tj
--248 TJm
-(writing) 28.782 Tj
--247 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.49065 Tj
--618 TJm
-(That) 18.2614 Tj
--248 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-20 TJm
-(oids) 16.6077 Tj
-72 258.26 Td
-(portability) 41.5142 Tj
--272 TJm
-(problems) 37.0808 Tj
--273 TJm
-(associated) 40.9463 Tj
--272 TJm
-(with) 17.7135 Tj
--272 TJm
-(\002le) 12.7322 Tj
--273 TJm
-(operations) 41.5042 Tj
--272 TJm
-(and) 14.386 Tj
--272 TJm
-(\002le) 12.7322 Tj
--273 TJm
-(attrib) 21.031 Tj
-20 TJm
-(utes,) 18.5404 Tj
--278 TJm
-(whilst) 24.3586 Tj
--272 TJm
-(not) 12.7322 Tj
--272 TJm
-(being) 22.1369 Tj
--273 TJm
-(much) 22.1369 Tj
--272 TJm
-(of) 8.29885 Tj
--273 TJm
-(an) 9.40469 Tj
--272 TJm
-(imposition) 42.63 Tj
--272 TJm
-(on) 9.9626 Tj
--273 TJm
-(the) 12.1743 Tj
-72 246.304 Td
-(programmer) 49.2451 Tj
-55 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 244.147] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -234.185] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 215.683 Td
-/F122_0 17.2154 Tf
-(3.1.3.) 43.0729 Tj
--278 TJm
-(Utility) 47.8244 Tj
--278 TJm
-(functions) 77.4693 Tj
--278 TJm
-(summar) 66.9679 Tj
--10 TJm
-(y) 9.57176 Tj
-[1 0 0 1 72 212.12] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -202.157] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 193.765 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--273 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--273 TJm
-(simple) 26.5703 Tj
--273 TJm
-(needs,) 25.1755 Tj
-[1 0 0 1 165.929 193.765] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -165.929 -193.765] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-165.929 193.765 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffCompress) 143.461 Tj
-[1 0 0 1 309.391 193.765] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -309.391 -193.765] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-312.112 193.765 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 329.219 193.765] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -329.219 -193.765] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-329.219 193.765 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.417 Tj
-[1 0 0 1 484.636 193.765] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -484.636 -193.765] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-487.357 193.765 Td
-/F130_0 9.9626 Tf
-(are) 12.1643 Tj
--273 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vided.) 24.6275 Tj
-72 181.81 Td
-(These) 23.7907 Tj
--374 TJm
-(compress) 37.6287 Tj
--373 TJm
-(data) 16.5977 Tj
--374 TJm
-(in) 7.7509 Tj
--373 TJm
-(memory) 33.2053 Tj
--374 TJm
-(from) 19.3673 Tj
--373 TJm
-(one) 14.386 Tj
--374 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--373 TJm
-(to) 7.7509 Tj
--374 TJm
-(another) 29.8778 Tj
--374 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--373 TJm
-(in) 7.7509 Tj
--374 TJm
-(a) 4.42339 Tj
--373 TJm
-(single) 23.8007 Tj
--374 TJm
-(function) 33.2053 Tj
--373 TJm
-(call.) 16.8766 Tj
--1362 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--373 TJm
-(should) 26.5703 Tj
--374 TJm
-(assess) 24.3486 Tj
-72 169.855 Td
-(whether) 32.0895 Tj
--344 TJm
-(these) 20.4731 Tj
--343 TJm
-(functions) 37.0808 Tj
--344 TJm
-(ful\002ll) 22.1469 Tj
--344 TJm
-(your) 18.2614 Tj
--343 TJm
-(memory-to-memory) 80.7967 Tj
--344 TJm
-(compression/decompression) 112.896 Tj
--343 TJm
-(requirements) 52.0147 Tj
--344 TJm
-(before) 25.4445 Tj
--344 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(esting) 23.8007 Tj
-72 157.9 Td
-(ef) 7.74094 Tj
-25 TJm
-(fort) 14.386 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(understanding) 56.4481 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(general) 29.3199 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(comple) 29.3299 Tj
-15 TJm
-(x) 4.9813 Tj
--250 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
-[1 0 0 1 72 155.743] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -145.78] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 135.982 Td
-/F130_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(oshioka) 30.9936 Tj
--423 TJm
-(Tsuneo) 29.3299 Tj
--422 TJm
-(\() 3.31755 Tj
-[1 0 0 1 150.16 135.982] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -150.16 -135.982] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-150.16 135.982 Td
-/F134_0 9.9626 Tf
-(tsuneo@rr.iij4u.or.jp) 125.529 Tj
-[1 0 0 1 275.69 135.982] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -275.69 -135.982] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-275.69 135.982 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--423 TJm
-(has) 13.2801 Tj
--422 TJm
-(contrib) 28.224 Tj
-20 TJm
-(uted) 17.1556 Tj
--423 TJm
-(some) 21.031 Tj
--423 TJm
-(functions) 37.0808 Tj
--422 TJm
-(to) 7.7509 Tj
--423 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--423 TJm
-(better) 22.6848 Tj
-[1 0 0 1 476.462 135.982] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -476.462 -135.982] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-476.462 135.982 Td
-/F134_0 9.9626 Tf
-(zlib) 23.9102 Tj
-[1 0 0 1 500.372 135.982] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -500.372 -135.982] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-504.583 135.982 Td
-/F130_0 9.9626 Tf
-(compati-) 35.417 Tj
-72 124.027 Td
-(bility) 21.041 Tj
-65 TJm
-(.) 2.49065 Tj
--1446 TJm
-(These) 23.7907 Tj
--388 TJm
-(functions) 37.0808 Tj
--387 TJm
-(are) 12.1643 Tj
-[1 0 0 1 193.913 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -193.913 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-193.913 124.027 Td
-/F134_0 9.9626 Tf
-(BZ2_bzopen) 59.7756 Tj
-[1 0 0 1 253.689 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -253.689 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-253.689 124.027 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 260.385 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -260.385 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-260.385 124.027 Td
-/F134_0 9.9626 Tf
-(BZ2_bzread) 59.7756 Tj
-[1 0 0 1 320.161 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -320.161 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-320.161 124.027 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 326.857 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -326.857 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-326.857 124.027 Td
-/F134_0 9.9626 Tf
-(BZ2_bzwrite) 65.7532 Tj
-[1 0 0 1 392.611 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -392.611 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-392.611 124.027 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 399.306 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -399.306 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-399.306 124.027 Td
-/F134_0 9.9626 Tf
-(BZ2_bzflush) 65.7532 Tj
-[1 0 0 1 465.06 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -465.06 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-465.06 124.027 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 471.756 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -471.756 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-471.756 124.027 Td
-/F134_0 9.9626 Tf
-(BZ2_bzclose) 65.7532 Tj
-[1 0 0 1 537.509 124.027] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -537.509 -124.027] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-537.509 124.027 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 72 112.072] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -112.072] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 112.072 Td
-/F134_0 9.9626 Tf
-(BZ2_bzerror) 65.7532 Tj
-[1 0 0 1 137.753 112.072] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.753 -112.072] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-140.408 112.072 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 157.449 112.072] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -157.449 -112.072] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-157.449 112.072 Td
-/F134_0 9.9626 Tf
-(BZ2_bzlibVersion) 95.641 Tj
-[1 0 0 1 253.091 112.072] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -253.091 -112.072] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-253.091 112.072 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--719 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--266 TJm
-(may) 17.1556 Tj
--267 TJm
-(\002nd) 15.5018 Tj
--266 TJm
-(these) 20.4731 Tj
--267 TJm
-(functions) 37.0808 Tj
--266 TJm
-(more) 20.4731 Tj
--267 TJm
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(enient) 24.3486 Tj
--266 TJm
-(for) 11.6164 Tj
--267 TJm
-(simple) 26.5703 Tj
--266 TJm
-(\002le) 12.7322 Tj
--267 TJm
-(reading) 29.8778 Tj
-72 100.117 Td
-(and) 14.386 Tj
--270 TJm
-(wri) 13.2801 Tj
-1 TJm
-(ting,) 17.9925 Tj
--275 TJm
-(than) 17.1556 Tj
--269 TJm
-(those) 21.031 Tj
--270 TJm
-(in) 7.7509 Tj
--269 TJm
-(the) 12.1743 Tj
--270 TJm
-(high-le) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--269 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
--737 TJm
-(These) 23.7907 Tj
--270 TJm
-(functions) 37.0808 Tj
--269 TJm
-(are) 12.1643 Tj
--270 TJm
-(not) 12.7322 Tj
--269 TJm
-(\(yet\)) 18.8094 Tj
--270 TJm
-(of) 8.29885 Tj
-25 TJm
-(\002cially) 27.6761 Tj
--269 TJm
-(part) 15.4918 Tj
--270 TJm
-(of) 8.29885 Tj
--269 TJm
-(the) 12.1743 Tj
--270 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--274 TJm
-(and) 14.386 Tj
--270 TJm
-(are) 12.1643 Tj
-72 88.1614 Td
-(minimally) 40.9662 Tj
--291 TJm
-(documented) 48.6972 Tj
--291 TJm
-(here.) 19.6363 Tj
--867 TJm
-(If) 6.63509 Tj
--291 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--291 TJm
-(break,) 24.6176 Tj
--301 TJm
-(you) 14.9439 Tj
--291 TJm
-(get) 12.1743 Tj
--292 TJm
-(to) 7.7509 Tj
--291 TJm
-(k) 4.9813 Tj
-10 TJm
-(eep) 13.8281 Tj
--291 TJm
-(all) 9.9626 Tj
--291 TJm
-(the) 12.1743 Tj
--291 TJm
-(pieces.) 27.3872 Tj
--433 TJm
-(I) 3.31755 Tj
--291 TJm
-(hope) 19.3673 Tj
--291 TJm
-(to) 7.7509 Tj
--291 TJm
-(document) 39.2925 Tj
--292 TJm
-(them) 19.9252 Tj
--291 TJm
-(properly) 33.7533 Tj
--291 TJm
-(when) 21.579 Tj
-72 76.2062 Td
-(time) 17.7135 Tj
--250 TJm
-(permits.) 32.3785 Tj
-[1 0 0 1 72 74.0494] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -23.1976] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 4.3836 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.9737] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 43.0633 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -498.225 -51.071] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-541.288 51.071 Td
-/F130_0 9.9626 Tf
-(9) 4.9813 Tj
-[1 0 0 1 455.161 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5986 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -15.0366 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 13 13
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(oshioka) 30.9936 Tj
--250 TJm
-(also) 16.0497 Tj
--250 TJm
-(contrib) 28.224 Tj
-20 TJm
-(uted) 17.1556 Tj
--250 TJm
-(modi\002cations) 54.2464 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(allo) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uilt) 13.2901 Tj
--250 TJm
-(as) 8.29885 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(W) 9.40469 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--250 TJm
-(DLL.) 21.8579 Tj
-[1 0 0 1 72 707.88] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -698.137] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 675.504 Td
-/F122_0 20.6585 Tf
-(3.2.) 34.4584 Tj
--278 TJm
-(Err) 29.8515 Tj
-20 TJm
-(or) 20.6585 Tj
--278 TJm
-(handling) 86.084 Tj
-[1 0 0 1 72 670.907] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -661.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 653.805 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--214 TJm
-(library) 26.5603 Tj
--215 TJm
-(is) 6.64505 Tj
--214 TJm
-(designed) 35.417 Tj
--215 TJm
-(to) 7.7509 Tj
--214 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--215 TJm
-(cleanly) 28.772 Tj
--214 TJm
-(in) 7.7509 Tj
--215 TJm
-(all) 9.9626 Tj
--214 TJm
-(situations,) 40.6873 Tj
--222 TJm
-(including) 37.6387 Tj
--214 TJm
-(the) 12.1743 Tj
--215 TJm
-(w) 7.193 Tj
-10 TJm
-(orst-case) 35.4071 Tj
--214 TJm
-(situation) 34.3212 Tj
--215 TJm
-(of) 8.29885 Tj
--214 TJm
-(decompressing) 59.7656 Tj
--215 TJm
-(random) 30.4357 Tj
-72 641.85 Td
-(data.) 19.0883 Tj
--764 TJm
-(I'm) 14.386 Tj
--274 TJm
-(not) 12.7322 Tj
--275 TJm
-(100%) 23.2427 Tj
--274 TJm
-(sure) 16.5977 Tj
--274 TJm
-(that) 14.9439 Tj
--274 TJm
-(it) 5.53921 Tj
--274 TJm
-(can) 13.8281 Tj
--274 TJm
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--274 TJm
-(do) 9.9626 Tj
--274 TJm
-(this,) 16.8866 Tj
--280 TJm
-(so) 8.85675 Tj
--274 TJm
-(you) 14.9439 Tj
--274 TJm
-(might) 23.2527 Tj
--274 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--274 TJm
-(to) 7.7509 Tj
--274 TJm
-(add) 14.386 Tj
--274 TJm
-(a) 4.42339 Tj
--275 TJm
-(s) 3.87545 Tj
-1 TJm
-(ignal) 19.9252 Tj
--275 TJm
-(handler) 29.8778 Tj
--274 TJm
-(to) 7.7509 Tj
--274 TJm
-(catch) 21.0211 Tj
--274 TJm
-(se) 8.29885 Tj
-15 TJm
-(gmentation) 44.8317 Tj
-72 629.894 Td
-(violations) 39.3025 Tj
--273 TJm
-(during) 26.0123 Tj
--273 TJm
-(decompression) 59.7656 Tj
--273 TJm
-(if) 6.08715 Tj
--273 TJm
-(you) 14.9439 Tj
--273 TJm
-(are) 12.1643 Tj
--273 TJm
-(feeling) 27.6661 Tj
--274 TJm
-(especiall) 34.8591 Tj
-1 TJm
-(y) 4.9813 Tj
--274 TJm
-(paranoid.) 37.3498 Tj
--758 TJm
-(I) 3.31755 Tj
--273 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--273 TJm
-(be) 9.40469 Tj
--273 TJm
-(interested) 38.7346 Tj
--273 TJm
-(in) 7.7509 Tj
--274 TJm
-(hearing) 29.8778 Tj
--273 TJm
-(more) 20.4731 Tj
--273 TJm
-(about) 22.1369 Tj
-72 617.939 Td
-(the) 12.1743 Tj
--250 TJm
-(rob) 13.2801 Tj
-20 TJm
-(ustness) 28.782 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(corrupted) 38.1767 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data.) 19.0883 Tj
-[1 0 0 1 72 615.783] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -606.039] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 596.241 Td
-/F130_0 9.9626 Tf
-(V) 7.193 Tj
-111 TJm
-(ersion) 24.3486 Tj
--251 TJm
-(1.0.3) 19.9252 Tj
--251 TJm
-(more) 20.4731 Tj
--251 TJm
-(rob) 13.2801 Tj
-20 TJm
-(ust) 11.6264 Tj
--251 TJm
-(in) 7.7509 Tj
--251 TJm
-(this) 14.396 Tj
--251 TJm
-(respect) 28.2141 Tj
--252 TJm
-(than) 17.1556 Tj
--251 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--251 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--251 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion.) 26.8392 Tj
--626 TJm
-(In) 8.29885 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(estig) 18.8194 Tj
-5 TJm
-(ations) 23.8007 Tj
--251 TJm
-(with) 17.7135 Tj
--251 TJm
-(V) 7.193 Tj
-111 TJm
-(algrind) 28.224 Tj
--251 TJm
-(\(a) 7.74094 Tj
--252 TJm
-(tool) 15.5018 Tj
--251 TJm
-(for) 11.6164 Tj
--251 TJm
-(detecting) 36.5229 Tj
-72 584.285 Td
-(problems) 37.0808 Tj
--422 TJm
-(with) 17.7135 Tj
--421 TJm
-(memory) 33.2053 Tj
--422 TJm
-(management\)) 54.2264 Tj
--421 TJm
-(indicate) 31.5416 Tj
--422 TJm
-(that,) 17.4346 Tj
--464 TJm
-(at) 7.193 Tj
--422 TJm
-(least) 18.2614 Tj
--421 TJm
-(for) 11.6164 Tj
--422 TJm
-(the) 12.1743 Tj
--422 TJm
-(f) 3.31755 Tj
-1 TJm
-(e) 4.42339 Tj
-25 TJm
-(w) 7.193 Tj
--422 TJm
-(\002les) 16.6077 Tj
--422 TJm
-(I) 3.31755 Tj
--421 TJm
-(tested,) 25.7334 Tj
--464 TJm
-(all) 9.9626 Tj
--422 TJm
-(single-bit) 37.6387 Tj
--422 TJm
-(errors) 23.2328 Tj
--421 TJm
-(in) 7.7509 Tj
--422 TJm
-(the) 12.1743 Tj
-72 572.33 Td
-(decompressed) 56.4381 Tj
--342 TJm
-(data) 16.5977 Tj
--341 TJm
-(are) 12.1643 Tj
--342 TJm
-(caught) 26.5603 Tj
--342 TJm
-(properly) 33.7533 Tj
-65 TJm
-(,) 2.49065 Tj
--365 TJm
-(with) 17.7135 Tj
--341 TJm
-(no) 9.9626 Tj
--342 TJm
-(se) 8.29885 Tj
-15 TJm
-(gmentation) 44.8317 Tj
--342 TJm
-(f) 3.31755 Tj
-10 TJm
-(aults,) 21.31 Tj
--365 TJm
-(no) 9.9626 Tj
--341 TJm
-(uses) 17.1556 Tj
--342 TJm
-(of) 8.29885 Tj
--342 TJm
-(uninitialised) 49.2651 Tj
--342 TJm
-(data,) 19.0883 Tj
--364 TJm
-(no) 9.9626 Tj
--342 TJm
-(out) 12.7322 Tj
--342 TJm
-(of) 8.29885 Tj
--342 TJm
-(range) 22.1269 Tj
-72 560.375 Td
-(reads) 21.0211 Tj
--261 TJm
-(or) 8.29885 Tj
--260 TJm
-(writes,) 26.8392 Tj
--263 TJm
-(and) 14.386 Tj
--261 TJm
-(no) 9.9626 Tj
--261 TJm
-(in\002nit) 23.8106 Tj
-1 TJm
-(e) 4.42339 Tj
--261 TJm
-(looping) 30.4457 Tj
--261 TJm
-(in) 7.7509 Tj
--260 TJm
-(the) 12.1743 Tj
--261 TJm
-(decompressor) 55.3323 Tj
-55 TJm
-(.) 2.49065 Tj
--342 TJm
-(So) 10.5205 Tj
--260 TJm
-(it') 8.85675 Tj
-55 TJm
-(s) 3.87545 Tj
--261 TJm
-(certainly) 34.8591 Tj
--260 TJm
-(pretty) 23.2427 Tj
--261 TJm
-(rob) 13.2801 Tj
-20 TJm
-(ust,) 14.117 Tj
--263 TJm
-(although) 34.8691 Tj
--261 TJm
-(I) 3.31755 Tj
--260 TJm
-(w) 7.193 Tj
-10 TJm
-(ouldn') 26.0123 Tj
-18 TJm
-(t) 2.7696 Tj
--261 TJm
-(claim) 22.1369 Tj
-72 548.42 Td
-(it) 5.53921 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(totally) 25.4644 Tj
--250 TJm
-(bombproof.) 46.7644 Tj
-[1 0 0 1 72 546.263] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -536.519] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 526.721 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--282 TJm
-(\002le) 12.7322 Tj
-[1 0 0 1 105.84 526.721] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -105.84 -526.721] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-105.84 526.721 Td
-/F134_0 9.9626 Tf
-(bzlib.h) 41.8429 Tj
-[1 0 0 1 147.683 526.721] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -147.683 -526.721] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-150.491 526.721 Td
-/F130_0 9.9626 Tf
-(contains) 33.2053 Tj
--282 TJm
-(all) 9.9626 Tj
--282 TJm
-(de\002nitions) 42.0721 Tj
--282 TJm
-(nee) 13.8281 Tj
-1 TJm
-(ded) 14.386 Tj
--282 TJm
-(to) 7.7509 Tj
--282 TJm
-(use) 13.2801 Tj
--282 TJm
-(the) 12.1743 Tj
--282 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.49065 Tj
--811 TJm
-(In) 8.29885 Tj
--282 TJm
-(particular) 38.1767 Tj
-40 TJm
-(,) 2.49065 Tj
--290 TJm
-(you) 14.9439 Tj
--282 TJm
-(should) 26.5703 Tj
--281 TJm
-(de\002nitely) 37.6387 Tj
--282 TJm
-(not) 12.7322 Tj
--282 TJm
-(include) 29.3299 Tj
-[1 0 0 1 72 514.766] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -514.766] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 514.766 Td
-/F134_0 9.9626 Tf
-(bzlib_private.h) 89.6634 Tj
-[1 0 0 1 161.664 514.766] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.664 -514.766] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-161.664 514.766 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 513.232] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -503.488] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 493.067 Td
-/F130_0 9.9626 Tf
-(In) 8.29885 Tj
-[1 0 0 1 82.8075 493.067] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -82.8075 -493.067] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-82.8075 493.067 Td
-/F134_0 9.9626 Tf
-(bzlib.h) 41.8429 Tj
-[1 0 0 1 124.651 493.067] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -124.651 -493.067] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-124.651 493.067 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--252 TJm
-(the) 12.1743 Tj
--252 TJm
-(v) 4.9813 Tj
-25 TJm
-(arious) 24.3486 Tj
--252 TJm
-(return) 23.7907 Tj
--252 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--251 TJm
-(are) 12.1643 Tj
--252 TJm
-(de\002ned.) 31.8205 Tj
--631 TJm
-(The) 15.4918 Tj
--252 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--252 TJm
-(list) 12.1843 Tj
--251 TJm
-(is) 6.64505 Tj
--252 TJm
-(not) 12.7322 Tj
--252 TJm
-(intended) 34.3112 Tj
--252 TJm
-(as) 8.29885 Tj
--252 TJm
-(an) 9.40469 Tj
--251 TJm
-(e) 4.42339 Tj
-15 TJm
-(xhausti) 28.782 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--252 TJm
-(description) 44.2738 Tj
--252 TJm
-(of) 8.29885 Tj
-72 481.112 Td
-(the) 12.1743 Tj
--236 TJm
-(circumstances) 56.4381 Tj
--236 TJm
-(in) 7.7509 Tj
--237 TJm
-(which) 24.3486 Tj
--236 TJm
-(a) 4.42339 Tj
--236 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--236 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--236 TJm
-(may) 17.1556 Tj
--237 TJm
-(be) 9.40469 Tj
--236 TJm
-(returned) 33.1954 Tj
--236 TJm
-(--) 6.63509 Tj
--236 TJm
-(those) 21.031 Tj
--236 TJm
-(descriptions) 48.1492 Tj
--236 TJm
-(are) 12.1643 Tj
--237 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--236 TJm
-(later) 17.7035 Tj
-55 TJm
-(.) 2.49065 Tj
--305 TJm
-(Rather) 26.5603 Tj
-40 TJm
-(,) 2.49065 Tj
--239 TJm
-(it) 5.53921 Tj
--236 TJm
-(is) 6.64505 Tj
--237 TJm
-(intended) 34.3112 Tj
--236 TJm
-(to) 7.7509 Tj
-72 469.157 Td
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
-15 TJm
-(y) 4.9813 Tj
--266 TJm
-(the) 12.1743 Tj
--265 TJm
-(rough) 23.2427 Tj
--266 TJm
-(meaning) 34.3112 Tj
--265 TJm
-(of) 8.29885 Tj
--266 TJm
-(each) 18.2515 Tj
--266 TJm
-(return) 23.7907 Tj
--265 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue.) 19.0883 Tj
--714 TJm
-(The) 15.4918 Tj
--265 TJm
-(\002rst) 15.5018 Tj
--266 TJm
-(\002) 5.53921 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--265 TJm
-(actions) 28.224 Tj
--266 TJm
-(are) 12.1643 Tj
--266 TJm
-(normal) 28.224 Tj
--265 TJm
-(and) 14.386 Tj
--266 TJm
-(not) 12.7322 Tj
--265 TJm
-(intended) 34.3112 Tj
--266 TJm
-(to) 7.7509 Tj
--266 TJm
-(denote) 26.5603 Tj
--265 TJm
-(an) 9.40469 Tj
--266 TJm
-(error) 19.3573 Tj
-72 457.202 Td
-(situation.) 36.8118 Tj
-[1 0 0 1 72 457.102] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7435] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -437.615] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 425.76 Td
-/F134_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-[1 0 0 1 101.888 425.76] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -32.3786 -1.3101] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -424.449] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 413.804 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(requested) 38.1767 Tj
--250 TJm
-(action) 24.3486 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--250 TJm
-(completed) 41.5042 Tj
--250 TJm
-(successfully) 48.6972 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 411.648] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.766] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -398.138] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 388.34 Td
-/F134_0 9.9626 Tf
-(BZ_RUN_OK,) 59.7756 Tj
--600 TJm
-(BZ_FLUSH_OK,) 71.7307 Tj
--600 TJm
-(BZ_FINISH_OK) 71.7307 Tj
-[1 0 0 1 287.193 388.34] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -217.684 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -387.03] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 376.384 Td
-/F130_0 9.9626 Tf
-(In) 8.29885 Tj
-[1 0 0 1 118.79 376.384] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -118.79 -376.384] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-118.79 376.384 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 202.476 376.384] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -202.476 -376.384] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-202.476 376.384 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(requested) 38.1767 Tj
--250 TJm
-(\003ush/\002nish/nothing-special) 108.493 Tj
--250 TJm
-(action) 24.3486 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--250 TJm
-(completed) 41.5042 Tj
--250 TJm
-(successfully) 48.6972 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 374.228] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.7659] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -360.718] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 350.92 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 149.709 350.92] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -80.1993 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -349.61] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 338.965 Td
-/F130_0 9.9626 Tf
-(Compression) 52.5826 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--250 TJm
-(completed,) 43.9948 Tj
--250 TJm
-(or) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(logical) 27.1182 Tj
--250 TJm
-(stream) 26.5603 Tj
--250 TJm
-(end) 14.386 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--250 TJm
-(detected) 33.1954 Tj
--250 TJm
-(during) 26.0123 Tj
--250 TJm
-(decompression.) 62.2563 Tj
-[1 0 0 1 72 336.808] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.7659] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -313.555] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 303.756 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--250 TJm
-(indicate) 31.5416 Tj
--250 TJm
-(an) 9.40469 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(kind.) 20.2042 Tj
-[1 0 0 1 72 301.6] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -282.112] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 272.314 Td
-/F134_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-[1 0 0 1 161.664 272.314] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -92.1544 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -271.004] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 260.359 Td
-/F130_0 9.9626 Tf
-(Indicates) 35.965 Tj
--386 TJm
-(that) 14.9439 Tj
--385 TJm
-(the) 12.1743 Tj
--386 TJm
-(library) 26.5603 Tj
--386 TJm
-(has) 13.2801 Tj
--386 TJm
-(been) 18.8094 Tj
--385 TJm
-(improperly) 44.2738 Tj
--386 TJm
-(compiled) 37.0808 Tj
--386 TJm
-(on) 9.9626 Tj
--386 TJm
-(your) 18.2614 Tj
--385 TJm
-(platform) 34.3112 Tj
--386 TJm
-(--) 6.63509 Tj
--386 TJm
-(a) 4.42339 Tj
--386 TJm
-(major) 23.2427 Tj
--385 TJm
-(con\002guration) 53.1305 Tj
--386 TJm
-(error) 19.3573 Tj
-55 TJm
-(.) 2.49065 Tj
-108 248.404 Td
-(Speci\002cally) 47.0434 Tj
-65 TJm
-(,) 2.49065 Tj
--481 TJm
-(it) 5.53921 Tj
--435 TJm
-(means) 25.4544 Tj
--435 TJm
-(that) 14.9439 Tj
-[1 0 0 1 220.614 248.404] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -220.614 -248.404] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-220.614 248.404 Td
-/F134_0 9.9626 Tf
-(sizeof\(char\)) 71.7307 Tj
-[1 0 0 1 292.345 248.404] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -292.345 -248.404] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-292.345 248.404 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 299.628 248.404] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -299.628 -248.404] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-299.628 248.404 Td
-/F134_0 9.9626 Tf
-(sizeof\(short\)) 77.7083 Tj
-[1 0 0 1 377.337 248.404] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -377.337 -248.404] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-381.669 248.404 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 400.388 248.404] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -400.388 -248.404] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-400.388 248.404 Td
-/F134_0 9.9626 Tf
-(sizeof\(int\)) 65.7532 Tj
-[1 0 0 1 466.141 248.404] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -466.141 -248.404] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-470.474 248.404 Td
-/F130_0 9.9626 Tf
-(are) 12.1643 Tj
--435 TJm
-(not) 12.7322 Tj
--435 TJm
-(1,) 7.47195 Tj
--481 TJm
-(2) 4.9813 Tj
--435 TJm
-(and) 14.386 Tj
-108 236.449 Td
-(4) 4.9813 Tj
--389 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(,) 2.49065 Tj
--424 TJm
-(as) 8.29885 Tj
--390 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--389 TJm
-(should) 26.5703 Tj
--389 TJm
-(be.) 11.8953 Tj
--1456 TJm
-(Note) 19.3673 Tj
--389 TJm
-(that) 14.9439 Tj
--389 TJm
-(the) 12.1743 Tj
--389 TJm
-(library) 26.5603 Tj
--390 TJm
-(should) 26.5703 Tj
--389 TJm
-(still) 14.9539 Tj
--389 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--389 TJm
-(properly) 33.7533 Tj
--390 TJm
-(on) 9.9626 Tj
--389 TJm
-(64-bit) 23.8007 Tj
--389 TJm
-(platforms) 38.1866 Tj
-108 224.493 Td
-(which) 24.3486 Tj
--292 TJm
-(follo) 18.8194 Tj
-25 TJm
-(w) 7.193 Tj
--292 TJm
-(the) 12.1743 Tj
--292 TJm
-(LP64) 21.589 Tj
--292 TJm
-(programming) 54.2364 Tj
--293 TJm
-(model) 24.9065 Tj
--292 TJm
-(--) 6.63509 Tj
--292 TJm
-(that) 14.9439 Tj
--292 TJm
-(is,) 9.1357 Tj
--303 TJm
-(where) 24.3386 Tj
-[1 0 0 1 355.279 224.493] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -355.279 -224.493] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-355.279 224.493 Td
-/F134_0 9.9626 Tf
-(sizeof\(long\)) 71.7307 Tj
-[1 0 0 1 427.01 224.493] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -427.01 -224.493] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-429.92 224.493 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 447.217 224.493] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -447.217 -224.493] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-447.217 224.493 Td
-/F134_0 9.9626 Tf
-(sizeof\(void) 65.7532 Tj
-512.97 222.75 Td
-(*) 5.97756 Tj
-518.948 224.493 Td
-(\)) 5.97756 Tj
-[1 0 0 1 524.925 224.493] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -524.925 -224.493] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-527.836 224.493 Td
-/F130_0 9.9626 Tf
-(are) 12.1643 Tj
-108 212.538 Td
-(8.) 7.47195 Tj
--620 TJm
-(Under) 24.8965 Tj
--250 TJm
-(LP64,) 24.0796 Tj
-[1 0 0 1 175.606 212.538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -175.606 -212.538] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-175.606 212.538 Td
-/F134_0 9.9626 Tf
-(sizeof\(int\)) 65.7532 Tj
-[1 0 0 1 241.36 212.538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -241.36 -212.538] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-243.85 212.538 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(still) 14.9539 Tj
--250 TJm
-(4,) 7.47195 Tj
--250 TJm
-(so) 8.85675 Tj
-[1 0 0 1 291.74 212.538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -291.74 -212.538] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-291.74 212.538 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 339.56 212.538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -339.56 -212.538] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-339.56 212.538 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(the) 12.1743 Tj
-[1 0 0 1 433.458 212.538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -433.458 -212.538] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-433.458 212.538 Td
-/F134_0 9.9626 Tf
-(long) 23.9102 Tj
-[1 0 0 1 457.368 212.538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -457.368 -212.538] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-459.859 212.538 Td
-/F130_0 9.9626 Tf
-(type,) 19.6462 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(OK.) 16.8766 Tj
-[1 0 0 1 72 210.381] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.7659] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -196.872] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 187.074 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-[1 0 0 1 173.619 187.074] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -104.11 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -185.764] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 175.118 Td
-/F130_0 9.9626 Tf
-(When) 23.7907 Tj
--291 TJm
-(using) 21.589 Tj
--290 TJm
-(the) 12.1743 Tj
--291 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--300 TJm
-(it) 5.53921 Tj
--291 TJm
-(is) 6.64505 Tj
--290 TJm
-(important) 38.7446 Tj
--291 TJm
-(to) 7.7509 Tj
--290 TJm
-(call) 14.386 Tj
--291 TJm
-(the) 12.1743 Tj
--290 TJm
-(functions) 37.0808 Tj
--291 TJm
-(in) 7.7509 Tj
--290 TJm
-(the) 12.1743 Tj
--291 TJm
-(correct) 27.6562 Tj
--290 TJm
-(sequence) 36.5129 Tj
--291 TJm
-(and) 14.386 Tj
--290 TJm
-(with) 17.7135 Tj
--291 TJm
-(data) 16.5977 Tj
--290 TJm
-(structures) 38.7346 Tj
-108 163.163 Td
-(\(b) 8.29885 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fers) 14.9339 Tj
--206 TJm
-(etc\)) 14.9339 Tj
--205 TJm
-(in) 7.7509 Tj
--206 TJm
-(the) 12.1743 Tj
--205 TJm
-(correct) 27.6562 Tj
--206 TJm
-(states.) 24.6275 Tj
-[1 0 0 1 239.409 163.163] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -239.409 -163.163] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-239.409 163.163 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 287.23 163.163] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -287.23 -163.163] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-289.278 163.163 Td
-/F130_0 9.9626 Tf
-(checks) 27.1082 Tj
--206 TJm
-(as) 8.29885 Tj
--205 TJm
-(much) 22.1369 Tj
--206 TJm
-(as) 8.29885 Tj
--205 TJm
-(it) 5.53921 Tj
--206 TJm
-(can) 13.8281 Tj
--206 TJm
-(to) 7.7509 Tj
--205 TJm
-(ensure) 26.0024 Tj
--206 TJm
-(this) 14.396 Tj
--206 TJm
-(is) 6.64505 Tj
--205 TJm
-(happening,) 43.9948 Tj
--215 TJm
-(and) 14.386 Tj
--205 TJm
-(returns) 27.6661 Tj
-[1 0 0 1 108 151.208] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -108 -151.208] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 151.208 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-[1 0 0 1 209.619 151.208] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -209.619 -151.208] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-213.27 151.208 Td
-/F130_0 9.9626 Tf
-(if) 6.08715 Tj
--367 TJm
-(not.) 15.2229 Tj
--659 TJm
-(Code) 21.031 Tj
--367 TJm
-(which) 24.3486 Tj
--367 TJm
-(complies) 35.9749 Tj
--366 TJm
-(precisely) 35.965 Tj
--367 TJm
-(with) 17.7135 Tj
--366 TJm
-(the) 12.1743 Tj
--367 TJm
-(function) 33.2053 Tj
--366 TJm
-(semantics,) 41.7831 Tj
--396 TJm
-(as) 8.29885 Tj
--367 TJm
-(detailed) 31.5416 Tj
-108 139.253 Td
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(ne) 9.40469 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--250 TJm
-(recei) 19.3573 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue;) 19.3673 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(an) 9.40469 Tj
--250 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ent) 12.1743 Tj
--250 TJm
-(denotes) 30.4357 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uggy) 19.9252 Tj
--250 TJm
-(code) 18.8094 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(estig) 18.8194 Tj
-5 TJm
-(ate.) 14.107 Tj
-[1 0 0 1 72 137.096] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.7659] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7436] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -123.587] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 113.788 Td
-/F134_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-[1 0 0 1 155.686 113.788] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.1768 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -112.478] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 101.833 Td
-/F130_0 9.9626 Tf
-(Returned) 36.5229 Tj
--434 TJm
-(when) 21.579 Tj
--434 TJm
-(a) 4.42339 Tj
--434 TJm
-(parameter) 39.8305 Tj
--434 TJm
-(to) 7.7509 Tj
--434 TJm
-(a) 4.42339 Tj
--433 TJm
-(function) 33.2053 Tj
--434 TJm
-(call) 14.386 Tj
--434 TJm
-(is) 6.64505 Tj
--434 TJm
-(out) 12.7322 Tj
--434 TJm
-(of) 8.29885 Tj
--434 TJm
-(range) 22.1269 Tj
--434 TJm
-(or) 8.29885 Tj
--434 TJm
-(otherwise) 38.7346 Tj
--434 TJm
-(manifestly) 42.0621 Tj
--434 TJm
-(incorrect.) 37.8977 Tj
--1723 TJm
-(As) 11.0684 Tj
-108 89.8778 Td
-(with) 17.7135 Tj
-[1 0 0 1 131.644 89.8778] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -131.644 -89.8778] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-131.644 89.8778 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-[1 0 0 1 233.263 89.8778] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -233.263 -89.8778] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-233.263 89.8778 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--595 TJm
-(this) 14.396 Tj
--596 TJm
-(denotes) 30.4357 Tj
--595 TJm
-(a) 4.42339 Tj
--595 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--596 TJm
-(in) 7.7509 Tj
--595 TJm
-(the) 12.1743 Tj
--595 TJm
-(client) 22.1369 Tj
--595 TJm
-(code.) 21.3 Tj
--2692 TJm
-(The) 15.4918 Tj
--596 TJm
-(distinction) 42.0721 Tj
--595 TJm
-(between) 33.1954 Tj
-[1 0 0 1 108 77.9227] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -108 -77.9227] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 77.9227 Td
-/F134_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-[1 0 0 1 191.686 77.9227] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -191.686 -77.9227] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-194.177 77.9227 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 211.053 77.9227] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -211.053 -77.9227] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-211.053 77.9227 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-[1 0 0 1 312.672 77.9227] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -312.672 -77.9227] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-315.163 77.9227 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(bit) 10.5205 Tj
--250 TJm
-(hazy) 18.8094 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(still) 14.9539 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(orth) 16.0497 Tj
--250 TJm
-(making.) 32.3785 Tj
-[1 0 0 1 72 75.7659] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.7659] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -21.1482] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(10) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 14 14
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F134_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-[1 0 0 1 143.731 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -74.2217 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -708.727] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 698.082 Td
-/F130_0 9.9626 Tf
-(Returned) 36.5229 Tj
--228 TJm
-(when) 21.579 Tj
--227 TJm
-(a) 4.42339 Tj
--228 TJm
-(request) 28.772 Tj
--227 TJm
-(to) 7.7509 Tj
--228 TJm
-(allocate) 30.9837 Tj
--228 TJm
-(memory) 33.2053 Tj
--227 TJm
-(f) 3.31755 Tj
-10 TJm
-(ailed.) 21.8579 Tj
--605 TJm
-(Note) 19.3673 Tj
--228 TJm
-(that) 14.9439 Tj
--228 TJm
-(the) 12.1743 Tj
--227 TJm
-(quantity) 32.6574 Tj
--228 TJm
-(of) 8.29885 Tj
--227 TJm
-(memory) 33.2053 Tj
--228 TJm
-(needed) 28.2141 Tj
--228 TJm
-(to) 7.7509 Tj
--227 TJm
-(decompress) 47.0334 Tj
-108 686.127 Td
-(a) 4.42339 Tj
--351 TJm
-(stream) 26.5603 Tj
--352 TJm
-(cannot) 26.5603 Tj
--351 TJm
-(be) 9.40469 Tj
--352 TJm
-(determined) 44.8217 Tj
--351 TJm
-(until) 18.2714 Tj
--352 TJm
-(the) 12.1743 Tj
--351 TJm
-(stream') 29.8778 Tj
-55 TJm
-(s) 3.87545 Tj
--351 TJm
-(header) 26.5503 Tj
--352 TJm
-(has) 13.2801 Tj
--351 TJm
-(been) 18.8094 Tj
--352 TJm
-(read.) 19.6363 Tj
--1228 TJm
-(So) 10.5205 Tj
-[1 0 0 1 426.471 686.127] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -426.471 -686.127] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-426.471 686.127 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 522.113 686.127] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -522.113 -686.127] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-525.614 686.127 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 108 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -108 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 674.172 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 167.776 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -167.776 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-172.13 674.172 Td
-/F130_0 9.9626 Tf
-(may) 17.1556 Tj
--437 TJm
-(return) 23.7907 Tj
-[1 0 0 1 221.784 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -221.784 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-221.784 674.172 Td
-/F134_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-[1 0 0 1 293.515 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -293.515 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-297.867 674.172 Td
-/F130_0 9.9626 Tf
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--437 TJm
-(though) 27.6761 Tj
--437 TJm
-(some) 21.031 Tj
--437 TJm
-(of) 8.29885 Tj
--437 TJm
-(the) 12.1743 Tj
--437 TJm
-(compressed) 47.0334 Tj
--437 TJm
-(data) 16.5977 Tj
--437 TJm
-(has) 13.2801 Tj
--437 TJm
-(been) 18.8094 Tj
--437 TJm
-(read.) 19.6363 Tj
-108 662.217 Td
-(The) 15.4918 Tj
--479 TJm
-(same) 20.4731 Tj
--478 TJm
-(is) 6.64505 Tj
--479 TJm
-(not) 12.7322 Tj
--478 TJm
-(true) 15.4918 Tj
--479 TJm
-(for) 11.6164 Tj
--479 TJm
-(compression;) 53.1305 Tj
--593 TJm
-(once) 18.8094 Tj
-[1 0 0 1 301.675 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -301.675 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-301.675 662.217 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 409.271 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -409.271 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-414.04 662.217 Td
-/F130_0 9.9626 Tf
-(or) 8.29885 Tj
-[1 0 0 1 427.107 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -427.107 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-427.107 662.217 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-[1 0 0 1 516.771 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -516.771 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-521.539 662.217 Td
-/F130_0 9.9626 Tf
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
-108 650.262 Td
-(successfully) 48.6972 Tj
--250 TJm
-(completed,) 43.9948 Tj
-[1 0 0 1 205.672 650.261] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -205.672 -650.261] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-205.672 650.261 Td
-/F134_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-[1 0 0 1 277.403 650.261] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -277.403 -650.261] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-279.894 650.261 Td
-/F130_0 9.9626 Tf
-(cannot) 26.5603 Tj
--250 TJm
-(occur) 22.1269 Tj
-55 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 648.105] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -634.157] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 624.359 Td
-/F134_0 9.9626 Tf
-(BZ_DATA_ERROR) 77.7083 Tj
-[1 0 0 1 149.709 624.359] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -80.1993 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -623.049] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 612.404 Td
-/F130_0 9.9626 Tf
-(Returned) 36.5229 Tj
--266 TJm
-(when) 21.579 Tj
--265 TJm
-(a) 4.42339 Tj
--266 TJm
-(data) 16.5977 Tj
--265 TJm
-(inte) 14.9439 Tj
-15 TJm
-(grity) 18.8194 Tj
--266 TJm
-(error) 19.3573 Tj
--266 TJm
-(is) 6.64505 Tj
--265 TJm
-(detected) 33.1954 Tj
--266 TJm
-(during) 26.0123 Tj
--265 TJm
-(decompression.) 62.2563 Tj
--714 TJm
-(Most) 20.4831 Tj
--266 TJm
-(importantl) 41.5142 Tj
-1 TJm
-(y) 4.9813 Tj
-64 TJm
-(,) 2.49065 Tj
--269 TJm
-(this) 14.396 Tj
--266 TJm
-(means) 25.4544 Tj
--265 TJm
-(when) 21.579 Tj
-108 600.448 Td
-(stored) 24.3486 Tj
--222 TJm
-(and) 14.386 Tj
--223 TJm
-(computed) 39.2925 Tj
--222 TJm
-(CRCs) 23.8106 Tj
--222 TJm
-(for) 11.6164 Tj
--222 TJm
-(the) 12.1743 Tj
--223 TJm
-(data) 16.5977 Tj
--222 TJm
-(do) 9.9626 Tj
--222 TJm
-(not) 12.7322 Tj
--222 TJm
-(match.) 26.8392 Tj
--602 TJm
-(This) 17.7135 Tj
--222 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--222 TJm
-(is) 6.64505 Tj
--223 TJm
-(also) 16.0497 Tj
--222 TJm
-(returned) 33.1954 Tj
--222 TJm
-(upon) 19.9252 Tj
--222 TJm
-(detection) 36.5229 Tj
--223 TJm
-(of) 8.29885 Tj
--222 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--222 TJm
-(other) 20.4731 Tj
-108 588.493 Td
-(anomaly) 34.3112 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data.) 19.0883 Tj
-[1 0 0 1 72 586.336] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -572.389] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 562.59 Td
-/F134_0 9.9626 Tf
-(BZ_DATA_ERROR_MAGIC) 113.574 Tj
-[1 0 0 1 185.574 562.59] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -116.065 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -561.28] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 550.635 Td
-/F130_0 9.9626 Tf
-(As) 11.0684 Tj
--306 TJm
-(a) 4.42339 Tj
--306 TJm
-(special) 27.6661 Tj
--306 TJm
-(case) 17.1456 Tj
--307 TJm
-(of) 8.29885 Tj
-[1 0 0 1 191.852 550.635] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -191.852 -550.635] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-191.852 550.635 Td
-/F134_0 9.9626 Tf
-(BZ_DATA_ERROR) 77.7083 Tj
-[1 0 0 1 269.561 550.635] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -269.561 -550.635] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-269.561 550.635 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--306 TJm
-(it) 5.53921 Tj
--306 TJm
-(is) 6.64505 Tj
--306 TJm
-(sometimes) 42.62 Tj
--307 TJm
-(usef) 16.5977 Tj
-1 TJm
-(ul) 7.7509 Tj
--307 TJm
-(to) 7.7509 Tj
--306 TJm
-(kno) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
--306 TJm
-(when) 21.579 Tj
--306 TJm
-(the) 12.1743 Tj
--306 TJm
-(compressed) 47.0334 Tj
--306 TJm
-(stream) 26.5603 Tj
--306 TJm
-(does) 18.2614 Tj
-108 538.68 Td
-(not) 12.7322 Tj
--250 TJm
-(start) 17.1556 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(correct) 27.6562 Tj
--250 TJm
-(magic) 24.3486 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(\() 3.31755 Tj
-[1 0 0 1 261.562 538.68] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -261.562 -538.68] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-261.562 538.68 Td
-/F134_0 9.9626 Tf
-('B') 17.9327 Tj
--600 TJm
-('Z') 17.9327 Tj
--600 TJm
-('h') 17.9327 Tj
-[1 0 0 1 327.316 538.68] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -327.316 -538.68] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-327.316 538.68 Td
-/F130_0 9.9626 Tf
-(\).) 5.8082 Tj
-[1 0 0 1 72 536.523] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -522.576] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 512.777 Td
-/F134_0 9.9626 Tf
-(BZ_IO_ERROR) 65.7532 Tj
-[1 0 0 1 137.753 512.777] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -68.2441 -1.3101] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -511.467] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 500.822 Td
-/F130_0 9.9626 Tf
-(Returned) 36.5229 Tj
--233 TJm
-(by) 9.9626 Tj
-[1 0 0 1 159.123 500.822] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -159.123 -500.822] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-159.123 500.822 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 218.899 500.822] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -218.899 -500.822] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-221.218 500.822 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 237.923 500.822] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -237.923 -500.822] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-237.923 500.822 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-[1 0 0 1 303.676 500.822] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -303.676 -500.822] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-305.995 500.822 Td
-/F130_0 9.9626 Tf
-(when) 21.579 Tj
--233 TJm
-(there) 19.9152 Tj
--232 TJm
-(is) 6.64505 Tj
--233 TJm
-(an) 9.40469 Tj
--233 TJm
-(error) 19.3573 Tj
--233 TJm
-(reading) 29.8778 Tj
--232 TJm
-(or) 8.29885 Tj
--233 TJm
-(writing) 28.782 Tj
--233 TJm
-(in) 7.7509 Tj
--233 TJm
-(the) 12.1743 Tj
--232 TJm
-(compressed) 47.0334 Tj
-108 488.867 Td
-(\002le,) 15.2229 Tj
--384 TJm
-(and) 14.386 Tj
--357 TJm
-(by) 9.9626 Tj
-[1 0 0 1 158.511 488.867] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -158.511 -488.867] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-158.511 488.867 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-[1 0 0 1 242.197 488.867] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -242.197 -488.867] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-245.755 488.867 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 263.698 488.867] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -263.698 -488.867] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-263.698 488.867 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-[1 0 0 1 353.362 488.867] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -353.362 -488.867] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-356.92 488.867 Td
-/F130_0 9.9626 Tf
-(for) 11.6164 Tj
--357 TJm
-(attempts) 33.7633 Tj
--357 TJm
-(to) 7.7509 Tj
--357 TJm
-(use) 13.2801 Tj
--357 TJm
-(a) 4.42339 Tj
--357 TJm
-(\002le) 12.7322 Tj
--357 TJm
-(for) 11.6164 Tj
--358 TJm
-(which) 24.3486 Tj
--357 TJm
-(the) 12.1743 Tj
--357 TJm
-(error) 19.3573 Tj
-108 476.912 Td
-(indicator) 35.417 Tj
--260 TJm
-(\(viz,) 17.9825 Tj
-[1 0 0 1 166.603 476.912] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -166.603 -476.912] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-166.603 476.912 Td
-/F134_0 9.9626 Tf
-(ferror\(f\)) 53.798 Tj
-[1 0 0 1 220.401 476.912] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -220.401 -476.912] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-220.401 476.912 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--260 TJm
-(is) 6.64505 Tj
--260 TJm
-(set.) 13.5591 Tj
--679 TJm
-(On) 12.1743 Tj
--260 TJm
-(receipt) 27.1082 Tj
--260 TJm
-(of) 8.29885 Tj
-[1 0 0 1 311.223 476.912] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -311.223 -476.912] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-311.223 476.912 Td
-/F134_0 9.9626 Tf
-(BZ_IO_ERROR) 65.7532 Tj
-[1 0 0 1 376.976 476.912] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -376.976 -476.912] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-376.976 476.912 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--260 TJm
-(the) 12.1743 Tj
--260 TJm
-(caller) 22.1269 Tj
--260 TJm
-(should) 26.5703 Tj
--260 TJm
-(consult) 28.782 Tj
-[1 0 0 1 482.068 476.912] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -482.068 -476.912] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-482.068 476.912 Td
-/F134_0 9.9626 Tf
-(errno) 29.8878 Tj
-[1 0 0 1 511.956 476.912] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.956 -476.912] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-514.546 476.912 Td
-/F130_0 9.9626 Tf
-(and/or) 25.4544 Tj
-[1 0 0 1 108 464.957] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -108 -464.957] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 464.957 Td
-/F134_0 9.9626 Tf
-(perror) 35.8654 Tj
-[1 0 0 1 143.865 464.957] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.865 -464.957] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-146.356 464.957 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(acquire) 29.3199 Tj
--250 TJm
-(operating-system) 68.6224 Tj
--250 TJm
-(speci\002c) 30.4357 Tj
--250 TJm
-(information) 47.0434 Tj
--250 TJm
-(about) 22.1369 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(problem.) 35.696 Tj
-[1 0 0 1 72 462.8] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.9849] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -448.852] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 439.054 Td
-/F134_0 9.9626 Tf
-(BZ_UNEXPECTED_EOF) 101.619 Tj
-[1 0 0 1 173.619 439.054] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -104.11 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -437.744] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 427.099 Td
-/F130_0 9.9626 Tf
-(Returned) 36.5229 Tj
--250 TJm
-(by) 9.9626 Tj
-[1 0 0 1 159.467 427.099] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -159.467 -427.099] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-159.467 427.099 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 219.242 427.099] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -219.242 -427.099] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-221.733 427.099 Td
-/F130_0 9.9626 Tf
-(when) 21.579 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(\002nishes) 30.4457 Tj
--250 TJm
-(before) 25.4445 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(logical) 27.1182 Tj
--250 TJm
-(end) 14.386 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(stream) 26.5603 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(detected.) 35.686 Tj
-[1 0 0 1 72 424.942] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -410.994] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 401.196 Td
-/F134_0 9.9626 Tf
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-[1 0 0 1 161.664 401.196] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -92.1544 -1.31] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -399.886] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-108 389.241 Td
-/F130_0 9.9626 Tf
-(Returned) 36.5229 Tj
--258 TJm
-(by) 9.9626 Tj
-[1 0 0 1 159.632 389.241] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -159.632 -389.241] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-159.632 389.241 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffCompress) 143.461 Tj
-[1 0 0 1 303.094 389.241] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -303.094 -389.241] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-305.668 389.241 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 322.627 389.241] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -322.627 -389.241] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-322.627 389.241 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.417 Tj
-[1 0 0 1 478.044 389.241] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -478.044 -389.241] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-480.618 389.241 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--258 TJm
-(indicate) 31.5416 Tj
--259 TJm
-(that) 14.9439 Tj
-108 377.286 Td
-(the) 12.1743 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(\002t) 8.30881 Tj
--250 TJm
-(into) 15.5018 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--250 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vided.) 24.6275 Tj
-[1 0 0 1 72 375.129] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -3.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -351.218] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 328.585 Td
-/F122_0 20.6585 Tf
-(3.3.) 34.4584 Tj
--278 TJm
-(Lo) 25.2447 Tj
-15 TJm
-(w-le) 40.1808 Tj
-15 TJm
-(vel) 28.7153 Tj
--278 TJm
-(interface) 86.1046 Tj
-[1 0 0 1 72 328.327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -318.364] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 297.964 Td
-/F122_0 17.2154 Tf
-(3.3.1.) 43.0729 Tj
-[1 0 0 1 119.858 297.964] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -297.964] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 297.964 Td
-/F392_0 17.2154 Tf
-(BZ2_bzCompressInit) 185.926 Tj
-[1 0 0 1 305.785 297.964] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -233.785 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -244.779] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.8518] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.8518 Td
-/F130_0 9.9626 Tf
-(11) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 15 15
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -296.523] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 274.969 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 271.382] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(typedef) 41.8429 Tj
--426 TJm
-(struct) 35.8654 Tj
--426 TJm
-({) 5.97756 Tj
-98.4879 699.676 Td
-(char) 23.9102 Tj
-126.642 697.933 Td
-(*) 5.97756 Tj
-132.62 699.676 Td
-(next_in;) 47.8205 Tj
-98.4879 687.721 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(avail_in;) 53.798 Tj
-98.4879 675.766 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(total_in_lo32;) 83.6858 Tj
-98.4879 663.811 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(total_in_hi32;) 83.6858 Tj
-98.4879 639.9 Td
-(char) 23.9102 Tj
-126.642 638.157 Td
-(*) 5.97756 Tj
-132.62 639.9 Td
-(next_out;) 53.798 Tj
-98.4879 627.945 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(avail_out;) 59.7756 Tj
-98.4879 615.99 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(total_out_lo32;) 89.6634 Tj
-98.4879 604.035 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(total_out_hi32;) 89.6634 Tj
-98.4879 580.125 Td
-(void) 23.9102 Tj
-126.642 578.381 Td
-(*) 5.97756 Tj
-132.62 580.125 Td
-(state;) 35.8654 Tj
-98.4879 556.214 Td
-(void) 23.9102 Tj
-126.642 554.471 Td
-(*) 5.97756 Tj
-132.62 556.214 Td
-(\() 5.97756 Tj
-138.597 554.471 Td
-(*) 5.97756 Tj
-144.575 556.214 Td
-(bzalloc\)\(void) 77.7083 Tj
-226.527 554.471 Td
-(*) 5.97756 Tj
-232.505 556.214 Td
-(,int,int\);) 59.7756 Tj
-98.4879 544.259 Td
-(void) 23.9102 Tj
--426 TJm
-(\() 5.97756 Tj
-132.62 542.516 Td
-(*) 5.97756 Tj
-138.597 544.259 Td
-(bzfree\)\(void) 71.7307 Tj
-214.572 542.516 Td
-(*) 5.97756 Tj
-220.55 544.259 Td
-(,void) 29.8878 Tj
-254.682 542.516 Td
-(*) 5.97756 Tj
-260.659 544.259 Td
-(\);) 11.9551 Tj
-98.4879 532.304 Td
-(void) 23.9102 Tj
-126.642 530.56 Td
-(*) 5.97756 Tj
-132.62 532.304 Td
-(opaque;) 41.8429 Tj
-89.9999 520.349 Td
-(}) 5.97756 Tj
--426 TJm
-(bz_stream;) 59.7756 Tj
-89.9999 496.438 Td
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzCompressInit) 107.596 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-292.281 494.695 Td
-(*) 5.97756 Tj
-298.258 496.438 Td
-(strm,) 29.8878 Tj
-196.099 484.483 Td
-(int) 17.9327 Tj
--426 TJm
-(blockSize100k,) 83.6858 Tj
-196.099 472.528 Td
-(int) 17.9327 Tj
--426 TJm
-(verbosity,) 59.7756 Tj
-196.099 460.573 Td
-(int) 17.9327 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 445.031] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -435.068] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 423.113 Td
-/F130_0 9.9626 Tf
-(Prepares) 34.3012 Tj
--356 TJm
-(for) 11.6164 Tj
--356 TJm
-(compression.) 52.8516 Tj
--1256 TJm
-(The) 15.4918 Tj
-[1 0 0 1 209.409 423.113] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -209.409 -423.113] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-209.409 423.113 Td
-/F134_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-[1 0 0 1 263.208 423.113] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -263.208 -423.113] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-266.754 423.113 Td
-/F130_0 9.9626 Tf
-(structure) 34.8591 Tj
--356 TJm
-(holds) 21.589 Tj
--356 TJm
-(all) 9.9626 Tj
--356 TJm
-(data) 16.5977 Tj
--356 TJm
-(pertaining) 40.3983 Tj
--356 TJm
-(to) 7.7509 Tj
--356 TJm
-(the) 12.1743 Tj
--356 TJm
-(compression) 50.3609 Tj
--355 TJm
-(acti) 14.386 Tj
-25 TJm
-(vity) 15.5018 Tj
-65 TJm
-(.) 2.49065 Tj
--1256 TJm
-(A) 7.193 Tj
-[1 0 0 1 72 411.158] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -411.158] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 411.158 Td
-/F134_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-[1 0 0 1 125.798 411.158] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -125.798 -411.158] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-128.581 411.158 Td
-/F130_0 9.9626 Tf
-(structure) 34.8591 Tj
--279 TJm
-(should) 26.5703 Tj
--280 TJm
-(be) 9.40469 Tj
--279 TJm
-(allocated) 35.965 Tj
--279 TJm
-(and) 14.386 Tj
--280 TJm
-(initialised) 39.3025 Tj
--279 TJm
-(prior) 19.3673 Tj
--279 TJm
-(to) 7.7509 Tj
--279 TJm
-(the) 12.1743 Tj
--280 TJm
-(call.) 16.8766 Tj
--796 TJm
-(The) 15.4918 Tj
--279 TJm
-(\002elds) 21.589 Tj
--279 TJm
-(of) 8.29885 Tj
-[1 0 0 1 431.939 411.158] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -431.939 -411.158] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-431.939 411.158 Td
-/F134_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-[1 0 0 1 485.738 411.158] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -485.738 -411.158] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-488.52 411.158 Td
-/F130_0 9.9626 Tf
-(comprise) 36.5229 Tj
--279 TJm
-(the) 12.1743 Tj
-72 399.203 Td
-(entirety) 30.4357 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(user) 16.5977 Tj
-20 TJm
-(-visible) 29.8878 Tj
--250 TJm
-(data.) 19.0883 Tj
-[1 0 0 1 204.422 399.203] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.422 -399.203] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-204.422 399.203 Td
-/F134_0 9.9626 Tf
-(state) 29.8878 Tj
-[1 0 0 1 234.31 399.203] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -234.31 -399.203] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-236.8 399.203 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(pointer) 28.224 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(pri) 11.0684 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ate) 11.6164 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(structures) 38.7346 Tj
--250 TJm
-(required) 33.1954 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(compression.) 52.8516 Tj
-[1 0 0 1 72 397.046] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -387.083] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 377.285 Td
-/F130_0 9.9626 Tf
-(Custom) 31.0036 Tj
--372 TJm
-(memory) 33.2053 Tj
--372 TJm
-(allocators) 38.7346 Tj
--372 TJm
-(are) 12.1643 Tj
--372 TJm
-(supported,) 41.7831 Tj
--403 TJm
-(via) 12.1743 Tj
--372 TJm
-(\002elds) 21.589 Tj
-[1 0 0 1 288.908 377.285] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -288.908 -377.285] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-288.908 377.285 Td
-/F134_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-[1 0 0 1 330.751 377.285] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -330.751 -377.285] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-330.751 377.285 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 337.253 377.285] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -337.253 -377.285] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-337.253 377.285 Td
-/F134_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-[1 0 0 1 373.118 377.285] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -373.118 -377.285] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-373.118 377.285 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--403 TJm
-(and) 14.386 Tj
-[1 0 0 1 397.714 377.285] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -397.714 -377.285] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-397.714 377.285 Td
-/F134_0 9.9626 Tf
-(opaque) 35.8654 Tj
-[1 0 0 1 433.579 377.285] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -433.579 -377.285] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-433.579 377.285 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1353 TJm
-(The) 15.4918 Tj
--372 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
-[1 0 0 1 493.782 377.285] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.782 -377.285] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-493.782 377.285 Td
-/F134_0 9.9626 Tf
-(opaque) 35.8654 Tj
-[1 0 0 1 529.648 377.285] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -529.648 -377.285] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-533.355 377.285 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
-72 365.33 Td
-(passed) 26.5603 Tj
--306 TJm
-(to) 7.7509 Tj
--306 TJm
-(as) 8.29885 Tj
--306 TJm
-(the) 12.1743 Tj
--306 TJm
-(\002rst) 15.5018 Tj
--306 TJm
-(ar) 7.74094 Tj
-18 TJm
-(gument) 29.8878 Tj
--306 TJm
-(to) 7.7509 Tj
--306 TJm
-(all) 9.9626 Tj
--306 TJm
-(calls) 18.2614 Tj
--305 TJm
-(to) 7.7509 Tj
-[1 0 0 1 253.941 365.33] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -253.941 -365.33] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-253.941 365.33 Td
-/F134_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-[1 0 0 1 295.784 365.33] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -295.784 -365.33] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-298.832 365.33 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 316.266 365.33] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -316.266 -365.33] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-316.266 365.33 Td
-/F134_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-[1 0 0 1 352.132 365.33] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -352.132 -365.33] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-352.132 365.33 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--320 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--306 TJm
-(is) 6.64505 Tj
--306 TJm
-(otherwise) 38.7346 Tj
--306 TJm
-(ignored) 30.4357 Tj
--306 TJm
-(by) 9.9626 Tj
--306 TJm
-(the) 12.1743 Tj
--306 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.49065 Tj
--955 TJm
-(The) 15.4918 Tj
-72 353.375 Td
-(call) 14.386 Tj
-[1 0 0 1 89.4309 353.375] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -89.4309 -353.375] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-89.4309 353.375 Td
-/F134_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
--600 TJm
-(\() 5.97756 Tj
--600 TJm
-(opaque,) 41.8429 Tj
--600 TJm
-(n,) 11.9551 Tj
--600 TJm
-(m) 5.97756 Tj
--600 TJm
-(\)) 5.97756 Tj
-[1 0 0 1 232.893 353.375] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -232.893 -353.375] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-235.938 353.375 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--306 TJm
-(e) 4.42339 Tj
-15 TJm
-(xpected) 30.9837 Tj
--305 TJm
-(to) 7.7509 Tj
--306 TJm
-(return) 23.7907 Tj
--306 TJm
-(a) 4.42339 Tj
--305 TJm
-(pointer) 28.224 Tj
-[1 0 0 1 360.3 353.375] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -360.3 -353.375] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-360.3 353.375 Td
-/F134_0 9.9626 Tf
-(p) 5.97756 Tj
-[1 0 0 1 366.277 353.375] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -366.277 -353.375] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-369.322 353.375 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
-[1 0 0 1 380.118 353.375] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -380.118 -353.375] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-380.118 353.375 Td
-/F134_0 9.9626 Tf
-(n) 5.97756 Tj
-392.073 351.631 Td
-(*) 5.97756 Tj
-404.029 353.375 Td
-(m) 5.97756 Tj
-[1 0 0 1 410.006 353.375] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -410.006 -353.375] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-413.051 353.375 Td
-/F130_0 9.9626 Tf
-(bytes) 21.031 Tj
--306 TJm
-(of) 8.29885 Tj
--305 TJm
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.49065 Tj
--320 TJm
-(and) 14.386 Tj
-[1 0 0 1 504.135 353.375] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -504.135 -353.375] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-504.135 353.375 Td
-/F134_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-72 341.42 Td
-(\() 5.97756 Tj
--600 TJm
-(opaque,) 41.8429 Tj
--600 TJm
-(p) 5.97756 Tj
--600 TJm
-(\)) 5.97756 Tj
-[1 0 0 1 149.709 341.42] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -149.709 -341.42] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-152.199 341.42 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--250 TJm
-(free) 15.4819 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 339.263] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -329.3] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 319.502 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--280 TJm
-(you) 14.9439 Tj
--280 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--280 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--279 TJm
-(to) 7.7509 Tj
--280 TJm
-(use) 13.2801 Tj
--280 TJm
-(a) 4.42339 Tj
--280 TJm
-(custom) 28.782 Tj
--280 TJm
-(memory) 33.2053 Tj
--279 TJm
-(allocator) 34.8591 Tj
-40 TJm
-(,) 2.49065 Tj
--288 TJm
-(set) 11.0684 Tj
-[1 0 0 1 299.9 319.502] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -299.9 -319.502] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-299.9 319.502 Td
-/F134_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-[1 0 0 1 341.743 319.502] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -341.743 -319.502] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-341.743 319.502 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 347.096 319.502] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -347.096 -319.502] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-347.096 319.502 Td
-/F134_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-[1 0 0 1 382.961 319.502] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -382.961 -319.502] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-385.749 319.502 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 402.923 319.502] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -402.923 -319.502] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-402.923 319.502 Td
-/F134_0 9.9626 Tf
-(opaque) 35.8654 Tj
-[1 0 0 1 438.788 319.502] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -438.788 -319.502] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-441.576 319.502 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
-[1 0 0 1 452.115 319.502] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -452.115 -319.502] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-452.115 319.502 Td
-/F134_0 9.9626 Tf
-(NULL) 23.9102 Tj
-[1 0 0 1 476.025 319.502] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -476.025 -319.502] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-476.025 319.502 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--280 TJm
-(and) 14.386 Tj
--280 TJm
-(the) 12.1743 Tj
--279 TJm
-(library) 26.5603 Tj
-72 307.547 Td
-(will) 15.5018 Tj
--250 TJm
-(then) 17.1556 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(standard) 33.7533 Tj
-[1 0 0 1 176.318 307.547] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -176.318 -307.547] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-176.318 307.547 Td
-/F134_0 9.9626 Tf
-(malloc) 35.8654 Tj
-[1 0 0 1 212.183 307.547] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -212.183 -307.547] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-214.674 307.547 Td
-/F130_0 9.9626 Tf
-(/) 2.7696 Tj
-[1 0 0 1 219.934 307.547] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -219.934 -307.547] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-219.934 307.547 Td
-/F134_0 9.9626 Tf
-(free) 23.9102 Tj
-[1 0 0 1 243.844 307.547] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -243.844 -307.547] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-246.335 307.547 Td
-/F130_0 9.9626 Tf
-(routines.) 34.5901 Tj
-[1 0 0 1 72 307.392] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -297.43] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 285.629 Td
-/F130_0 9.9626 Tf
-(Before) 27.1082 Tj
--362 TJm
-(calling) 27.1182 Tj
-[1 0 0 1 133.438 285.629] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -133.438 -285.629] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-133.438 285.629 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 241.035 285.629] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -241.035 -285.629] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-241.035 285.629 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--390 TJm
-(\002elds) 21.589 Tj
-[1 0 0 1 272.606 285.629] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -272.606 -285.629] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-272.606 285.629 Td
-/F134_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-[1 0 0 1 314.449 285.629] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -314.449 -285.629] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-314.449 285.629 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 320.825 285.629] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -320.825 -285.629] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-320.825 285.629 Td
-/F134_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-[1 0 0 1 356.69 285.629] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -356.69 -285.629] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-360.296 285.629 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 378.288 285.629] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -378.288 -285.629] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-378.288 285.629 Td
-/F134_0 9.9626 Tf
-(opaque) 35.8654 Tj
-[1 0 0 1 414.154 285.629] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -414.154 -285.629] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-417.76 285.629 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--362 TJm
-(be) 9.40469 Tj
--362 TJm
-(\002lled) 20.4831 Tj
--362 TJm
-(appropriately) 53.1206 Tj
-65 TJm
-(,) 2.49065 Tj
-72 273.674 Td
-(as) 8.29885 Tj
--322 TJm
-(just) 14.396 Tj
--323 TJm
-(described.) 40.6673 Tj
--1055 TJm
-(Upon) 22.1369 Tj
--322 TJm
-(return,) 26.2813 Tj
--341 TJm
-(the) 12.1743 Tj
--322 TJm
-(internal) 30.4357 Tj
--323 TJm
-(state) 18.2614 Tj
--322 TJm
-(will) 15.5018 Tj
--323 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--322 TJm
-(been) 18.8094 Tj
--323 TJm
-(allocated) 35.965 Tj
--322 TJm
-(and) 14.386 Tj
--323 TJm
-(initialised,) 41.7931 Tj
--340 TJm
-(and) 14.386 Tj
-[1 0 0 1 459.801 273.674] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -459.801 -273.674] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-459.801 273.674 Td
-/F134_0 9.9626 Tf
-(total_in_lo32) 77.7083 Tj
-[1 0 0 1 537.509 273.674] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -537.509 -273.674] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-537.509 273.674 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 72 261.718] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -261.718] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 261.718 Td
-/F134_0 9.9626 Tf
-(total_in_hi32) 77.7083 Tj
-[1 0 0 1 149.709 261.718] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -149.709 -261.718] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-149.709 261.718 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 155.006 261.718] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.006 -261.718] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-155.006 261.718 Td
-/F134_0 9.9626 Tf
-(total_out_lo32) 83.6858 Tj
-[1 0 0 1 238.692 261.718] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -238.692 -261.718] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-241.435 261.718 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 258.564 261.718] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -258.564 -261.718] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-258.564 261.718 Td
-/F134_0 9.9626 Tf
-(total_out_hi32) 83.6858 Tj
-[1 0 0 1 342.25 261.718] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.25 -261.718] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-344.994 261.718 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--275 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--276 TJm
-(been) 18.8094 Tj
--275 TJm
-(set) 11.0684 Tj
--275 TJm
-(to) 7.7509 Tj
--276 TJm
-(zero.) 19.6363 Tj
--772 TJm
-(These) 23.7907 Tj
--275 TJm
-(four) 16.5977 Tj
--276 TJm
-(\002elds) 21.589 Tj
--275 TJm
-(are) 12.1643 Tj
-72 249.763 Td
-(used) 18.2614 Tj
--340 TJm
-(by) 9.9626 Tj
--339 TJm
-(the) 12.1743 Tj
--340 TJm
-(library) 26.5603 Tj
--339 TJm
-(to) 7.7509 Tj
--340 TJm
-(inform) 27.1182 Tj
--339 TJm
-(the) 12.1743 Tj
--340 TJm
-(caller) 22.1269 Tj
--339 TJm
-(of) 8.29885 Tj
--340 TJm
-(the) 12.1743 Tj
--339 TJm
-(total) 17.7135 Tj
--340 TJm
-(amount) 29.8878 Tj
--339 TJm
-(of) 8.29885 Tj
--340 TJm
-(data) 16.5977 Tj
--340 TJm
-(passed) 26.5603 Tj
--339 TJm
-(into) 15.5018 Tj
--340 TJm
-(and) 14.386 Tj
--339 TJm
-(out) 12.7322 Tj
--340 TJm
-(of) 8.29885 Tj
--339 TJm
-(the) 12.1743 Tj
--340 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--362 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.49065 Tj
-72 237.808 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--376 TJm
-(should) 26.5703 Tj
--377 TJm
-(not) 12.7322 Tj
--376 TJm
-(try) 11.0684 Tj
--376 TJm
-(to) 7.7509 Tj
--377 TJm
-(change) 28.2141 Tj
--376 TJm
-(them.) 22.4159 Tj
--1378 TJm
-(As) 11.0684 Tj
--377 TJm
-(of) 8.29885 Tj
--376 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--377 TJm
-(1.0,) 14.9439 Tj
--408 TJm
-(64-bit) 23.8007 Tj
--376 TJm
-(counts) 26.0123 Tj
--376 TJm
-(are) 12.1643 Tj
--377 TJm
-(maintained,) 46.7644 Tj
--408 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--376 TJm
-(on) 9.9626 Tj
--376 TJm
-(32-bit) 23.8007 Tj
--377 TJm
-(platforms,) 40.6773 Tj
-72 225.853 Td
-(using) 21.589 Tj
--371 TJm
-(the) 12.1743 Tj
-[1 0 0 1 113.148 225.853] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.148 -225.853] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-113.148 225.853 Td
-/F134_0 9.9626 Tf
-(_hi32) 29.8878 Tj
-[1 0 0 1 143.036 225.853] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.036 -225.853] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-146.729 225.853 Td
-/F130_0 9.9626 Tf
-(\002elds) 21.589 Tj
--371 TJm
-(to) 7.7509 Tj
--370 TJm
-(store) 19.3673 Tj
--371 TJm
-(the) 12.1743 Tj
--371 TJm
-(upper) 22.6848 Tj
--370 TJm
-(32) 9.9626 Tj
--371 TJm
-(bits) 14.396 Tj
--370 TJm
-(of) 8.29885 Tj
--371 TJm
-(the) 12.1743 Tj
--371 TJm
-(count.) 24.6275 Tj
--1344 TJm
-(So,) 13.0112 Tj
--400 TJm
-(for) 11.6164 Tj
--371 TJm
-(e) 4.42339 Tj
-15 TJm
-(xample,) 31.8205 Tj
--401 TJm
-(the) 12.1743 Tj
--371 TJm
-(total) 17.7135 Tj
--370 TJm
-(amount) 29.8878 Tj
--371 TJm
-(of) 8.29885 Tj
--370 TJm
-(data) 16.5977 Tj
--371 TJm
-(in) 7.7509 Tj
--371 TJm
-(is) 6.64505 Tj
-[1 0 0 1 72 213.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -213.898] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 213.898 Td
-/F134_0 9.9626 Tf
-(\(total_in_hi32) 83.6858 Tj
--600 TJm
-(<<) 11.9551 Tj
--600 TJm
-(32\)) 17.9327 Tj
--600 TJm
-(+) 5.97756 Tj
--600 TJm
-(total_in_lo32) 77.7083 Tj
-[1 0 0 1 293.171 213.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -293.171 -213.898] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-293.171 213.898 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 212.588] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -202.625] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 191.98 Td
-/F130_0 9.9626 Tf
-(P) 5.53921 Tj
-15 TJm
-(arameter) 34.8492 Tj
-[1 0 0 1 115.367 191.98] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -115.367 -191.98] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-115.367 191.98 Td
-/F134_0 9.9626 Tf
-(blockSize100k) 77.7083 Tj
-[1 0 0 1 193.076 191.98] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -193.076 -191.98] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-196.204 191.98 Td
-/F130_0 9.9626 Tf
-(speci\002es) 34.3112 Tj
--314 TJm
-(the) 12.1743 Tj
--314 TJm
-(block) 22.1369 Tj
--314 TJm
-(size) 15.4918 Tj
--314 TJm
-(to) 7.7509 Tj
--314 TJm
-(be) 9.40469 Tj
--314 TJm
-(used) 18.2614 Tj
--314 TJm
-(for) 11.6164 Tj
--314 TJm
-(compression.) 52.8516 Tj
--1004 TJm
-(It) 6.08715 Tj
--314 TJm
-(should) 26.5703 Tj
--314 TJm
-(be) 9.40469 Tj
--315 TJm
-(a) 4.42339 Tj
--314 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--314 TJm
-(between) 33.1954 Tj
--314 TJm
-(1) 4.9813 Tj
-72 180.025 Td
-(and) 14.386 Tj
--289 TJm
-(9) 4.9813 Tj
--289 TJm
-(inclusi) 26.5703 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.91404 Tj
--299 TJm
-(and) 14.386 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(actual) 23.7907 Tj
--289 TJm
-(block) 22.1369 Tj
--289 TJm
-(size) 15.4918 Tj
--289 TJm
-(used) 18.2614 Tj
--289 TJm
-(is) 6.64505 Tj
--289 TJm
-(100000) 29.8878 Tj
--289 TJm
-(x) 4.9813 Tj
--289 TJm
-(this) 14.396 Tj
--289 TJm
-(\002gure.) 25.7334 Tj
--854 TJm
-(9) 4.9813 Tj
--290 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(best) 16.0497 Tj
--289 TJm
-(compression) 50.3609 Tj
--289 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--289 TJm
-(tak) 12.1743 Tj
-10 TJm
-(es) 8.29885 Tj
--289 TJm
-(most) 19.3773 Tj
-72 168.07 Td
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 165.913] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -155.95] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 146.152 Td
-/F130_0 9.9626 Tf
-(P) 5.53921 Tj
-15 TJm
-(arameter) 34.8492 Tj
-[1 0 0 1 115.095 146.152] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -115.095 -146.152] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-115.095 146.152 Td
-/F134_0 9.9626 Tf
-(verbosity) 53.798 Tj
-[1 0 0 1 168.893 146.152] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -168.893 -146.152] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-171.75 146.152 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--287 TJm
-(be) 9.40469 Tj
--286 TJm
-(set) 11.0684 Tj
--287 TJm
-(to) 7.7509 Tj
--287 TJm
-(a) 4.42339 Tj
--287 TJm
-(number) 30.4357 Tj
--286 TJm
-(between) 33.1954 Tj
--287 TJm
-(0) 4.9813 Tj
--287 TJm
-(and) 14.386 Tj
--287 TJm
-(4) 4.9813 Tj
--286 TJm
-(inclusi) 26.5703 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e.) 6.91404 Tj
--841 TJm
-(0) 4.9813 Tj
--286 TJm
-(is) 6.64505 Tj
--287 TJm
-(silent,) 24.0796 Tj
--296 TJm
-(and) 14.386 Tj
--287 TJm
-(greater) 27.6562 Tj
--287 TJm
-(numbers) 34.3112 Tj
--286 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
-72 134.197 Td
-(increasingly) 48.6972 Tj
--342 TJm
-(v) 4.9813 Tj
-15 TJm
-(erbose) 26.0024 Tj
--342 TJm
-(monitoring/deb) 61.4394 Tj
-20 TJm
-(ugging) 27.6761 Tj
--342 TJm
-(output.) 27.9551 Tj
--1173 TJm
-(If) 6.63509 Tj
--343 TJm
-(the) 12.1743 Tj
--342 TJm
-(library) 26.5603 Tj
--342 TJm
-(has) 13.2801 Tj
--342 TJm
-(been) 18.8094 Tj
--342 TJm
-(compiled) 37.0808 Tj
--342 TJm
-(with) 17.7135 Tj
-[1 0 0 1 446.429 134.197] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -446.429 -134.197] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-446.429 134.197 Td
-/F134_0 9.9626 Tf
-(-DBZ_NO_STDIO) 77.7083 Tj
-[1 0 0 1 524.138 134.197] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -524.138 -134.197] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-524.138 134.197 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--342 TJm
-(no) 9.9626 Tj
-72 122.242 Td
-(such) 18.2614 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(appear) 26.5503 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(erbosity) 32.0995 Tj
--250 TJm
-(setting.) 29.0609 Tj
-[1 0 0 1 72 120.085] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -110.122] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 100.324 Td
-/F130_0 9.9626 Tf
-(P) 5.53921 Tj
-15 TJm
-(arameter) 34.8492 Tj
-[1 0 0 1 116.619 100.324] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -116.619 -100.324] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-116.619 100.324 Td
-/F134_0 9.9626 Tf
-(workFactor) 59.7756 Tj
-[1 0 0 1 176.394 100.324] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -176.394 -100.324] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-180.775 100.324 Td
-/F130_0 9.9626 Tf
-(controls) 32.0995 Tj
--440 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--439 TJm
-(the) 12.1743 Tj
--440 TJm
-(compression) 50.3609 Tj
--440 TJm
-(phase) 22.6848 Tj
--439 TJm
-(beha) 18.8094 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
--440 TJm
-(when) 21.579 Tj
--439 TJm
-(presented) 38.1767 Tj
--440 TJm
-(with) 17.7135 Tj
--440 TJm
-(w) 7.193 Tj
-10 TJm
-(orst) 14.9439 Tj
--439 TJm
-(case,) 19.6363 Tj
--487 TJm
-(highly) 25.4644 Tj
-72 88.3686 Td
-(repetiti) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.91404 Tj
--433 TJm
-(input) 20.4831 Tj
--396 TJm
-(data.) 19.0883 Tj
--1496 TJm
-(If) 6.63509 Tj
--396 TJm
-(compression) 50.3609 Tj
--396 TJm
-(runs) 17.1556 Tj
--397 TJm
-(i) 2.7696 Tj
-1 TJm
-(nto) 12.7322 Tj
--397 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culties) 31.5516 Tj
--396 TJm
-(caused) 27.1082 Tj
--396 TJm
-(by) 9.9626 Tj
--396 TJm
-(repetiti) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--396 TJm
-(data,) 19.0883 Tj
--432 TJm
-(the) 12.1743 Tj
--397 TJm
-(library) 26.5603 Tj
--396 TJm
-(switches) 34.3112 Tj
--396 TJm
-(from) 19.3673 Tj
-[1 0 0 1 72 50.8518] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.8518] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.8518 Td
-/F130_0 9.9626 Tf
-(12) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 16 16
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -741.554] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(the) 12.1743 Tj
--255 TJm
-(standard) 33.7533 Tj
--254 TJm
-(sorting) 27.6761 Tj
--255 TJm
-(algorithm) 38.7446 Tj
--254 TJm
-(to) 7.7509 Tj
--255 TJm
-(a) 4.42339 Tj
--255 TJm
-(f) 3.31755 Tj
-10 TJm
-(allback) 28.772 Tj
--254 TJm
-(algorithm.) 41.2352 Tj
--648 TJm
-(The) 15.4918 Tj
--255 TJm
-(f) 3.31755 Tj
-10 TJm
-(allback) 28.772 Tj
--254 TJm
-(is) 6.64505 Tj
--255 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wer) 14.9339 Tj
--255 TJm
-(than) 17.1556 Tj
--254 TJm
-(the) 12.1743 Tj
--255 TJm
-(standard) 33.7533 Tj
--254 TJm
-(algorithm) 38.7446 Tj
--255 TJm
-(by) 9.9626 Tj
--255 TJm
-(perhaps) 30.9837 Tj
-72 698.082 Td
-(a) 4.42339 Tj
--250 TJm
-(f) 3.31755 Tj
-10 TJm
-(actor) 19.9152 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(three,) 22.4059 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--250 TJm
-(beha) 18.8094 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
--250 TJm
-(reasonably) 43.158 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(matter) 25.4544 Tj
--250 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(bad) 14.386 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(input.) 22.9738 Tj
-[1 0 0 1 72 695.925] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9617] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -685.964] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 676.165 Td
-/F130_0 9.9626 Tf
-(Lo) 11.0684 Tj
-25 TJm
-(wer) 14.9339 Tj
--240 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--239 TJm
-(of) 8.29885 Tj
-[1 0 0 1 138.421 676.165] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -138.421 -676.165] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-138.421 676.165 Td
-/F134_0 9.9626 Tf
-(workFactor) 59.7756 Tj
-[1 0 0 1 198.197 676.165] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -198.197 -676.165] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-200.585 676.165 Td
-/F130_0 9.9626 Tf
-(reduce) 26.5503 Tj
--240 TJm
-(the) 12.1743 Tj
--239 TJm
-(amount) 29.8878 Tj
--240 TJm
-(of) 8.29885 Tj
--240 TJm
-(ef) 7.74094 Tj
-25 TJm
-(fort) 14.386 Tj
--239 TJm
-(the) 12.1743 Tj
--240 TJm
-(standard) 33.7533 Tj
--240 TJm
-(algorithm) 38.7446 Tj
--239 TJm
-(will) 15.5018 Tj
--240 TJm
-(e) 4.42339 Tj
-15 TJm
-(xpend) 24.3486 Tj
--240 TJm
-(before) 25.4445 Tj
--240 TJm
-(resorting) 35.417 Tj
--239 TJm
-(to) 7.7509 Tj
--240 TJm
-(the) 12.1743 Tj
-72 664.21 Td
-(f) 3.31755 Tj
-10 TJm
-(allback.) 31.2626 Tj
--618 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--248 TJm
-(should) 26.5703 Tj
--247 TJm
-(set) 11.0684 Tj
--248 TJm
-(this) 14.396 Tj
--247 TJm
-(parameter) 39.8305 Tj
--248 TJm
-(carefully;) 38.1767 Tj
--248 TJm
-(too) 12.7322 Tj
--248 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.49065 Tj
--248 TJm
-(and) 14.386 Tj
--247 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--248 TJm
-(inputs) 24.3586 Tj
--248 TJm
-(will) 15.5018 Tj
--247 TJm
-(be) 9.40469 Tj
--248 TJm
-(handled) 31.5416 Tj
--247 TJm
-(by) 9.9626 Tj
--248 TJm
-(the) 12.1743 Tj
--247 TJm
-(f) 3.31755 Tj
-10 TJm
-(allback) 28.772 Tj
--248 TJm
-(algorithm) 38.7446 Tj
-72 652.255 Td
-(and) 14.386 Tj
--308 TJm
-(so) 8.85675 Tj
--308 TJm
-(compress) 37.6287 Tj
--308 TJm
-(rather) 23.2328 Tj
--309 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wly) 14.9439 Tj
-65 TJm
-(,) 2.49065 Tj
--322 TJm
-(too) 12.7322 Tj
--309 TJm
-(high,) 20.2042 Tj
--322 TJm
-(and) 14.386 Tj
--308 TJm
-(your) 18.2614 Tj
--309 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(erage-to-w) 43.148 Tj
-10 TJm
-(orst) 14.9439 Tj
--308 TJm
-(case) 17.1456 Tj
--308 TJm
-(compression) 50.3609 Tj
--308 TJm
-(times) 21.589 Tj
--308 TJm
-(can) 13.8281 Tj
--308 TJm
-(become) 30.9837 Tj
--309 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--308 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge.) 11.8953 Tj
-72 640.3 Td
-(The) 15.4918 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(30) 9.9626 Tj
--250 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
--250 TJm
-(reasonable) 42.6001 Tj
--250 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
--250 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(wide) 19.3673 Tj
--250 TJm
-(range) 22.1269 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(circumstances.) 58.9288 Tj
-[1 0 0 1 72 638.143] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9617] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -628.181] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 618.383 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--250 TJm
-(range) 22.1269 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(0) 4.9813 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(250) 14.9439 Tj
--250 TJm
-(inclusi) 26.5703 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e.) 6.91404 Tj
--620 TJm
-(0) 4.9813 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(special) 27.6661 Tj
--250 TJm
-(case,) 19.6363 Tj
--250 TJm
-(equi) 17.1556 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(alent) 19.3673 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(using) 21.589 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault) 14.9439 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(30.) 12.4533 Tj
-[1 0 0 1 72 616.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9617] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -606.265] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 596.466 Td
-/F130_0 9.9626 Tf
-(Note) 19.3673 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(generated) 38.7246 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(same) 20.4731 Tj
--250 TJm
-(re) 7.74094 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(ardless) 27.6661 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(whether) 32.0895 Tj
--250 TJm
-(or) 8.29885 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(f) 3.31755 Tj
-10 TJm
-(allback) 28.772 Tj
--250 TJm
-(algorithm) 38.7446 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(used.) 20.7521 Tj
-[1 0 0 1 72 594.309] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9617] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -584.348] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 574.549 Td
-/F130_0 9.9626 Tf
-(Be) 11.0684 Tj
--303 TJm
-(a) 4.42339 Tj
-15 TJm
-(w) 7.193 Tj
-10 TJm
-(are) 12.1643 Tj
--303 TJm
-(also) 16.0497 Tj
--303 TJm
-(that) 14.9439 Tj
--303 TJm
-(this) 14.396 Tj
--304 TJm
-(parameter) 39.8305 Tj
--303 TJm
-(may) 17.1556 Tj
--303 TJm
-(disappear) 38.1767 Tj
--303 TJm
-(entirely) 30.4357 Tj
--303 TJm
-(in) 7.7509 Tj
--303 TJm
-(future) 23.7907 Tj
--303 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--303 TJm
-(of) 8.29885 Tj
--303 TJm
-(the) 12.1743 Tj
--304 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.49065 Tj
--938 TJm
-(In) 8.29885 Tj
--303 TJm
-(principle) 35.417 Tj
--303 TJm
-(it) 5.53921 Tj
--304 TJm
-(should) 26.5703 Tj
--303 TJm
-(be) 9.40469 Tj
-72 562.594 Td
-(possible) 32.6574 Tj
--270 TJm
-(to) 7.7509 Tj
--270 TJm
-(de) 9.40469 Tj
-25 TJm
-(vise) 16.0497 Tj
--270 TJm
-(a) 4.42339 Tj
--270 TJm
-(good) 19.9252 Tj
--270 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.40469 Tj
--270 TJm
-(to) 7.7509 Tj
--271 TJm
-(automat) 32.0995 Tj
-1 TJm
-(ically) 22.1369 Tj
--271 TJm
-(choose) 27.6661 Tj
--270 TJm
-(which) 24.3486 Tj
--270 TJm
-(algorithm) 38.7446 Tj
--270 TJm
-(to) 7.7509 Tj
--270 TJm
-(use.) 15.7708 Tj
--740 TJm
-(Such) 19.9252 Tj
--270 TJm
-(a) 4.42339 Tj
--271 TJm
-(m) 7.7509 Tj
-1 TJm
-(echanism) 37.6287 Tj
--271 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--270 TJm
-(render) 25.4445 Tj
--270 TJm
-(the) 12.1743 Tj
-72 550.639 Td
-(parameter) 39.8305 Tj
--250 TJm
-(obsolete.) 35.696 Tj
-[1 0 0 1 72 548.482] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9616] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -538.521] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 528.722 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 528.623] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -144.458] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 143.462 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 139.875] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -519.258] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 519.258 Td
-/F134_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.4879 507.303 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 495.348 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 483.392 Td
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.4879 471.437 Td
-(or) 11.9551 Tj
--426 TJm
-(blockSize) 53.798 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(1) 5.97756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(blockSize) 53.798 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(9) 5.97756 Tj
-98.4879 459.482 Td
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(4) 5.97756 Tj
-98.4879 447.527 Td
-(or) 11.9551 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(250) 17.9327 Tj
-90 435.572 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.4879 423.617 Td
-(if) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(enough) 35.8654 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 411.661 Td
-(BZ_OK) 29.8878 Tj
-98.4879 399.706 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 384.165] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5482] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -374.203] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 362.248 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-[1 0 0 1 72 362.148] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -48.8169] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 47.8207 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 44.2341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -352.783] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 352.783 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-98.4879 340.828 Td
-(if) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(returned) 47.8205 Tj
-98.4879 328.873 Td
-(no) 11.9551 Tj
--426 TJm
-(specific) 47.8205 Tj
--426 TJm
-(action) 35.8654 Tj
--426 TJm
-(needed) 35.8654 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(case) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
-[1 0 0 1 72 313.331] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9616] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -303.37] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 282.711 Td
-/F122_0 17.2154 Tf
-(3.3.2.) 43.0729 Tj
-[1 0 0 1 119.858 282.711] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -282.711] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 282.711 Td
-/F392_0 17.2154 Tf
-(BZ2_bzCompress) 144.609 Tj
-[1 0 0 1 264.468 282.711] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -192.468 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -271.014] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 271.014 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzCompress) 83.6858 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-268.371 269.27 Td
-(*) 5.97756 Tj
-274.348 271.014 Td
-(strm,) 29.8878 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(action) 35.8654 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 255.472] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5482] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -245.51] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 233.555 Td
-/F130_0 9.9626 Tf
-(Pro) 13.8381 Tj
-15 TJm
-(vides) 21.031 Tj
--222 TJm
-(more) 20.4731 Tj
--221 TJm
-(input) 20.4831 Tj
--222 TJm
-(and/or) 25.4544 Tj
--222 TJm
-(output) 25.4644 Tj
--222 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--221 TJm
-(space) 22.1269 Tj
--222 TJm
-(for) 11.6164 Tj
--222 TJm
-(the) 12.1743 Tj
--221 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.49065 Tj
--601 TJm
-(The) 15.4918 Tj
--222 TJm
-(caller) 22.1269 Tj
--222 TJm
-(maintains) 38.7446 Tj
--222 TJm
-(input) 20.4831 Tj
--221 TJm
-(and) 14.386 Tj
--222 TJm
-(output) 25.4644 Tj
--222 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fers,) 17.4246 Tj
--227 TJm
-(and) 14.386 Tj
--222 TJm
-(calls) 18.2614 Tj
-[1 0 0 1 72 221.6] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -221.6] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 221.6 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 155.686 221.6] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.686 -221.6] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-158.177 221.6 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(transfer) 30.4258 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(between) 33.1954 Tj
--250 TJm
-(them.) 22.4159 Tj
-[1 0 0 1 72 220.066] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9617] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -210.104] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 199.683 Td
-/F130_0 9.9626 Tf
-(Before) 27.1082 Tj
--212 TJm
-(each) 18.2515 Tj
--213 TJm
-(call) 14.386 Tj
--212 TJm
-(to) 7.7509 Tj
-[1 0 0 1 147.961 199.683] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -147.961 -199.683] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-147.961 199.683 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 231.647 199.683] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -231.647 -199.683] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-231.647 199.683 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 236.329 199.683] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -236.329 -199.683] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-236.329 199.683 Td
-/F134_0 9.9626 Tf
-(next_in) 41.8429 Tj
-[1 0 0 1 278.172 199.683] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.172 -199.683] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-280.288 199.683 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--212 TJm
-(point) 20.4831 Tj
--213 TJm
-(at) 7.193 Tj
--212 TJm
-(the) 12.1743 Tj
--213 TJm
-(data) 16.5977 Tj
--212 TJm
-(to) 7.7509 Tj
--212 TJm
-(be) 9.40469 Tj
--213 TJm
-(compressed,) 49.5241 Tj
--220 TJm
-(and) 14.386 Tj
-[1 0 0 1 463.493 199.683] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -463.493 -199.683] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-463.493 199.683 Td
-/F134_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-[1 0 0 1 511.314 199.683] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.314 -199.683] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-513.43 199.683 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
-72 187.728 Td
-(indicate) 31.5416 Tj
--246 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--247 TJm
-(m) 7.7509 Tj
-1 TJm
-(an) 9.40469 Tj
-14 TJm
-(y) 4.9813 Tj
--246 TJm
-(bytes) 21.031 Tj
--246 TJm
-(the) 12.1743 Tj
--246 TJm
-(library) 26.5603 Tj
--247 TJm
-(may) 17.1556 Tj
--246 TJm
-(read.) 19.6363 Tj
-[1 0 0 1 259.242 187.728] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -259.242 -187.728] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-259.242 187.728 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 342.929 187.728] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.929 -187.728] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-345.382 187.728 Td
-/F130_0 9.9626 Tf
-(updates) 30.4357 Tj
-[1 0 0 1 378.271 187.728] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -378.271 -187.728] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-378.271 187.728 Td
-/F134_0 9.9626 Tf
-(next_in) 41.8429 Tj
-[1 0 0 1 420.114 187.728] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -420.114 -187.728] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-420.114 187.728 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 425.066 187.728] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -425.066 -187.728] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-425.066 187.728 Td
-/F134_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-[1 0 0 1 472.886 187.728] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.886 -187.728] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-475.34 187.728 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 492.179 187.728] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -492.179 -187.728] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-492.179 187.728 Td
-/F134_0 9.9626 Tf
-(total_in) 47.8205 Tj
-[1 0 0 1 540 187.728] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -187.728] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 175.773 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(re\003ect) 24.8965 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(read.) 19.6363 Tj
-[1 0 0 1 72 173.616] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9616] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -163.654] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 153.856 Td
-/F130_0 9.9626 Tf
-(Similarly) 37.0908 Tj
-65 TJm
-(,) 2.49065 Tj
-[1 0 0 1 113.611 153.856] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.611 -153.856] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-113.611 153.856 Td
-/F134_0 9.9626 Tf
-(next_out) 47.8205 Tj
-[1 0 0 1 161.432 153.856] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.432 -153.856] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-164.072 153.856 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--265 TJm
-(point) 20.4831 Tj
--265 TJm
-(to) 7.7509 Tj
--265 TJm
-(a) 4.42339 Tj
--265 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--265 TJm
-(in) 7.7509 Tj
--265 TJm
-(which) 24.3486 Tj
--265 TJm
-(the) 12.1743 Tj
--265 TJm
-(compressed) 47.0334 Tj
--265 TJm
-(data) 16.5977 Tj
--265 TJm
-(is) 6.64505 Tj
--265 TJm
-(to) 7.7509 Tj
--265 TJm
-(be) 9.40469 Tj
--265 TJm
-(placed,) 28.493 Tj
--269 TJm
-(with) 17.7135 Tj
-[1 0 0 1 464.742 153.856] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -464.742 -153.856] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-464.742 153.856 Td
-/F134_0 9.9626 Tf
-(avail_out) 53.798 Tj
-[1 0 0 1 518.54 153.856] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -518.54 -153.856] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-521.181 153.856 Td
-/F130_0 9.9626 Tf
-(indi-) 18.8194 Tj
-72 141.901 Td
-(cating) 24.3486 Tj
--209 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--209 TJm
-(much) 22.1369 Tj
--209 TJm
-(output) 25.4644 Tj
--209 TJm
-(space) 22.1269 Tj
--209 TJm
-(is) 6.64505 Tj
--210 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable.) 29.0509 Tj
-[1 0 0 1 243.087 141.901] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -243.087 -141.901] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-243.087 141.901 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 326.773 141.901] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -326.773 -141.901] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-328.856 141.901 Td
-/F130_0 9.9626 Tf
-(updates) 30.4357 Tj
-[1 0 0 1 361.375 141.901] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -361.375 -141.901] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-361.375 141.901 Td
-/F134_0 9.9626 Tf
-(next_out) 47.8205 Tj
-[1 0 0 1 409.196 141.901] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -409.196 -141.901] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-409.196 141.901 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 413.851 141.901] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -413.851 -141.901] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-413.851 141.901 Td
-/F134_0 9.9626 Tf
-(avail_out) 53.798 Tj
-[1 0 0 1 467.649 141.901] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -467.649 -141.901] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-469.732 141.901 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 486.202 141.901] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -486.202 -141.901] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-486.202 141.901 Td
-/F134_0 9.9626 Tf
-(total_out) 53.798 Tj
-[1 0 0 1 540 141.901] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -141.901] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 129.946 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(re\003ect) 24.8965 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(output.) 27.9551 Tj
-[1 0 0 1 72 127.789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9617] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -117.827] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 108.029 Td
-/F130_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--272 TJm
-(may) 17.1556 Tj
--272 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--272 TJm
-(and) 14.386 Tj
--272 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--272 TJm
-(as) 8.29885 Tj
--272 TJm
-(little) 18.2714 Tj
--272 TJm
-(or) 8.29885 Tj
--272 TJm
-(as) 8.29885 Tj
--272 TJm
-(much) 22.1369 Tj
--271 TJm
-(data) 16.5977 Tj
--272 TJm
-(as) 8.29885 Tj
--272 TJm
-(you) 14.9439 Tj
--272 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.42339 Tj
--272 TJm
-(on) 9.9626 Tj
--272 TJm
-(each) 18.2515 Tj
--272 TJm
-(call) 14.386 Tj
--272 TJm
-(of) 8.29885 Tj
-[1 0 0 1 399.123 108.029] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -399.123 -108.029] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-399.123 108.029 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 482.809 108.029] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -482.809 -108.029] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-482.809 108.029 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--752 TJm
-(In) 8.29885 Tj
--272 TJm
-(the) 12.1743 Tj
--272 TJm
-(limit,) 21.32 Tj
-72 96.0736 Td
-(it) 5.53921 Tj
--266 TJm
-(is) 6.64505 Tj
--265 TJm
-(acceptable) 42.0422 Tj
--266 TJm
-(to) 7.7509 Tj
--266 TJm
-(supply) 26.5703 Tj
--266 TJm
-(and) 14.386 Tj
--265 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--266 TJm
-(data) 16.5977 Tj
--266 TJm
-(one) 14.386 Tj
--265 TJm
-(byte) 17.1556 Tj
--266 TJm
-(at) 7.193 Tj
--266 TJm
-(a) 4.42339 Tj
--266 TJm
-(time,) 20.2042 Tj
--269 TJm
-(although) 34.8691 Tj
--266 TJm
-(this) 14.396 Tj
--266 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--265 TJm
-(be) 9.40469 Tj
--266 TJm
-(terribly) 29.3299 Tj
--266 TJm
-(inef) 15.4918 Tj
-25 TJm
-(\002cient.) 27.3972 Tj
--714 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--266 TJm
-(should) 26.5703 Tj
-72 84.1184 Td
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--250 TJm
-(ensure) 26.0024 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(least) 18.2614 Tj
--250 TJm
-(one) 14.386 Tj
--250 TJm
-(byte) 17.1556 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(space) 22.1269 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(each) 18.2515 Tj
--250 TJm
-(call.) 16.8766 Tj
-[1 0 0 1 72 81.9616] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9616] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -21.1482] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(13) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 17 17
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -741.554] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(A) 7.193 Tj
--250 TJm
-(second) 27.6661 Tj
--250 TJm
-(purpose) 31.5416 Tj
--250 TJm
-(of) 8.29885 Tj
-[1 0 0 1 156.662 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -156.662 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-156.662 710.037 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 240.348 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -240.348 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-242.839 710.037 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(request) 28.772 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(change) 28.2141 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(mode) 22.1369 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(stream.) 29.0509 Tj
-[1 0 0 1 72 707.88] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -697.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 688.12 Td
-/F130_0 9.9626 Tf
-(Conceptually) 53.1305 Tj
-65 TJm
-(,) 2.49065 Tj
--217 TJm
-(a) 4.42339 Tj
--210 TJm
-(compressed) 47.0334 Tj
--209 TJm
-(stream) 26.5603 Tj
--209 TJm
-(can) 13.8281 Tj
--209 TJm
-(be) 9.40469 Tj
--210 TJm
-(in) 7.7509 Tj
--209 TJm
-(one) 14.386 Tj
--209 TJm
-(of) 8.29885 Tj
--209 TJm
-(four) 16.5977 Tj
--210 TJm
-(states:) 24.9065 Tj
--289 TJm
-(IDLE,) 25.1755 Tj
--209 TJm
-(R) 6.64505 Tj
-40 TJm
-(UNNING,) 41.7732 Tj
--210 TJm
-(FLUSHING) 49.2551 Tj
--209 TJm
-(and) 14.386 Tj
--209 TJm
-(FINISHING.) 52.2937 Tj
--419 TJm
-(Be-) 14.386 Tj
-72 676.164 Td
-(fore) 16.0398 Tj
--264 TJm
-(initialisation) 49.823 Tj
--263 TJm
-(\() 3.31755 Tj
-[1 0 0 1 146.434 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -146.434 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-146.434 676.164 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 254.031 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -254.031 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-254.031 676.164 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--264 TJm
-(and) 14.386 Tj
--263 TJm
-(after) 18.2515 Tj
--264 TJm
-(termination) 45.9375 Tj
--264 TJm
-(\() 3.31755 Tj
-[1 0 0 1 349.75 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -349.75 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-349.75 676.164 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.619 Tj
-[1 0 0 1 451.369 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -451.369 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-451.369 676.164 Td
-/F130_0 9.9626 Tf
-(\),) 5.8082 Tj
--267 TJm
-(a) 4.42339 Tj
--264 TJm
-(stream) 26.5603 Tj
--264 TJm
-(is) 6.64505 Tj
--263 TJm
-(re) 7.74094 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(arded) 22.1269 Tj
-72 664.209 Td
-(as) 8.29885 Tj
--250 TJm
-(IDLE.) 25.1755 Tj
-[1 0 0 1 72 664.11] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -654.147] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 642.291 Td
-/F130_0 9.9626 Tf
-(Upon) 22.1369 Tj
--389 TJm
-(initialisation) 49.823 Tj
--390 TJm
-(\() 3.31755 Tj
-[1 0 0 1 155.036 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.036 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-155.036 642.291 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 262.632 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -262.632 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-262.632 642.291 Td
-/F130_0 9.9626 Tf
-(\),) 5.8082 Tj
--424 TJm
-(the) 12.1743 Tj
--390 TJm
-(stream) 26.5603 Tj
--389 TJm
-(is) 6.64505 Tj
--389 TJm
-(placed) 26.0024 Tj
--390 TJm
-(in) 7.7509 Tj
--389 TJm
-(the) 12.1743 Tj
--390 TJm
-(R) 6.64505 Tj
-40 TJm
-(UNNING) 39.2825 Tj
--389 TJm
-(state.) 20.7521 Tj
--1457 TJm
-(Subsequent) 45.9375 Tj
--389 TJm
-(calls) 18.2614 Tj
-72 630.336 Td
-(to) 7.7509 Tj
-[1 0 0 1 83.818 630.336] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -83.818 -630.336] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-83.818 630.336 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 167.504 630.336] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -167.504 -630.336] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-171.571 630.336 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--408 TJm
-(pass) 17.1556 Tj
-[1 0 0 1 223.431 630.336] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -223.431 -630.336] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-223.431 630.336 Td
-/F134_0 9.9626 Tf
-(BZ_RUN) 35.8654 Tj
-[1 0 0 1 259.297 630.336] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -259.297 -630.336] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-263.363 630.336 Td
-/F130_0 9.9626 Tf
-(as) 8.29885 Tj
--408 TJm
-(the) 12.1743 Tj
--408 TJm
-(requested) 38.1767 Tj
--409 TJm
-(action;) 27.1182 Tj
--487 TJm
-(other) 20.4731 Tj
--408 TJm
-(actions) 28.224 Tj
--408 TJm
-(are) 12.1643 Tj
--409 TJm
-(ille) 12.7322 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(al) 7.193 Tj
--408 TJm
-(and) 14.386 Tj
--408 TJm
-(will) 15.5018 Tj
--408 TJm
-(result) 22.1369 Tj
--409 TJm
-(in) 7.7509 Tj
-[1 0 0 1 72 618.381] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -618.381] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 618.381 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-[1 0 0 1 173.619 618.381] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -173.619 -618.381] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-173.619 618.381 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 617.071] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -607.108] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 596.463 Td
-/F130_0 9.9626 Tf
-(At) 9.9626 Tj
--279 TJm
-(some) 21.031 Tj
--279 TJm
-(point,) 22.9738 Tj
--286 TJm
-(the) 12.1743 Tj
--279 TJm
-(calling) 27.1182 Tj
--279 TJm
-(program) 33.7533 Tj
--279 TJm
-(will) 15.5018 Tj
--279 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--278 TJm
-(pro) 13.2801 Tj
-14 TJm
-(vi) 7.7509 Tj
-1 TJm
-(ded) 14.386 Tj
--279 TJm
-(all) 9.9626 Tj
--279 TJm
-(the) 12.1743 Tj
--279 TJm
-(input) 20.4831 Tj
--279 TJm
-(data) 16.5977 Tj
--279 TJm
-(it) 5.53921 Tj
--279 TJm
-(w) 7.193 Tj
-10 TJm
-(ants) 16.0497 Tj
--279 TJm
-(to.) 10.2416 Tj
--793 TJm
-(It) 6.08715 Tj
--279 TJm
-(will) 15.5018 Tj
--279 TJm
-(then) 17.1556 Tj
--279 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--279 TJm
-(to) 7.7509 Tj
--279 TJm
-(\002nish) 22.1469 Tj
--279 TJm
-(up) 9.9626 Tj
--279 TJm
-(--) 6.63509 Tj
-72 584.508 Td
-(in) 7.7509 Tj
--287 TJm
-(ef) 7.74094 Tj
-25 TJm
-(fect,) 17.4246 Tj
--297 TJm
-(asking) 26.0123 Tj
--288 TJm
-(the) 12.1743 Tj
--287 TJm
-(library) 26.5603 Tj
--287 TJm
-(to) 7.7509 Tj
--288 TJm
-(process) 29.8778 Tj
--287 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--288 TJm
-(data) 16.5977 Tj
--287 TJm
-(it) 5.53921 Tj
--287 TJm
-(might) 23.2527 Tj
--288 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--287 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fered) 20.4632 Tj
--288 TJm
-(internally) 38.1866 Tj
-65 TJm
-(.) 2.49065 Tj
--844 TJm
-(In) 8.29885 Tj
--288 TJm
-(this) 14.396 Tj
--287 TJm
-(state,) 20.7521 Tj
-[1 0 0 1 456.314 584.508] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -456.314 -584.508] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-456.314 584.508 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 540 584.508] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -584.508] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 572.553 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--258 TJm
-(no) 9.9626 Tj
--257 TJm
-(longer) 25.4544 Tj
--258 TJm
-(attempt) 29.8878 Tj
--258 TJm
-(to) 7.7509 Tj
--258 TJm
-(read) 17.1456 Tj
--257 TJm
-(data) 16.5977 Tj
--258 TJm
-(from) 19.3673 Tj
-[1 0 0 1 234.207 572.553] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -234.207 -572.553] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-234.207 572.553 Td
-/F134_0 9.9626 Tf
-(next_in) 41.8429 Tj
-[1 0 0 1 276.051 572.553] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -276.051 -572.553] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-276.051 572.553 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--260 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--257 TJm
-(it) 5.53921 Tj
--258 TJm
-(will) 15.5018 Tj
--258 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--257 TJm
-(to) 7.7509 Tj
--258 TJm
-(write) 20.4731 Tj
--258 TJm
-(data) 16.5977 Tj
--258 TJm
-(to) 7.7509 Tj
-[1 0 0 1 407.082 572.553] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -407.082 -572.553] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-407.082 572.553 Td
-/F134_0 9.9626 Tf
-(next_out) 47.8205 Tj
-[1 0 0 1 454.902 572.553] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -454.902 -572.553] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-454.902 572.553 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--666 TJm
-(Because) 33.1954 Tj
--258 TJm
-(the) 12.1743 Tj
--258 TJm
-(output) 25.4644 Tj
-72 560.598 Td
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--228 TJm
-(supplied) 33.7633 Tj
--228 TJm
-(by) 9.9626 Tj
--229 TJm
-(the) 12.1743 Tj
--228 TJm
-(user) 16.5977 Tj
--228 TJm
-(can) 13.8281 Tj
--228 TJm
-(be) 9.40469 Tj
--228 TJm
-(arbitrarily) 39.8404 Tj
--229 TJm
-(sma) 16.0497 Tj
-1 TJm
-(ll,) 8.02986 Tj
--233 TJm
-(the) 12.1743 Tj
--228 TJm
-(\002nishing-up) 48.1592 Tj
--228 TJm
-(operation) 37.6287 Tj
--229 TJm
-(cannot) 26.5603 Tj
--228 TJm
-(necessarily) 44.2638 Tj
--228 TJm
-(be) 9.40469 Tj
--228 TJm
-(done) 19.3673 Tj
--228 TJm
-(with) 17.7135 Tj
--229 TJm
-(a) 4.42339 Tj
--228 TJm
-(single) 23.8007 Tj
-72 548.643 Td
-(call) 14.386 Tj
--250 TJm
-(of) 8.29885 Tj
-[1 0 0 1 99.6659 548.643] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -99.6659 -548.643] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-99.6659 548.643 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 183.352 548.643] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -183.352 -548.643] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-183.352 548.643 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 547.108] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -537.146] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 526.725 Td
-/F130_0 9.9626 Tf
-(Instead,) 31.2626 Tj
--346 TJm
-(the) 12.1743 Tj
--327 TJm
-(calling) 27.1182 Tj
--326 TJm
-(program) 33.7533 Tj
--327 TJm
-(passes) 25.4544 Tj
-[1 0 0 1 218.231 526.725] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -218.231 -526.725] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-218.231 526.725 Td
-/F134_0 9.9626 Tf
-(BZ_FINISH) 53.798 Tj
-[1 0 0 1 272.029 526.725] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -272.029 -526.725] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-275.284 526.725 Td
-/F130_0 9.9626 Tf
-(as) 8.29885 Tj
--327 TJm
-(an) 9.40469 Tj
--327 TJm
-(action) 24.3486 Tj
--326 TJm
-(to) 7.7509 Tj
-[1 0 0 1 338.108 526.725] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -338.108 -526.725] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-338.108 526.725 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 421.795 526.725] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -421.795 -526.725] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-421.795 526.725 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1081 TJm
-(This) 17.7135 Tj
--326 TJm
-(changes) 32.0895 Tj
--327 TJm
-(the) 12.1743 Tj
--327 TJm
-(stream') 29.8778 Tj
-55 TJm
-(s) 3.87545 Tj
-72 514.77 Td
-(state) 18.2614 Tj
--291 TJm
-(to) 7.7509 Tj
--290 TJm
-(FINISHING.) 52.2937 Tj
--581 TJm
-(An) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--291 TJm
-(remaining) 40.3983 Tj
--290 TJm
-(input) 20.4831 Tj
--291 TJm
-(\(ie,) 13.0012 Tj
-[1 0 0 1 264.452 514.77] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -264.452 -514.77] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-264.452 514.77 Td
-/F134_0 9.9626 Tf
-(next_in[0) 53.798 Tj
--600 TJm
-(..) 11.9551 Tj
--1200 TJm
-(avail_in-1]) 65.7532 Tj
-[1 0 0 1 413.892 514.77] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -413.892 -514.77] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-413.892 514.77 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--291 TJm
-(is) 6.64505 Tj
--290 TJm
-(compressed) 47.0334 Tj
--291 TJm
-(and) 14.386 Tj
--290 TJm
-(transferred) 43.148 Tj
-72 502.814 Td
-(to) 7.7509 Tj
--421 TJm
-(the) 12.1743 Tj
--421 TJm
-(output) 25.4644 Tj
--421 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-55 TJm
-(.) 2.49065 Tj
--1646 TJm
-(T) 6.08715 Tj
-80 TJm
-(o) 4.9813 Tj
--421 TJm
-(do) 9.9626 Tj
--422 TJm
-(this) 14.396 Tj
-1 TJm
-(,) 2.49065 Tj
-[1 0 0 1 222.339 502.814] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -222.339 -502.814] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-222.339 502.814 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 306.025 502.814] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -306.025 -502.814] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-310.22 502.814 Td
-/F130_0 9.9626 Tf
-(must) 19.3773 Tj
--421 TJm
-(be) 9.40469 Tj
--421 TJm
-(called) 23.7907 Tj
--421 TJm
-(repeatedly) 41.4942 Tj
--421 TJm
-(until) 18.2714 Tj
--421 TJm
-(all) 9.9626 Tj
--421 TJm
-(the) 12.1743 Tj
--421 TJm
-(output) 25.4644 Tj
--421 TJm
-(has) 13.2801 Tj
--421 TJm
-(been) 18.8094 Tj
-72 490.859 Td
-(consumed.) 42.889 Tj
--1397 TJm
-(At) 9.9626 Tj
--379 TJm
-(that) 14.9439 Tj
--380 TJm
-(point,) 22.9738 Tj
-[1 0 0 1 188.346 490.859] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -188.346 -490.859] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-188.346 490.859 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 272.033 490.859] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -272.033 -490.859] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-275.813 490.859 Td
-/F130_0 9.9626 Tf
-(returns) 27.6661 Tj
-[1 0 0 1 307.259 490.859] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -307.259 -490.859] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-307.259 490.859 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 384.968 490.859] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -384.968 -490.859] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-384.968 490.859 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--379 TJm
-(and) 14.386 Tj
--380 TJm
-(the) 12.1743 Tj
--379 TJm
-(stream') 29.8778 Tj
-55 TJm
-(s) 3.87545 Tj
--380 TJm
-(state) 18.2614 Tj
--379 TJm
-(is) 6.64505 Tj
--380 TJm
-(set) 11.0684 Tj
--379 TJm
-(back) 18.8094 Tj
--379 TJm
-(to) 7.7509 Tj
-72 478.904 Td
-(IDLE.) 25.1755 Tj
-[1 0 0 1 99.6662 478.904] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -99.6662 -478.904] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-99.6662 478.904 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.619 Tj
-[1 0 0 1 201.285 478.904] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -201.285 -478.904] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-203.776 478.904 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--250 TJm
-(then) 17.1556 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(called.) 26.2813 Tj
-[1 0 0 1 72 477.37] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -467.407] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 456.986 Td
-/F130_0 9.9626 Tf
-(Just) 15.5018 Tj
--380 TJm
-(to) 7.7509 Tj
--380 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--379 TJm
-(sure) 16.5977 Tj
--380 TJm
-(the) 12.1743 Tj
--380 TJm
-(calling) 27.1182 Tj
--380 TJm
-(program) 33.7533 Tj
--379 TJm
-(does) 18.2614 Tj
--380 TJm
-(not) 12.7322 Tj
--380 TJm
-(cheat,) 23.5117 Tj
--412 TJm
-(the) 12.1743 Tj
--380 TJm
-(library) 26.5603 Tj
--380 TJm
-(mak) 17.1556 Tj
-10 TJm
-(es) 8.29885 Tj
--379 TJm
-(a) 4.42339 Tj
--380 TJm
-(note) 17.1556 Tj
--380 TJm
-(of) 8.29885 Tj
-[1 0 0 1 415.708 456.986] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -415.708 -456.986] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-415.708 456.986 Td
-/F134_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-[1 0 0 1 463.528 456.986] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -463.528 -456.986] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-467.312 456.986 Td
-/F130_0 9.9626 Tf
-(at) 7.193 Tj
--380 TJm
-(the) 12.1743 Tj
--380 TJm
-(time) 17.7135 Tj
--379 TJm
-(of) 8.29885 Tj
--380 TJm
-(the) 12.1743 Tj
-72 445.031 Td
-(\002rst) 15.5018 Tj
--286 TJm
-(call) 14.386 Tj
--286 TJm
-(t) 2.7696 Tj
-1 TJm
-(o) 4.9813 Tj
-[1 0 0 1 118.179 445.031] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -118.179 -445.031] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-118.179 445.031 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 201.865 445.031] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -201.865 -445.031] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-204.713 445.031 Td
-/F130_0 9.9626 Tf
-(which) 24.3486 Tj
--286 TJm
-(has) 13.2801 Tj
-[1 0 0 1 248.035 445.031] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -248.035 -445.031] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-248.035 445.031 Td
-/F134_0 9.9626 Tf
-(BZ_FINISH) 53.798 Tj
-[1 0 0 1 301.833 445.031] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -301.833 -445.031] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-304.68 445.031 Td
-/F130_0 9.9626 Tf
-(as) 8.29885 Tj
--286 TJm
-(an) 9.40469 Tj
--286 TJm
-(action) 24.3486 Tj
--285 TJm
-(\(ie,) 13.0012 Tj
--295 TJm
-(at) 7.193 Tj
--286 TJm
-(the) 12.1743 Tj
--286 TJm
-(time) 17.7135 Tj
--285 TJm
-(the) 12.1743 Tj
--286 TJm
-(program) 33.7533 Tj
--286 TJm
-(has) 13.2801 Tj
--286 TJm
-(announced) 43.158 Tj
--285 TJm
-(its) 9.41466 Tj
-72 433.076 Td
-(intention) 35.427 Tj
--292 TJm
-(to) 7.7509 Tj
--292 TJm
-(not) 12.7322 Tj
--291 TJm
-(supply) 26.5703 Tj
--292 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--292 TJm
-(more) 20.4731 Tj
--292 TJm
-(input\).) 26.2913 Tj
--870 TJm
-(By) 11.6264 Tj
--292 TJm
-(comparing) 42.61 Tj
--292 TJm
-(this) 14.396 Tj
--292 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--291 TJm
-(with) 17.7135 Tj
--292 TJm
-(that) 14.9439 Tj
--292 TJm
-(of) 8.29885 Tj
-[1 0 0 1 392.862 433.076] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -392.862 -433.076] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-392.862 433.076 Td
-/F134_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-[1 0 0 1 440.682 433.076] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -440.682 -433.076] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-443.589 433.076 Td
-/F130_0 9.9626 Tf
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--292 TJm
-(subsequent) 44.2738 Tj
--292 TJm
-(calls) 18.2614 Tj
--291 TJm
-(to) 7.7509 Tj
-[1 0 0 1 72 421.121] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -421.121] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 421.121 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 155.686 421.121] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.686 -421.121] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-155.686 421.121 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--247 TJm
-(the) 12.1743 Tj
--247 TJm
-(library) 26.5603 Tj
--246 TJm
-(can) 13.8281 Tj
--247 TJm
-(detect) 23.7907 Tj
--246 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--247 TJm
-(att) 9.9626 Tj
-1 TJm
-(empts) 23.8007 Tj
--247 TJm
-(to) 7.7509 Tj
--246 TJm
-(slip) 14.396 Tj
--247 TJm
-(in) 7.7509 Tj
--246 TJm
-(more) 20.4731 Tj
--247 TJm
-(data) 16.5977 Tj
--246 TJm
-(to) 7.7509 Tj
--247 TJm
-(compress.) 40.1194 Tj
--617 TJm
-(An) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--247 TJm
-(calls) 18.2614 Tj
--246 TJm
-(for) 11.6164 Tj
--247 TJm
-(which) 24.3486 Tj
--246 TJm
-(this) 14.396 Tj
--247 TJm
-(is) 6.64505 Tj
-72 409.166 Td
-(detected) 33.1954 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(return) 23.7907 Tj
-[1 0 0 1 151.959 409.166] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -151.959 -409.166] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-151.959 409.166 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-[1 0 0 1 253.578 409.166] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -253.578 -409.166] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-253.578 409.166 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--500 TJm
-(This) 17.7135 Tj
--250 TJm
-(indicates) 35.417 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(programming) 54.2364 Tj
--250 TJm
-(mistak) 26.5703 Tj
-10 TJm
-(e) 4.42339 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(corrected.) 39.5515 Tj
-[1 0 0 1 72 407.009] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -397.046] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 387.248 Td
-/F130_0 9.9626 Tf
-(Instead) 28.772 Tj
--224 TJm
-(of) 8.29885 Tj
--223 TJm
-(asking) 26.0123 Tj
--224 TJm
-(to) 7.7509 Tj
--223 TJm
-(\002nish,) 24.6375 Tj
--229 TJm
-(the) 12.1743 Tj
--224 TJm
-(calling) 27.1182 Tj
--223 TJm
-(program) 33.7533 Tj
--224 TJm
-(may) 17.1556 Tj
--224 TJm
-(ask) 13.2801 Tj
-[1 0 0 1 293.282 387.248] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -293.282 -387.248] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-293.282 387.248 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 376.968 387.248] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -376.968 -387.248] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-379.196 387.248 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--224 TJm
-(tak) 12.1743 Tj
-10 TJm
-(e) 4.42339 Tj
--223 TJm
-(all) 9.9626 Tj
--224 TJm
-(the) 12.1743 Tj
--223 TJm
-(remaining) 40.3983 Tj
--224 TJm
-(input,) 22.9738 Tj
--229 TJm
-(compress) 37.6287 Tj
-72 375.293 Td
-(it) 5.53921 Tj
--278 TJm
-(and) 14.386 Tj
--278 TJm
-(terminate) 37.6287 Tj
--278 TJm
-(the) 12.1743 Tj
--278 TJm
-(current) 28.2141 Tj
--277 TJm
-(\(Burro) 26.5603 Tj
-25 TJm
-(ws-Wheeler\)) 51.4469 Tj
--278 TJm
-(compression) 50.3609 Tj
--278 TJm
-(block.) 24.6275 Tj
--787 TJm
-(Th) 11.0684 Tj
--1 TJm
-(i) 2.7696 Tj
-1 TJm
-(s) 3.87545 Tj
--278 TJm
-(could) 22.1369 Tj
--278 TJm
-(be) 9.40469 Tj
--278 TJm
-(useful) 24.3486 Tj
--278 TJm
-(for) 11.6164 Tj
--278 TJm
-(error) 19.3573 Tj
--278 TJm
-(control) 28.224 Tj
--278 TJm
-(purposes.) 37.9077 Tj
-72 363.338 Td
-(The) 15.4918 Tj
--328 TJm
-(mechanism) 45.3796 Tj
--328 TJm
-(is) 6.64505 Tj
--328 TJm
-(analogous) 40.3983 Tj
--328 TJm
-(to) 7.7509 Tj
--328 TJm
-(that) 14.9439 Tj
--328 TJm
-(for) 11.6164 Tj
--328 TJm
-(\002nishing:) 37.6487 Tj
--466 TJm
-(call) 14.386 Tj
-[1 0 0 1 297.049 363.337] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -297.049 -363.337] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-297.049 363.337 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 380.735 363.337] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -380.735 -363.337] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-384.003 363.337 Td
-/F130_0 9.9626 Tf
-(with) 17.7135 Tj
--328 TJm
-(an) 9.40469 Tj
--328 TJm
-(action) 24.3486 Tj
--328 TJm
-(of) 8.29885 Tj
-[1 0 0 1 456.841 363.337] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -456.841 -363.337] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-456.841 363.337 Td
-/F134_0 9.9626 Tf
-(BZ_FLUSH) 47.8205 Tj
-[1 0 0 1 504.662 363.337] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -504.662 -363.337] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-504.662 363.337 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--328 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
-72 351.382 Td
-(output) 25.4644 Tj
--445 TJm
-(data,) 19.0883 Tj
--494 TJm
-(and) 14.386 Tj
--446 TJm
-(persist) 26.0123 Tj
--445 TJm
-(with) 17.7135 Tj
--445 TJm
-(the) 12.1743 Tj
-[1 0 0 1 213.94 351.382] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -213.94 -351.382] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-213.94 351.382 Td
-/F134_0 9.9626 Tf
-(BZ_FLUSH) 47.8205 Tj
-[1 0 0 1 261.761 351.382] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -261.761 -351.382] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-266.195 351.382 Td
-/F130_0 9.9626 Tf
-(action) 24.3486 Tj
--445 TJm
-(until) 18.2714 Tj
--445 TJm
-(the) 12.1743 Tj
--446 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
-[1 0 0 1 360.062 351.382] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -360.062 -351.382] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-360.062 351.382 Td
-/F134_0 9.9626 Tf
-(BZ_RUN) 35.8654 Tj
-[1 0 0 1 395.928 351.382] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -395.928 -351.382] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-400.362 351.382 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--445 TJm
-(returned.) 35.686 Tj
--1792 TJm
-(As) 11.0684 Tj
--445 TJm
-(with) 17.7135 Tj
--445 TJm
-(\002nishing,) 37.3697 Tj
-[1 0 0 1 72 339.427] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -339.427] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 339.427 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 155.686 339.427] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.686 -339.427] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-158.177 339.427 Td
-/F130_0 9.9626 Tf
-(detects) 27.6661 Tj
--250 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(attempt) 29.8878 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(input) 20.4831 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(once) 18.8094 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\003ush) 19.3773 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(be) 9.40469 Tj
-15 TJm
-(gun.) 17.4346 Tj
-[1 0 0 1 72 337.27] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -327.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 317.509 Td
-/F130_0 9.9626 Tf
-(Once) 21.0211 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\003ush) 19.3773 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(complete,) 39.0135 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(stream) 26.5603 Tj
--250 TJm
-(returns) 27.6661 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(normal) 28.224 Tj
--250 TJm
-(R) 6.64505 Tj
-40 TJm
-(UNNING) 39.2825 Tj
--250 TJm
-(state.) 20.7521 Tj
-[1 0 0 1 72 315.353] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -305.39] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 295.591 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--344 TJm
-(all) 9.9626 Tj
--343 TJm
-(sounds) 27.6761 Tj
--344 TJm
-(pretty) 23.2427 Tj
--344 TJm
-(comple) 29.3299 Tj
-15 TJm
-(x,) 7.47195 Tj
--367 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--344 TJm
-(isn') 14.9439 Tj
-18 TJm
-(t) 2.7696 Tj
--344 TJm
-(really) 22.6848 Tj
-65 TJm
-(.) 2.49065 Tj
--1182 TJm
-(Here') 22.6749 Tj
-55 TJm
-(s) 3.87545 Tj
--344 TJm
-(a) 4.42339 Tj
--344 TJm
-(table) 19.3673 Tj
--343 TJm
-(which) 24.3486 Tj
--344 TJm
-(sho) 13.8381 Tj
-25 TJm
-(ws) 11.0684 Tj
--344 TJm
-(which) 24.3486 Tj
--344 TJm
-(actions) 28.224 Tj
--343 TJm
-(are) 12.1643 Tj
--344 TJm
-(allo) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--344 TJm
-(in) 7.7509 Tj
--344 TJm
-(each) 18.2515 Tj
-72 283.636 Td
-(state,) 20.7521 Tj
--281 TJm
-(what) 19.3673 Tj
--274 TJm
-(action) 24.3486 Tj
--275 TJm
-(will) 15.5018 Tj
--274 TJm
-(be) 9.40469 Tj
--275 TJm
-(tak) 12.1743 Tj
-10 TJm
-(en,) 11.8953 Tj
--280 TJm
-(what) 19.3673 Tj
--275 TJm
-(the) 12.1743 Tj
--274 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--275 TJm
-(state) 18.2614 Tj
--274 TJm
-(is,) 9.1357 Tj
--281 TJm
-(and) 14.386 Tj
--274 TJm
-(what) 19.3673 Tj
--275 TJm
-(the) 12.1743 Tj
--275 TJm
-(non-error) 37.6188 Tj
--274 TJm
-(return) 23.7907 Tj
--275 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--274 TJm
-(are.) 14.655 Tj
--767 TJm
-(Note) 19.3673 Tj
--275 TJm
-(that) 14.9439 Tj
--274 TJm
-(you) 14.9439 Tj
--275 TJm
-(can') 17.1456 Tj
-18 TJm
-(t) 2.7696 Tj
-72 271.681 Td
-(e) 4.42339 Tj
-15 TJm
-(xplicitly) 33.2153 Tj
--347 TJm
-(ask) 13.2801 Tj
--348 TJm
-(what) 19.3673 Tj
--347 TJm
-(state) 18.2614 Tj
--348 TJm
-(the) 12.1743 Tj
--347 TJm
-(stream) 26.5603 Tj
--348 TJm
-(is) 6.64505 Tj
--347 TJm
-(in,) 10.2416 Tj
--372 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--347 TJm
-(nor) 13.2801 Tj
--348 TJm
-(do) 9.9626 Tj
--347 TJm
-(you) 14.9439 Tj
--348 TJm
-(need) 18.8094 Tj
--347 TJm
-(to) 7.7509 Tj
--348 TJm
-(--) 6.63509 Tj
--347 TJm
-(it) 5.53921 Tj
--348 TJm
-(can) 13.8281 Tj
--347 TJm
-(be) 9.40469 Tj
--347 TJm
-(inferred) 31.5316 Tj
--348 TJm
-(from) 19.3673 Tj
--347 TJm
-(the) 12.1743 Tj
--348 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--347 TJm
-(returned) 33.1954 Tj
--348 TJm
-(by) 9.9626 Tj
-[1 0 0 1 72 259.726] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -259.726] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 259.726 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 155.686 259.726] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.686 -259.726] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-155.686 259.726 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 258.192] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -207.34] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.8518] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.8518 Td
-/F130_0 9.9626 Tf
-(14) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 18 18
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -595.402] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 573.848 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 570.261] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(IDLE/any) 47.8205 Tj
-98.4879 699.676 Td
-(Illegal.) 47.8205 Tj
--852 TJm
-(IDLE) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(only) 23.9102 Tj
--426 TJm
-(exists) 35.8654 Tj
--426 TJm
-(after) 29.8878 Tj
--426 TJm
-(BZ2_bzCompressEnd) 101.619 Tj
--426 TJm
-(or) 11.9551 Tj
-98.4879 687.721 Td
-(before) 35.8654 Tj
--426 TJm
-(BZ2_bzCompressInit.) 113.574 Tj
-98.4879 675.766 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-90 651.856 Td
-(RUNNING/BZ_RUN) 83.6858 Tj
-98.4879 639.9 Td
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible.) 53.798 Tj
-98.4879 627.945 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(RUNNING) 41.8429 Tj
-98.4879 615.99 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_RUN_OK) 53.798 Tj
-90 592.08 Td
-(RUNNING/BZ_FLUSH) 95.641 Tj
-98.4879 580.125 Td
-(Remember) 47.8205 Tj
--426 TJm
-(current) 41.8429 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(next_in.) 47.8205 Tj
--426 TJm
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
-98.4879 568.169 Td
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible,) 53.798 Tj
--426 TJm
-(but) 17.9327 Tj
--426 TJm
-(do) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(accept) 35.8654 Tj
--426 TJm
-(any) 17.9327 Tj
--426 TJm
-(more) 23.9102 Tj
--426 TJm
-(input.) 35.8654 Tj
-98.4879 556.214 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(FLUSHING) 47.8205 Tj
-98.4879 544.259 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_FLUSH_OK) 65.7532 Tj
-90 520.349 Td
-(RUNNING/BZ_FINISH) 101.619 Tj
-98.4879 508.394 Td
-(Remember) 47.8205 Tj
--426 TJm
-(current) 41.8429 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(next_in.) 47.8205 Tj
--426 TJm
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
-98.4879 496.438 Td
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible,) 53.798 Tj
--426 TJm
-(but) 17.9327 Tj
--426 TJm
-(do) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(accept) 35.8654 Tj
--426 TJm
-(any) 17.9327 Tj
--426 TJm
-(more) 23.9102 Tj
--426 TJm
-(input.) 35.8654 Tj
-98.4879 484.483 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(FINISHING) 53.798 Tj
-98.4879 472.528 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_FINISH_OK) 71.7307 Tj
-90 448.618 Td
-(FLUSHING/BZ_FLUSH) 101.619 Tj
-98.4879 436.663 Td
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible,) 53.798 Tj
-98.4879 424.707 Td
-(but) 17.9327 Tj
--426 TJm
-(do) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(accept) 35.8654 Tj
--426 TJm
-(any) 17.9327 Tj
--426 TJm
-(more) 23.9102 Tj
--426 TJm
-(input.) 35.8654 Tj
-98.4879 412.752 Td
-(If) 11.9551 Tj
--426 TJm
-(all) 17.9327 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(existing) 47.8205 Tj
--426 TJm
-(input) 29.8878 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(used) 23.9102 Tj
--426 TJm
-(up) 11.9551 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(all) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
-98.4879 400.797 Td
-(output) 35.8654 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(removed) 41.8429 Tj
-106.976 388.842 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(RUNNING;) 47.8205 Tj
--426 TJm
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_RUN_OK) 53.798 Tj
-98.4879 376.887 Td
-(else) 23.9102 Tj
-106.976 364.932 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(FLUSHING;) 53.798 Tj
--426 TJm
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_FLUSH_OK) 65.7532 Tj
-90 341.021 Td
-(FLUSHING/other) 83.6858 Tj
-98.4879 329.066 Td
-(Illegal.) 47.8205 Tj
-98.4879 317.111 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-90 293.201 Td
-(FINISHING/BZ_FINISH) 113.574 Tj
-98.4879 281.245 Td
-(Compress) 47.8205 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(next_in) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(next_out) 47.8205 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(much) 23.9102 Tj
--426 TJm
-(as) 11.9551 Tj
--426 TJm
-(possible,) 53.798 Tj
-98.4879 269.29 Td
-(but) 17.9327 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(accept) 35.8654 Tj
--426 TJm
-(any) 17.9327 Tj
--426 TJm
-(more) 23.9102 Tj
--426 TJm
-(input.) 35.8654 Tj
-98.4879 257.335 Td
-(If) 11.9551 Tj
--426 TJm
-(all) 17.9327 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(existing) 47.8205 Tj
--426 TJm
-(input) 29.8878 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(used) 23.9102 Tj
--426 TJm
-(up) 11.9551 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(all) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
-98.4879 245.38 Td
-(output) 35.8654 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(removed) 41.8429 Tj
-106.976 233.425 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(IDLE;) 29.8878 Tj
--426 TJm
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_STREAM_END) 77.7083 Tj
-98.4879 221.47 Td
-(else) 23.9102 Tj
-106.976 209.514 Td
-(Next) 23.9102 Tj
--426 TJm
-(state) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(FINISHING;) 59.7756 Tj
--426 TJm
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_FINISH_OK) 71.7307 Tj
-90 185.604 Td
-(FINISHING/other) 89.6634 Tj
-98.4879 173.649 Td
-(Illegal.) 47.8205 Tj
-98.4879 161.694 Td
-(Return) 35.8654 Tj
--426 TJm
-(value) 29.8878 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-[1 0 0 1 72 146.152] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -136.189] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 124.234 Td
-/F130_0 9.9626 Tf
-(That) 18.2614 Tj
--250 TJm
-(still) 14.9539 Tj
--250 TJm
-(looks) 21.589 Tj
--250 TJm
-(complicated?) 53.1206 Tj
--620 TJm
-(W) 9.40469 Tj
-80 TJm
-(ell,) 12.4533 Tj
--250 TJm
-(f) 3.31755 Tj
-10 TJm
-(air) 10.5105 Tj
--250 TJm
-(enough.) 31.8205 Tj
--620 TJm
-(The) 15.4918 Tj
--250 TJm
-(usual) 21.031 Tj
--250 TJm
-(sequence) 36.5129 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(calls) 18.2614 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(compressing) 50.3609 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(load) 17.1556 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(is:) 9.41466 Tj
-[1 0 0 1 72 122.077] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -29.7236] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 7.3724 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -79.3724 -92.3537] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-79.3724 92.3537 Td
-/F130_0 9.9626 Tf
-(1.) 7.47195 Tj
-[1 0 0 1 86.8444 92.3537] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 3.0884 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -91.9253 -92.3537] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-91.9253 92.3537 Td
-/F130_0 9.9626 Tf
-(Get) 14.386 Tj
--250 TJm
-(started) 26.5603 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 158.056 92.3537] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -158.056 -92.3537] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-158.056 92.3537 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 265.653 92.3537] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -265.653 -92.3537] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-265.653 92.3537 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 268.144 92.3537] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -196.144 -41.5019] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.893 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(15) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 19 19
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -31.5168] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 7.3724 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -79.3724 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-79.3724 710.037 Td
-/F130_0 9.9626 Tf
-(2.) 7.47195 Tj
-[1 0 0 1 86.8444 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 3.0884 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -91.9253 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-91.9253 710.037 Td
-/F130_0 9.9626 Tf
-(Sho) 15.5018 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--240 TJm
-(data) 16.5977 Tj
--240 TJm
-(in) 7.7509 Tj
--241 TJm
-(and) 14.386 Tj
--240 TJm
-(shlurp) 24.9065 Tj
--240 TJm
-(out) 12.7322 Tj
--240 TJm
-(its) 9.41466 Tj
--240 TJm
-(compressed) 47.0334 Tj
--241 TJm
-(form) 19.3673 Tj
--240 TJm
-(using) 21.589 Tj
--240 TJm
-(zero) 17.1456 Tj
--240 TJm
-(or) 8.29885 Tj
--240 TJm
-(more) 20.4731 Tj
--241 TJm
-(calls) 18.2614 Tj
--240 TJm
-(of) 8.29885 Tj
-[1 0 0 1 401.454 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -401.454 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-401.454 710.037 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 485.14 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -485.14 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-487.533 710.037 Td
-/F130_0 9.9626 Tf
-(with) 17.7135 Tj
--240 TJm
-(action) 24.3486 Tj
--240 TJm
-(=) 5.61891 Tj
-[1 0 0 1 91.9253 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -91.9253 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-91.9253 698.082 Td
-/F134_0 9.9626 Tf
-(BZ_RUN) 35.8654 Tj
-[1 0 0 1 127.791 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -127.791 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-127.791 698.082 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 130.281 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -58.2814 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 7.3724 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -79.3724 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-79.3724 676.164 Td
-/F130_0 9.9626 Tf
-(3.) 7.47195 Tj
-[1 0 0 1 86.8444 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 3.0884 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -91.9253 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-91.9253 676.164 Td
-/F130_0 9.9626 Tf
-(Finish) 24.9165 Tj
--242 TJm
-(up.) 12.4533 Tj
--307 TJm
-(Repeatedly) 44.8217 Tj
--241 TJm
-(call) 14.386 Tj
-[1 0 0 1 198.784 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -198.784 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-198.784 676.164 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 282.471 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -282.471 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-284.878 676.164 Td
-/F130_0 9.9626 Tf
-(with) 17.7135 Tj
--242 TJm
-(action) 24.3486 Tj
--241 TJm
-(=) 5.61891 Tj
-[1 0 0 1 339.78 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -339.78 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-339.78 676.164 Td
-/F134_0 9.9626 Tf
-(BZ_FINISH) 53.798 Tj
-[1 0 0 1 393.579 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -393.579 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-393.579 676.164 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--242 TJm
-(cop) 14.386 Tj
-10 TJm
-(ying) 17.7135 Tj
--241 TJm
-(out) 12.7322 Tj
--242 TJm
-(the) 12.1743 Tj
--242 TJm
-(compres) 33.7533 Tj
-1 TJm
-(sed) 13.2801 Tj
--242 TJm
-(output,) 27.9551 Tj
-91.9253 664.209 Td
-(until) 18.2714 Tj
-[1 0 0 1 112.687 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -112.687 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-112.687 664.209 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 190.396 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -190.396 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-192.886 664.209 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(returned.) 35.686 Tj
-[1 0 0 1 237.708 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -165.708 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 7.3724 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -79.3724 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-79.3724 642.291 Td
-/F130_0 9.9626 Tf
-(4.) 7.47195 Tj
-[1 0 0 1 86.8444 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 3.0884 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -91.9253 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-91.9253 642.291 Td
-/F130_0 9.9626 Tf
-(Close) 22.6948 Tj
--250 TJm
-(up) 9.9626 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(go) 9.9626 Tj
--250 TJm
-(home.) 24.6275 Tj
--620 TJm
-(Call) 16.6077 Tj
-[1 0 0 1 208.796 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -208.796 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-208.796 642.291 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.619 Tj
-[1 0 0 1 310.415 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -310.415 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-310.415 642.291 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 312.906 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -240.906 -12.1195] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -630.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 620.374 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--269 TJm
-(the) 12.1743 Tj
--270 TJm
-(data) 16.5977 Tj
--269 TJm
-(you) 14.9439 Tj
--270 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--269 TJm
-(to) 7.7509 Tj
--270 TJm
-(compress) 37.6287 Tj
--269 TJm
-(\002ts) 12.1843 Tj
--270 TJm
-(into) 15.5018 Tj
--269 TJm
-(your) 18.2614 Tj
--270 TJm
-(input) 20.4831 Tj
--269 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--270 TJm
-(all) 9.9626 Tj
--269 TJm
-(at) 7.193 Tj
--270 TJm
-(once,) 21.3 Tj
--274 TJm
-(you) 14.9439 Tj
--269 TJm
-(can) 13.8281 Tj
--270 TJm
-(skip) 16.6077 Tj
--269 TJm
-(the) 12.1743 Tj
--270 TJm
-(calls) 18.2614 Tj
--269 TJm
-(of) 8.29885 Tj
-[1 0 0 1 456.314 620.374] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -456.314 -620.374] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-456.314 620.374 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-72 608.418 Td
-(\() 5.97756 Tj
--600 TJm
-(...,) 23.9102 Tj
--600 TJm
-(BZ_RUN) 35.8654 Tj
--600 TJm
-(\)) 5.97756 Tj
-[1 0 0 1 161.664 608.418] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.664 -608.418] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-164.154 608.418 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
--250 TJm
-(just) 14.396 Tj
--250 TJm
-(do) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
-[1 0 0 1 225.036 608.418] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -225.036 -608.418] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-225.036 608.418 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
--600 TJm
-(\() 5.97756 Tj
--600 TJm
-(...,) 23.9102 Tj
--600 TJm
-(BZ_FINISH) 53.798 Tj
--600 TJm
-(\)) 5.97756 Tj
-[1 0 0 1 422.296 608.418] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -422.296 -608.418] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-424.786 608.418 Td
-/F130_0 9.9626 Tf
-(calls.) 20.7521 Tj
-[1 0 0 1 72 606.262] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -596.299] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 586.501 Td
-/F130_0 9.9626 Tf
-(All) 12.7322 Tj
--278 TJm
-(required) 33.1954 Tj
--277 TJm
-(memory) 33.2053 Tj
--278 TJm
-(is) 6.64505 Tj
--277 TJm
-(allocated) 35.965 Tj
--278 TJm
-(by) 9.9626 Tj
-[1 0 0 1 220.295 586.501] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -220.295 -586.501] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-220.295 586.501 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 327.891 586.501] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -327.891 -586.501] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-327.891 586.501 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--785 TJm
-(The) 15.4918 Tj
--278 TJm
-(compression) 50.3609 Tj
--277 TJm
-(library) 26.5603 Tj
--278 TJm
-(can) 13.8281 Tj
--277 TJm
-(accept) 25.4445 Tj
--278 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--277 TJm
-(data) 16.5977 Tj
--278 TJm
-(at) 7.193 Tj
--278 TJm
-(all) 9.9626 Tj
-72 574.545 Td
-(\(ob) 13.2801 Tj
-15 TJm
-(viously\).) 35.1481 Tj
--612 TJm
-(So) 10.5205 Tj
--238 TJm
-(you) 14.9439 Tj
--237 TJm
-(shouldn') 34.8691 Tj
-18 TJm
-(t) 2.7696 Tj
--238 TJm
-(get) 12.1743 Tj
--238 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--237 TJm
-(error) 19.3573 Tj
--238 TJm
-(return) 23.7907 Tj
--238 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
--238 TJm
-(from) 19.3673 Tj
--237 TJm
-(the) 12.1743 Tj
-[1 0 0 1 339.287 574.545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -339.287 -574.545] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-339.287 574.545 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 422.973 574.545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -422.973 -574.545] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-425.342 574.545 Td
-/F130_0 9.9626 Tf
-(calls.) 20.7521 Tj
--612 TJm
-(If) 6.63509 Tj
--238 TJm
-(you) 14.9439 Tj
--237 TJm
-(do,) 12.4533 Tj
--240 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--238 TJm
-(will) 15.5018 Tj
--238 TJm
-(be) 9.40469 Tj
-[1 0 0 1 72 562.59] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -562.59] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 562.59 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-[1 0 0 1 173.619 562.59] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -173.619 -562.59] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-173.619 562.59 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(indicate) 31.5416 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(your) 18.2614 Tj
--250 TJm
-(programming.) 56.727 Tj
-[1 0 0 1 72 560.433] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -550.471] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 540.673 Td
-/F130_0 9.9626 Tf
-(T) 6.08715 Tj
-35 TJm
-(ri) 6.08715 Tj
-25 TJm
-(vial) 14.9439 Tj
--250 TJm
-(other) 20.4731 Tj
--250 TJm
-(possible) 32.6574 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 538.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -36.8617] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 35.8655 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 32.2789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -529.151] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 529.151 Td
-/F134_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 517.196 Td
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL,) 29.8878 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(strm->s) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-[1 0 0 1 72 501.654] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -491.691] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 471.033 Td
-/F122_0 17.2154 Tf
-(3.3.3.) 43.0729 Tj
-[1 0 0 1 119.858 471.033] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -471.033] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 471.033 Td
-/F392_0 17.2154 Tf
-(BZ2_bzCompressEnd) 175.597 Tj
-[1 0 0 1 295.455 471.033] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -223.455 -2.3326] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -459.335] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 459.335 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzCompressEnd) 101.619 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-286.303 457.592 Td
-(*) 5.97756 Tj
-292.281 459.335 Td
-(strm) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 443.793] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5493] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -433.831] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 421.876 Td
-/F130_0 9.9626 Tf
-(Releases) 34.8591 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(memory) 33.2053 Tj
--250 TJm
-(associated) 40.9463 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(compression) 50.3609 Tj
--250 TJm
-(stream.) 29.0509 Tj
-[1 0 0 1 72 419.719] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -409.756] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 399.958 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 399.858] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -36.8618] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 35.8655 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 32.2789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -390.493] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 390.493 Td
-/F134_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
--852 TJm
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(strm->s) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-90 378.538 Td
-(BZ_OK) 29.8878 Tj
--4686 TJm
-(otherwise) 53.798 Tj
-[1 0 0 1 72 362.996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -353.034] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 332.375 Td
-/F122_0 17.2154 Tf
-(3.3.4.) 43.0729 Tj
-[1 0 0 1 119.858 332.375] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -332.375] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 332.375 Td
-/F392_0 17.2154 Tf
-(BZ2_bzDecompressInit) 206.585 Tj
-[1 0 0 1 326.443 332.375] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -254.443 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -320.678] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 320.678 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzDecompressInit) 119.551 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-304.236 318.934 Td
-(*) 5.97756 Tj
-310.214 320.678 Td
-(strm,) 29.8878 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(verbosity,) 59.7756 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 305.136] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -295.173] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 283.218 Td
-/F130_0 9.9626 Tf
-(Prepares) 34.3012 Tj
--351 TJm
-(for) 11.6164 Tj
--351 TJm
-(decompression.) 62.2563 Tj
--1228 TJm
-(As) 11.0684 Tj
--351 TJm
-(with) 17.7135 Tj
-[1 0 0 1 235.177 283.218] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -235.177 -283.218] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-235.177 283.218 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 342.773 283.218] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.773 -283.218] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-342.773 283.218 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--377 TJm
-(a) 4.42339 Tj
-[1 0 0 1 356.937 283.218] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -356.937 -283.218] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-356.937 283.218 Td
-/F134_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-[1 0 0 1 410.736 283.218] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -410.736 -283.218] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-414.235 283.218 Td
-/F130_0 9.9626 Tf
-(record) 25.4445 Tj
--351 TJm
-(should) 26.5703 Tj
--351 TJm
-(be) 9.40469 Tj
--352 TJm
-(allocated) 35.965 Tj
--351 TJm
-(and) 14.386 Tj
-72 271.263 Td
-(initialised) 39.3025 Tj
--306 TJm
-(before) 25.4445 Tj
--305 TJm
-(the) 12.1743 Tj
--306 TJm
-(call.) 16.8766 Tj
--953 TJm
-(Fields) 24.3586 Tj
-[1 0 0 1 211.833 271.263] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -211.833 -271.263] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-211.833 271.263 Td
-/F134_0 9.9626 Tf
-(bzalloc) 41.8429 Tj
-[1 0 0 1 253.676 271.263] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -253.676 -271.263] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-253.676 271.263 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 259.35 271.263] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -259.35 -271.263] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-259.35 271.263 Td
-/F134_0 9.9626 Tf
-(bzfree) 35.8654 Tj
-[1 0 0 1 295.215 271.263] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -295.215 -271.263] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-298.26 271.263 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 315.69 271.263] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -315.69 -271.263] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-315.69 271.263 Td
-/F134_0 9.9626 Tf
-(opaque) 35.8654 Tj
-[1 0 0 1 351.556 271.263] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -351.556 -271.263] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-354.6 271.263 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--306 TJm
-(be) 9.40469 Tj
--305 TJm
-(set) 11.0684 Tj
--306 TJm
-(if) 6.08715 Tj
--305 TJm
-(a) 4.42339 Tj
--306 TJm
-(custom) 28.782 Tj
--305 TJm
-(memory) 33.2053 Tj
--306 TJm
-(allocator) 34.8591 Tj
--306 TJm
-(is) 6.64505 Tj
-72 259.308 Td
-(required,) 35.686 Tj
--350 TJm
-(or) 8.29885 Tj
--331 TJm
-(made) 21.579 Tj
-[1 0 0 1 147.635 259.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -147.635 -259.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-147.635 259.308 Td
-/F134_0 9.9626 Tf
-(NULL) 23.9102 Tj
-[1 0 0 1 171.546 259.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -171.546 -259.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-174.835 259.308 Td
-/F130_0 9.9626 Tf
-(for) 11.6164 Tj
--330 TJm
-(the) 12.1743 Tj
--331 TJm
-(normal) 28.224 Tj
-[1 0 0 1 236.722 259.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -236.722 -259.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-236.722 259.308 Td
-/F134_0 9.9626 Tf
-(malloc) 35.8654 Tj
-[1 0 0 1 272.587 259.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -272.587 -259.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-275.878 259.308 Td
-/F130_0 9.9626 Tf
-(/) 2.7696 Tj
-[1 0 0 1 281.938 259.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -281.938 -259.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-281.938 259.308 Td
-/F134_0 9.9626 Tf
-(free) 23.9102 Tj
-[1 0 0 1 305.848 259.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -305.848 -259.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-309.139 259.308 Td
-/F130_0 9.9626 Tf
-(routines.) 34.5901 Tj
--1102 TJm
-(Upon) 22.1369 Tj
--330 TJm
-(return,) 26.2813 Tj
--350 TJm
-(the) 12.1743 Tj
--331 TJm
-(internal) 30.4357 Tj
--330 TJm
-(state) 18.2614 Tj
--330 TJm
-(will) 15.5018 Tj
--330 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--331 TJm
-(been) 18.8094 Tj
-72 247.353 Td
-(initialised,) 41.7931 Tj
--250 TJm
-(and) 14.386 Tj
-[1 0 0 1 133.16 247.353] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -133.16 -247.353] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-133.16 247.353 Td
-/F134_0 9.9626 Tf
-(total_in) 47.8205 Tj
-[1 0 0 1 180.98 247.353] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -180.98 -247.353] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-183.471 247.353 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 200.348 247.353] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -200.348 -247.353] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-200.348 247.353 Td
-/F134_0 9.9626 Tf
-(total_out) 53.798 Tj
-[1 0 0 1 254.146 247.353] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -254.146 -247.353] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-256.637 247.353 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(zero.) 19.6363 Tj
-[1 0 0 1 72 245.913] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -235.951] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 225.435 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(meaning) 34.3112 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(parameter) 39.8305 Tj
-[1 0 0 1 192.756 225.435] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -192.756 -225.435] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-192.756 225.435 Td
-/F134_0 9.9626 Tf
-(verbosity) 53.798 Tj
-[1 0 0 1 246.554 225.435] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -246.554 -225.435] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-246.554 225.435 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(see) 12.7222 Tj
-[1 0 0 1 266.748 225.435] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -266.748 -225.435] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-266.748 225.435 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 374.345 225.435] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -374.345 -225.435] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-374.345 225.435 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 223.278] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -213.315] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 203.517 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
-[1 0 0 1 81.4975 203.517] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -81.4975 -203.517] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-81.4975 203.517 Td
-/F134_0 9.9626 Tf
-(small) 29.8878 Tj
-[1 0 0 1 111.385 203.517] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -111.385 -203.517] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-114.248 203.517 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--287 TJm
-(nonzero,) 34.5802 Tj
--297 TJm
-(the) 12.1743 Tj
--287 TJm
-(library) 26.5603 Tj
--288 TJm
-(will) 15.5018 Tj
--287 TJm
-(use) 13.2801 Tj
--287 TJm
-(an) 9.40469 Tj
--287 TJm
-(alternati) 32.6474 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--288 TJm
-(decompression) 59.7656 Tj
--287 TJm
-(algorithm) 38.7446 Tj
--287 TJm
-(which) 24.3486 Tj
--288 TJm
-(uses) 17.1556 Tj
--287 TJm
-(less) 14.9439 Tj
--287 TJm
-(memory) 33.2053 Tj
--287 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--288 TJm
-(at) 7.193 Tj
--287 TJm
-(the) 12.1743 Tj
-72 191.562 Td
-(cost) 16.0497 Tj
--289 TJm
-(of) 8.29885 Tj
--290 TJm
-(decompressing) 59.7656 Tj
--289 TJm
-(more) 20.4731 Tj
--289 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wly) 14.9439 Tj
--290 TJm
-(\(roughly) 34.3112 Tj
--289 TJm
-(speaking,) 37.9077 Tj
--299 TJm
-(half) 15.4918 Tj
--290 TJm
-(the) 12.1743 Tj
--289 TJm
-(speed,) 25.1755 Tj
--299 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--289 TJm
-(the) 12.1743 Tj
--290 TJm
-(maximum) 40.4083 Tj
--289 TJm
-(memory) 33.2053 Tj
--289 TJm
-(requirement) 48.1393 Tj
--290 TJm
-(drops) 22.1369 Tj
-72 179.607 Td
-(to) 7.7509 Tj
--250 TJm
-(around) 27.6661 Tj
--250 TJm
-(2300k\).) 30.7147 Tj
--620 TJm
-(See) 14.386 Tj
-[1 0 0 1 166.166 179.607] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -166.166 -179.607] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-166.166 179.607 Td
-/F130_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(bzip2) 22.1369 Tj
-[1 0 0 1 235.924 179.607] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-[1 0 0 1 -235.924 -179.607] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-238.415 179.607 Td
-/F130_0 9.9626 Tf
-([2]) 11.6164 Tj
-[1 0 0 1 250.031 179.607] cm
-/DeviceRGB {} cs
-[0 0 1] sc
-/DeviceRGB {} CS
-[0 0 1] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -250.031 -179.607] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-252.522 179.607 Td
-/F130_0 9.9626 Tf
-(for) 11.6164 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(information) 47.0434 Tj
--250 TJm
-(on) 9.9626 Tj
--250 TJm
-(memory) 33.2053 Tj
--250 TJm
-(management.) 53.3995 Tj
-[1 0 0 1 72 177.45] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -167.487] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 157.689 Td
-/F130_0 9.9626 Tf
-(Note) 19.3673 Tj
--289 TJm
-(that) 14.9439 Tj
--290 TJm
-(the) 12.1743 Tj
--289 TJm
-(amount) 29.8878 Tj
--289 TJm
-(of) 8.29885 Tj
--289 TJm
-(memory) 33.2053 Tj
--290 TJm
-(needed) 28.2141 Tj
--289 TJm
-(to) 7.7509 Tj
--289 TJm
-(decompress) 47.0334 Tj
--289 TJm
-(a) 4.42339 Tj
--290 TJm
-(stream) 26.5603 Tj
--289 TJm
-(cannot) 26.5603 Tj
--289 TJm
-(be) 9.40469 Tj
--289 TJm
-(determined) 44.8217 Tj
--290 TJm
-(until) 18.2714 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(stream') 29.8778 Tj
-55 TJm
-(s) 3.87545 Tj
--289 TJm
-(header) 26.5503 Tj
--290 TJm
-(has) 13.2801 Tj
-72 145.734 Td
-(been) 18.8094 Tj
--342 TJm
-(read,) 19.6363 Tj
--366 TJm
-(so) 8.85675 Tj
--342 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--342 TJm
-(if) 6.08715 Tj
-[1 0 0 1 161.081 145.734] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.081 -145.734] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-161.081 145.734 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.551 Tj
-[1 0 0 1 280.633 145.734] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -280.633 -145.734] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-284.043 145.734 Td
-/F130_0 9.9626 Tf
-(succeeds,) 37.8977 Tj
--365 TJm
-(a) 4.42339 Tj
--343 TJm
-(subsequent) 44.2738 Tj
-[1 0 0 1 381.098 145.734] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -381.098 -145.734] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-381.098 145.734 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 476.739 145.734] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -476.739 -145.734] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-480.149 145.734 Td
-/F130_0 9.9626 Tf
-(could) 22.1369 Tj
--342 TJm
-(f) 3.31755 Tj
-10 TJm
-(ail) 9.9626 Tj
--343 TJm
-(with) 17.7135 Tj
-[1 0 0 1 72 133.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -133.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 133.779 Td
-/F134_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-[1 0 0 1 143.731 133.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.731 -133.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-143.731 133.779 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 132.469] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -122.506] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 111.861 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 111.761] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -60.9095] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(16) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 20 20
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -117.195] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 95.6413 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 92.0547] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.4879 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 687.721 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 675.766 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(1) 5.97756 Tj
--426 TJm
-(\)) 5.97756 Tj
-98.4879 663.811 Td
-(or) 11.9551 Tj
--426 TJm
-(\(verbosity) 59.7756 Tj
--426 TJm
-(<;) 11.9551 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(||) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(4\)) 11.9551 Tj
-90 651.856 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.4879 639.9 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-[1 0 0 1 72 624.359] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5865] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -614.396] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 602.441 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-[1 0 0 1 72 602.341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -48.8169] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 47.8207 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 44.2341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -592.976] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 592.976 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-98.4879 581.021 Td
-(if) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(returned) 47.8205 Tj
-98.4879 569.066 Td
-(no) 11.9551 Tj
--426 TJm
-(specific) 47.8205 Tj
--426 TJm
-(action) 35.8654 Tj
--426 TJm
-(required) 47.8205 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(case) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
-[1 0 0 1 72 553.524] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -543.562] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 522.903 Td
-/F122_0 17.2154 Tf
-(3.3.5.) 43.0729 Tj
-[1 0 0 1 119.858 522.903] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -522.903] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 522.903 Td
-/F392_0 17.2154 Tf
-(BZ2_bzDecompress) 165.268 Tj
-[1 0 0 1 285.126 522.903] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -213.126 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -511.206] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 511.206 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzDecompress) 95.641 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-280.326 509.462 Td
-(*) 5.97756 Tj
-286.303 511.206 Td
-(strm) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 495.664] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 473.746 Td
-/F130_0 9.9626 Tf
-(Pro) 13.8381 Tj
-15 TJm
-(vides) 21.031 Tj
--301 TJm
-(more) 20.4731 Tj
--302 TJm
-(input) 20.4831 Tj
--301 TJm
-(and/out) 29.8878 Tj
--302 TJm
-(output) 25.4644 Tj
--301 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--301 TJm
-(space) 22.1269 Tj
--302 TJm
-(for) 11.6164 Tj
--301 TJm
-(the) 12.1743 Tj
--302 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.49065 Tj
--928 TJm
-(The) 15.4918 Tj
--301 TJm
-(caller) 22.1269 Tj
--302 TJm
-(maintains) 38.7446 Tj
--301 TJm
-(input) 20.4831 Tj
--302 TJm
-(and) 14.386 Tj
--301 TJm
-(output) 25.4644 Tj
--301 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fers,) 17.4246 Tj
--315 TJm
-(and) 14.386 Tj
-72 461.791 Td
-(uses) 17.1556 Tj
-[1 0 0 1 91.6461 461.791] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -91.6461 -461.791] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-91.6461 461.791 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 187.287 461.791] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -187.287 -461.791] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-189.778 461.791 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(transfer) 30.4258 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(between) 33.1954 Tj
--250 TJm
-(them.) 22.4159 Tj
-[1 0 0 1 72 460.257] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -450.294] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 439.873 Td
-/F130_0 9.9626 Tf
-(Before) 27.1082 Tj
--498 TJm
-(each) 18.2515 Tj
--499 TJm
-(call) 14.386 Tj
--498 TJm
-(to) 7.7509 Tj
-[1 0 0 1 159.356 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -159.356 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-159.356 439.873 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 254.997 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -254.997 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-254.997 439.873 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 263.071 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -263.071 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-263.071 439.873 Td
-/F134_0 9.9626 Tf
-(next_in) 41.8429 Tj
-[1 0 0 1 304.914 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -304.914 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-309.879 439.873 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--498 TJm
-(point) 20.4831 Tj
--499 TJm
-(at) 7.193 Tj
--498 TJm
-(the) 12.1743 Tj
--498 TJm
-(compressed) 47.0334 Tj
--499 TJm
-(data,) 19.0883 Tj
--560 TJm
-(and) 14.386 Tj
-[1 0 0 1 492.179 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -492.179 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-492.179 439.873 Td
-/F134_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-[1 0 0 1 540 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 427.918 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--308 TJm
-(indicate) 31.5416 Tj
--308 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--309 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--308 TJm
-(bytes) 21.031 Tj
--308 TJm
-(the) 12.1743 Tj
--308 TJm
-(library) 26.5603 Tj
--308 TJm
-(may) 17.1556 Tj
--309 TJm
-(read.) 19.6363 Tj
-[1 0 0 1 294.955 427.918] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -294.955 -427.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-294.955 427.918 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 390.597 427.918] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -390.597 -427.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-393.667 427.918 Td
-/F130_0 9.9626 Tf
-(updates) 30.4357 Tj
-[1 0 0 1 427.173 427.918] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -427.173 -427.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-427.173 427.918 Td
-/F134_0 9.9626 Tf
-(next_in) 41.8429 Tj
-[1 0 0 1 469.016 427.918] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -469.016 -427.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-469.016 427.918 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 474.723 427.918] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -474.723 -427.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-474.723 427.918 Td
-/F134_0 9.9626 Tf
-(avail_in) 47.8205 Tj
-[1 0 0 1 522.543 427.918] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -522.543 -427.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-525.614 427.918 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 72 415.963] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -415.963] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 415.963 Td
-/F134_0 9.9626 Tf
-(total_in) 47.8205 Tj
-[1 0 0 1 119.821 415.963] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.821 -415.963] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-122.311 415.963 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(re\003ect) 24.8965 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(read.) 19.6363 Tj
-[1 0 0 1 72 413.806] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -403.843] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 394.045 Td
-/F130_0 9.9626 Tf
-(Similarly) 37.0908 Tj
-65 TJm
-(,) 2.49065 Tj
-[1 0 0 1 113.799 394.045] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.799 -394.045] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-113.799 394.045 Td
-/F134_0 9.9626 Tf
-(next_out) 47.8205 Tj
-[1 0 0 1 161.62 394.045] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.62 -394.045] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-164.41 394.045 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--280 TJm
-(point) 20.4831 Tj
--280 TJm
-(to) 7.7509 Tj
--280 TJm
-(a) 4.42339 Tj
--280 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--280 TJm
-(in) 7.7509 Tj
--281 TJm
-(which) 24.3486 Tj
--280 TJm
-(the) 12.1743 Tj
--280 TJm
-(uncompressed) 56.996 Tj
--280 TJm
-(output) 25.4644 Tj
--280 TJm
-(is) 6.64505 Tj
--280 TJm
-(to) 7.7509 Tj
--280 TJm
-(be) 9.40469 Tj
--280 TJm
-(placed,) 28.493 Tj
--288 TJm
-(with) 17.7135 Tj
-[1 0 0 1 486.202 394.045] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -486.202 -394.045] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-486.202 394.045 Td
-/F134_0 9.9626 Tf
-(avail_out) 53.798 Tj
-[1 0 0 1 540 394.045] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -394.045] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 382.09 Td
-/F130_0 9.9626 Tf
-(indicating) 39.8504 Tj
--525 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--524 TJm
-(much) 22.1369 Tj
--525 TJm
-(output) 25.4644 Tj
--524 TJm
-(space) 22.1269 Tj
--525 TJm
-(is) 6.64505 Tj
--525 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable.) 29.0509 Tj
-[1 0 0 1 285.792 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -285.792 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-285.792 382.09 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 369.478 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -369.478 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-374.705 382.09 Td
-/F130_0 9.9626 Tf
-(updates) 30.4357 Tj
-[1 0 0 1 410.367 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -410.367 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-410.367 382.09 Td
-/F134_0 9.9626 Tf
-(next_out) 47.8205 Tj
-[1 0 0 1 458.188 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -458.188 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-458.188 382.09 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 466.589 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -466.589 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-466.589 382.09 Td
-/F134_0 9.9626 Tf
-(avail_out) 53.798 Tj
-[1 0 0 1 520.387 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -520.387 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-525.614 382.09 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 72 370.135] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -370.135] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 370.135 Td
-/F134_0 9.9626 Tf
-(total_out) 53.798 Tj
-[1 0 0 1 125.798 370.135] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -125.798 -370.135] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-128.289 370.135 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(re\003ect) 24.8965 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(bytes) 21.031 Tj
--250 TJm
-(output.) 27.9551 Tj
-[1 0 0 1 72 367.978] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -358.015] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 348.217 Td
-/F130_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--320 TJm
-(may) 17.1556 Tj
--321 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--320 TJm
-(and) 14.386 Tj
--321 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--320 TJm
-(as) 8.29885 Tj
--321 TJm
-(little) 18.2714 Tj
--320 TJm
-(or) 8.29885 Tj
--320 TJm
-(as) 8.29885 Tj
--321 TJm
-(much) 22.1369 Tj
--320 TJm
-(data) 16.5977 Tj
--321 TJm
-(as) 8.29885 Tj
--320 TJm
-(you) 14.9439 Tj
--321 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.42339 Tj
--320 TJm
-(on) 9.9626 Tj
--320 TJm
-(each) 18.2515 Tj
--321 TJm
-(call) 14.386 Tj
--320 TJm
-(of) 8.29885 Tj
-[1 0 0 1 407.816 348.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -407.816 -348.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-407.816 348.217 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 503.457 348.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -503.457 -348.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-503.457 348.217 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1043 TJm
-(In) 8.29885 Tj
--320 TJm
-(the) 12.1743 Tj
-72 336.262 Td
-(limit,) 21.32 Tj
--295 TJm
-(it) 5.53921 Tj
--286 TJm
-(is) 6.64505 Tj
--287 TJm
-(acceptable) 42.0422 Tj
--286 TJm
-(to) 7.7509 Tj
--286 TJm
-(supply) 26.5703 Tj
--286 TJm
-(and) 14.386 Tj
--287 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--286 TJm
-(data) 16.5977 Tj
--286 TJm
-(one) 14.386 Tj
--286 TJm
-(byte) 17.1556 Tj
--287 TJm
-(at) 7.193 Tj
--286 TJm
-(a) 4.42339 Tj
--286 TJm
-(time,) 20.2042 Tj
--295 TJm
-(although) 34.8691 Tj
--286 TJm
-(this) 14.396 Tj
--287 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--286 TJm
-(be) 9.40469 Tj
--286 TJm
-(terribly) 29.3299 Tj
--286 TJm
-(inef) 15.4918 Tj
-25 TJm
-(\002cient.) 27.3972 Tj
--838 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
-72 324.306 Td
-(should) 26.5703 Tj
--250 TJm
-(al) 7.193 Tj
-10 TJm
-(w) 7.193 Tj
-10 TJm
-(ays) 13.2801 Tj
--250 TJm
-(ensure) 26.0024 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(least) 18.2614 Tj
--250 TJm
-(one) 14.386 Tj
--250 TJm
-(byte) 17.1556 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(space) 22.1269 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(each) 18.2515 Tj
--250 TJm
-(call.) 16.8766 Tj
-[1 0 0 1 72 322.15] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -312.187] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 302.389 Td
-/F130_0 9.9626 Tf
-(Use) 15.4918 Tj
--250 TJm
-(of) 8.29885 Tj
-[1 0 0 1 100.772 302.389] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -100.772 -302.389] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-100.772 302.389 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 196.413 302.389] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -196.413 -302.389] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-198.904 302.389 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(simpler) 29.8878 Tj
--250 TJm
-(than) 17.1556 Tj
-[1 0 0 1 260.064 302.389] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -260.064 -302.389] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-260.064 302.389 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 343.75 302.389] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -343.75 -302.389] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-343.75 302.389 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 300.232] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -290.269] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 280.471 Td
-/F130_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--346 TJm
-(should) 26.5703 Tj
--347 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--346 TJm
-(input) 20.4831 Tj
--346 TJm
-(and) 14.386 Tj
--346 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--347 TJm
-(output) 25.4644 Tj
--346 TJm
-(as) 8.29885 Tj
--346 TJm
-(described) 38.1767 Tj
--346 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.91404 Tj
--371 TJm
-(and) 14.386 Tj
--346 TJm
-(repeatedly) 41.4942 Tj
--346 TJm
-(call) 14.386 Tj
-[1 0 0 1 422.638 280.471] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -422.638 -280.471] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-422.638 280.471 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 518.279 280.471] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -518.279 -280.471] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-521.729 280.471 Td
-/F130_0 9.9626 Tf
-(until) 18.2714 Tj
-[1 0 0 1 72 268.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -268.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 268.516 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 149.709 268.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -149.709 -268.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-152.314 268.516 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--262 TJm
-(returned.) 35.686 Tj
--344 TJm
-(Appearance) 47.5714 Tj
--262 TJm
-(of) 8.29885 Tj
-[1 0 0 1 261.767 268.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -261.767 -268.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-261.767 268.516 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 339.475 268.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -339.475 -268.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-342.081 268.516 Td
-/F130_0 9.9626 Tf
-(denotes) 30.4357 Tj
--262 TJm
-(that) 14.9439 Tj
-[1 0 0 1 392.672 268.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -392.672 -268.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-392.672 268.516 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 488.313 268.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -488.313 -268.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-490.919 268.516 Td
-/F130_0 9.9626 Tf
-(has) 13.2801 Tj
--262 TJm
-(detected) 33.1954 Tj
-72 256.561 Td
-(the) 12.1743 Tj
--212 TJm
-(logical) 27.1182 Tj
--212 TJm
-(end) 14.386 Tj
--211 TJm
-(of) 8.29885 Tj
--212 TJm
-(the) 12.1743 Tj
--212 TJm
-(compressed) 47.0334 Tj
--212 TJm
-(stream.) 29.0509 Tj
-[1 0 0 1 237.858 256.561] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -237.858 -256.561] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-237.858 256.561 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 333.499 256.561] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -333.499 -256.561] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-335.609 256.561 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--212 TJm
-(not) 12.7322 Tj
--212 TJm
-(produce) 32.0895 Tj
-[1 0 0 1 402.263 256.561] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -402.263 -256.561] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-402.263 256.561 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 479.972 256.561] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -479.972 -256.561] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-482.082 256.561 Td
-/F130_0 9.9626 Tf
-(until) 18.2714 Tj
--212 TJm
-(all) 9.9626 Tj
--212 TJm
-(output) 25.4644 Tj
-72 244.605 Td
-(data) 16.5977 Tj
--256 TJm
-(has) 13.2801 Tj
--256 TJm
-(been) 18.8094 Tj
--255 TJm
-(placed) 26.0024 Tj
--256 TJm
-(into) 15.5018 Tj
--256 TJm
-(the) 12.1743 Tj
--256 TJm
-(output) 25.4644 Tj
--256 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-40 TJm
-(,) 2.49065 Tj
--257 TJm
-(so) 8.85675 Tj
--256 TJm
-(once) 18.8094 Tj
-[1 0 0 1 278.978 244.605] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.978 -244.605] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-278.978 244.605 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 356.687 244.605] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -356.687 -244.605] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-359.236 244.605 Td
-/F130_0 9.9626 Tf
-(appears,) 32.9164 Tj
--257 TJm
-(you) 14.9439 Tj
--256 TJm
-(are) 12.1643 Tj
--256 TJm
-(guaranteed) 43.7059 Tj
--256 TJm
-(to) 7.7509 Tj
--256 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--255 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
-72 232.65 Td
-(all) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(decompressed) 56.4381 Tj
--250 TJm
-(output,) 27.9551 Tj
--250 TJm
-(and) 14.386 Tj
-[1 0 0 1 205.369 232.65] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -205.369 -232.65] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-205.369 232.65 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.574 Tj
-[1 0 0 1 318.943 232.65] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -318.943 -232.65] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-321.433 232.65 Td
-/F130_0 9.9626 Tf
-(can) 13.8281 Tj
--250 TJm
-(safely) 23.7907 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(called.) 26.2813 Tj
-[1 0 0 1 72 230.493] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -220.531] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 210.732 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--250 TJm
-(case) 17.1456 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(an) 9.40469 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue,) 19.0883 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(call) 14.386 Tj
-[1 0 0 1 261.259 210.732] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -261.259 -210.732] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-261.259 210.732 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.574 Tj
-[1 0 0 1 374.833 210.732] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -374.833 -210.732] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-377.323 210.732 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(clean) 21.0211 Tj
--250 TJm
-(up) 9.9626 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(release) 27.6562 Tj
--250 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 208.576] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -198.613] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 188.815 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 188.715] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -137.863] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(17) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 21 21
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -200.882] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 179.328 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 175.741] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(strm->s) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.4879 687.721 Td
-(or) 11.9551 Tj
--426 TJm
-(strm->avail_out) 89.6634 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(1) 5.97756 Tj
-90 675.766 Td
-(BZ_DATA_ERROR) 77.7083 Tj
-98.4879 663.811 Td
-(if) 11.9551 Tj
--426 TJm
-(a) 5.97756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(integrity) 53.798 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(detected) 47.8205 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(stream) 35.8654 Tj
-90 651.856 Td
-(BZ_DATA_ERROR_MAGIC) 113.574 Tj
-98.4879 639.9 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(stream) 35.8654 Tj
--426 TJm
-(doesn't) 41.8429 Tj
--426 TJm
-(begin) 29.8878 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(right) 29.8878 Tj
--426 TJm
-(magic) 29.8878 Tj
--426 TJm
-(bytes) 29.8878 Tj
-90 627.945 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.4879 615.99 Td
-(if) 11.9551 Tj
--426 TJm
-(there) 29.8878 Tj
--426 TJm
-(wasn't) 35.8654 Tj
--426 TJm
-(enough) 35.8654 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(available) 53.798 Tj
-90 604.035 Td
-(BZ_STREAM_END) 77.7083 Tj
-98.4879 592.08 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(logical) 41.8429 Tj
--426 TJm
-(end) 17.9327 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(stream) 35.8654 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected) 47.8205 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(all) 17.9327 Tj
-98.4879 580.125 Td
-(output) 35.8654 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(consumed,) 53.798 Tj
--426 TJm
-(eg) 11.9551 Tj
--426 TJm
-(s-->avail_out) 77.7083 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(0) 5.97756 Tj
-90 568.169 Td
-(BZ_OK) 29.8878 Tj
-98.4879 556.214 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 540.673] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -530.71] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 518.755 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-[1 0 0 1 72 518.655] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -60.7721] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 59.7758 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 56.1892] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -509.29] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 509.29 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-98.4879 497.335 Td
-(if) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(returned) 47.8205 Tj
-90 485.38 Td
-(BZ2_bzDecompressEnd) 113.574 Tj
-98.4879 473.425 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 457.883] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -447.92] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 427.262 Td
-/F122_0 17.2154 Tf
-(3.3.6.) 43.0729 Tj
-[1 0 0 1 119.858 427.262] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -427.262] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 427.262 Td
-/F392_0 17.2154 Tf
-(BZ2_bzDecompressEnd) 196.256 Tj
-[1 0 0 1 316.114 427.262] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -244.114 -2.3326] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -415.564] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 415.564 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzDecompressEnd) 113.574 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bz_stream) 53.798 Tj
-298.259 413.821 Td
-(*) 5.97756 Tj
-304.236 415.564 Td
-(strm) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 400.023] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -390.06] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 378.105 Td
-/F130_0 9.9626 Tf
-(Releases) 34.8591 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(memory) 33.2053 Tj
--250 TJm
-(associated) 40.9463 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(decompression) 59.7656 Tj
--250 TJm
-(stream.) 29.0509 Tj
-[1 0 0 1 72 375.948] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -365.985] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 356.187 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 356.087] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -60.7721] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 59.7758 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 56.1893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -346.723] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 346.723 Td
-/F134_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 334.767 Td
-(if) 11.9551 Tj
--426 TJm
-(strm) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(strm->s) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-90 322.812 Td
-(BZ_OK) 29.8878 Tj
-98.4879 310.857 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 295.315] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -285.353] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 273.397 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-[1 0 0 1 72 273.298] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -263.933] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-98.4879 263.933 Td
-/F134_0 9.9626 Tf
-(None.) 29.8878 Tj
-[1 0 0 1 72 248.391] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -238.429] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 213.639 Td
-/F122_0 20.6585 Tf
-(3.4.) 34.4584 Tj
--278 TJm
-(High-le) 70.0117 Tj
-15 TJm
-(vel) 28.7153 Tj
--278 TJm
-(interface) 86.1046 Tj
-[1 0 0 1 72 209.042] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -199.08] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 191.721 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--250 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vides) 21.031 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(reading) 29.8778 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(writing) 28.782 Tj
-[1 0 0 1 300.292 191.721] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -300.292 -191.721] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-300.292 191.721 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 330.18 191.721] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -330.18 -191.721] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-332.67 191.721 Td
-/F130_0 9.9626 Tf
-(format) 26.5603 Tj
--250 TJm
-(\002les.) 19.0983 Tj
--620 TJm
-(First,) 20.7621 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(general) 29.3199 Tj
--250 TJm
-(points.) 26.8492 Tj
-[1 0 0 1 72 189.564] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -29.7236] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -159.84] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 159.84 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 159.84] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -159.84] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 159.84 Td
-/F130_0 9.9626 Tf
-(All) 12.7322 Tj
--332 TJm
-(of) 8.29885 Tj
--331 TJm
-(the) 12.1743 Tj
--332 TJm
-(functions) 37.0808 Tj
--332 TJm
-(tak) 12.1743 Tj
-10 TJm
-(e) 4.42339 Tj
--331 TJm
-(an) 9.40469 Tj
-[1 0 0 1 202.958 159.84] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -202.958 -159.84] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-202.958 159.84 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
-220.891 158.097 Td
-(*) 5.97756 Tj
-[1 0 0 1 226.868 159.84] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -226.868 -159.84] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-230.172 159.84 Td
-/F130_0 9.9626 Tf
-(\002rst) 15.5018 Tj
--332 TJm
-(ar) 7.74094 Tj
-18 TJm
-(gument,) 32.3785 Tj
-[1 0 0 1 292.426 159.84] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -292.426 -159.84] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-292.426 159.84 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 334.269 159.84] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -334.269 -159.84] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-334.269 159.84 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1110 TJm
-(After) 21.0211 Tj
--332 TJm
-(each) 18.2515 Tj
--331 TJm
-(call,) 16.8766 Tj
-[1 0 0 1 414.083 159.84] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -414.083 -159.84] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-414.083 159.84 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 455.926 159.84] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -455.926 -159.84] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-459.23 159.84 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--332 TJm
-(be) 9.40469 Tj
--331 TJm
-(consulted) 38.1866 Tj
-86.944 147.885 Td
-(\002rst) 15.5018 Tj
--349 TJm
-(to) 7.7509 Tj
--349 TJm
-(determine) 39.8404 Tj
--348 TJm
-(the) 12.1743 Tj
--349 TJm
-(outcome) 34.3112 Tj
--349 TJm
-(of) 8.29885 Tj
--349 TJm
-(the) 12.1743 Tj
--348 TJm
-(call.) 16.8766 Tj
--1213 TJm
-(If) 6.63509 Tj
-[1 0 0 1 280.386 147.885] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -280.386 -147.885] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-280.386 147.885 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 322.229 147.885] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -322.229 -147.885] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-325.704 147.885 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
-[1 0 0 1 335.824 147.885] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -335.824 -147.885] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-335.824 147.885 Td
-/F134_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-[1 0 0 1 365.711 147.885] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -365.711 -147.885] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-365.711 147.885 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--349 TJm
-(the) 12.1743 Tj
--349 TJm
-(call) 14.386 Tj
--348 TJm
-(completed) 41.5042 Tj
--349 TJm
-(successfully) 48.6972 Tj
-65 TJm
-(,) 2.49065 Tj
--374 TJm
-(and) 14.386 Tj
--348 TJm
-(only) 17.7135 Tj
-86.944 135.93 Td
-(then) 17.1556 Tj
--271 TJm
-(should) 26.5703 Tj
--270 TJm
-(the) 12.1743 Tj
--271 TJm
-(return) 23.7907 Tj
--270 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--271 TJm
-(of) 8.29885 Tj
--271 TJm
-(the) 12.1743 Tj
--270 TJm
-(function) 33.2053 Tj
--271 TJm
-(\(if) 9.40469 Tj
--270 TJm
-(an) 9.40469 Tj
-15 TJm
-(y\)) 8.29885 Tj
--271 TJm
-(be) 9.40469 Tj
--271 TJm
-(cons) 18.2614 Tj
-1 TJm
-(u) 4.9813 Tj
--1 TJm
-(l) 2.7696 Tj
-1 TJm
-(ted.) 14.6649 Tj
--744 TJm
-(If) 6.63509 Tj
-[1 0 0 1 365.077 135.93] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -365.077 -135.93] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-365.077 135.93 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 406.92 135.93] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -406.92 -135.93] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-409.616 135.93 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
-[1 0 0 1 418.956 135.93] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -418.956 -135.93] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-418.956 135.93 Td
-/F134_0 9.9626 Tf
-(BZ_IO_ERROR) 65.7532 Tj
-[1 0 0 1 484.71 135.93] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -484.71 -135.93] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-484.71 135.93 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--271 TJm
-(there) 19.9152 Tj
--270 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--271 TJm
-(an) 9.40469 Tj
-86.944 123.975 Td
-(error) 19.3573 Tj
--246 TJm
-(reading/writing) 61.4294 Tj
--245 TJm
-(the) 12.1743 Tj
--246 TJm
-(underlying) 43.1679 Tj
--246 TJm
-(compressed) 47.0334 Tj
--245 TJm
-(\002le,) 15.2229 Tj
--247 TJm
-(and) 14.386 Tj
--245 TJm
-(you) 14.9439 Tj
--246 TJm
-(should) 26.5703 Tj
--246 TJm
-(then) 17.1556 Tj
--245 TJm
-(consult) 28.782 Tj
-[1 0 0 1 414.096 123.975] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -414.096 -123.975] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-414.096 123.975 Td
-/F134_0 9.9626 Tf
-(errno) 29.8878 Tj
-[1 0 0 1 443.984 123.975] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -443.984 -123.975] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-446.432 123.975 Td
-/F130_0 9.9626 Tf
-(/) 2.7696 Tj
-[1 0 0 1 451.649 123.975] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -451.649 -123.975] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-451.649 123.975 Td
-/F134_0 9.9626 Tf
-(perror) 35.8654 Tj
-[1 0 0 1 487.514 123.975] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -487.514 -123.975] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-489.962 123.975 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--246 TJm
-(determine) 39.8404 Tj
-86.944 112.02 Td
-(the) 12.1743 Tj
--356 TJm
-(cause) 22.1269 Tj
--356 TJm
-(of) 8.29885 Tj
--355 TJm
-(the) 12.1743 Tj
--356 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culty) 25.4644 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 206.528 112.02] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -206.528 -112.02] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-206.528 112.02 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 248.371 112.02] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -248.371 -112.02] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-251.916 112.02 Td
-/F130_0 9.9626 Tf
-(may) 17.1556 Tj
--356 TJm
-(also) 16.0497 Tj
--356 TJm
-(be) 9.40469 Tj
--355 TJm
-(set) 11.0684 Tj
--356 TJm
-(to) 7.7509 Tj
--356 TJm
-(v) 4.9813 Tj
-25 TJm
-(arious) 24.3486 Tj
--356 TJm
-(other) 20.4731 Tj
--356 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues;) 23.2427 Tj
--408 TJm
-(precise) 28.2141 Tj
--356 TJm
-(details) 26.0123 Tj
--356 TJm
-(are) 12.1643 Tj
--356 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--356 TJm
-(on) 9.9626 Tj
--356 TJm
-(a) 4.42339 Tj
-86.944 100.064 Td
-(per) 12.7222 Tj
-20 TJm
-(-function) 36.5229 Tj
--250 TJm
-(basis) 19.9252 Tj
--250 TJm
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 186.839 100.064] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -114.838 -49.2126] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(18) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 22 22
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -31.5168] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 710.037 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 710.037 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
-[1 0 0 1 95.9576 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -95.9576 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-95.9576 710.037 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 137.801 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.801 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-140.179 710.037 Td
-/F130_0 9.9626 Tf
-(indicates) 35.417 Tj
--239 TJm
-(an) 9.40469 Tj
--238 TJm
-(error) 19.3573 Tj
--239 TJm
-(\(ie,) 13.0012 Tj
--241 TJm
-(an) 9.40469 Tj
-15 TJm
-(ything) 25.4644 Tj
--239 TJm
-(e) 4.42339 Tj
-15 TJm
-(xcept) 21.579 Tj
-[1 0 0 1 292.225 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -292.225 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-292.225 710.037 Td
-/F134_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-[1 0 0 1 322.113 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -322.113 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-324.492 710.037 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 341.256 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -341.256 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-341.256 710.037 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 418.965 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -418.965 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-418.965 710.037 Td
-/F130_0 9.9626 Tf
-(\),) 5.8082 Tj
--239 TJm
-(you) 14.9439 Tj
--239 TJm
-(should) 26.5703 Tj
--238 TJm
-(immediately) 49.813 Tj
--239 TJm
-(call) 14.386 Tj
-[1 0 0 1 86.944 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 698.082 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 176.608 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -176.608 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-179.343 698.082 Td
-/F130_0 9.9626 Tf
-(\(or) 11.6164 Tj
-[1 0 0 1 193.695 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -193.695 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-193.695 698.082 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-[1 0 0 1 289.337 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -289.337 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-289.337 698.082 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--281 TJm
-(depending) 41.5042 Tj
--274 TJm
-(on) 9.9626 Tj
--275 TJm
-(whether) 32.0895 Tj
--274 TJm
-(you) 14.9439 Tj
--275 TJm
-(are) 12.1643 Tj
--275 TJm
-(attempting) 42.62 Tj
--274 TJm
-(to) 7.7509 Tj
--275 TJm
-(read) 17.1456 Tj
--274 TJm
-(or) 8.29885 Tj
--275 TJm
-(to) 7.7509 Tj
--274 TJm
-(write\)) 23.7907 Tj
-86.944 686.127 Td
-(to) 7.7509 Tj
--242 TJm
-(free) 15.4819 Tj
--242 TJm
-(up) 9.9626 Tj
--241 TJm
-(all) 9.9626 Tj
--242 TJm
-(resources) 37.6188 Tj
--242 TJm
-(associated) 40.9463 Tj
--242 TJm
-(wi) 9.9626 Tj
-1 TJm
-(th) 7.7509 Tj
--242 TJm
-(the) 12.1743 Tj
--242 TJm
-(stream.) 29.0509 Tj
--614 TJm
-(Once) 21.0211 Tj
--242 TJm
-(an) 9.40469 Tj
--242 TJm
-(error) 19.3573 Tj
--242 TJm
-(has) 13.2801 Tj
--242 TJm
-(been) 18.8094 Tj
--241 TJm
-(indicated,) 39.0135 Tj
--244 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
--241 TJm
-(of) 8.29885 Tj
--242 TJm
-(all) 9.9626 Tj
--242 TJm
-(calls) 18.2614 Tj
--242 TJm
-(e) 4.42339 Tj
-15 TJm
-(xcept) 21.579 Tj
-[1 0 0 1 86.944 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 674.172 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 176.608 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -176.608 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-179.705 674.172 Td
-/F130_0 9.9626 Tf
-(\() 3.31755 Tj
-[1 0 0 1 183.022 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -183.022 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-183.022 674.172 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-[1 0 0 1 278.664 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.664 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-278.664 674.172 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--311 TJm
-(is) 6.64505 Tj
--311 TJm
-(unde\002ned.) 41.7831 Tj
--985 TJm
-(The) 15.4918 Tj
--311 TJm
-(implication) 45.3896 Tj
--310 TJm
-(is) 6.64505 Tj
--311 TJm
-(that) 14.9439 Tj
--311 TJm
-(\(1\)) 11.6164 Tj
-[1 0 0 1 455.988 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -455.988 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-455.988 674.172 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 497.831 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -497.831 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-500.928 674.172 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--311 TJm
-(be) 9.40469 Tj
-86.944 662.217 Td
-(check) 23.2328 Tj
-10 TJm
-(ed) 9.40469 Tj
--291 TJm
-(after) 18.2515 Tj
--291 TJm
-(each) 18.2515 Tj
--291 TJm
-(call,) 16.8766 Tj
--301 TJm
-(and) 14.386 Tj
--291 TJm
-(\(2\)) 11.6164 Tj
--291 TJm
-(if) 6.08715 Tj
-[1 0 0 1 225.347 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -225.347 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-225.347 662.217 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 267.19 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -267.19 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-270.09 662.217 Td
-/F130_0 9.9626 Tf
-(indicates) 35.417 Tj
--291 TJm
-(an) 9.40469 Tj
--291 TJm
-(error) 19.3573 Tj
-40 TJm
-(,) 2.49065 Tj
-[1 0 0 1 345.161 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -345.161 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-345.161 662.217 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 434.824 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -434.824 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-437.724 662.217 Td
-/F130_0 9.9626 Tf
-(\() 3.31755 Tj
-[1 0 0 1 441.041 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -441.041 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-441.041 662.217 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-[1 0 0 1 536.683 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -536.683 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-536.683 662.217 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
-86.944 650.262 Td
-(should) 26.5703 Tj
--250 TJm
-(then) 17.1556 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(called) 23.7907 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(clean) 21.0211 Tj
--250 TJm
-(up.) 12.4533 Tj
-[1 0 0 1 220.034 650.261] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -148.034 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -628.344] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 628.344 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 628.344] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -628.344] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 628.344 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
-[1 0 0 1 106.362 628.344] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -106.362 -628.344] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-106.362 628.344 Td
-/F134_0 9.9626 Tf
-(FILE) 23.9102 Tj
-130.273 626.6 Td
-(*) 5.97756 Tj
-[1 0 0 1 136.25 628.344] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -136.25 -628.344] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-140.177 628.344 Td
-/F130_0 9.9626 Tf
-(ar) 7.74094 Tj
-18 TJm
-(guments) 33.7633 Tj
--394 TJm
-(passed) 26.5603 Tj
--394 TJm
-(to) 7.7509 Tj
-[1 0 0 1 227.592 628.344] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -227.592 -628.344] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-227.592 628.344 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-[1 0 0 1 311.278 628.344] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -311.278 -628.344] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-315.205 628.344 Td
-/F130_0 9.9626 Tf
-(/) 2.7696 Tj
-[1 0 0 1 321.901 628.344] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -321.901 -628.344] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-321.901 628.344 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteOpen) 89.6634 Tj
-[1 0 0 1 411.565 628.344] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -411.565 -628.344] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-415.491 628.344 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--394 TJm
-(be) 9.40469 Tj
--394 TJm
-(set) 11.0684 Tj
--394 TJm
-(to) 7.7509 Tj
--394 TJm
-(binary) 25.4544 Tj
--395 TJm
-(mode.) 24.6275 Tj
-86.944 616.389 Td
-(Most) 20.4831 Tj
--229 TJm
-(Unix) 19.9252 Tj
--229 TJm
-(systems) 31.5516 Tj
--228 TJm
-(will) 15.5018 Tj
--229 TJm
-(do) 9.9626 Tj
--229 TJm
-(this) 14.396 Tj
--229 TJm
-(by) 9.9626 Tj
--229 TJm
-(def) 12.7222 Tj
-10 TJm
-(ault,) 17.4346 Tj
--233 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--229 TJm
-(other) 20.4731 Tj
--229 TJm
-(platforms,) 40.6773 Tj
--233 TJm
-(including) 37.6387 Tj
--229 TJm
-(W) 9.40469 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--228 TJm
-(and) 14.386 Tj
--229 TJm
-(Mac,) 20.1942 Tj
--233 TJm
-(will) 15.5018 Tj
--229 TJm
-(not.) 15.2229 Tj
--606 TJm
-(If) 6.63509 Tj
--229 TJm
-(you) 14.9439 Tj
--229 TJm
-(omit) 18.2714 Tj
-86.944 604.433 Td
-(this,) 16.8866 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(encounter) 39.2825 Tj
--250 TJm
-(problems) 37.0808 Tj
--250 TJm
-(when) 21.579 Tj
--250 TJm
-(mo) 12.7322 Tj
-15 TJm
-(ving) 17.7135 Tj
--250 TJm
-(code) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(ne) 9.40469 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(platforms.) 40.6773 Tj
-[1 0 0 1 372.66 604.433] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -300.66 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -582.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 582.516 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 582.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -582.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 582.516 Td
-/F130_0 9.9626 Tf
-(Memory) 34.3112 Tj
--348 TJm
-(allocation) 39.2925 Tj
--348 TJm
-(requests) 32.6474 Tj
--348 TJm
-(are) 12.1643 Tj
--348 TJm
-(handled) 31.5416 Tj
--348 TJm
-(by) 9.9626 Tj
-[1 0 0 1 267.67 582.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -267.67 -582.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-267.67 582.516 Td
-/F134_0 9.9626 Tf
-(malloc) 35.8654 Tj
-[1 0 0 1 303.535 582.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -303.535 -582.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-307.003 582.516 Td
-/F130_0 9.9626 Tf
-(/) 2.7696 Tj
-[1 0 0 1 313.241 582.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -313.241 -582.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-313.241 582.516 Td
-/F134_0 9.9626 Tf
-(free) 23.9102 Tj
-[1 0 0 1 337.151 582.516] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -337.151 -582.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-337.151 582.516 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1209 TJm
-(At) 9.9626 Tj
--348 TJm
-(present) 28.772 Tj
--348 TJm
-(there) 19.9152 Tj
--348 TJm
-(is) 6.64505 Tj
--348 TJm
-(no) 9.9626 Tj
--348 TJm
-(f) 3.31755 Tj
-10 TJm
-(acility) 24.9065 Tj
--348 TJm
-(for) 11.6164 Tj
--348 TJm
-(user) 16.5977 Tj
-20 TJm
-(-de\002ned) 32.6474 Tj
-86.944 570.56 Td
-(memory) 33.2053 Tj
--250 TJm
-(allocators) 38.7346 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(I/O) 13.2801 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(\(could) 25.4544 Tj
--250 TJm
-(easily) 23.2427 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(added,) 26.2813 Tj
--250 TJm
-(though\).) 33.4843 Tj
-[1 0 0 1 387.165 570.56] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -315.165 -12.1195] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -548.478] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 529.977 Td
-/F122_0 17.2154 Tf
-(3.4.1.) 43.0729 Tj
-[1 0 0 1 119.858 529.977] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -529.977] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 529.977 Td
-/F392_0 17.2154 Tf
-(BZ2_bzReadOpen) 144.609 Tj
-[1 0 0 1 264.468 529.977] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -192.468 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -72.7272] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 71.731 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 68.1444] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -518.279] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 518.279 Td
-/F134_0 9.9626 Tf
-(typedef) 41.8429 Tj
--426 TJm
-(void) 23.9102 Tj
--426 TJm
-(BZFILE;) 41.8429 Tj
-90 494.369 Td
-(BZFILE) 35.8654 Tj
-130.109 492.625 Td
-(*) 5.97756 Tj
-136.087 494.369 Td
-(BZ2_bzReadOpen\() 89.6634 Tj
--426 TJm
-(int) 17.9327 Tj
-252.171 492.625 Td
-(*) 5.97756 Tj
-258.149 494.369 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(FILE) 23.9102 Tj
-338.368 492.625 Td
-(*) 5.97756 Tj
-344.346 494.369 Td
-(f,) 11.9551 Tj
-191.855 482.414 Td
-(int) 17.9327 Tj
--426 TJm
-(verbosity,) 59.7756 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(small,) 35.8654 Tj
-191.855 470.458 Td
-(void) 23.9102 Tj
-220.01 468.715 Td
-(*) 5.97756 Tj
-225.987 470.458 Td
-(unused,) 41.8429 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(nUnused) 41.8429 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 454.917] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -444.954] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 432.999 Td
-/F130_0 9.9626 Tf
-(Prepare) 30.4258 Tj
--290 TJm
-(to) 7.7509 Tj
--289 TJm
-(read) 17.1456 Tj
--290 TJm
-(compressed) 47.0334 Tj
--290 TJm
-(data) 16.5977 Tj
--289 TJm
-(from) 19.3673 Tj
--290 TJm
-(\002le) 12.7322 Tj
--289 TJm
-(handle) 26.5603 Tj
-[1 0 0 1 272.697 432.999] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -272.697 -432.999] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-272.697 432.999 Td
-/F134_0 9.9626 Tf
-(f) 5.97756 Tj
-[1 0 0 1 278.675 432.999] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.675 -432.999] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-278.675 432.999 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 285.439 432.999] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -285.439 -432.999] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-285.439 432.999 Td
-/F134_0 9.9626 Tf
-(f) 5.97756 Tj
-[1 0 0 1 291.417 432.999] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -291.417 -432.999] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-294.303 432.999 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--290 TJm
-(refer) 18.7994 Tj
--289 TJm
-(to) 7.7509 Tj
--290 TJm
-(a) 4.42339 Tj
--290 TJm
-(\002le) 12.7322 Tj
--289 TJm
-(which) 24.3486 Tj
--290 TJm
-(has) 13.2801 Tj
--289 TJm
-(been) 18.8094 Tj
--290 TJm
-(opened) 28.772 Tj
--290 TJm
-(for) 11.6164 Tj
--289 TJm
-(reading,) 32.3685 Tj
--300 TJm
-(and) 14.386 Tj
-72 421.044 Td
-(for) 11.6164 Tj
--306 TJm
-(which) 24.3486 Tj
--305 TJm
-(the) 12.1743 Tj
--306 TJm
-(error) 19.3573 Tj
--306 TJm
-(indicator) 35.417 Tj
--305 TJm
-(\() 3.31755 Tj
-[1 0 0 1 193.457 421.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -193.457 -421.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-193.457 421.044 Td
-/F134_0 9.9626 Tf
-(ferror\(f\)) 53.798 Tj
-[1 0 0 1 247.255 421.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -247.255 -421.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-247.255 421.044 Td
-/F130_0 9.9626 Tf
-(\)is) 9.9626 Tj
--306 TJm
-(not) 12.7322 Tj
--305 TJm
-(set.) 13.5591 Tj
--954 TJm
-(If) 6.63509 Tj
-[1 0 0 1 308.784 421.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -308.784 -421.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-308.784 421.044 Td
-/F134_0 9.9626 Tf
-(small) 29.8878 Tj
-[1 0 0 1 338.671 421.044] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -338.671 -421.044] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-341.717 421.044 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--306 TJm
-(1,) 7.47195 Tj
--319 TJm
-(the) 12.1743 Tj
--306 TJm
-(library) 26.5603 Tj
--306 TJm
-(will) 15.5018 Tj
--305 TJm
-(try) 11.0684 Tj
--306 TJm
-(to) 7.7509 Tj
--306 TJm
-(dec) 13.8281 Tj
-1 TJm
-(ompress) 33.2053 Tj
--306 TJm
-(using) 21.589 Tj
--306 TJm
-(less) 14.9439 Tj
-72 409.089 Td
-(memory) 33.2053 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(e) 4.42339 Tj
-15 TJm
-(xpense) 27.6661 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(speed.) 25.1755 Tj
-[1 0 0 1 72 406.932] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -396.969] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 387.171 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--227 TJm
-(reasons) 29.8778 Tj
--227 TJm
-(e) 4.42339 Tj
-15 TJm
-(xplained) 34.3112 Tj
--228 TJm
-(belo) 17.1556 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.49065 Tj
-[1 0 0 1 189.193 387.171] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -189.193 -387.171] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-189.193 387.171 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 248.969 387.171] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -248.969 -387.171] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-251.232 387.171 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--227 TJm
-(decompress) 47.0334 Tj
--227 TJm
-(the) 12.1743 Tj
-[1 0 0 1 332.732 387.171] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -332.732 -387.171] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-332.732 387.171 Td
-/F134_0 9.9626 Tf
-(nUnused) 41.8429 Tj
-[1 0 0 1 374.575 387.171] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -374.575 -387.171] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-376.838 387.171 Td
-/F130_0 9.9626 Tf
-(bytes) 21.031 Tj
--227 TJm
-(starting) 29.8878 Tj
--227 TJm
-(at) 7.193 Tj
-[1 0 0 1 441.74 387.171] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -441.74 -387.171] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-441.74 387.171 Td
-/F134_0 9.9626 Tf
-(unused) 35.8654 Tj
-[1 0 0 1 477.605 387.171] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -477.605 -387.171] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-477.605 387.171 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--232 TJm
-(before) 25.4445 Tj
--227 TJm
-(starting) 29.8878 Tj
-72 375.216 Td
-(to) 7.7509 Tj
--280 TJm
-(read) 17.1456 Tj
--279 TJm
-(from) 19.3673 Tj
--280 TJm
-(the) 12.1743 Tj
--279 TJm
-(\002le) 12.7322 Tj
-[1 0 0 1 155.094 375.215] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.094 -375.215] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-155.094 375.215 Td
-/F134_0 9.9626 Tf
-(f) 5.97756 Tj
-[1 0 0 1 161.072 375.215] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.072 -375.215] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-161.072 375.215 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--797 TJm
-(At) 9.9626 Tj
--280 TJm
-(most) 19.3773 Tj
-[1 0 0 1 206.414 375.215] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -206.414 -375.215] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-206.414 375.215 Td
-/F134_0 9.9626 Tf
-(BZ_MAX_UNUSED) 77.7083 Tj
-[1 0 0 1 284.122 375.215] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -284.122 -375.215] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-286.907 375.215 Td
-/F130_0 9.9626 Tf
-(bytes) 21.031 Tj
--280 TJm
-(may) 17.1556 Tj
--279 TJm
-(be) 9.40469 Tj
--280 TJm
-(supplied) 33.7633 Tj
--279 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.42339 Tj
--280 TJm
-(this.) 16.8866 Tj
--797 TJm
-(If) 6.63509 Tj
--279 TJm
-(this) 14.396 Tj
--280 TJm
-(f) 3.31755 Tj
-10 TJm
-(acility) 24.9065 Tj
--279 TJm
-(is) 6.64505 Tj
--280 TJm
-(not) 12.7322 Tj
--279 TJm
-(required,) 35.686 Tj
-72 363.26 Td
-(you) 14.9439 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(pass) 17.1556 Tj
-[1 0 0 1 138.141 363.26] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -138.141 -363.26] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-138.141 363.26 Td
-/F134_0 9.9626 Tf
-(NULL) 23.9102 Tj
-[1 0 0 1 162.052 363.26] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -162.052 -363.26] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-164.542 363.26 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 181.419 363.26] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -181.419 -363.26] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-181.419 363.26 Td
-/F134_0 9.9626 Tf
-(0) 5.97756 Tj
-[1 0 0 1 187.397 363.26] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -187.397 -363.26] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-189.887 363.26 Td
-/F130_0 9.9626 Tf
-(for) 11.6164 Tj
-[1 0 0 1 203.994 363.26] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -203.994 -363.26] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-203.994 363.26 Td
-/F134_0 9.9626 Tf
-(unused) 35.8654 Tj
-[1 0 0 1 239.86 363.26] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -239.86 -363.26] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-242.351 363.26 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
--250 TJm
-(n) 4.9813 Tj
-[1 0 0 1 264.208 363.26] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -264.208 -363.26] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-264.208 363.26 Td
-/F134_0 9.9626 Tf
-(Unused) 35.8654 Tj
-[1 0 0 1 300.074 363.26] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -300.074 -363.26] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-302.565 363.26 Td
-/F130_0 9.9626 Tf
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 361.103] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -351.141] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 341.343 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(meaning) 34.3112 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(parameters) 43.7059 Tj
-[1 0 0 1 196.631 341.343] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -196.631 -341.343] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-196.631 341.343 Td
-/F134_0 9.9626 Tf
-(small) 29.8878 Tj
-[1 0 0 1 226.519 341.343] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -226.519 -341.343] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-229.01 341.343 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 245.887 341.343] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -245.887 -341.343] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-245.887 341.343 Td
-/F134_0 9.9626 Tf
-(verbosity) 53.798 Tj
-[1 0 0 1 299.685 341.343] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -299.685 -341.343] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-299.685 341.343 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(see) 12.7222 Tj
-[1 0 0 1 319.879 341.343] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -319.879 -341.343] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-319.879 341.343 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.551 Tj
-[1 0 0 1 439.431 341.343] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -439.431 -341.343] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-439.431 341.343 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 339.186] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -329.223] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 319.425 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--402 TJm
-(amount) 29.8878 Tj
--402 TJm
-(of) 8.29885 Tj
--402 TJm
-(memory) 33.2053 Tj
--402 TJm
-(needed) 28.2141 Tj
--402 TJm
-(to) 7.7509 Tj
--402 TJm
-(decompress) 47.0334 Tj
--402 TJm
-(a) 4.42339 Tj
--401 TJm
-(\002le) 12.7322 Tj
--402 TJm
-(cannot) 26.5603 Tj
--402 TJm
-(be) 9.40469 Tj
--402 TJm
-(determined) 44.8217 Tj
--402 TJm
-(until) 18.2714 Tj
--402 TJm
-(the) 12.1743 Tj
--402 TJm
-(\002le') 16.0497 Tj
-55 TJm
-(s) 3.87545 Tj
--402 TJm
-(header) 26.5503 Tj
--402 TJm
-(has) 13.2801 Tj
--402 TJm
-(been) 18.8094 Tj
--402 TJm
-(read.) 19.6363 Tj
-72 307.47 Td
-(So) 10.5205 Tj
--492 TJm
-(it) 5.53921 Tj
--491 TJm
-(is) 6.64505 Tj
--492 TJm
-(possible) 32.6574 Tj
--492 TJm
-(that) 14.9439 Tj
-[1 0 0 1 166.797 307.47] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -166.797 -307.47] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-166.797 307.47 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-[1 0 0 1 250.483 307.47] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -250.483 -307.47] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-255.381 307.47 Td
-/F130_0 9.9626 Tf
-(returns) 27.6661 Tj
-[1 0 0 1 287.945 307.47] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -287.945 -307.47] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-287.945 307.47 Td
-/F134_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-[1 0 0 1 317.833 307.47] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -317.833 -307.47] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-322.729 307.47 Td
-/F130_0 9.9626 Tf
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--492 TJm
-(a) 4.42339 Tj
--491 TJm
-(subsequent) 44.2738 Tj
--492 TJm
-(call) 14.386 Tj
--492 TJm
-(of) 8.29885 Tj
-[1 0 0 1 431.135 307.47] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -431.135 -307.47] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-431.135 307.47 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 490.911 307.47] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -490.911 -307.47] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-495.81 307.47 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--492 TJm
-(return) 23.7907 Tj
-[1 0 0 1 72 295.514] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -295.514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 295.514 Td
-/F134_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-[1 0 0 1 143.731 295.514] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.731 -295.514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-143.731 295.514 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 294.204] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -284.242] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 273.597 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 169.144 273.597] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.144 -273.597] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-169.144 273.597 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 210.987 273.597] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.987 -273.597] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.987 273.597 Td
-/F130_0 9.9626 Tf
-(:) 2.7696 Tj
-[1 0 0 1 72 271.44] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -168.369] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 167.372 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 163.786] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -262.075] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 262.075 Td
-/F134_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.4879 250.12 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 238.165 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 226.209 Td
-(if) 11.9551 Tj
--426 TJm
-(f) 5.97756 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.4879 214.254 Td
-(or) 11.9551 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(neither) 41.8429 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(nor) 17.9327 Tj
--426 TJm
-(1) 5.97756 Tj
-98.4879 202.299 Td
-(or) 11.9551 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(unused) 35.8654 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(nUnused) 41.8429 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(\)) 5.97756 Tj
-98.4879 190.344 Td
-(or) 11.9551 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(unused) 35.8654 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(!\(0) 17.9327 Tj
--426 TJm
-(<=) 11.9551 Tj
--426 TJm
-(nUnused) 41.8429 Tj
--426 TJm
-(<=) 11.9551 Tj
--426 TJm
-(BZ_MAX_UNUSED\)) 83.6858 Tj
--426 TJm
-(\)) 5.97756 Tj
-90 178.389 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.4879 166.434 Td
-(if) 11.9551 Tj
--426 TJm
-(ferror\(f\)) 53.798 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(nonzero) 41.8429 Tj
-90 154.478 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.4879 142.523 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 130.568 Td
-(BZ_OK) 29.8878 Tj
-98.4879 118.613 Td
-(otherwise.) 59.7756 Tj
-[1 0 0 1 72 103.071] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -93.1085] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 81.1533 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 81.0538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -30.202] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.9737] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -51.071] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 51.071 Td
-/F130_0 9.9626 Tf
-(19) 9.9626 Tj
-[1 0 0 1 453.269 50.8519] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 23 23
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -81.33] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 59.7758 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 56.1892] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(Pointer) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(abstract) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-98.4879 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-90 687.721 Td
-(NULL) 23.9102 Tj
-98.4879 675.766 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 660.224] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5493] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -650.261] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 638.306 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-[1 0 0 1 72 638.207] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -60.7721] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 59.7758 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 56.1893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -628.842] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 628.842 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-98.4879 616.887 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-90 604.932 Td
-(BZ2_bzClose) 65.7532 Tj
-98.4879 592.976 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 577.435] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -567.472] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 546.813 Td
-/F122_0 17.2154 Tf
-(3.4.2.) 43.0729 Tj
-[1 0 0 1 119.858 546.813] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -546.813] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 546.813 Td
-/F392_0 17.2154 Tf
-(BZ2_bzRead) 103.292 Tj
-[1 0 0 1 223.15 546.813] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -151.15 -2.3326] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -535.116] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 535.116 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzRead) 59.7756 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(int) 17.9327 Tj
-208.595 533.373 Td
-(*) 5.97756 Tj
-214.572 535.116 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-306.747 533.373 Td
-(*) 5.97756 Tj
-312.724 535.116 Td
-(b,) 11.9551 Tj
--426 TJm
-(void) 23.9102 Tj
-357.077 533.373 Td
-(*) 5.97756 Tj
-363.055 535.116 Td
-(buf,) 23.9102 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 519.574] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -509.612] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 497.656 Td
-/F130_0 9.9626 Tf
-(Reads) 24.3486 Tj
--285 TJm
-(up) 9.9626 Tj
--284 TJm
-(to) 7.7509 Tj
-[1 0 0 1 122.569 497.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -122.569 -497.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-122.569 497.656 Td
-/F134_0 9.9626 Tf
-(len) 17.9327 Tj
-[1 0 0 1 140.501 497.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -140.501 -497.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-143.337 497.656 Td
-/F130_0 9.9626 Tf
-(\(uncompressed\)) 63.6311 Tj
--285 TJm
-(bytes) 21.031 Tj
--284 TJm
-(from) 19.3673 Tj
--285 TJm
-(the) 12.1743 Tj
--284 TJm
-(compressed) 47.0334 Tj
--285 TJm
-(\002le) 12.7322 Tj
-[1 0 0 1 336.319 497.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -336.319 -497.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-336.319 497.656 Td
-/F134_0 9.9626 Tf
-(b) 5.97756 Tj
-[1 0 0 1 342.296 497.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.296 -497.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-345.132 497.656 Td
-/F130_0 9.9626 Tf
-(into) 15.5018 Tj
--285 TJm
-(the) 12.1743 Tj
--284 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-[1 0 0 1 405.205 497.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -405.205 -497.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-405.205 497.656 Td
-/F134_0 9.9626 Tf
-(buf) 17.9327 Tj
-[1 0 0 1 423.137 497.656] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -423.137 -497.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-423.137 497.656 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--828 TJm
-(If) 6.63509 Tj
--284 TJm
-(the) 12.1743 Tj
--285 TJm
-(read) 17.1456 Tj
--285 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--284 TJm
-(successful,) 43.4369 Tj
-[1 0 0 1 72 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 485.701 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 113.843 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.843 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-117.36 485.701 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--353 TJm
-(set) 11.0684 Tj
--353 TJm
-(to) 7.7509 Tj
-[1 0 0 1 153.374 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -153.374 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-153.374 485.701 Td
-/F134_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-[1 0 0 1 183.262 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -183.262 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-186.778 485.701 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
--353 TJm
-(the) 12.1743 Tj
--353 TJm
-(number) 30.4357 Tj
--353 TJm
-(of) 8.29885 Tj
--353 TJm
-(bytes) 21.031 Tj
--353 TJm
-(read) 17.1456 Tj
--353 TJm
-(is) 6.64505 Tj
--353 TJm
-(returned.) 35.686 Tj
--1238 TJm
-(If) 6.63509 Tj
--353 TJm
-(the) 12.1743 Tj
--353 TJm
-(logical) 27.1182 Tj
--353 TJm
-(end-of-stream) 55.8802 Tj
--353 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--353 TJm
-(detected,) 35.686 Tj
-[1 0 0 1 72 473.746] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -473.746] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 473.746 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 113.843 473.746] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.843 -473.746] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-116.795 473.746 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--296 TJm
-(be) 9.40469 Tj
--297 TJm
-(set) 11.0684 Tj
--296 TJm
-(to) 7.7509 Tj
-[1 0 0 1 172.329 473.746] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -172.329 -473.746] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-172.329 473.746 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 250.037 473.746] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -250.037 -473.746] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-250.037 473.746 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--296 TJm
-(and) 14.386 Tj
--297 TJm
-(the) 12.1743 Tj
--296 TJm
-(number) 30.4357 Tj
--296 TJm
-(of) 8.29885 Tj
--297 TJm
-(bytes) 21.031 Tj
--296 TJm
-(read) 17.1456 Tj
--296 TJm
-(is) 6.64505 Tj
--296 TJm
-(returned.) 35.686 Tj
--898 TJm
-(All) 12.7322 Tj
--297 TJm
-(other) 20.4731 Tj
-[1 0 0 1 470 473.746] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -470 -473.746] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-470 473.746 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 511.843 473.746] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -511.843 -473.746] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-514.795 473.746 Td
-/F130_0 9.9626 Tf
-(v) 4.9813 Tj
-25 TJm
-(alues) 20.4731 Tj
-72 461.791 Td
-(denote) 26.5603 Tj
--250 TJm
-(an) 9.40469 Tj
--250 TJm
-(error) 19.3573 Tj
-55 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 461.691] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -451.729] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 439.873 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 131.776 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -131.776 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-134.224 439.873 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--246 TJm
-(supply) 26.5703 Tj
-[1 0 0 1 181.193 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -181.193 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-181.193 439.873 Td
-/F134_0 9.9626 Tf
-(len) 17.9327 Tj
-[1 0 0 1 199.126 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -199.126 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-201.575 439.873 Td
-/F130_0 9.9626 Tf
-(bytes,) 23.5217 Tj
--247 TJm
-(unless) 24.9065 Tj
--245 TJm
-(the) 12.1743 Tj
--246 TJm
-(logical) 27.1182 Tj
--246 TJm
-(stream) 26.5603 Tj
--246 TJm
-(end) 14.386 Tj
--245 TJm
-(is) 6.64505 Tj
--246 TJm
-(detected) 33.1954 Tj
--246 TJm
-(or) 8.29885 Tj
--246 TJm
-(an) 9.40469 Tj
--246 TJm
-(error) 19.3573 Tj
--245 TJm
-(occurs.) 28.493 Tj
--617 TJm
-(Because) 33.1954 Tj
--246 TJm
-(of) 8.29885 Tj
--246 TJm
-(this,) 16.8866 Tj
--247 TJm
-(it) 5.53921 Tj
-72 427.918 Td
-(is) 6.64505 Tj
--231 TJm
-(possible) 32.6574 Tj
--231 TJm
-(to) 7.7509 Tj
--231 TJm
-(detect) 23.7907 Tj
--231 TJm
-(the) 12.1743 Tj
--231 TJm
-(stream) 26.5603 Tj
--231 TJm
-(end) 14.386 Tj
--232 TJm
-(by) 9.9626 Tj
--231 TJm
-(observing) 39.2925 Tj
--231 TJm
-(when) 21.579 Tj
--231 TJm
-(the) 12.1743 Tj
--231 TJm
-(number) 30.4357 Tj
--231 TJm
-(of) 8.29885 Tj
--231 TJm
-(bytes) 21.031 Tj
--231 TJm
-(returned) 33.1954 Tj
--231 TJm
-(is) 6.64505 Tj
--231 TJm
-(less) 14.9439 Tj
--231 TJm
-(than) 17.1556 Tj
--232 TJm
-(the) 12.1743 Tj
--231 TJm
-(number) 30.4357 Tj
--231 TJm
-(requested.) 40.6673 Tj
-72 415.963 Td
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--309 TJm
-(this) 14.396 Tj
--297 TJm
-(is) 6.64505 Tj
--298 TJm
-(re) 7.74094 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(arded) 22.1269 Tj
--297 TJm
-(as) 8.29885 Tj
--297 TJm
-(inadvisable;) 48.1492 Tj
--321 TJm
-(you) 14.9439 Tj
--298 TJm
-(should) 26.5703 Tj
--297 TJm
-(instead) 28.224 Tj
--297 TJm
-(check) 23.2328 Tj
-[1 0 0 1 360.631 415.963] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -360.631 -415.963] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-360.631 415.963 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 402.475 415.963] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -402.475 -415.963] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-405.437 415.963 Td
-/F130_0 9.9626 Tf
-(after) 18.2515 Tj
--297 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--298 TJm
-(call) 14.386 Tj
--297 TJm
-(and) 14.386 Tj
--297 TJm
-(w) 7.193 Tj
-10 TJm
-(atch) 16.5977 Tj
--298 TJm
-(out) 12.7322 Tj
--297 TJm
-(for) 11.6164 Tj
-[1 0 0 1 72 404.008] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -404.008] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 404.008 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 149.709 404.008] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -149.709 -404.008] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-149.709 404.008 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 402.698] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -392.735] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 382.09 Td
-/F130_0 9.9626 Tf
-(Internally) 38.7346 Tj
-65 TJm
-(,) 2.49065 Tj
-[1 0 0 1 117.541 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -117.541 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-117.541 382.09 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 177.317 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -177.317 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-181.786 382.09 Td
-/F130_0 9.9626 Tf
-(copies) 25.4544 Tj
--449 TJm
-(data) 16.5977 Tj
--448 TJm
-(from) 19.3673 Tj
--449 TJm
-(the) 12.1743 Tj
--448 TJm
-(compressed) 47.0334 Tj
--449 TJm
-(\002le) 12.7322 Tj
--448 TJm
-(in) 7.7509 Tj
--449 TJm
-(chunks) 28.224 Tj
--449 TJm
-(of) 8.29885 Tj
--448 TJm
-(size) 15.4918 Tj
-[1 0 0 1 419.602 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -419.602 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.602 382.09 Td
-/F134_0 9.9626 Tf
-(BZ_MAX_UNUSED) 77.7083 Tj
-[1 0 0 1 497.31 382.09] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -497.31 -382.09] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-501.778 382.09 Td
-/F130_0 9.9626 Tf
-(bytes) 21.031 Tj
--449 TJm
-(be-) 12.7222 Tj
-72 370.135 Td
-(fore) 16.0398 Tj
--414 TJm
-(decompressing) 59.7656 Tj
--414 TJm
-(it.) 8.02986 Tj
--1605 TJm
-(If) 6.63509 Tj
--415 TJm
-(the) 12.1743 Tj
--414 TJm
-(\002le) 12.7322 Tj
--414 TJm
-(contains) 33.2053 Tj
--414 TJm
-(more) 20.4731 Tj
--414 TJm
-(bytes) 21.031 Tj
--415 TJm
-(than) 17.1556 Tj
--414 TJm
-(strictly) 27.6761 Tj
--414 TJm
-(needed) 28.2141 Tj
--414 TJm
-(to) 7.7509 Tj
--414 TJm
-(reach) 21.569 Tj
--414 TJm
-(the) 12.1743 Tj
--415 TJm
-(logical) 27.1182 Tj
--414 TJm
-(end-of-stream,) 58.3709 Tj
-[1 0 0 1 72 358.18] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -358.18] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 358.18 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 131.776 358.18] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -131.776 -358.18] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-134.749 358.18 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--298 TJm
-(almost) 26.5703 Tj
--299 TJm
-(certainly) 34.8591 Tj
--298 TJm
-(read) 17.1456 Tj
--299 TJm
-(some) 21.031 Tj
--298 TJm
-(of) 8.29885 Tj
--299 TJm
-(the) 12.1743 Tj
--298 TJm
-(trailing) 28.782 Tj
--298 TJm
-(data) 16.5977 Tj
--299 TJm
-(before) 25.4445 Tj
--298 TJm
-(signalling) 39.3025 Tj
-[1 0 0 1 413.162 358.18] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -413.162 -358.18] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-413.162 358.18 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_END) 89.6634 Tj
-[1 0 0 1 502.826 358.18] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -502.826 -358.18] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-502.826 358.18 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--597 TJm
-(T) 6.08715 Tj
-80 TJm
-(o) 4.9813 Tj
--298 TJm
-(col-) 15.4918 Tj
-72 346.224 Td
-(lect) 14.386 Tj
--242 TJm
-(the) 12.1743 Tj
--242 TJm
-(read) 17.1456 Tj
--243 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--242 TJm
-(unused) 28.224 Tj
--242 TJm
-(data) 16.5977 Tj
--242 TJm
-(once) 18.8094 Tj
-[1 0 0 1 208.759 346.224] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -208.759 -346.224] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-208.759 346.224 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_END) 89.6634 Tj
-[1 0 0 1 298.423 346.224] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -298.423 -346.224] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-300.835 346.224 Td
-/F130_0 9.9626 Tf
-(has) 13.2801 Tj
--242 TJm
-(appeared,) 38.4457 Tj
--244 TJm
-(call) 14.386 Tj
-[1 0 0 1 374.201 346.224] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -374.201 -346.224] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-374.201 346.224 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.574 Tj
-[1 0 0 1 487.775 346.224] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -487.775 -346.224] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-490.188 346.224 Td
-/F130_0 9.9626 Tf
-(immediately) 49.813 Tj
-72 334.269 Td
-(before) 25.4445 Tj
-[1 0 0 1 99.935 334.269] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -99.935 -334.269] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-99.935 334.269 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 189.599 334.269] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -189.599 -334.269] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-189.599 334.269 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 332.959] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -322.996] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 312.351 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 169.144 312.351] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.144 -312.351] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-169.144 312.351 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 210.987 312.351] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.987 -312.351] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.987 312.351 Td
-/F130_0 9.9626 Tf
-(:) 2.7696 Tj
-[1 0 0 1 72 310.195] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -259.343] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(20) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 24 24
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -284.568] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 263.014 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 259.427] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(buf) 17.9327 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(0) 5.97756 Tj
-90 687.721 Td
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-98.4879 675.766 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzWriteOpen) 89.6634 Tj
-90 663.811 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.4879 651.856 Td
-(if) 11.9551 Tj
--426 TJm
-(there) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(reading) 41.8429 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(file) 23.9102 Tj
-90 639.9 Td
-(BZ_UNEXPECTED_EOF) 101.619 Tj
-98.4879 627.945 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(file) 23.9102 Tj
--426 TJm
-(ended) 29.8878 Tj
--426 TJm
-(before) 35.8654 Tj
-98.4879 615.99 Td
-(the) 17.9327 Tj
--426 TJm
-(logical) 41.8429 Tj
--426 TJm
-(end-of-stream) 77.7083 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected) 47.8205 Tj
-90 604.035 Td
-(BZ_DATA_ERROR) 77.7083 Tj
-98.4879 592.08 Td
-(if) 11.9551 Tj
--426 TJm
-(a) 5.97756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(integrity) 53.798 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected) 47.8205 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(stream) 35.8654 Tj
-90 580.125 Td
-(BZ_DATA_ERROR_MAGIC) 113.574 Tj
-98.4879 568.169 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(stream) 35.8654 Tj
--426 TJm
-(does) 23.9102 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(begin) 29.8878 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(requisite) 53.798 Tj
--426 TJm
-(header) 35.8654 Tj
--426 TJm
-(bytes) 29.8878 Tj
-98.4879 556.214 Td
-(\(ie,) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(a) 5.97756 Tj
--426 TJm
-(bzip2) 29.8878 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(file\).) 35.8654 Tj
--852 TJm
-(This) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(really) 35.8654 Tj
-98.4879 544.259 Td
-(a) 5.97756 Tj
--426 TJm
-(special) 41.8429 Tj
--426 TJm
-(case) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(BZ_DATA_ERROR.) 83.6858 Tj
-90 532.304 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.4879 520.349 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(available) 53.798 Tj
-90 508.394 Td
-(BZ_STREAM_END) 77.7083 Tj
-98.4879 496.438 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(logical) 41.8429 Tj
--426 TJm
-(end) 17.9327 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(stream) 35.8654 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected.) 53.798 Tj
-90 484.483 Td
-(BZ_OK) 29.8878 Tj
-98.4879 472.528 Td
-(otherwise.) 59.7756 Tj
-[1 0 0 1 72 456.986] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -447.024] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 435.068 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 434.969] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -60.7721] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 59.7758 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 56.1893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -425.604] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 425.604 Td
-/F134_0 9.9626 Tf
-(number) 35.8654 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(bytes) 29.8878 Tj
--426 TJm
-(read) 23.9102 Tj
-98.4879 413.649 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(BZ_STREAM_END) 77.7083 Tj
-90 401.694 Td
-(undefined) 53.798 Tj
-98.4879 389.739 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 374.197] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -364.234] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 352.279 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-[1 0 0 1 72 352.18] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -84.6825] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 83.6862 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 80.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -342.815] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 342.815 Td
-/F134_0 9.9626 Tf
-(collect) 41.8429 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(then) 23.9102 Tj
--426 TJm
-(BZ2_bzRead) 59.7756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(BZ2_bzReadClose) 89.6634 Tj
-98.4879 330.859 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-90 318.904 Td
-(collect) 41.8429 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(then) 23.9102 Tj
--426 TJm
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(BZ2_bzReadGetUnused) 113.574 Tj
-98.4879 306.949 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_SEQUENCE_END) 89.6634 Tj
-90 294.994 Td
-(BZ2_bzReadClose) 89.6634 Tj
-98.4879 283.039 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 267.497] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -257.534] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 236.876 Td
-/F122_0 17.2154 Tf
-(3.4.3.) 43.0729 Tj
-[1 0 0 1 119.858 236.876] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -236.876] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 236.876 Td
-/F392_0 17.2154 Tf
-(BZ2_bzReadGetUnused) 196.256 Tj
-[1 0 0 1 316.114 236.876] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -244.114 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -36.8617] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 35.8655 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 32.2789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -225.178] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 225.178 Td
-/F134_0 9.9626 Tf
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzReadGetUnused\() 119.551 Tj
--426 TJm
-(int) 17.9327 Tj
-259.883 223.435 Td
-(*) 5.97756 Tj
-270.104 225.178 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-362.278 223.435 Td
-(*) 5.97756 Tj
-368.256 225.178 Td
-(b,) 11.9551 Tj
-200.343 213.223 Td
-(void) 23.9102 Tj
-224.254 211.48 Td
-(**) 11.9551 Tj
-240.453 213.223 Td
-(unused,) 41.8429 Tj
--426 TJm
-(int) 17.9327 Tj
-304.473 211.48 Td
-(*) 5.97756 Tj
-314.694 213.223 Td
-(nUnused) 41.8429 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 197.681] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -187.719] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 175.764 Td
-/F130_0 9.9626 Tf
-(Returns) 30.9936 Tj
--435 TJm
-(data) 16.5977 Tj
--435 TJm
-(which) 24.3486 Tj
--435 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--435 TJm
-(read) 17.1456 Tj
--435 TJm
-(from) 19.3673 Tj
--435 TJm
-(the) 12.1743 Tj
--435 TJm
-(compressed) 47.0334 Tj
--435 TJm
-(\002le) 12.7322 Tj
--435 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--435 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--435 TJm
-(not) 12.7322 Tj
--435 TJm
-(needed) 28.2141 Tj
--435 TJm
-(to) 7.7509 Tj
--435 TJm
-(get) 12.1743 Tj
--435 TJm
-(to) 7.7509 Tj
--435 TJm
-(the) 12.1743 Tj
--435 TJm
-(logical) 27.1182 Tj
--435 TJm
-(end-of-stream.) 58.3709 Tj
-[1 0 0 1 72 163.809] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -163.809] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 162.065 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-77.9776 163.809 Td
-(unused) 35.8654 Tj
-[1 0 0 1 113.843 163.809] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.843 -163.809] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-117.2 163.809 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--337 TJm
-(set) 11.0684 Tj
--337 TJm
-(to) 7.7509 Tj
--337 TJm
-(the) 12.1743 Tj
--337 TJm
-(address) 29.8778 Tj
--337 TJm
-(of) 8.29885 Tj
--336 TJm
-(the) 12.1743 Tj
--337 TJm
-(data,) 19.0883 Tj
--359 TJm
-(and) 14.386 Tj
-[1 0 0 1 269.089 163.809] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -269.089 -163.809] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-269.089 162.065 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-275.067 163.809 Td
-(nUnused) 41.8429 Tj
-[1 0 0 1 316.91 163.809] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -316.91 -163.809] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-320.267 163.809 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--337 TJm
-(the) 12.1743 Tj
--337 TJm
-(number) 30.4357 Tj
--337 TJm
-(of) 8.29885 Tj
--337 TJm
-(bytes.) 23.5217 Tj
-[1 0 0 1 427.247 163.809] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -427.247 -163.809] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-427.247 162.065 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-433.225 163.809 Td
-(nUnused) 41.8429 Tj
-[1 0 0 1 475.068 163.809] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -475.068 -163.809] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-478.425 163.809 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--337 TJm
-(be) 9.40469 Tj
--337 TJm
-(set) 11.0684 Tj
--337 TJm
-(to) 7.7509 Tj
--337 TJm
-(a) 4.42339 Tj
-72 151.853 Td
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--250 TJm
-(between) 33.1954 Tj
-[1 0 0 1 131.506 151.853] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -131.506 -151.853] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-131.506 151.853 Td
-/F134_0 9.9626 Tf
-(0) 5.97756 Tj
-[1 0 0 1 137.484 151.853] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.484 -151.853] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-139.975 151.853 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 156.851 151.853] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -156.851 -151.853] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-156.851 151.853 Td
-/F134_0 9.9626 Tf
-(BZ_MAX_UNUSED) 77.7083 Tj
-[1 0 0 1 234.56 151.853] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -234.56 -151.853] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-237.05 151.853 Td
-/F130_0 9.9626 Tf
-(inclusi) 26.5703 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e.) 6.91404 Tj
-[1 0 0 1 72 150.543] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -140.581] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 129.935 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--882 TJm
-(function) 33.2053 Tj
--883 TJm
-(may) 17.1556 Tj
--882 TJm
-(only) 17.7135 Tj
--883 TJm
-(be) 9.40469 Tj
--882 TJm
-(called) 23.7907 Tj
--883 TJm
-(once) 18.8094 Tj
-[1 0 0 1 271.332 129.935] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -271.332 -129.935] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-271.332 129.935 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 331.108 129.935] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -331.108 -129.935] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-339.9 129.935 Td
-/F130_0 9.9626 Tf
-(has) 13.2801 Tj
--882 TJm
-(signalled) 35.9749 Tj
-[1 0 0 1 406.737 129.935] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -406.737 -129.935] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-406.737 129.935 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 484.446 129.935] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -484.446 -129.935] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-493.231 129.935 Td
-/F130_0 9.9626 Tf
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--882 TJm
-(before) 25.4445 Tj
-[1 0 0 1 72 117.98] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -117.98] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 117.98 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 161.664 117.98] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.664 -117.98] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-161.664 117.98 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 116.67] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -106.708] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 96.0625 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 169.144 96.0625] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.144 -96.0625] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-169.144 96.0625 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 210.987 96.0625] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.987 -96.0625] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.987 96.0625 Td
-/F130_0 9.9626 Tf
-(:) 2.7696 Tj
-[1 0 0 1 72 93.9057] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -43.0539] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.8518] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.8518 Td
-/F130_0 9.9626 Tf
-(21) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 25 25
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -129.151] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 107.597 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 104.01] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.4879 687.721 Td
-(or) 11.9551 Tj
--426 TJm
-(unused) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(nUnused) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-90 675.766 Td
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-98.4879 663.811 Td
-(if) 11.9551 Tj
--426 TJm
-(BZ_STREAM_END) 77.7083 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(not) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(signalled) 53.798 Tj
-98.4879 651.856 Td
-(or) 11.9551 Tj
--426 TJm
-(if) 11.9551 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzWriteOpen) 89.6634 Tj
-90 639.9 Td
-(BZ_OK) 29.8878 Tj
-98.4879 627.945 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 612.404] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -602.441] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 590.486 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-[1 0 0 1 72 590.386] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3238] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -581.021] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 581.021 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 72 565.48] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -555.517] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 534.858 Td
-/F122_0 17.2154 Tf
-(3.4.4.) 43.0729 Tj
-[1 0 0 1 119.858 534.858] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -534.858] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 534.858 Td
-/F392_0 17.2154 Tf
-(BZ2_bzReadClose) 154.939 Tj
-[1 0 0 1 274.797 534.858] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -202.797 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -523.161] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 523.161 Td
-/F134_0 9.9626 Tf
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(int) 17.9327 Tj
-244.46 521.417 Td
-(*) 5.97756 Tj
-250.438 523.161 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-342.612 521.417 Td
-(*) 5.97756 Tj
-348.59 523.161 Td
-(b) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 507.619] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -497.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 485.701 Td
-/F130_0 9.9626 Tf
-(Releases) 34.8591 Tj
--430 TJm
-(all) 9.9626 Tj
--429 TJm
-(memory) 33.2053 Tj
--430 TJm
-(pertaining) 40.3983 Tj
--429 TJm
-(to) 7.7509 Tj
--430 TJm
-(the) 12.1743 Tj
--429 TJm
-(compressed) 47.0334 Tj
--430 TJm
-(\002le) 12.7322 Tj
-[1 0 0 1 304.352 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -304.352 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-304.352 485.701 Td
-/F134_0 9.9626 Tf
-(b) 5.97756 Tj
-[1 0 0 1 310.33 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -310.33 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-310.33 485.701 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 321.276 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -321.276 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-321.276 485.701 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 410.94 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -410.94 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-415.22 485.701 Td
-/F130_0 9.9626 Tf
-(does) 18.2614 Tj
--430 TJm
-(not) 12.7322 Tj
--429 TJm
-(call) 14.386 Tj
-[1 0 0 1 473.438 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -473.438 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-473.438 485.701 Td
-/F134_0 9.9626 Tf
-(fclose) 35.8654 Tj
-[1 0 0 1 509.304 485.701] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -509.304 -485.701] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-513.584 485.701 Td
-/F130_0 9.9626 Tf
-(on) 9.9626 Tj
--430 TJm
-(the) 12.1743 Tj
-72 473.746 Td
-(underlying) 43.1679 Tj
--264 TJm
-(\002le) 12.7322 Tj
--264 TJm
-(handle,) 29.0509 Tj
--267 TJm
-(so) 8.85675 Tj
--264 TJm
-(you) 14.9439 Tj
--264 TJm
-(should) 26.5703 Tj
--264 TJm
-(do) 9.9626 Tj
--264 TJm
-(that) 14.9439 Tj
--264 TJm
-(yourself) 32.6474 Tj
--264 TJm
-(if) 6.08715 Tj
--263 TJm
-(appropriate.) 47.8603 Tj
-[1 0 0 1 348.653 473.746] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -348.653 -473.746] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-348.653 473.746 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 438.317 473.746] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -438.317 -473.746] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-440.946 473.746 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--264 TJm
-(be) 9.40469 Tj
--264 TJm
-(called) 23.7907 Tj
--264 TJm
-(to) 7.7509 Tj
--264 TJm
-(clean) 21.0211 Tj
-72 461.791 Td
-(up) 9.9626 Tj
--250 TJm
-(after) 18.2515 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(situations.) 40.6873 Tj
-[1 0 0 1 72 459.634] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -449.671] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 439.873 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 169.144 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.144 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-169.144 439.873 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 210.987 439.873] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.987 -439.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.987 439.873 Td
-/F130_0 9.9626 Tf
-(:) 2.7696 Tj
-[1 0 0 1 72 437.716] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -60.7721] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 59.7758 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 56.1893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -428.351] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 428.351 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-98.4879 416.396 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzOpenWrite) 89.6634 Tj
-90 404.441 Td
-(BZ_OK) 29.8878 Tj
-98.4879 392.486 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 376.944] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -366.982] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 355.026 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-[1 0 0 1 72 354.927] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -345.562] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 345.562 Td
-/F134_0 9.9626 Tf
-(none) 23.9102 Tj
-[1 0 0 1 72 330.02] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -320.058] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 299.399 Td
-/F122_0 17.2154 Tf
-(3.4.5.) 43.0729 Tj
-[1 0 0 1 119.858 299.399] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -299.399] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 299.399 Td
-/F392_0 17.2154 Tf
-(BZ2_bzWriteOpen) 154.939 Tj
-[1 0 0 1 274.797 299.399] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -202.797 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -48.8169] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 47.8207 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 44.2341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -287.702] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 287.702 Td
-/F134_0 9.9626 Tf
-(BZFILE) 35.8654 Tj
-130.109 285.958 Td
-(*) 5.97756 Tj
-136.087 287.702 Td
-(BZ2_bzWriteOpen\() 95.641 Tj
--426 TJm
-(int) 17.9327 Tj
-258.149 285.958 Td
-(*) 5.97756 Tj
-264.127 287.702 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(FILE) 23.9102 Tj
-344.346 285.958 Td
-(*) 5.97756 Tj
-350.323 287.702 Td
-(f,) 11.9551 Tj
-196.099 275.746 Td
-(int) 17.9327 Tj
--426 TJm
-(blockSize100k,) 83.6858 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(verbosity,) 59.7756 Tj
-196.099 263.791 Td
-(int) 17.9327 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 248.249] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -238.287] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 226.332 Td
-/F130_0 9.9626 Tf
-(Prepare) 30.4258 Tj
--268 TJm
-(to) 7.7509 Tj
--269 TJm
-(write) 20.4731 Tj
--268 TJm
-(compressed) 47.0334 Tj
--269 TJm
-(data) 16.5977 Tj
--268 TJm
-(to) 7.7509 Tj
--269 TJm
-(\002le) 12.7322 Tj
--268 TJm
-(handle) 26.5603 Tj
-[1 0 0 1 262.72 226.332] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -262.72 -226.332] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-262.72 226.332 Td
-/F134_0 9.9626 Tf
-(f) 5.97756 Tj
-[1 0 0 1 268.698 226.332] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -268.698 -226.332] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-268.698 226.332 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 274.829 226.332] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -274.829 -226.332] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-274.829 226.332 Td
-/F134_0 9.9626 Tf
-(f) 5.97756 Tj
-[1 0 0 1 280.807 226.332] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -280.807 -226.332] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-283.481 226.332 Td
-/F130_0 9.9626 Tf
-(should) 26.5703 Tj
--268 TJm
-(refer) 18.7994 Tj
--269 TJm
-(to) 7.7509 Tj
--268 TJm
-(a) 4.42339 Tj
--269 TJm
-(\002le) 12.7322 Tj
--268 TJm
-(which) 24.3486 Tj
--269 TJm
-(has) 13.2801 Tj
--268 TJm
-(been) 18.8094 Tj
--269 TJm
-(opened) 28.772 Tj
--268 TJm
-(for) 11.6164 Tj
--269 TJm
-(writing,) 31.2726 Tj
--273 TJm
-(and) 14.386 Tj
--268 TJm
-(for) 11.6164 Tj
-72 214.377 Td
-(which) 24.3486 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(indicator) 35.417 Tj
--250 TJm
-(\() 3.31755 Tj
-[1 0 0 1 176.577 214.376] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -176.577 -214.376] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-176.577 214.376 Td
-/F134_0 9.9626 Tf
-(ferror\(f\)) 53.798 Tj
-[1 0 0 1 230.375 214.376] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -230.375 -214.376] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-230.375 214.376 Td
-/F130_0 9.9626 Tf
-(\)is) 9.9626 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(set.) 13.5591 Tj
-[1 0 0 1 72 212.593] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -202.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 192.459 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--223 TJm
-(the) 12.1743 Tj
--224 TJm
-(meaning) 34.3112 Tj
--223 TJm
-(of) 8.29885 Tj
--224 TJm
-(parameters) 43.7059 Tj
-[1 0 0 1 195.306 192.459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -195.306 -192.459] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-195.306 192.459 Td
-/F134_0 9.9626 Tf
-(blockSize100k) 77.7083 Tj
-[1 0 0 1 273.015 192.459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -273.015 -192.459] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-273.015 192.459 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 277.784 192.459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -277.784 -192.459] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-277.784 192.459 Td
-/F134_0 9.9626 Tf
-(verbosity) 53.798 Tj
-[1 0 0 1 331.583 192.459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -331.583 -192.459] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-333.808 192.459 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 350.42 192.459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -350.42 -192.459] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-350.42 192.459 Td
-/F134_0 9.9626 Tf
-(workFactor) 59.7756 Tj
-[1 0 0 1 410.196 192.459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -410.196 -192.459] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-410.196 192.459 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--229 TJm
-(see) 12.7222 Tj
-[1 0 0 1 429.913 192.459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -429.913 -192.459] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-429.913 192.459 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 537.509 192.459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -537.509 -192.459] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-537.509 192.459 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 190.302] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -180.339] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 170.541 Td
-/F130_0 9.9626 Tf
-(All) 12.7322 Tj
--382 TJm
-(required) 33.1954 Tj
--382 TJm
-(memory) 33.2053 Tj
--382 TJm
-(is) 6.64505 Tj
--382 TJm
-(allocated) 35.965 Tj
--383 TJm
-(at) 7.193 Tj
--382 TJm
-(this) 14.396 Tj
--382 TJm
-(stage,) 22.9638 Tj
--415 TJm
-(so) 8.85675 Tj
--382 TJm
-(if) 6.08715 Tj
--382 TJm
-(the) 12.1743 Tj
--382 TJm
-(call) 14.386 Tj
--382 TJm
-(completes) 40.3983 Tj
--382 TJm
-(successfully) 48.6972 Tj
-65 TJm
-(,) 2.49065 Tj
-[1 0 0 1 424.691 170.541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -424.691 -170.541] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-424.691 170.541 Td
-/F134_0 9.9626 Tf
-(BZ_MEM_ERROR) 71.7307 Tj
-[1 0 0 1 496.422 170.541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.422 -170.541] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-500.228 170.541 Td
-/F130_0 9.9626 Tf
-(cannot) 26.5603 Tj
--382 TJm
-(be) 9.40469 Tj
-72 158.586 Td
-(signalled) 35.9749 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(subsequent) 44.2738 Tj
--250 TJm
-(call) 14.386 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 203.715 158.586] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -203.715 -158.586] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-203.715 158.586 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-[1 0 0 1 269.468 158.586] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -269.468 -158.586] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-269.468 158.586 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 156.429] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -146.466] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 136.668 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 169.144 136.668] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.144 -136.668] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-169.144 136.668 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 210.987 136.668] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.987 -136.668] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.987 136.668 Td
-/F130_0 9.9626 Tf
-(:) 2.7696 Tj
-[1 0 0 1 72 134.511] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -83.6593] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.8518] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.8518 Td
-/F130_0 9.9626 Tf
-(22) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 26 26
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -165.016] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 143.462 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 139.875] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.4879 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 687.721 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 675.766 Td
-(if) 11.9551 Tj
--426 TJm
-(f) 5.97756 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.4879 663.811 Td
-(or) 11.9551 Tj
--426 TJm
-(blockSize100k) 77.7083 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(1) 5.97756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(blockSize100k) 77.7083 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(9) 5.97756 Tj
-90 651.856 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.4879 639.9 Td
-(if) 11.9551 Tj
--426 TJm
-(ferror\(f\)) 53.798 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(nonzero) 41.8429 Tj
-90 627.945 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.4879 615.99 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 604.035 Td
-(BZ_OK) 29.8878 Tj
-98.4879 592.08 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 576.538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -566.575] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 554.62 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 554.521] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -60.7721] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 59.7758 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 56.1892] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -545.156] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 545.156 Td
-/F134_0 9.9626 Tf
-(Pointer) 41.8429 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(abstract) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-98.4879 533.201 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-90 521.245 Td
-(NULL) 23.9102 Tj
-98.4879 509.29 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 493.748] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -483.786] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 471.831 Td
-/F130_0 9.9626 Tf
-(Allo) 17.7135 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able) 16.5977 Tj
--250 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(actions:) 30.9936 Tj
-[1 0 0 1 72 471.731] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -84.6825] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 83.6862 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 80.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -462.366] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 462.366 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-98.4879 450.411 Td
-(if) 11.9551 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
-98.4879 438.456 Td
-(\(you) 23.9102 Tj
--426 TJm
-(could) 29.8878 Tj
--426 TJm
-(go) 11.9551 Tj
--426 TJm
-(directly) 47.8205 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(BZ2_bzWriteClose,) 101.619 Tj
--426 TJm
-(but) 17.9327 Tj
--426 TJm
-(this) 23.9102 Tj
--426 TJm
-(would) 29.8878 Tj
--426 TJm
-(be) 11.9551 Tj
--426 TJm
-(pretty) 35.8654 Tj
-485.505 434.212 Td
-/F564_0 9.9626 Tf
-( ) 9.9626 Tj
-493.808 434.212 Td
-/F147_0 9.9626 Tf
-(-) 2.7696 Tj
-90 426.501 Td
-/F134_0 9.9626 Tf
-(pointless\)) 59.7756 Tj
-90 414.546 Td
-(BZ2_bzWriteClose) 95.641 Tj
-98.4879 402.59 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 387.049] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -377.086] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 356.428 Td
-/F122_0 17.2154 Tf
-(3.4.6.) 43.0729 Tj
-[1 0 0 1 119.858 356.428] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -356.428] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 356.428 Td
-/F392_0 17.2154 Tf
-(BZ2_bzWrite) 113.622 Tj
-[1 0 0 1 233.48 356.428] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.48 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -344.73] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 344.73 Td
-/F134_0 9.9626 Tf
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzWrite) 65.7532 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(int) 17.9327 Tj
-220.55 342.987 Td
-(*) 5.97756 Tj
-226.528 344.73 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-318.702 342.987 Td
-(*) 5.97756 Tj
-324.679 344.73 Td
-(b,) 11.9551 Tj
--426 TJm
-(void) 23.9102 Tj
-369.033 342.987 Td
-(*) 5.97756 Tj
-375.01 344.73 Td
-(buf,) 23.9102 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 329.188] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -319.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 307.27 Td
-/F130_0 9.9626 Tf
-(Absorbs) 33.2053 Tj
-[1 0 0 1 107.696 307.27] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -107.696 -307.27] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-107.696 307.27 Td
-/F134_0 9.9626 Tf
-(len) 17.9327 Tj
-[1 0 0 1 125.629 307.27] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -125.629 -307.27] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-128.119 307.27 Td
-/F130_0 9.9626 Tf
-(bytes) 21.031 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-[1 0 0 1 214.544 307.27] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -214.544 -307.27] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-214.544 307.27 Td
-/F134_0 9.9626 Tf
-(buf) 17.9327 Tj
-[1 0 0 1 232.477 307.27] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -232.477 -307.27] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-232.477 307.27 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(entually) 32.0995 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(written) 28.224 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(\002le.) 15.2229 Tj
-[1 0 0 1 72 305.114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -295.151] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 285.353 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 169.144 285.353] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.144 -285.353] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-169.144 285.353 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 210.987 285.353] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.987 -285.353] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.987 285.353 Td
-/F130_0 9.9626 Tf
-(:) 2.7696 Tj
-[1 0 0 1 72 283.196] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -108.593] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 107.597 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 104.01] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -273.831] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 273.831 Td
-/F134_0 9.9626 Tf
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 261.876 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(buf) 17.9327 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(0) 5.97756 Tj
-90 249.921 Td
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-98.4879 237.965 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzReadOpen) 83.6858 Tj
-90 226.01 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.4879 214.055 Td
-(if) 11.9551 Tj
--426 TJm
-(there) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(writing) 41.8429 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(file.) 29.8878 Tj
-90 202.1 Td
-(BZ_OK) 29.8878 Tj
-98.4879 190.145 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 174.603] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -164.64] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 143.982 Td
-/F122_0 17.2154 Tf
-(3.4.7.) 43.0729 Tj
-[1 0 0 1 119.858 143.982] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -143.982] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 143.982 Td
-/F392_0 17.2154 Tf
-(BZ2_bzWriteClose) 165.268 Tj
-[1 0 0 1 285.126 143.982] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -213.126 -2.3326] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -90.7975] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(23) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 27 27
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -165.016] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 143.462 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 139.875] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzWriteClose\() 101.619 Tj
--426 TJm
-(int) 17.9327 Tj
-246.194 709.888 Td
-(*) 5.97756 Tj
-252.171 711.631 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-340.102 709.888 Td
-(*) 5.97756 Tj
-350.323 711.631 Td
-(f,) 11.9551 Tj
-187.611 699.676 Td
-(int) 17.9327 Tj
--426 TJm
-(abandon,) 47.8205 Tj
-187.611 687.721 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-257.609 685.978 Td
-(*) 5.97756 Tj
-267.83 687.721 Td
-(nbytes_in,) 59.7756 Tj
-187.611 675.766 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-257.609 674.023 Td
-(*) 5.97756 Tj
-267.83 675.766 Td
-(nbytes_out) 59.7756 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 651.856 Td
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzWriteClose64\() 113.574 Tj
--426 TJm
-(int) 17.9327 Tj
-258.149 650.112 Td
-(*) 5.97756 Tj
-264.127 651.856 Td
-(bzerror,) 47.8205 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-352.057 650.112 Td
-(*) 5.97756 Tj
-362.278 651.856 Td
-(f,) 11.9551 Tj
-196.099 639.9 Td
-(int) 17.9327 Tj
--426 TJm
-(abandon,) 47.8205 Tj
-196.099 627.945 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-266.097 626.202 Td
-(*) 5.97756 Tj
-276.318 627.945 Td
-(nbytes_in_lo32,) 89.6634 Tj
-196.099 615.99 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-266.097 614.247 Td
-(*) 5.97756 Tj
-276.318 615.99 Td
-(nbytes_in_hi32,) 89.6634 Tj
-196.099 604.035 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-266.097 602.292 Td
-(*) 5.97756 Tj
-276.318 604.035 Td
-(nbytes_out_lo32,) 95.641 Tj
-196.099 592.08 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-266.097 590.336 Td
-(*) 5.97756 Tj
-276.318 592.08 Td
-(nbytes_out_hi32) 89.6634 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 576.538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -566.575] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 554.62 Td
-/F130_0 9.9626 Tf
-(Compresses) 48.1492 Tj
--403 TJm
-(and) 14.386 Tj
--402 TJm
-(\003ushes) 27.6761 Tj
--403 TJm
-(to) 7.7509 Tj
--403 TJm
-(the) 12.1743 Tj
--402 TJm
-(compressed) 47.0334 Tj
--403 TJm
-(\002le) 12.7322 Tj
--403 TJm
-(a) 4.42339 Tj
-1 TJm
-(ll) 5.53921 Tj
--403 TJm
-(data) 16.5977 Tj
--403 TJm
-(so) 8.85675 Tj
--402 TJm
-(f) 3.31755 Tj
-10 TJm
-(ar) 7.74094 Tj
--403 TJm
-(supplied) 33.7633 Tj
--403 TJm
-(by) 9.9626 Tj
-[1 0 0 1 384.152 554.62] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -384.152 -554.62] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-384.152 554.62 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-[1 0 0 1 449.906 554.62] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -449.906 -554.62] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-449.906 554.62 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--768 TJm
-(The) 15.4918 Tj
--403 TJm
-(logical) 27.1182 Tj
--402 TJm
-(end-of-) 29.3199 Tj
-72 542.665 Td
-(stream) 26.5603 Tj
--352 TJm
-(mark) 20.4731 Tj
-10 TJm
-(ers) 11.6164 Tj
--352 TJm
-(are) 12.1643 Tj
--353 TJm
-(also) 16.0497 Tj
--352 TJm
-(written,) 30.7147 Tj
--378 TJm
-(so) 8.85675 Tj
--352 TJm
-(subsequent) 44.2738 Tj
--352 TJm
-(calls) 18.2614 Tj
--352 TJm
-(to) 7.7509 Tj
-[1 0 0 1 300.456 542.665] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -300.456 -542.665] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-300.456 542.665 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWrite) 65.7532 Tj
-[1 0 0 1 366.209 542.665] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -366.209 -542.665] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-369.718 542.665 Td
-/F130_0 9.9626 Tf
-(are) 12.1643 Tj
--352 TJm
-(ille) 12.7322 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(al.) 9.68365 Tj
--1234 TJm
-(All) 12.7322 Tj
--352 TJm
-(memory) 33.2053 Tj
--352 TJm
-(associated) 40.9463 Tj
--352 TJm
-(with) 17.7135 Tj
-72 530.71 Td
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
-[1 0 0 1 151.411 530.71] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -151.411 -530.71] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-151.411 530.71 Td
-/F134_0 9.9626 Tf
-(b) 5.97756 Tj
-[1 0 0 1 157.389 530.71] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -157.389 -530.71] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-159.879 530.71 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(released.) 35.1281 Tj
-[1 0 0 1 207.231 530.71] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -207.231 -530.71] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-207.231 530.71 Td
-/F134_0 9.9626 Tf
-(fflush) 35.8654 Tj
-[1 0 0 1 243.097 530.71] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -243.097 -530.71] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-245.587 530.71 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(called) 23.7907 Tj
--250 TJm
-(on) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le,) 15.2229 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(not) 12.7322 Tj
-[1 0 0 1 422.771 530.71] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -422.771 -530.71] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-422.771 530.71 Td
-/F134_0 9.9626 Tf
-(fclose) 35.8654 Tj
-[1 0 0 1 458.636 530.71] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -458.636 -530.71] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-458.636 530.71 Td
-/F130_0 9.9626 Tf
-(') 3.31755 Tj
-50 TJm
-(d.) 7.47195 Tj
-[1 0 0 1 72 528.553] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -518.59] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 508.792 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
-[1 0 0 1 81.5743 508.792] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -81.5743 -508.792] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-81.5743 508.792 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-[1 0 0 1 177.216 508.792] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -177.216 -508.792] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-180.155 508.792 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--295 TJm
-(called) 23.7907 Tj
--295 TJm
-(to) 7.7509 Tj
--295 TJm
-(clean) 21.0211 Tj
--295 TJm
-(up) 9.9626 Tj
--295 TJm
-(after) 18.2515 Tj
--295 TJm
-(an) 9.40469 Tj
--295 TJm
-(error) 19.3573 Tj
-40 TJm
-(,) 2.49065 Tj
--306 TJm
-(the) 12.1743 Tj
--295 TJm
-(only) 17.7135 Tj
--295 TJm
-(action) 24.3486 Tj
--295 TJm
-(is) 6.64505 Tj
--295 TJm
-(to) 7.7509 Tj
--295 TJm
-(release) 27.6562 Tj
--295 TJm
-(the) 12.1743 Tj
--295 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.49065 Tj
--891 TJm
-(The) 15.4918 Tj
--295 TJm
-(library) 26.5603 Tj
-72 496.837 Td
-(records) 29.3199 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(error) 19.3573 Tj
--289 TJm
-(codes) 22.6848 Tj
--289 TJm
-(issued) 24.9065 Tj
--289 TJm
-(by) 9.9626 Tj
--289 TJm
-(pre) 12.7222 Tj
-25 TJm
-(vious) 21.589 Tj
--289 TJm
-(calls,) 20.7521 Tj
--299 TJm
-(so) 8.85675 Tj
--289 TJm
-(this) 14.396 Tj
--289 TJm
-(situation) 34.3212 Tj
--289 TJm
-(will) 15.5018 Tj
--289 TJm
-(be) 9.40469 Tj
--289 TJm
-(detected) 33.1954 Tj
--289 TJm
-(automatically) 54.2364 Tj
-65 TJm
-(.) 2.49065 Tj
--427 TJm
-(There) 23.2328 Tj
--289 TJm
-(is) 6.64505 Tj
--289 TJm
-(no) 9.9626 Tj
--289 TJm
-(attempt) 29.8878 Tj
-72 484.882 Td
-(to) 7.7509 Tj
--263 TJm
-(complete) 36.5229 Tj
--262 TJm
-(the) 12.1743 Tj
--263 TJm
-(compression) 50.3609 Tj
--263 TJm
-(operation,) 40.1194 Tj
--265 TJm
-(nor) 13.2801 Tj
--263 TJm
-(to) 7.7509 Tj
-[1 0 0 1 258.308 484.882] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -258.308 -484.882] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-258.308 484.882 Td
-/F134_0 9.9626 Tf
-(fflush) 35.8654 Tj
-[1 0 0 1 294.173 484.882] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -294.173 -484.882] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-296.79 484.882 Td
-/F130_0 9.9626 Tf
-(the) 12.1743 Tj
--263 TJm
-(compressed) 47.0334 Tj
--262 TJm
-(\002le.) 15.2229 Tj
--696 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--263 TJm
-(can) 13.8281 Tj
--263 TJm
-(force) 20.4632 Tj
--262 TJm
-(this) 14.396 Tj
--263 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
--263 TJm
-(to) 7.7509 Tj
--262 TJm
-(happen) 28.772 Tj
-72 472.926 Td
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(case) 17.1456 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(error) 19.3573 Tj
-40 TJm
-(,) 2.49065 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(passing) 29.8878 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(nonzero) 32.0895 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue) 16.5977 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 305.014 472.926] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -305.014 -472.926] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-305.014 472.926 Td
-/F134_0 9.9626 Tf
-(abandon) 41.8429 Tj
-[1 0 0 1 346.858 472.926] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -346.858 -472.926] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-346.858 472.926 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 470.77] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -460.807] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 451.009 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
-[1 0 0 1 80.5974 451.009] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -80.5974 -451.009] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-80.5974 451.009 Td
-/F134_0 9.9626 Tf
-(nbytes_in) 53.798 Tj
-[1 0 0 1 134.396 451.009] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -134.396 -451.009] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-136.358 451.009 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--197 TJm
-(non-null,) 36.2539 Tj
-[1 0 0 1 183.287 451.009] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -183.287 -451.009] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-183.287 449.265 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-189.265 451.009 Td
-(nbytes_in) 53.798 Tj
-[1 0 0 1 243.063 451.009] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -243.063 -451.009] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-245.025 451.009 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--197 TJm
-(be) 9.40469 Tj
--197 TJm
-(set) 11.0684 Tj
--197 TJm
-(to) 7.7509 Tj
--197 TJm
-(be) 9.40469 Tj
--197 TJm
-(the) 12.1743 Tj
--197 TJm
-(total) 17.7135 Tj
--197 TJm
-(v) 4.9813 Tj
-20 TJm
-(olume) 24.9065 Tj
--197 TJm
-(of) 8.29885 Tj
--197 TJm
-(uncompressed) 56.996 Tj
--197 TJm
-(data) 16.5977 Tj
--197 TJm
-(handled.) 34.0322 Tj
--584 TJm
-(Similarly) 37.0908 Tj
-65 TJm
-(,) 2.49065 Tj
-[1 0 0 1 72 439.053] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -439.053] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 439.053 Td
-/F134_0 9.9626 Tf
-(nbytes_out) 59.7756 Tj
-[1 0 0 1 131.776 439.053] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -131.776 -439.053] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-134.716 439.053 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--295 TJm
-(be) 9.40469 Tj
--295 TJm
-(set) 11.0684 Tj
--295 TJm
-(to) 7.7509 Tj
--295 TJm
-(the) 12.1743 Tj
--295 TJm
-(total) 17.7135 Tj
--295 TJm
-(v) 4.9813 Tj
-20 TJm
-(olume) 24.9065 Tj
--296 TJm
-(of) 8.29885 Tj
--295 TJm
-(compressed) 47.0334 Tj
--295 TJm
-(data) 16.5977 Tj
--295 TJm
-(written.) 30.7147 Tj
--890 TJm
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--295 TJm
-(compatibility) 53.1405 Tj
--295 TJm
-(with) 17.7135 Tj
--295 TJm
-(older) 20.4731 Tj
--296 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--295 TJm
-(of) 8.29885 Tj
-72 427.098 Td
-(the) 12.1743 Tj
--283 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
-[1 0 0 1 118.294 427.098] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -118.294 -427.098] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-118.294 427.098 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteClose) 95.641 Tj
-[1 0 0 1 213.936 427.098] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -213.936 -427.098] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-216.753 427.098 Td
-/F130_0 9.9626 Tf
-(only) 17.7135 Tj
--283 TJm
-(yields) 23.8007 Tj
--283 TJm
-(the) 12.1743 Tj
--282 TJm
-(lo) 7.7509 Tj
-25 TJm
-(wer) 14.9339 Tj
--283 TJm
-(32) 9.9626 Tj
--283 TJm
-(bits) 14.396 Tj
--283 TJm
-(of) 8.29885 Tj
--283 TJm
-(these) 20.4731 Tj
--282 TJm
-(counts.) 28.503 Tj
--817 TJm
-(Use) 15.4918 Tj
-[1 0 0 1 423.499 427.098] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -423.499 -427.098] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-423.499 427.098 Td
-/F134_0 9.9626 Tf
-(BZ2_bzWriteClose64) 107.596 Tj
-[1 0 0 1 531.095 427.098] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -531.095 -427.098] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-533.913 427.098 Td
-/F130_0 9.9626 Tf
-(if) 6.08715 Tj
-72 415.143 Td
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(full) 13.8381 Tj
--250 TJm
-(64) 9.9626 Tj
--250 TJm
-(bit) 10.5205 Tj
--250 TJm
-(counts.) 28.503 Tj
--620 TJm
-(These) 23.7907 Tj
--250 TJm
-(tw) 9.9626 Tj
-10 TJm
-(o) 4.9813 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(otherwise) 38.7346 Tj
--250 TJm
-(absolutely) 40.9562 Tj
--250 TJm
-(identical.) 36.8018 Tj
-[1 0 0 1 72 412.986] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -403.024] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 393.225 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(assignments) 48.7072 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 169.144 393.225] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -169.144 -393.225] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-169.144 393.225 Td
-/F134_0 9.9626 Tf
-(bzerror) 41.8429 Tj
-[1 0 0 1 210.987 393.225] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.987 -393.225] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.987 393.225 Td
-/F130_0 9.9626 Tf
-(:) 2.7696 Tj
-[1 0 0 1 72 391.069] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -84.6825] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 83.6862 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 80.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -381.704] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 381.704 Td
-/F134_0 9.9626 Tf
-(BZ_SEQUENCE_ERROR) 101.619 Tj
-98.4879 369.748 Td
-(if) 11.9551 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(opened) 35.8654 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(BZ2_bzReadOpen) 83.6858 Tj
-90 357.793 Td
-(BZ_IO_ERROR) 65.7532 Tj
-98.4879 345.838 Td
-(if) 11.9551 Tj
--426 TJm
-(there) 29.8878 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(writing) 41.8429 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(file) 23.9102 Tj
-90 333.883 Td
-(BZ_OK) 29.8878 Tj
-98.4879 321.928 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 306.386] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -296.423] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 275.765 Td
-/F122_0 17.2154 Tf
-(3.4.8.) 43.0729 Tj
--278 TJm
-(Handling) 73.6475 Tj
--278 TJm
-(embed) 55.4852 Tj
-10 TJm
-(ded) 30.609 Tj
--278 TJm
-(compressed) 101.416 Tj
--278 TJm
-(data) 35.3949 Tj
--278 TJm
-(streams) 66.0211 Tj
-[1 0 0 1 72 271.935] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -261.972] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 253.847 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--203 TJm
-(high-le) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--203 TJm
-(library) 26.5603 Tj
--203 TJm
-(f) 3.31755 Tj
-10 TJm
-(acilitates) 35.417 Tj
--203 TJm
-(use) 13.2801 Tj
--203 TJm
-(of) 8.29885 Tj
-[1 0 0 1 226.404 253.847] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -226.404 -253.847] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-226.404 253.847 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 256.292 253.847] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -256.292 -253.847] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-258.316 253.847 Td
-/F130_0 9.9626 Tf
-(data) 16.5977 Tj
--203 TJm
-(streams) 30.4357 Tj
--203 TJm
-(which) 24.3486 Tj
--203 TJm
-(form) 19.3673 Tj
--203 TJm
-(some) 21.031 Tj
--203 TJm
-(part) 15.4918 Tj
--203 TJm
-(of) 8.29885 Tj
--204 TJm
-(a) 4.42339 Tj
--203 TJm
-(surrounding,) 50.6399 Tj
--212 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--203 TJm
-(data) 16.5977 Tj
--203 TJm
-(stream.) 29.0509 Tj
-[1 0 0 1 72 251.69] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -29.7236] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -221.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 221.967 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 221.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -221.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 221.967 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--240 TJm
-(writing,) 31.2726 Tj
--243 TJm
-(the) 12.1743 Tj
--240 TJm
-(library) 26.5603 Tj
--241 TJm
-(tak) 12.1743 Tj
-10 TJm
-(es) 8.29885 Tj
--240 TJm
-(an) 9.40469 Tj
--241 TJm
-(open) 19.3673 Tj
--240 TJm
-(\002le) 12.7322 Tj
--241 TJm
-(handle,) 29.0509 Tj
--242 TJm
-(writes) 24.3486 Tj
--241 TJm
-(compres) 33.7533 Tj
-1 TJm
-(sed) 13.2801 Tj
--241 TJm
-(data) 16.5977 Tj
--240 TJm
-(to) 7.7509 Tj
--241 TJm
-(it,) 8.02986 Tj
-[1 0 0 1 398.926 221.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -398.926 -221.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-398.926 221.967 Td
-/F134_0 9.9626 Tf
-(fflush) 35.8654 Tj
-[1 0 0 1 434.791 221.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -434.791 -221.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-434.791 221.967 Td
-/F130_0 9.9626 Tf
-(es) 8.29885 Tj
--240 TJm
-(it) 5.53921 Tj
--241 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--240 TJm
-(does) 18.2614 Tj
--241 TJm
-(not) 12.7322 Tj
-[1 0 0 1 504.135 221.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -504.135 -221.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-504.135 221.967 Td
-/F134_0 9.9626 Tf
-(fclose) 35.8654 Tj
-[1 0 0 1 540 221.967] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -221.967] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 210.011 Td
-/F130_0 9.9626 Tf
-(it.) 8.02986 Tj
--610 TJm
-(The) 15.4918 Tj
--235 TJm
-(calling) 27.1182 Tj
--235 TJm
-(application) 44.2738 Tj
--235 TJm
-(can) 13.8281 Tj
--235 TJm
-(write) 20.4731 Tj
--235 TJm
-(its) 9.41466 Tj
--235 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
--235 TJm
-(data) 16.5977 Tj
--235 TJm
-(before) 25.4445 Tj
--235 TJm
-(and) 14.386 Tj
--235 TJm
-(after) 18.2515 Tj
--235 TJm
-(the) 12.1743 Tj
--235 TJm
-(compressed) 47.0334 Tj
--235 TJm
-(data) 16.5977 Tj
--235 TJm
-(stream,) 29.0509 Tj
--238 TJm
-(using) 21.589 Tj
--235 TJm
-(that) 14.9439 Tj
--235 TJm
-(same) 20.4731 Tj
--235 TJm
-(\002le) 12.7322 Tj
-86.944 198.056 Td
-(handle.) 29.0509 Tj
-[1 0 0 1 115.995 198.056] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -43.9948 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -176.139] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 176.139 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 176.139] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -176.139] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 176.139 Td
-/F130_0 9.9626 Tf
-(Reading) 33.2053 Tj
--236 TJm
-(is) 6.64505 Tj
--236 TJm
-(more) 20.4731 Tj
--236 TJm
-(comple) 29.3299 Tj
-15 TJm
-(x,) 7.47195 Tj
--238 TJm
-(and) 14.386 Tj
--236 TJm
-(the) 12.1743 Tj
--236 TJm
-(f) 3.31755 Tj
-10 TJm
-(acilities) 30.9936 Tj
--236 TJm
-(are) 12.1643 Tj
--236 TJm
-(not) 12.7322 Tj
--235 TJm
-(as) 8.29885 Tj
--236 TJm
-(general) 29.3199 Tj
--236 TJm
-(as) 8.29885 Tj
--236 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--236 TJm
-(could) 22.1369 Tj
--236 TJm
-(be) 9.40469 Tj
--236 TJm
-(since) 20.4731 Tj
--235 TJm
-(generality) 39.8404 Tj
--236 TJm
-(is) 6.64505 Tj
--236 TJm
-(hard) 17.7035 Tj
--236 TJm
-(to) 7.7509 Tj
--236 TJm
-(reconcile) 36.5129 Tj
-86.944 164.183 Td
-(with) 17.7135 Tj
--404 TJm
-(ef) 7.74094 Tj
-25 TJm
-(\002cienc) 26.5603 Tj
-15 TJm
-(y) 4.9813 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 164.811 164.183] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -164.811 -164.183] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-164.811 164.183 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 224.587 164.183] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -224.587 -164.183] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-228.614 164.183 Td
-/F130_0 9.9626 Tf
-(reads) 21.0211 Tj
--404 TJm
-(from) 19.3673 Tj
--405 TJm
-(the) 12.1743 Tj
--404 TJm
-(compressed) 47.0334 Tj
--404 TJm
-(\002le) 12.7322 Tj
--404 TJm
-(in) 7.7509 Tj
--405 TJm
-(blocks) 26.0123 Tj
--404 TJm
-(of) 8.29885 Tj
--404 TJm
-(size) 15.4918 Tj
-[1 0 0 1 434.744 164.183] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -434.744 -164.183] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-434.744 164.183 Td
-/F134_0 9.9626 Tf
-(BZ_MAX_UNUSED) 77.7083 Tj
-[1 0 0 1 512.452 164.183] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -512.452 -164.183] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-516.479 164.183 Td
-/F130_0 9.9626 Tf
-(bytes,) 23.5217 Tj
-86.944 152.228 Td
-(and) 14.386 Tj
--413 TJm
-(in) 7.7509 Tj
--413 TJm
-(doing) 22.6948 Tj
--413 TJm
-(so) 8.85675 Tj
--413 TJm
-(probably) 35.417 Tj
--413 TJm
-(will) 15.5018 Tj
--413 TJm
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ershoot) 29.3299 Tj
--413 TJm
-(the) 12.1743 Tj
--413 TJm
-(logical) 27.1182 Tj
--413 TJm
-(end) 14.386 Tj
--413 TJm
-(of) 8.29885 Tj
--413 TJm
-(compressed) 47.0334 Tj
--413 TJm
-(stream.) 29.0509 Tj
--1598 TJm
-(T) 6.08715 Tj
-80 TJm
-(o) 4.9813 Tj
--413 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--413 TJm
-(this) 14.396 Tj
--413 TJm
-(data) 16.5977 Tj
--413 TJm
-(once) 18.8094 Tj
-86.944 140.273 Td
-(decompression) 59.7656 Tj
--252 TJm
-(has) 13.2801 Tj
--252 TJm
-(ended,) 26.2813 Tj
--253 TJm
-(call) 14.386 Tj
-[1 0 0 1 210.705 140.273] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.705 -140.273] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.705 140.273 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.574 Tj
-[1 0 0 1 324.279 140.273] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -324.279 -140.273] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-326.789 140.273 Td
-/F130_0 9.9626 Tf
-(after) 18.2515 Tj
--252 TJm
-(the) 12.1743 Tj
--252 TJm
-(last) 13.8381 Tj
--252 TJm
-(call) 14.386 Tj
--252 TJm
-(of) 8.29885 Tj
-[1 0 0 1 406.291 140.273] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -406.291 -140.273] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-406.291 140.273 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 466.067 140.273] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -466.067 -140.273] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-468.578 140.273 Td
-/F130_0 9.9626 Tf
-(\(the) 15.4918 Tj
--252 TJm
-(one) 14.386 Tj
--252 TJm
-(returning) 36.5229 Tj
-[1 0 0 1 86.944 128.318] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -128.318] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 128.318 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 164.653 128.318] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -164.653 -128.318] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-164.653 128.318 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(before) 25.4445 Tj
--250 TJm
-(calling) 27.1182 Tj
-[1 0 0 1 243.028 128.318] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -243.028 -128.318] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-243.028 128.318 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadClose) 89.6634 Tj
-[1 0 0 1 332.692 128.318] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -332.692 -128.318] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-332.692 128.318 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 335.182 128.318] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -263.182 -77.466] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.8519] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.8518 Td
-/F130_0 9.9626 Tf
-(24) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 28 28
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--271 TJm
-(mechanism) 45.3796 Tj
--272 TJm
-(mak) 17.1556 Tj
-10 TJm
-(es) 8.29885 Tj
--271 TJm
-(it) 5.53921 Tj
--271 TJm
-(easy) 17.7035 Tj
--271 TJm
-(to) 7.7509 Tj
--272 TJm
-(decompress) 47.0334 Tj
--271 TJm
-(multiple) 33.2153 Tj
-[1 0 0 1 293.312 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -293.312 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-293.312 710.037 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 323.2 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -323.2 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-325.903 710.037 Td
-/F130_0 9.9626 Tf
-(streams) 30.4357 Tj
--271 TJm
-(placed) 26.0024 Tj
--272 TJm
-(end-to-end.) 45.6486 Tj
--374 TJm
-(As) 11.0684 Tj
--271 TJm
-(the) 12.1743 Tj
--271 TJm
-(end) 14.386 Tj
--271 TJm
-(of) 8.29885 Tj
--272 TJm
-(one) 14.386 Tj
--271 TJm
-(stream,) 29.0509 Tj
-72 698.082 Td
-(when) 21.579 Tj
-[1 0 0 1 96.1948 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -96.1948 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-96.1948 698.082 Td
-/F134_0 9.9626 Tf
-(BZ2_bzRead) 59.7756 Tj
-[1 0 0 1 155.971 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.971 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-158.586 698.082 Td
-/F130_0 9.9626 Tf
-(returns) 27.6661 Tj
-[1 0 0 1 188.868 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -188.868 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-188.868 698.082 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 266.577 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -266.577 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-266.577 698.082 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--263 TJm
-(call) 14.386 Tj
-[1 0 0 1 288.685 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -288.685 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-288.685 698.082 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.574 Tj
-[1 0 0 1 402.259 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -402.259 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-404.875 698.082 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--263 TJm
-(collect) 26.5603 Tj
--262 TJm
-(the) 12.1743 Tj
--263 TJm
-(unused) 28.224 Tj
--262 TJm
-(data) 16.5977 Tj
--263 TJm
-(\(cop) 17.7035 Tj
-10 TJm
-(y) 4.9813 Tj
--262 TJm
-(it) 5.53921 Tj
-72 686.127 Td
-(into) 15.5018 Tj
--265 TJm
-(your) 18.2614 Tj
--265 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
--265 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--265 TJm
-(some) 21.031 Tj
-25 TJm
-(where\).) 30.1468 Tj
--711 TJm
-(That) 18.2614 Tj
--265 TJm
-(data) 16.5977 Tj
--265 TJm
-(forms) 23.2427 Tj
--265 TJm
-(the) 12.1743 Tj
--265 TJm
-(start) 17.1556 Tj
--265 TJm
-(of) 8.29885 Tj
--265 TJm
-(the) 12.1743 Tj
--265 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--265 TJm
-(compressed) 47.0334 Tj
--265 TJm
-(stream.) 29.0509 Tj
--711 TJm
-(T) 6.08715 Tj
-80 TJm
-(o) 4.9813 Tj
--265 TJm
-(start) 17.1556 Tj
--265 TJm
-(uncompressing) 60.3235 Tj
-72 674.172 Td
-(that) 14.9439 Tj
--246 TJm
-(ne) 9.40469 Tj
-15 TJm
-(xt) 7.7509 Tj
--246 TJm
-(stream,) 29.0509 Tj
--247 TJm
-(call) 14.386 Tj
-[1 0 0 1 157.205 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -157.205 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-157.205 674.172 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadOpen) 83.6858 Tj
-[1 0 0 1 240.891 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -240.891 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-243.344 674.172 Td
-/F130_0 9.9626 Tf
-(ag) 9.40469 Tj
-5 TJm
-(ain,) 14.6649 Tj
--247 TJm
-(feeding) 29.8778 Tj
--246 TJm
-(in) 7.7509 Tj
--246 TJm
-(the) 12.1743 Tj
--247 TJm
-(unused) 28.224 Tj
--246 TJm
-(data) 16.5977 Tj
--246 TJm
-(via) 12.1743 Tj
--246 TJm
-(the) 12.1743 Tj
-[1 0 0 1 405.967 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -405.967 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-405.967 674.172 Td
-/F134_0 9.9626 Tf
-(unused) 35.8654 Tj
-[1 0 0 1 441.833 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -441.833 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-444.286 674.172 Td
-/F130_0 9.9626 Tf
-(/) 2.7696 Tj
-[1 0 0 1 449.508 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -449.508 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-449.508 674.172 Td
-/F134_0 9.9626 Tf
-(nUnused) 41.8429 Tj
-[1 0 0 1 491.351 674.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -491.351 -674.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-493.804 674.172 Td
-/F130_0 9.9626 Tf
-(parameters.) 46.1966 Tj
-72 662.217 Td
-(K) 7.193 Tj
-25 TJm
-(eep) 13.8281 Tj
--263 TJm
-(doing) 22.6948 Tj
--263 TJm
-(this) 14.396 Tj
--264 TJm
-(until) 18.2714 Tj
-[1 0 0 1 158.622 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -158.622 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-158.622 662.217 Td
-/F134_0 9.9626 Tf
-(BZ_STREAM_END) 77.7083 Tj
-[1 0 0 1 236.33 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -236.33 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-238.952 662.217 Td
-/F130_0 9.9626 Tf
-(return) 23.7907 Tj
--263 TJm
-(coincides) 37.6287 Tj
--263 TJm
-(with) 17.7135 Tj
--263 TJm
-(the) 12.1743 Tj
--264 TJm
-(ph) 9.9626 Tj
-5 TJm
-(ysical) 23.2427 Tj
--263 TJm
-(end) 14.386 Tj
--263 TJm
-(of) 8.29885 Tj
--263 TJm
-(\002le) 12.7322 Tj
--263 TJm
-(\() 3.31755 Tj
-[1 0 0 1 423.125 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -423.125 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-423.125 662.217 Td
-/F134_0 9.9626 Tf
-(feof\(f\)) 41.8429 Tj
-[1 0 0 1 464.968 662.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -464.968 -662.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-464.968 662.217 Td
-/F130_0 9.9626 Tf
-(\).) 5.8082 Tj
--699 TJm
-(In) 8.29885 Tj
--263 TJm
-(this) 14.396 Tj
--263 TJm
-(situation) 34.3212 Tj
-[1 0 0 1 72 650.261] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -650.261] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 650.261 Td
-/F134_0 9.9626 Tf
-(BZ2_bzReadGetUnused) 113.574 Tj
-[1 0 0 1 185.574 650.261] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -185.574 -650.261] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-188.065 650.261 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(course) 26.0024 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(no) 9.9626 Tj
--250 TJm
-(data.) 19.0883 Tj
-[1 0 0 1 72 648.951] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -638.989] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 628.344 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--240 TJm
-(should) 26.5703 Tj
--241 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--240 TJm
-(some) 21.031 Tj
--241 TJm
-(feel) 14.9339 Tj
--240 TJm
-(for) 11.6164 Tj
--241 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--240 TJm
-(the) 12.1743 Tj
--240 TJm
-(high-le) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--241 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace) 13.2702 Tj
--240 TJm
-(can) 13.8281 Tj
--241 TJm
-(be) 9.40469 Tj
--240 TJm
-(used.) 20.7521 Tj
--614 TJm
-(If) 6.63509 Tj
--240 TJm
-(you) 14.9439 Tj
--241 TJm
-(require) 28.2141 Tj
--240 TJm
-(e) 4.42339 Tj
-15 TJm
-(xtra) 15.4918 Tj
--241 TJm
-(\003e) 9.9626 Tj
-15 TJm
-(xibi) 15.5018 Tj
-1 TJm
-(lity) 13.2901 Tj
-65 TJm
-(,) 2.49065 Tj
--243 TJm
-(you') 18.2614 Tj
-10 TJm
-(ll) 5.53921 Tj
--240 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--241 TJm
-(to) 7.7509 Tj
-72 616.389 Td
-(bite) 14.9439 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ullet) 17.7135 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(get) 12.1743 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(grips) 19.9252 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
-[1 0 0 1 72 614.232] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -604.269] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 585.767 Td
-/F122_0 17.2154 Tf
-(3.4.9.) 43.0729 Tj
--278 TJm
-(Standar) 64.0929 Tj
-20 TJm
-(d) 10.5186 Tj
--278 TJm
-(\002le-reading/writing) 154.009 Tj
--278 TJm
-(code) 40.1807 Tj
-[1 0 0 1 72 581.937] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -571.975] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 563.85 Td
-/F130_0 9.9626 Tf
-(Here') 22.6749 Tj
-55 TJm
-(s) 3.87545 Tj
--250 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(you') 18.2614 Tj
-50 TJm
-(d) 4.9813 Tj
--250 TJm
-(write) 20.4731 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le:) 15.5018 Tj
-[1 0 0 1 72 561.693] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -371.606] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 370.61 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 367.024] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -552.328] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 552.328 Td
-/F134_0 9.9626 Tf
-(FILE) 23.9102 Tj
-113.91 550.584 Td
-(*) 5.97756 Tj
-132.62 552.328 Td
-(f;) 11.9551 Tj
-90 540.373 Td
-(BZFILE) 35.8654 Tj
-125.865 538.629 Td
-(*) 5.97756 Tj
-136.087 540.373 Td
-(b;) 11.9551 Tj
-90 528.418 Td
-(int) 17.9327 Tj
--2130 TJm
-(nBuf;) 29.8878 Tj
-90 516.462 Td
-(char) 23.9102 Tj
--1704 TJm
-(buf[) 23.9102 Tj
--426 TJm
-(/) 5.97756 Tj
-165.018 514.719 Td
-(*) 5.97756 Tj
-175.24 516.462 Td
-(whatever) 47.8205 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(you) 17.9327 Tj
--426 TJm
-(like) 23.9102 Tj
-305.79 514.719 Td
-(*) 5.97756 Tj
-311.767 516.462 Td
-(/) 5.97756 Tj
--426 TJm
-(];) 11.9551 Tj
-90 504.507 Td
-(int) 17.9327 Tj
--2130 TJm
-(bzerror;) 47.8205 Tj
-90 492.552 Td
-(int) 17.9327 Tj
--2130 TJm
-(nWritten;) 53.798 Tj
-90 468.642 Td
-(f) 5.97756 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(fopen) 29.8878 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-("myfile.bz2",) 77.7083 Tj
--426 TJm
-("w") 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 456.687 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(!f) 11.9551 Tj
--426 TJm
-(\)) 5.97756 Tj
--426 TJm
-({) 5.97756 Tj
-94.244 444.731 Td
-(/) 5.97756 Tj
-100.222 442.988 Td
-(*) 5.97756 Tj
-110.443 444.731 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-184.685 442.988 Td
-(*) 5.97756 Tj
-190.662 444.731 Td
-(/) 5.97756 Tj
-90 432.776 Td
-(}) 5.97756 Tj
-90 420.821 Td
-(b) 5.97756 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ2_bzWriteOpen\() 95.641 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(f,) 11.9551 Tj
--426 TJm
-(9) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 408.866 Td
-(if) 11.9551 Tj
--426 TJm
-(\(bzerror) 47.8205 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(BZ_OK\)) 35.8654 Tj
--426 TJm
-({) 5.97756 Tj
-94.244 396.911 Td
-(BZ2_bzWriteClose) 95.641 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-94.244 384.956 Td
-(/) 5.97756 Tj
-100.222 383.212 Td
-(*) 5.97756 Tj
-110.443 384.956 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-184.685 383.212 Td
-(*) 5.97756 Tj
-190.662 384.956 Td
-(/) 5.97756 Tj
-90 373 Td
-(}) 5.97756 Tj
-90 349.09 Td
-(while) 29.8878 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(/) 5.97756 Tj
-140.331 347.347 Td
-(*) 5.97756 Tj
-150.553 349.09 Td
-(condition) 53.798 Tj
-208.595 347.347 Td
-(*) 5.97756 Tj
-214.572 349.09 Td
-(/) 5.97756 Tj
--426 TJm
-(\)) 5.97756 Tj
--426 TJm
-({) 5.97756 Tj
-94.244 337.135 Td
-(/) 5.97756 Tj
-100.222 335.391 Td
-(*) 5.97756 Tj
-110.443 337.135 Td
-(get) 17.9327 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(write) 29.8878 Tj
--426 TJm
-(into) 23.9102 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(set) 17.9327 Tj
--426 TJm
-(nBuf) 23.9102 Tj
--426 TJm
-(appropriately) 77.7083 Tj
-421.874 335.391 Td
-(*) 5.97756 Tj
-427.852 337.135 Td
-(/) 5.97756 Tj
-94.2439 325.18 Td
-(nWritten) 47.8205 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ2_bzWrite) 65.7532 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b,) 11.9551 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(nBuf) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-94.2439 313.225 Td
-(if) 11.9551 Tj
--426 TJm
-(\(bzerror) 47.8205 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(BZ_IO_ERROR\)) 71.7307 Tj
--426 TJm
-({) 5.97756 Tj
-102.732 301.269 Td
-(BZ2_bzWriteClose) 95.641 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-102.732 289.314 Td
-(/) 5.97756 Tj
-108.709 287.571 Td
-(*) 5.97756 Tj
-118.931 289.314 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-193.172 287.571 Td
-(*) 5.97756 Tj
-199.15 289.314 Td
-(/) 5.97756 Tj
-94.2439 277.359 Td
-(}) 5.97756 Tj
-90 265.404 Td
-(}) 5.97756 Tj
-90 241.494 Td
-(BZ2_bzWriteClose\() 101.619 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 229.538 Td
-(if) 11.9551 Tj
--426 TJm
-(\(bzerror) 47.8205 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(BZ_IO_ERROR\)) 71.7307 Tj
--426 TJm
-({) 5.97756 Tj
-94.2439 217.583 Td
-(/) 5.97756 Tj
-100.221 215.84 Td
-(*) 5.97756 Tj
-110.443 217.583 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-184.684 215.84 Td
-(*) 5.97756 Tj
-190.662 217.583 Td
-(/) 5.97756 Tj
-89.9999 205.628 Td
-(}) 5.97756 Tj
-[1 0 0 1 72 190.086] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -180.124] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 168.168 Td
-/F130_0 9.9626 Tf
-(And) 17.1556 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(read) 17.1456 Tj
--250 TJm
-(from) 19.3673 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le:) 15.5018 Tj
-[1 0 0 1 72 166.012] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -115.16] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9513] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9513 Td
-/F130_0 9.9626 Tf
-(25) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 29 29
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -392.164] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 370.61 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 367.024] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(FILE) 23.9102 Tj
-113.91 709.888 Td
-(*) 5.97756 Tj
-132.62 711.631 Td
-(f;) 11.9551 Tj
-90 699.676 Td
-(BZFILE) 35.8654 Tj
-125.865 697.933 Td
-(*) 5.97756 Tj
-136.087 699.676 Td
-(b;) 11.9551 Tj
-90 687.721 Td
-(int) 17.9327 Tj
--2130 TJm
-(nBuf;) 29.8878 Tj
-90 675.766 Td
-(char) 23.9102 Tj
--1704 TJm
-(buf[) 23.9102 Tj
--426 TJm
-(/) 5.97756 Tj
-165.018 674.023 Td
-(*) 5.97756 Tj
-175.24 675.766 Td
-(whatever) 47.8205 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(you) 17.9327 Tj
--426 TJm
-(like) 23.9102 Tj
-305.79 674.023 Td
-(*) 5.97756 Tj
-311.767 675.766 Td
-(/) 5.97756 Tj
--426 TJm
-(];) 11.9551 Tj
-90 663.811 Td
-(int) 17.9327 Tj
--2130 TJm
-(bzerror;) 47.8205 Tj
-90 651.856 Td
-(int) 17.9327 Tj
--2130 TJm
-(nWritten;) 53.798 Tj
-90 627.945 Td
-(f) 5.97756 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(fopen) 29.8878 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-("myfile.bz2",) 77.7083 Tj
--426 TJm
-("r") 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 615.99 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(!f) 11.9551 Tj
--426 TJm
-(\)) 5.97756 Tj
--426 TJm
-({) 5.97756 Tj
-98.488 604.035 Td
-(/) 5.97756 Tj
-104.466 602.292 Td
-(*) 5.97756 Tj
-114.687 604.035 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-188.929 602.292 Td
-(*) 5.97756 Tj
-194.906 604.035 Td
-(/) 5.97756 Tj
-90 592.08 Td
-(}) 5.97756 Tj
-90 580.125 Td
-(b) 5.97756 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ2_bzReadOpen) 83.6858 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(f,) 11.9551 Tj
--426 TJm
-(0,) 11.9551 Tj
--426 TJm
-(NULL,) 29.8878 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 568.169 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(\)) 5.97756 Tj
--426 TJm
-({) 5.97756 Tj
-98.488 556.214 Td
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-98.488 544.259 Td
-(/) 5.97756 Tj
-104.466 542.516 Td
-(*) 5.97756 Tj
-114.687 544.259 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-188.929 542.516 Td
-(*) 5.97756 Tj
-194.906 544.259 Td
-(/) 5.97756 Tj
-90 532.304 Td
-(}) 5.97756 Tj
-90 508.394 Td
-(bzerror) 41.8429 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ_OK;) 35.8654 Tj
-90 496.438 Td
-(while) 29.8878 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(/) 5.97756 Tj
-252.948 494.695 Td
-(*) 5.97756 Tj
-263.17 496.438 Td
-(arbitrary) 53.798 Tj
--426 TJm
-(other) 29.8878 Tj
--426 TJm
-(conditions) 59.7756 Tj
-419.364 494.695 Td
-(*) 5.97756 Tj
-425.341 496.438 Td
-(/\)) 11.9551 Tj
--426 TJm
-({) 5.97756 Tj
-98.488 484.483 Td
-(nBuf) 23.9102 Tj
--426 TJm
-(=) 5.97756 Tj
--426 TJm
-(BZ2_bzRead) 59.7756 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b,) 11.9551 Tj
--426 TJm
-(buf,) 23.9102 Tj
--426 TJm
-(/) 5.97756 Tj
-319.478 482.74 Td
-(*) 5.97756 Tj
-329.7 484.483 Td
-(size) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(buf) 17.9327 Tj
-396.23 482.74 Td
-(*) 5.97756 Tj
-402.208 484.483 Td
-(/) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-98.488 472.528 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(==) 11.9551 Tj
--426 TJm
-(BZ_OK) 29.8878 Tj
--426 TJm
-(\)) 5.97756 Tj
--426 TJm
-({) 5.97756 Tj
-106.976 460.573 Td
-(/) 5.97756 Tj
-112.953 458.829 Td
-(*) 5.97756 Tj
-123.175 460.573 Td
-(do) 11.9551 Tj
--426 TJm
-(something) 53.798 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(buf[0) 29.8878 Tj
--426 TJm
-(..) 11.9551 Tj
--426 TJm
-(nBuf-1]) 41.8429 Tj
-321.989 458.829 Td
-(*) 5.97756 Tj
-327.966 460.573 Td
-(/) 5.97756 Tj
-98.4879 448.618 Td
-(}) 5.97756 Tj
-90 436.663 Td
-(}) 5.97756 Tj
-90 424.707 Td
-(if) 11.9551 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(bzerror) 41.8429 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(BZ_STREAM_END) 77.7083 Tj
--426 TJm
-(\)) 5.97756 Tj
--426 TJm
-({) 5.97756 Tj
-102.732 412.752 Td
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-102.732 400.797 Td
-(/) 5.97756 Tj
-108.709 399.054 Td
-(*) 5.97756 Tj
-118.931 400.797 Td
-(handle) 35.8654 Tj
--426 TJm
-(error) 29.8878 Tj
-193.172 399.054 Td
-(*) 5.97756 Tj
-199.15 400.797 Td
-(/) 5.97756 Tj
-90 388.842 Td
-(}) 5.97756 Tj
--426 TJm
-(else) 23.9102 Tj
--426 TJm
-({) 5.97756 Tj
-102.732 376.887 Td
-(BZ2_bzReadClose) 89.6634 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(&bzerror,) 53.798 Tj
--426 TJm
-(b) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 364.932 Td
-(}) 5.97756 Tj
-[1 0 0 1 72 349.39] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -339.427] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 314.637 Td
-/F122_0 20.6585 Tf
-(3.5.) 34.4584 Tj
--278 TJm
-(Utility) 57.3893 Tj
--278 TJm
-(functions) 92.9633 Tj
-[1 0 0 1 72 310.361] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -300.398] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 284.016 Td
-/F122_0 17.2154 Tf
-(3.5.1.) 43.0729 Tj
-[1 0 0 1 119.858 284.016] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -284.016] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 284.016 Td
-/F392_0 17.2154 Tf
-(BZ2_bzBuffToBuffCompress) 247.902 Tj
-[1 0 0 1 367.76 284.016] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -295.76 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -96.6376] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 95.6413 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 92.0548] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -272.318] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 272.318 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzBuffToBuffCompress\() 149.439 Tj
--426 TJm
-(char) 23.9102 Tj
-289.771 270.575 Td
-(*) 5.97756 Tj
-333.944 272.318 Td
-(dest,) 29.8878 Tj
-217.319 260.363 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-287.317 258.62 Td
-(*) 5.97756 Tj
-297.538 260.363 Td
-(destLen,) 47.8205 Tj
-217.319 248.408 Td
-(char) 23.9102 Tj
-241.23 246.664 Td
-(*) 5.97756 Tj
-285.403 248.408 Td
-(source,) 41.8429 Tj
-217.319 236.453 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--852 TJm
-(sourceLen,) 59.7756 Tj
-217.319 224.498 Td
-(int) 17.9327 Tj
--4686 TJm
-(blockSize100k,) 83.6858 Tj
-217.319 212.542 Td
-(int) 17.9327 Tj
--4686 TJm
-(verbosity,) 59.7756 Tj
-217.319 200.587 Td
-(int) 17.9327 Tj
--4686 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 185.045] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -175.083] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 163.128 Td
-/F130_0 9.9626 Tf
-(Attempts) 36.5329 Tj
--442 TJm
-(to) 7.7509 Tj
--442 TJm
-(compress) 37.6287 Tj
--443 TJm
-(the) 12.1743 Tj
--442 TJm
-(data) 16.5977 Tj
--442 TJm
-(in) 7.7509 Tj
-[1 0 0 1 216.87 163.128] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -216.87 -163.128] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-216.87 163.128 Td
-/F134_0 9.9626 Tf
-(source[0) 47.8205 Tj
--600 TJm
-(..) 11.9551 Tj
--1200 TJm
-(sourceLen-1]) 71.7307 Tj
-[1 0 0 1 366.31 163.128] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -366.31 -163.128] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-370.715 163.128 Td
-/F130_0 9.9626 Tf
-(into) 15.5018 Tj
--442 TJm
-(the) 12.1743 Tj
--442 TJm
-(destination) 43.7259 Tj
--443 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-40 TJm
-(,) 2.49065 Tj
-[1 0 0 1 486.202 163.128] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -486.202 -163.128] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-486.202 163.128 Td
-/F134_0 9.9626 Tf
-(dest[0) 35.8654 Tj
--600 TJm
-(..) 11.9551 Tj
-72 149.429 Td
-(*) 5.97756 Tj
-77.9776 151.173 Td
-(destLen-1]) 59.7756 Tj
-[1 0 0 1 137.753 151.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.753 -151.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-137.753 151.172 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1393 TJm
-(If) 6.63509 Tj
--379 TJm
-(the) 12.1743 Tj
--379 TJm
-(destination) 43.7259 Tj
--379 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--378 TJm
-(is) 6.64505 Tj
--379 TJm
-(big) 12.7322 Tj
--379 TJm
-(enough,) 31.8205 Tj
-[1 0 0 1 318.486 151.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -318.486 -151.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-318.486 149.429 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-324.464 151.173 Td
-(destLen) 41.8429 Tj
-[1 0 0 1 366.307 151.172] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -366.307 -151.172] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-370.081 151.172 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--379 TJm
-(set) 11.0684 Tj
--379 TJm
-(to) 7.7509 Tj
--378 TJm
-(the) 12.1743 Tj
--379 TJm
-(size) 15.4918 Tj
--379 TJm
-(of) 8.29885 Tj
--379 TJm
-(the) 12.1743 Tj
--379 TJm
-(compressed) 47.0334 Tj
--379 TJm
-(data,) 19.0883 Tj
-72 139.217 Td
-(and) 14.386 Tj
-[1 0 0 1 89.5273 139.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -89.5273 -139.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-89.5273 139.217 Td
-/F134_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-[1 0 0 1 119.415 139.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.415 -139.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-122.556 139.217 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--315 TJm
-(returned.) 35.686 Tj
--1012 TJm
-(If) 6.63509 Tj
--315 TJm
-(the) 12.1743 Tj
--316 TJm
-(compressed) 47.0334 Tj
--315 TJm
-(data) 16.5977 Tj
--315 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--316 TJm
-(\002t,) 10.7995 Tj
-[1 0 0 1 313.322 139.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -313.322 -139.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-313.322 137.474 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-319.3 139.217 Td
-(destLen) 41.8429 Tj
-[1 0 0 1 361.143 139.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -361.143 -139.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-364.284 139.217 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--315 TJm
-(unchanged,) 45.6486 Tj
--332 TJm
-(and) 14.386 Tj
-[1 0 0 1 440.551 139.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -440.551 -139.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-440.551 139.217 Td
-/F134_0 9.9626 Tf
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-[1 0 0 1 530.215 139.217] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -530.215 -139.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-533.355 139.217 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
-72 127.262 Td
-(returned.) 35.686 Tj
-[1 0 0 1 72 127.163] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -117.2] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 105.344 Td
-/F130_0 9.9626 Tf
-(Compression) 52.5826 Tj
--297 TJm
-(in) 7.7509 Tj
--297 TJm
-(this) 14.396 Tj
--297 TJm
-(manner) 29.8778 Tj
--297 TJm
-(is) 6.64505 Tj
--297 TJm
-(a) 4.42339 Tj
--297 TJm
-(one-shot) 34.3112 Tj
--297 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ent,) 14.6649 Tj
--309 TJm
-(done) 19.3673 Tj
--297 TJm
-(with) 17.7135 Tj
--297 TJm
-(a) 4.42339 Tj
--297 TJm
-(single) 23.8007 Tj
--297 TJm
-(call) 14.386 Tj
--297 TJm
-(to) 7.7509 Tj
--297 TJm
-(this) 14.396 Tj
--297 TJm
-(function.) 35.696 Tj
--903 TJm
-(The) 15.4918 Tj
--297 TJm
-(resulting) 34.8691 Tj
--297 TJm
-(compressed) 47.0334 Tj
-72 93.3892 Td
-(data) 16.5977 Tj
--296 TJm
-(is) 6.64505 Tj
--296 TJm
-(a) 4.42339 Tj
--296 TJm
-(complete) 36.5229 Tj
-[1 0 0 1 147.988 93.3892] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -147.988 -93.3892] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-147.988 93.3892 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 177.875 93.3892] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -177.875 -93.3892] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-180.825 93.3892 Td
-/F130_0 9.9626 Tf
-(format) 26.5603 Tj
--296 TJm
-(data) 16.5977 Tj
--296 TJm
-(stream.) 29.0509 Tj
--897 TJm
-(There) 23.2328 Tj
--296 TJm
-(is) 6.64505 Tj
--296 TJm
-(no) 9.9626 Tj
--296 TJm
-(mechanism) 45.3796 Tj
--296 TJm
-(for) 11.6164 Tj
--296 TJm
-(making) 29.8878 Tj
--296 TJm
-(additional) 39.8504 Tj
--296 TJm
-(calls) 18.2614 Tj
--296 TJm
-(to) 7.7509 Tj
--296 TJm
-(pro) 13.2801 Tj
-15 TJm
-(vide) 17.1556 Tj
--296 TJm
-(e) 4.42339 Tj
-15 TJm
-(xtra) 15.4918 Tj
-72 81.434 Td
-(input) 20.4831 Tj
--250 TJm
-(data.) 19.0883 Tj
--620 TJm
-(If) 6.63509 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(kind) 17.7135 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(mechanism,) 47.8703 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(lo) 7.7509 Tj
-25 TJm
-(w-le) 17.7035 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(el) 7.193 Tj
--250 TJm
-(interf) 21.579 Tj
-10 TJm
-(ace.) 15.7608 Tj
-[1 0 0 1 72 79.2772] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -28.4254] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(26) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 30 30
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--223 TJm
-(the) 12.1743 Tj
--224 TJm
-(meaning) 34.3112 Tj
--223 TJm
-(of) 8.29885 Tj
--224 TJm
-(parameters) 43.7059 Tj
-[1 0 0 1 195.306 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -195.306 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-195.306 710.037 Td
-/F134_0 9.9626 Tf
-(blockSize100k) 77.7083 Tj
-[1 0 0 1 273.015 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -273.015 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-273.015 710.037 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 277.784 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -277.784 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-277.784 710.037 Td
-/F134_0 9.9626 Tf
-(verbosity) 53.798 Tj
-[1 0 0 1 331.583 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -331.583 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-333.808 710.037 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 350.42 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -350.42 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-350.42 710.037 Td
-/F134_0 9.9626 Tf
-(workFactor) 59.7756 Tj
-[1 0 0 1 410.196 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -410.196 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-410.196 710.037 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--229 TJm
-(see) 12.7222 Tj
-[1 0 0 1 429.913 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -429.913 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-429.913 710.037 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 537.509 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -537.509 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-537.509 710.037 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 707.88] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -697.918] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 688.12 Td
-/F130_0 9.9626 Tf
-(T) 6.08715 Tj
-80 TJm
-(o) 4.9813 Tj
--410 TJm
-(guarantee) 38.7246 Tj
--410 TJm
-(that) 14.9439 Tj
--410 TJm
-(the) 12.1743 Tj
--410 TJm
-(compressed) 47.0334 Tj
--410 TJm
-(data) 16.5977 Tj
--410 TJm
-(will) 15.5018 Tj
--410 TJm
-(\002t) 8.30881 Tj
--410 TJm
-(in) 7.7509 Tj
--410 TJm
-(its) 9.41466 Tj
--410 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-40 TJm
-(,) 2.49065 Tj
--450 TJm
-(allocate) 30.9837 Tj
--410 TJm
-(an) 9.40469 Tj
--410 TJm
-(output) 25.4644 Tj
--410 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--411 TJm
-(of) 8.29885 Tj
--410 TJm
-(size) 15.4918 Tj
--410 TJm
-(1%) 13.2801 Tj
--410 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ger) 12.7222 Tj
--410 TJm
-(than) 17.1556 Tj
--410 TJm
-(the) 12.1743 Tj
-72 676.164 Td
-(uncompressed) 56.996 Tj
--250 TJm
-(data,) 19.0883 Tj
--250 TJm
-(plus) 16.6077 Tj
--250 TJm
-(six) 11.6264 Tj
--250 TJm
-(hundred) 32.6474 Tj
--250 TJm
-(e) 4.42339 Tj
-15 TJm
-(xtra) 15.4918 Tj
--250 TJm
-(bytes.) 23.5217 Tj
-[1 0 0 1 72 674.007] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -664.045] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 654.247 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.417 Tj
-[1 0 0 1 227.417 654.247] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -227.417 -654.247] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-230.553 654.247 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--315 TJm
-(not) 12.7322 Tj
--315 TJm
-(write) 20.4731 Tj
--314 TJm
-(data) 16.5977 Tj
--315 TJm
-(at) 7.193 Tj
--315 TJm
-(or) 8.29885 Tj
--315 TJm
-(be) 9.40469 Tj
-15 TJm
-(yond) 19.9252 Tj
-[1 0 0 1 362.484 654.247] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -362.484 -654.247] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-362.484 654.247 Td
-/F134_0 9.9626 Tf
-(dest[) 29.8878 Tj
-392.372 652.503 Td
-(*) 5.97756 Tj
-398.349 654.247 Td
-(destLen]) 47.8205 Tj
-[1 0 0 1 446.17 654.247] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -446.17 -654.247] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-446.17 654.247 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--331 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--315 TJm
-(in) 7.7509 Tj
--315 TJm
-(case) 17.1456 Tj
--314 TJm
-(of) 8.29885 Tj
--315 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-72 642.291 Td
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er\003o) 18.2614 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 642.192] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -632.229] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 620.374 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 620.274] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -168.369] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 167.372 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 163.786] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -610.909] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 610.909 Td
-/F134_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.4879 598.954 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 586.999 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 575.044 Td
-(if) 11.9551 Tj
--426 TJm
-(dest) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(destLen) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.4879 563.088 Td
-(or) 11.9551 Tj
--426 TJm
-(blockSize100k) 77.7083 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(1) 5.97756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(blockSize100k) 77.7083 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(9) 5.97756 Tj
-98.4879 551.133 Td
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(4) 5.97756 Tj
-98.4879 539.178 Td
-(or) 11.9551 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(workFactor) 59.7756 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(250) 17.9327 Tj
-90 527.223 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.4879 515.268 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 503.313 Td
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-98.4879 491.357 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(exceeds) 41.8429 Tj
-341.655 489.614 Td
-(*) 5.97756 Tj
-347.633 491.357 Td
-(destLen) 41.8429 Tj
-90 479.402 Td
-(BZ_OK) 29.8878 Tj
-98.4879 467.447 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 451.905] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -441.943] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 421.284 Td
-/F122_0 17.2154 Tf
-(3.5.2.) 43.0729 Tj
-[1 0 0 1 119.858 421.284] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.858 -421.284] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.858 421.284 Td
-/F392_0 17.2154 Tf
-(BZ2_bzBuffToBuffDecompress) 268.56 Tj
-[1 0 0 1 388.419 421.284] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -316.419 -2.3327] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -84.6824] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 83.6862 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 80.0996] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -409.587] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 409.587 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzBuffToBuffDecompress\() 161.394 Tj
--426 TJm
-(char) 23.9102 Tj
-301.726 407.843 Td
-(*) 5.97756 Tj
-345.899 409.587 Td
-(dest,) 29.8878 Tj
-225.807 397.632 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
-295.805 395.888 Td
-(*) 5.97756 Tj
-306.026 397.632 Td
-(destLen,) 47.8205 Tj
-225.807 385.676 Td
-(char) 23.9102 Tj
-249.718 383.933 Td
-(*) 5.97756 Tj
-293.891 385.676 Td
-(source,) 41.8429 Tj
-225.807 373.721 Td
-(unsigned) 47.8205 Tj
--426 TJm
-(int) 17.9327 Tj
--852 TJm
-(sourceLen,) 59.7756 Tj
-225.807 361.766 Td
-(int) 17.9327 Tj
--4686 TJm
-(small,) 35.8654 Tj
-225.807 349.811 Td
-(int) 17.9327 Tj
--4686 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 334.269] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -324.306] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 312.351 Td
-/F130_0 9.9626 Tf
-(Attempts) 36.5329 Tj
--358 TJm
-(to) 7.7509 Tj
--359 TJm
-(decompress) 47.0334 Tj
--358 TJm
-(the) 12.1743 Tj
--358 TJm
-(data) 16.5977 Tj
--359 TJm
-(in) 7.7509 Tj
-[1 0 0 1 221.259 312.351] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -221.259 -312.351] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-221.259 312.351 Td
-/F134_0 9.9626 Tf
-(source[0) 47.8205 Tj
--600 TJm
-(..) 11.9551 Tj
--1200 TJm
-(sourceLen-1]) 71.7307 Tj
-[1 0 0 1 370.698 312.351] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -370.698 -312.351] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-374.268 312.351 Td
-/F130_0 9.9626 Tf
-(into) 15.5018 Tj
--358 TJm
-(the) 12.1743 Tj
--359 TJm
-(destination) 43.7259 Tj
--358 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-40 TJm
-(,) 2.49065 Tj
-[1 0 0 1 486.202 312.351] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -486.202 -312.351] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-486.202 312.351 Td
-/F134_0 9.9626 Tf
-(dest[0) 35.8654 Tj
--600 TJm
-(..) 11.9551 Tj
-72 298.653 Td
-(*) 5.97756 Tj
-77.9776 300.396 Td
-(destLen-1]) 59.7756 Tj
-[1 0 0 1 137.753 300.396] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.753 -300.396] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-137.753 300.396 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1123 TJm
-(If) 6.63509 Tj
--334 TJm
-(the) 12.1743 Tj
--334 TJm
-(destination) 43.7259 Tj
--334 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--334 TJm
-(is) 6.64505 Tj
--334 TJm
-(big) 12.7322 Tj
--334 TJm
-(enough,) 31.8205 Tj
-[1 0 0 1 312.554 300.396] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -312.554 -300.396] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-312.554 298.653 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-318.531 300.396 Td
-(destLen) 41.8429 Tj
-[1 0 0 1 360.374 300.396] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -360.374 -300.396] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-363.701 300.396 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--334 TJm
-(set) 11.0684 Tj
--334 TJm
-(to) 7.7509 Tj
--334 TJm
-(the) 12.1743 Tj
--334 TJm
-(size) 15.4918 Tj
--333 TJm
-(of) 8.29885 Tj
--334 TJm
-(the) 12.1743 Tj
--334 TJm
-(uncompressed) 56.996 Tj
--334 TJm
-(data,) 19.0883 Tj
-72 288.441 Td
-(and) 14.386 Tj
-[1 0 0 1 89.5273 288.441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -89.5273 -288.441] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-89.5273 288.441 Td
-/F134_0 9.9626 Tf
-(BZ_OK) 29.8878 Tj
-[1 0 0 1 119.415 288.441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.415 -288.441] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-122.556 288.441 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--315 TJm
-(returned.) 35.686 Tj
--1012 TJm
-(If) 6.63509 Tj
--315 TJm
-(the) 12.1743 Tj
--316 TJm
-(compressed) 47.0334 Tj
--315 TJm
-(data) 16.5977 Tj
--315 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--316 TJm
-(\002t,) 10.7995 Tj
-[1 0 0 1 313.322 288.441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -313.322 -288.441] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-313.322 286.698 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-319.3 288.441 Td
-(destLen) 41.8429 Tj
-[1 0 0 1 361.143 288.441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -361.143 -288.441] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-364.284 288.441 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--315 TJm
-(unchanged,) 45.6486 Tj
--332 TJm
-(and) 14.386 Tj
-[1 0 0 1 440.551 288.441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -440.551 -288.441] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-440.551 288.441 Td
-/F134_0 9.9626 Tf
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-[1 0 0 1 530.215 288.441] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -530.215 -288.441] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-533.355 288.441 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
-72 276.486 Td
-(returned.) 35.686 Tj
-[1 0 0 1 72 276.386] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -266.424] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 254.568 Td
-/F134_0 9.9626 Tf
-(source) 35.8654 Tj
-[1 0 0 1 107.865 254.568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -107.865 -254.568] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-110.981 254.568 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--313 TJm
-(assumed) 34.3112 Tj
--312 TJm
-(to) 7.7509 Tj
--313 TJm
-(hold) 17.7135 Tj
--313 TJm
-(a) 4.42339 Tj
--313 TJm
-(complete) 36.5229 Tj
-[1 0 0 1 237.04 254.568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -237.04 -254.568] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-237.04 254.568 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 266.928 254.568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -266.928 -254.568] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-270.044 254.568 Td
-/F130_0 9.9626 Tf
-(format) 26.5603 Tj
--313 TJm
-(data) 16.5977 Tj
--312 TJm
-(stream.) 29.0509 Tj
-[1 0 0 1 353.446 254.568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -353.446 -254.568] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-353.446 254.568 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.417 Tj
-[1 0 0 1 508.863 254.568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -508.863 -254.568] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-511.978 254.568 Td
-/F130_0 9.9626 Tf
-(tries) 17.1556 Tj
--313 TJm
-(to) 7.7509 Tj
-72 242.613 Td
-(decompress) 47.0334 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(entirety) 30.4357 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(stream) 26.5603 Tj
--250 TJm
-(into) 15.5018 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(output) 25.4644 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-55 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 240.456] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -230.493] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 220.695 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(meaning) 34.3112 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(parameters) 43.7059 Tj
-[1 0 0 1 196.631 220.695] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -196.631 -220.695] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-196.631 220.695 Td
-/F134_0 9.9626 Tf
-(small) 29.8878 Tj
-[1 0 0 1 226.519 220.695] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -226.519 -220.695] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-229.01 220.695 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 245.887 220.695] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -245.887 -220.695] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-245.887 220.695 Td
-/F134_0 9.9626 Tf
-(verbosity) 53.798 Tj
-[1 0 0 1 299.685 220.695] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -299.685 -220.695] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-299.685 220.695 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(see) 12.7222 Tj
-[1 0 0 1 319.879 220.695] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -319.879 -220.695] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-319.879 220.695 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.551 Tj
-[1 0 0 1 439.431 220.695] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -439.431 -220.695] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-439.431 220.695 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 218.538] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -208.576] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 198.777 Td
-/F130_0 9.9626 Tf
-(Because) 33.1954 Tj
--250 TJm
-(the) 12.1743 Tj
--249 TJm
-(compression) 50.3609 Tj
--250 TJm
-(ratio) 18.2614 Tj
--249 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--249 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(data) 16.5977 Tj
--249 TJm
-(cannot) 26.5603 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(kno) 14.9439 Tj
-25 TJm
-(wn) 12.1743 Tj
--249 TJm
-(in) 7.7509 Tj
--250 TJm
-(adv) 14.386 Tj
-25 TJm
-(ance,) 20.7421 Tj
--249 TJm
-(there) 19.9152 Tj
--250 TJm
-(is) 6.64505 Tj
--249 TJm
-(no) 9.9626 Tj
--250 TJm
-(easy) 17.7035 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.40469 Tj
--249 TJm
-(to) 7.7509 Tj
--250 TJm
-(guarantee) 38.7246 Tj
-72 186.822 Td
-(that) 14.9439 Tj
--286 TJm
-(the) 12.1743 Tj
--287 TJm
-(output) 25.4644 Tj
--286 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
--287 TJm
-(will) 15.5018 Tj
--286 TJm
-(be) 9.40469 Tj
--286 TJm
-(big) 12.7322 Tj
--287 TJm
-(enough.) 31.8205 Tj
--838 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--287 TJm
-(may) 17.1556 Tj
--286 TJm
-(of) 8.29885 Tj
--287 TJm
-(course) 26.0024 Tj
--286 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--286 TJm
-(arrangements) 53.6685 Tj
--287 TJm
-(in) 7.7509 Tj
--286 TJm
-(your) 18.2614 Tj
--287 TJm
-(code) 18.8094 Tj
--286 TJm
-(to) 7.7509 Tj
--286 TJm
-(record) 25.4445 Tj
--287 TJm
-(the) 12.1743 Tj
--286 TJm
-(size) 15.4918 Tj
--287 TJm
-(of) 8.29885 Tj
-72 174.867 Td
-(the) 12.1743 Tj
--250 TJm
-(uncompressed) 56.996 Tj
--250 TJm
-(data,) 19.0883 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(mechanism) 45.3796 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(be) 9.40469 Tj
-15 TJm
-(yond) 19.9252 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(scope) 22.6848 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 172.71] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -162.747] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 152.949 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.417 Tj
-[1 0 0 1 227.417 152.949] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -227.417 -152.949] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-230.553 152.949 Td
-/F130_0 9.9626 Tf
-(will) 15.5018 Tj
--315 TJm
-(not) 12.7322 Tj
--315 TJm
-(write) 20.4731 Tj
--314 TJm
-(data) 16.5977 Tj
--315 TJm
-(at) 7.193 Tj
--315 TJm
-(or) 8.29885 Tj
--315 TJm
-(be) 9.40469 Tj
-15 TJm
-(yond) 19.9252 Tj
-[1 0 0 1 362.484 152.949] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -362.484 -152.949] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-362.484 152.949 Td
-/F134_0 9.9626 Tf
-(dest[) 29.8878 Tj
-392.372 151.206 Td
-(*) 5.97756 Tj
-398.349 152.949 Td
-(destLen]) 47.8205 Tj
-[1 0 0 1 446.17 152.949] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -446.17 -152.949] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-446.17 152.949 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--331 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(en) 9.40469 Tj
--315 TJm
-(in) 7.7509 Tj
--315 TJm
-(case) 17.1456 Tj
--314 TJm
-(of) 8.29885 Tj
--315 TJm
-(b) 4.9813 Tj
-20 TJm
-(uf) 8.29885 Tj
-25 TJm
-(fer) 11.0585 Tj
-72 140.994 Td
-(o) 4.9813 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(er\003o) 18.2614 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 140.894] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -130.932] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 119.076 Td
-/F130_0 9.9626 Tf
-(Possible) 33.2153 Tj
--250 TJm
-(return) 23.7907 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues:) 23.2427 Tj
-[1 0 0 1 72 118.977] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -68.1248] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(27) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 31 31
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 4.3836 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -344.462 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-420.96 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 498.449 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -498.449 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.449 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 546.269 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -15.0365 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -248.702] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 227.148 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 223.562] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -711.631] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 711.631 Td
-/F134_0 9.9626 Tf
-(BZ_CONFIG_ERROR) 89.6634 Tj
-98.4879 699.676 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(library) 41.8429 Tj
--426 TJm
-(has) 17.9327 Tj
--426 TJm
-(been) 23.9102 Tj
--426 TJm
-(mis-compiled) 71.7307 Tj
-90 687.721 Td
-(BZ_PARAM_ERROR) 83.6858 Tj
-98.4879 675.766 Td
-(if) 11.9551 Tj
--426 TJm
-(dest) 23.9102 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(destLen) 41.8429 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(NULL) 23.9102 Tj
-98.4879 663.811 Td
-(or) 11.9551 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(&&) 11.9551 Tj
--426 TJm
-(small) 29.8878 Tj
--426 TJm
-(!=) 11.9551 Tj
--426 TJm
-(1) 5.97756 Tj
-98.4879 651.856 Td
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(<) 5.97756 Tj
--426 TJm
-(0) 5.97756 Tj
--426 TJm
-(or) 11.9551 Tj
--426 TJm
-(verbosity) 53.798 Tj
--426 TJm
-(>) 5.97756 Tj
--426 TJm
-(4) 5.97756 Tj
-90 639.9 Td
-(BZ_MEM_ERROR) 71.7307 Tj
-98.4879 627.945 Td
-(if) 11.9551 Tj
--426 TJm
-(insufficient) 71.7307 Tj
--426 TJm
-(memory) 35.8654 Tj
--426 TJm
-(is) 11.9551 Tj
--426 TJm
-(available) 53.798 Tj
-90 615.99 Td
-(BZ_OUTBUFF_FULL) 89.6634 Tj
-98.4879 604.035 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(size) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(exceeds) 41.8429 Tj
-341.655 602.291 Td
-(*) 5.97756 Tj
-347.633 604.035 Td
-(destLen) 41.8429 Tj
-90 592.08 Td
-(BZ_DATA_ERROR) 77.7083 Tj
-98.4879 580.125 Td
-(if) 11.9551 Tj
--426 TJm
-(a) 5.97756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(integrity) 53.798 Tj
--426 TJm
-(error) 29.8878 Tj
--426 TJm
-(was) 17.9327 Tj
--426 TJm
-(detected) 47.8205 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
-90 568.169 Td
-(BZ_DATA_ERROR_MAGIC) 113.574 Tj
-98.4879 556.214 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(doesn't) 41.8429 Tj
--426 TJm
-(begin) 29.8878 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(right) 29.8878 Tj
--426 TJm
-(magic) 29.8878 Tj
--426 TJm
-(bytes) 29.8878 Tj
-90 544.259 Td
-(BZ_UNEXPECTED_EOF) 101.619 Tj
-98.4879 532.304 Td
-(if) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compressed) 59.7756 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(ends) 23.9102 Tj
--426 TJm
-(unexpectedly) 71.7307 Tj
-90 520.349 Td
-(BZ_OK) 29.8878 Tj
-98.4879 508.394 Td
-(otherwise) 53.798 Tj
-[1 0 0 1 72 492.852] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -482.889] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 458.099 Td
-/F122_0 20.6585 Tf
-(3.6.) 34.4584 Tj
-[1 0 0 1 112.201 458.099] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -112.201 -458.099] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-112.201 458.099 Td
-/F392_0 20.6585 Tf
-(zlib) 49.5804 Tj
-[1 0 0 1 161.781 458.099] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -161.781 -458.099] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-167.524 458.099 Td
-/F122_0 20.6585 Tf
-(compatibility) 127.422 Tj
--278 TJm
-(functions) 92.9633 Tj
-[1 0 0 1 72 453.823] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -443.86] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 436.181 Td
-/F130_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(oshioka) 30.9936 Tj
--604 TJm
-(Tsuneo) 29.3299 Tj
--604 TJm
-(has) 13.2801 Tj
--604 TJm
-(contrib) 28.224 Tj
-20 TJm
-(uted) 17.1556 Tj
--604 TJm
-(some) 21.031 Tj
--604 TJm
-(functions) 37.0808 Tj
--604 TJm
-(to) 7.7509 Tj
--604 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--604 TJm
-(better) 22.6848 Tj
-[1 0 0 1 356.347 436.181] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -356.347 -436.181] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-356.347 436.181 Td
-/F134_0 9.9626 Tf
-(zlib) 23.9102 Tj
-[1 0 0 1 380.257 436.181] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -380.257 -436.181] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-386.275 436.181 Td
-/F130_0 9.9626 Tf
-(compatibility) 53.1405 Tj
-65 TJm
-(.) 2.49065 Tj
--1372 TJm
-(These) 23.7907 Tj
--604 TJm
-(functions) 37.0808 Tj
--604 TJm
-(are) 12.1643 Tj
-[1 0 0 1 72 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 424.226 Td
-/F134_0 9.9626 Tf
-(BZ2_bzopen) 59.7756 Tj
-[1 0 0 1 131.776 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -131.776 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-131.776 424.226 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 144.283 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -144.283 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-144.283 424.226 Td
-/F134_0 9.9626 Tf
-(BZ2_bzread) 59.7756 Tj
-[1 0 0 1 204.059 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.059 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-204.059 424.226 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 216.566 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -216.566 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-216.566 424.226 Td
-/F134_0 9.9626 Tf
-(BZ2_bzwrite) 65.7532 Tj
-[1 0 0 1 282.32 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -282.32 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-282.32 424.226 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 294.827 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -294.827 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-294.827 424.226 Td
-/F134_0 9.9626 Tf
-(BZ2_bzflush) 65.7532 Tj
-[1 0 0 1 360.581 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -360.581 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-360.581 424.226 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 373.088 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -373.088 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-373.088 424.226 Td
-/F134_0 9.9626 Tf
-(BZ2_bzclose) 65.7532 Tj
-[1 0 0 1 438.842 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -438.842 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-438.842 424.226 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 451.349 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -451.349 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-451.349 424.226 Td
-/F134_0 9.9626 Tf
-(BZ2_bzerror) 65.7532 Tj
-[1 0 0 1 517.102 424.226] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -517.102 -424.226] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-525.614 424.226 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 72 412.271] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -412.271] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 412.271 Td
-/F134_0 9.9626 Tf
-(BZ2_bzlibVersion) 95.641 Tj
-[1 0 0 1 167.641 412.271] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -167.641 -412.271] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-167.641 412.271 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1420 TJm
-(Thes) 19.3673 Tj
-1 TJm
-(e) 4.42339 Tj
--384 TJm
-(functions) 37.0808 Tj
--383 TJm
-(are) 12.1643 Tj
--383 TJm
-(not) 12.7322 Tj
--383 TJm
-(\(yet\)) 18.8094 Tj
--384 TJm
-(of) 8.29885 Tj
-25 TJm
-(\002cially) 27.6761 Tj
--383 TJm
-(part) 15.4918 Tj
--383 TJm
-(of) 8.29885 Tj
--383 TJm
-(the) 12.1743 Tj
--384 TJm
-(library) 26.5603 Tj
-65 TJm
-(.) 2.49065 Tj
--1419 TJm
-(If) 6.63509 Tj
--383 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--384 TJm
-(break,) 24.6176 Tj
--416 TJm
-(you) 14.9439 Tj
--383 TJm
-(get) 12.1743 Tj
--384 TJm
-(to) 7.7509 Tj
-72 400.316 Td
-(k) 4.9813 Tj
-10 TJm
-(eep) 13.8281 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(pieces.) 27.3872 Tj
--620 TJm
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--250 TJm
-(I) 3.31755 Tj
--250 TJm
-(think) 20.4831 Tj
--250 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--250 TJm
-(ok.) 12.4533 Tj
-[1 0 0 1 72 398.159] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -48.8169] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 47.8207 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 44.2341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -388.794] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 388.794 Td
-/F134_0 9.9626 Tf
-(typedef) 41.8429 Tj
--426 TJm
-(void) 23.9102 Tj
--426 TJm
-(BZFILE;) 41.8429 Tj
-90 364.884 Td
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-152.286 363.14 Td
-(*) 5.97756 Tj
-162.508 364.884 Td
-(BZ2_bzlibVersion) 95.641 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(void) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 349.342] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -339.379] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 327.424 Td
-/F130_0 9.9626 Tf
-(Returns) 30.9936 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(string) 22.6948 Tj
--250 TJm
-(indicating) 39.8504 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion.) 26.8392 Tj
-[1 0 0 1 72 325.267] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -36.8618] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 35.8655 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 32.2789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -315.902] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 315.902 Td
-/F134_0 9.9626 Tf
-(BZFILE) 35.8654 Tj
-130.109 314.159 Td
-(*) 5.97756 Tj
-140.331 315.902 Td
-(BZ2_bzopen) 59.7756 Tj
--852 TJm
-(\() 5.97756 Tj
--426 TJm
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-281.103 314.159 Td
-(*) 5.97756 Tj
-287.08 315.902 Td
-(path,) 29.8878 Tj
--426 TJm
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-383.498 314.159 Td
-(*) 5.97756 Tj
-389.476 315.902 Td
-(mode) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 303.947 Td
-(BZFILE) 35.8654 Tj
-130.109 302.204 Td
-(*) 5.97756 Tj
-140.331 303.947 Td
-(BZ2_bzdopen) 65.7532 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(int) 17.9327 Tj
--3408 TJm
-(fd,) 17.9327 Tj
--1704 TJm
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-369.629 302.204 Td
-(*) 5.97756 Tj
-375.607 303.947 Td
-(mode) 23.9102 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 288.405] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -278.443] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 266.488 Td
-/F130_0 9.9626 Tf
-(Opens) 25.4544 Tj
--243 TJm
-(a) 4.42339 Tj
-[1 0 0 1 106.713 266.488] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -106.713 -266.488] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-106.713 266.488 Td
-/F134_0 9.9626 Tf
-(.bz2) 23.9102 Tj
-[1 0 0 1 130.624 266.488] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -130.624 -266.488] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-133.041 266.488 Td
-/F130_0 9.9626 Tf
-(\002le) 12.7322 Tj
--243 TJm
-(for) 11.6164 Tj
--242 TJm
-(reading) 29.8778 Tj
--243 TJm
-(or) 8.29885 Tj
--243 TJm
-(writing,) 31.2726 Tj
--244 TJm
-(using) 21.589 Tj
--243 TJm
-(ei) 7.193 Tj
-1 TJm
-(ther) 15.4918 Tj
--243 TJm
-(its) 9.41466 Tj
--243 TJm
-(name) 21.579 Tj
--242 TJm
-(o) 4.9813 Tj
--1 TJm
-(r) 3.31755 Tj
--242 TJm
-(a) 4.42339 Tj
--243 TJm
-(pre-e) 20.4632 Tj
-15 TJm
-(xisting) 27.1282 Tj
--243 TJm
-(\002le) 12.7322 Tj
--242 TJm
-(descriptor) 39.8404 Tj
-55 TJm
-(.) 2.49065 Tj
--615 TJm
-(Analogous) 43.1679 Tj
--243 TJm
-(to) 7.7509 Tj
-[1 0 0 1 510.112 266.488] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -510.112 -266.488] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-510.112 266.488 Td
-/F134_0 9.9626 Tf
-(fopen) 29.8878 Tj
-[1 0 0 1 540 266.488] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -266.488] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 254.532 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 88.8767 254.532] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -88.8767 -254.532] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-88.8767 254.532 Td
-/F134_0 9.9626 Tf
-(fdopen) 35.8654 Tj
-[1 0 0 1 124.742 254.532] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -124.742 -254.532] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-124.742 254.532 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 252.998] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -36.8618] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 35.8655 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 32.2789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -243.633] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 243.633 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzread) 59.7756 Tj
--852 TJm
-(\() 5.97756 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-226.528 241.89 Td
-(*) 5.97756 Tj
-236.749 243.633 Td
-(b,) 11.9551 Tj
--426 TJm
-(void) 23.9102 Tj
-276.859 241.89 Td
-(*) 5.97756 Tj
-287.08 243.633 Td
-(buf,) 23.9102 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 231.678 Td
-(int) 17.9327 Tj
--426 TJm
-(BZ2_bzwrite) 65.7532 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-228.261 229.935 Td
-(*) 5.97756 Tj
-238.483 231.678 Td
-(b,) 11.9551 Tj
--426 TJm
-(void) 23.9102 Tj
-278.592 229.935 Td
-(*) 5.97756 Tj
-288.814 231.678 Td
-(buf,) 23.9102 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(len) 17.9327 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 216.136] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -206.174] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 194.219 Td
-/F130_0 9.9626 Tf
-(Reads/writes) 51.4668 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(from/to) 29.8878 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(pre) 12.7222 Tj
-25 TJm
-(viously) 29.3399 Tj
--250 TJm
-(opened) 28.772 Tj
-[1 0 0 1 259.903 194.219] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -259.903 -194.219] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-259.903 194.219 Td
-/F134_0 9.9626 Tf
-(BZFILE) 35.8654 Tj
-[1 0 0 1 295.769 194.219] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -295.769 -194.219] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-295.769 194.219 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--500 TJm
-(Analogous) 43.1679 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 359.141 194.219] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -359.141 -194.219] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-359.141 194.219 Td
-/F134_0 9.9626 Tf
-(fread) 29.8878 Tj
-[1 0 0 1 389.029 194.219] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -389.029 -194.219] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-391.519 194.219 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 408.396 194.219] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -408.396 -194.219] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-408.396 194.219 Td
-/F134_0 9.9626 Tf
-(fwrite) 35.8654 Tj
-[1 0 0 1 444.261 194.219] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.261 -194.219] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-444.261 194.219 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 192.062] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -36.8618] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 35.8655 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 32.2789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -182.697] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 182.697 Td
-/F134_0 9.9626 Tf
-(int) 17.9327 Tj
--852 TJm
-(BZ2_bzflush) 65.7532 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-232.505 180.954 Td
-(*) 5.97756 Tj
-242.727 182.697 Td
-(b) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-90 170.742 Td
-(void) 23.9102 Tj
--426 TJm
-(BZ2_bzclose) 65.7532 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-234.239 168.998 Td
-(*) 5.97756 Tj
-244.46 170.742 Td
-(b) 5.97756 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 155.2] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -145.237] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 133.282 Td
-/F130_0 9.9626 Tf
-(Flushes/closes) 57.5639 Tj
--250 TJm
-(a) 4.42339 Tj
-[1 0 0 1 138.968 133.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -138.968 -133.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-138.968 133.282 Td
-/F134_0 9.9626 Tf
-(BZFILE) 35.8654 Tj
-[1 0 0 1 174.833 133.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -174.833 -133.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-174.833 133.282 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 179.815 133.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -179.815 -133.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-179.815 133.282 Td
-/F134_0 9.9626 Tf
-(BZ2_bzflush) 65.7532 Tj
-[1 0 0 1 245.568 133.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -245.568 -133.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-248.059 133.282 Td
-/F130_0 9.9626 Tf
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(actually) 31.5416 Tj
--250 TJm
-(do) 9.9626 Tj
--250 TJm
-(an) 9.40469 Tj
-15 TJm
-(ything.) 27.9551 Tj
--620 TJm
-(Analogous) 43.1679 Tj
--250 TJm
-(to) 7.7509 Tj
-[1 0 0 1 425.472 133.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -425.472 -133.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-425.472 133.282 Td
-/F134_0 9.9626 Tf
-(fflush) 35.8654 Tj
-[1 0 0 1 461.338 133.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -461.338 -133.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-463.828 133.282 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 480.705 133.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -480.705 -133.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-480.705 133.282 Td
-/F134_0 9.9626 Tf
-(fclose) 35.8654 Tj
-[1 0 0 1 516.57 133.282] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -516.57 -133.282] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-516.57 133.282 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 131.125] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -121.761] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 121.761 Td
-/F134_0 9.9626 Tf
-(const) 29.8878 Tj
--426 TJm
-(char) 23.9102 Tj
-152.286 120.017 Td
-(*) 5.97756 Tj
-162.508 121.761 Td
-(BZ2_bzerror) 65.7532 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(BZFILE) 35.8654 Tj
-282.836 120.017 Td
-(*) 5.97756 Tj
-288.814 121.761 Td
-(b,) 11.9551 Tj
--426 TJm
-(int) 17.9327 Tj
-327.19 120.017 Td
-(*) 5.97756 Tj
-333.167 121.761 Td
-(errnum) 35.8654 Tj
--426 TJm
-(\)) 5.97756 Tj
-[1 0 0 1 72 106.219] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -96.2563] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 84.3011 Td
-/F130_0 9.9626 Tf
-(Returns) 30.9936 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(string) 22.6948 Tj
--250 TJm
-(describing) 41.5042 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(more) 20.4731 Tj
--250 TJm
-(recent) 24.3386 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(status) 22.6948 Tj
--250 TJm
-(of) 8.29885 Tj
-[1 0 0 1 303.858 84.3011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -303.858 -84.3011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-303.858 84.3011 Td
-/F134_0 9.9626 Tf
-(b) 5.97756 Tj
-[1 0 0 1 309.835 84.3011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -309.835 -84.3011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-309.835 84.3011 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(also) 16.0497 Tj
--250 TJm
-(sets) 14.9439 Tj
-[1 0 0 1 367.668 84.3011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -367.668 -84.3011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-367.668 82.5576 Td
-/F134_0 9.9626 Tf
-(*) 5.97756 Tj
-373.645 84.3011 Td
-(errnum) 35.8654 Tj
-[1 0 0 1 409.511 84.3011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -409.511 -84.3011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-412.001 84.3011 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(its) 9.41466 Tj
--250 TJm
-(numerical) 39.8404 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alue.) 19.0883 Tj
-[1 0 0 1 72 82.1443] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -21.3298] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 4.3836 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -495.734 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-536.307 50.9514 Td
-/F130_0 9.9626 Tf
-(28) 9.9626 Tj
-[1 0 0 1 455.161 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -15.0365 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 32 32
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -741.554] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 704.93 Td
-/F122_0 20.6585 Tf
-(3.7.) 34.4584 Tj
--278 TJm
-(Using) 57.3893 Tj
--278 TJm
-(the) 30.9877 Tj
--278 TJm
-(librar) 51.6669 Tj
--10 TJm
-(y) 11.4861 Tj
--278 TJm
-(in) 18.3654 Tj
--278 TJm
-(a) 11.4861 Tj
-[1 0 0 1 322.501 704.93] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -322.501 -704.93] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-322.501 704.93 Td
-/F392_0 20.6585 Tf
-(stdio) 61.9755 Tj
-[1 0 0 1 384.477 704.93] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -384.477 -704.93] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-384.477 704.93 Td
-/F122_0 20.6585 Tf
-(-free) 44.767 Tj
-72 680.139 Td
-(en) 24.1085 Tj
-40 TJm
-(vir) 25.2653 Tj
-20 TJm
-(onment) 74.5978 Tj
-[1 0 0 1 72 679.881] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -669.983] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 649.583 Td
-/F122_0 17.2154 Tf
-(3.7.1.) 43.0729 Tj
--278 TJm
-(Getting) 60.2539 Tj
--278 TJm
-(rid) 22.0013 Tj
--278 TJm
-(of) 16.2513 Tj
-[1 0 0 1 232.721 649.583] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -232.721 -649.583] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-232.721 649.583 Td
-/F392_0 17.2154 Tf
-(stdio) 51.6462 Tj
-[1 0 0 1 284.367 649.583] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -212.367 -3.8303] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -635.855] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 627.73 Td
-/F130_0 9.9626 Tf
-(In) 8.29885 Tj
--319 TJm
-(a) 4.42339 Tj
--319 TJm
-(deeply) 26.5603 Tj
--319 TJm
-(embedded) 40.9463 Tj
--319 TJm
-(application,) 46.7644 Tj
--336 TJm
-(you) 14.9439 Tj
--319 TJm
-(might) 23.2527 Tj
--319 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--319 TJm
-(to) 7.7509 Tj
--319 TJm
-(use) 13.2801 Tj
--319 TJm
-(just) 14.396 Tj
--319 TJm
-(the) 12.1743 Tj
--319 TJm
-(memory-to-memory) 80.7967 Tj
--319 TJm
-(functions.) 39.5714 Tj
--1035 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--319 TJm
-(can) 13.8281 Tj
--319 TJm
-(do) 9.9626 Tj
--319 TJm
-(this) 14.396 Tj
-72 615.775 Td
-(con) 14.386 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(eniently) 32.0995 Tj
--327 TJm
-(by) 9.9626 Tj
--327 TJm
-(compiling) 40.4083 Tj
--327 TJm
-(the) 12.1743 Tj
--327 TJm
-(library) 26.5603 Tj
--327 TJm
-(with) 17.7135 Tj
--328 TJm
-(preproces) 38.7246 Tj
-1 TJm
-(sor) 12.1743 Tj
--328 TJm
-(symbol) 29.3399 Tj
-[1 0 0 1 336.046 615.775] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -336.046 -615.775] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-336.046 615.775 Td
-/F134_0 9.9626 Tf
-(BZ_NO_STDIO) 65.7532 Tj
-[1 0 0 1 401.799 615.775] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -401.799 -615.775] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-405.057 615.775 Td
-/F130_0 9.9626 Tf
-(de\002ned.) 31.8205 Tj
--1083 TJm
-(Doing) 24.9065 Tj
--327 TJm
-(this) 14.396 Tj
--327 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
--327 TJm
-(you) 14.9439 Tj
--327 TJm
-(a) 4.42339 Tj
-72 603.819 Td
-(library) 26.5603 Tj
--250 TJm
-(containing) 42.0621 Tj
--250 TJm
-(only) 17.7135 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--250 TJm
-(eight) 19.9252 Tj
--250 TJm
-(functions:) 39.8504 Tj
-[1 0 0 1 72 601.662] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -591.764] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 581.966 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressInit) 107.596 Tj
-[1 0 0 1 179.596 581.966] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -179.596 -581.966] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-179.596 581.966 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 199.079 581.966] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -199.079 -581.966] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-199.079 581.966 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompress) 83.6858 Tj
-[1 0 0 1 282.765 581.966] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -282.765 -581.966] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-282.765 581.966 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 302.247 581.966] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -302.247 -581.966] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-302.247 581.966 Td
-/F134_0 9.9626 Tf
-(BZ2_bzCompressEnd) 101.619 Tj
-[1 0 0 1 403.866 581.966] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 14.0915 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -417.958 -581.966] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-417.958 581.966 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressInit) 119.551 Tj
-[1 0 0 1 537.509 581.966] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -537.509 -581.966] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-537.509 581.966 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 72 570.011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -570.011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 570.011 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompress) 95.641 Tj
-[1 0 0 1 167.641 570.011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -167.641 -570.011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-167.641 570.011 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 172.144 570.011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -172.144 -570.011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-172.144 570.011 Td
-/F134_0 9.9626 Tf
-(BZ2_bzDecompressEnd) 113.574 Tj
-[1 0 0 1 285.719 570.011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -287.611 -570.011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-287.611 570.011 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffCompress) 143.461 Tj
-[1 0 0 1 431.073 570.011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -431.073 -570.011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-431.073 570.011 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 435.577 570.011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -435.577 -570.011] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-435.577 570.011 Td
-/F134_0 9.9626 Tf
-(BZ2_bzBuffToBuffDecompress) 155.417 Tj
-[1 0 0 1 590.994 570.011] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -518.994 -1.5341] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8981] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -558.579] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 548.158 Td
-/F130_0 9.9626 Tf
-(When) 23.7907 Tj
--250 TJm
-(compiled) 37.0808 Tj
--250 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.42339 Tj
--250 TJm
-(this,) 16.8866 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(functions) 37.0808 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(ignore) 25.4544 Tj
-[1 0 0 1 272.526 548.158] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -272.526 -548.158] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-272.526 548.158 Td
-/F134_0 9.9626 Tf
-(verbosity) 53.798 Tj
-[1 0 0 1 326.324 548.158] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -326.324 -548.158] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-328.815 548.158 Td
-/F130_0 9.9626 Tf
-(settings.) 32.9364 Tj
-[1 0 0 1 72 546.001] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -536.103] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 517.601 Td
-/F122_0 17.2154 Tf
-(3.7.2.) 43.0729 Tj
--278 TJm
-(Critical) 58.3602 Tj
--278 TJm
-(err) 22.9653 Tj
-20 TJm
-(or) 17.2154 Tj
--278 TJm
-(handling) 71.7366 Tj
-[1 0 0 1 72 513.771] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -503.873] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 495.748 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 119.821 495.748] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.821 -495.748] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-124.529 495.748 Td
-/F130_0 9.9626 Tf
-(contains) 33.2053 Tj
--473 TJm
-(a) 4.42339 Tj
--472 TJm
-(number) 30.4357 Tj
--473 TJm
-(of) 8.29885 Tj
--472 TJm
-(internal) 30.4357 Tj
--473 TJm
-(assertion) 35.417 Tj
--472 TJm
-(checks) 27.1082 Tj
--473 TJm
-(which) 24.3486 Tj
--472 TJm
-(should,) 29.0609 Tj
--529 TJm
-(needless) 33.7533 Tj
--472 TJm
-(to) 7.7509 Tj
--473 TJm
-(say) 13.2801 Tj
-65 TJm
-(,) 2.49065 Tj
--528 TJm
-(ne) 9.40469 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--473 TJm
-(be) 9.40469 Tj
--472 TJm
-(acti) 14.386 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ated.) 19.0883 Tj
-72 483.793 Td
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--533 TJm
-(if) 6.08715 Tj
--476 TJm
-(an) 9.40469 Tj
--476 TJm
-(assertion) 35.417 Tj
--476 TJm
-(should) 26.5703 Tj
--476 TJm
-(f) 3.31755 Tj
-10 TJm
-(ail,) 12.4533 Tj
--532 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
--476 TJm
-(depends) 32.6474 Tj
--476 TJm
-(on) 9.9626 Tj
--476 TJm
-(whether) 32.0895 Tj
--476 TJm
-(or) 8.29885 Tj
--477 TJm
-(not) 12.7322 Tj
--476 TJm
-(the) 12.1743 Tj
--476 TJm
-(library) 26.5603 Tj
--476 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--476 TJm
-(compiled) 37.0808 Tj
--476 TJm
-(with) 17.7135 Tj
-[1 0 0 1 72 471.838] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -471.838] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 471.838 Td
-/F134_0 9.9626 Tf
-(BZ_NO_STDIO) 65.7532 Tj
-[1 0 0 1 137.753 471.838] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.753 -471.838] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-140.244 471.838 Td
-/F130_0 9.9626 Tf
-(set.) 13.5591 Tj
-[1 0 0 1 72 470.528] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -460.63] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 449.985 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(normal) 28.224 Tj
--250 TJm
-(compile,) 34.5901 Tj
--250 TJm
-(an) 9.40469 Tj
--250 TJm
-(assertion) 35.417 Tj
--250 TJm
-(f) 3.31755 Tj
-10 TJm
-(ailure) 22.6848 Tj
--250 TJm
-(yields) 23.8007 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(message:) 36.5229 Tj
-[1 0 0 1 72 447.828] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -437.93] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 428.131 Td
-/F130_0 9.9626 Tf
-(bzip2/libbzip2:) 60.3335 Tj
--310 TJm
-(internal) 30.4357 Tj
--250 TJm
-(error) 19.3573 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(N.) 9.68365 Tj
-[1 0 0 1 72 425.975] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -416.077] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 406.278 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--332 TJm
-(is) 6.64505 Tj
--331 TJm
-(a) 4.42339 Tj
--332 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--332 TJm
-(in) 7.7509 Tj
--331 TJm
-(bzip2/libbzip2,) 60.0546 Tj
--352 TJm
-(1.0.5) 19.9252 Tj
--332 TJm
-(of) 8.29885 Tj
--332 TJm
-(10) 9.9626 Tj
--332 TJm
-(December) 40.9363 Tj
--331 TJm
-(2007.) 22.4159 Tj
--555 TJm
-(Please) 25.4544 Tj
--332 TJm
-(report) 23.7907 Tj
--332 TJm
-(it) 5.53921 Tj
--331 TJm
-(to) 7.7509 Tj
--332 TJm
-(me) 12.1743 Tj
--332 TJm
-(at:) 9.9626 Tj
--473 TJm
-(jse) 11.0684 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard@bzip.or) 49.8429 Tj
-18 TJm
-(g.) 7.47195 Tj
--1110 TJm
-(If) 6.63509 Tj
--332 TJm
-(this) 14.396 Tj
-72 394.323 Td
-(happened) 38.1767 Tj
--297 TJm
-(when) 21.579 Tj
--298 TJm
-(you) 14.9439 Tj
--297 TJm
-(were) 19.3573 Tj
--297 TJm
-(using) 21.589 Tj
--297 TJm
-(some) 21.031 Tj
--298 TJm
-(program) 33.7533 Tj
--297 TJm
-(which) 24.3486 Tj
--297 TJm
-(uses) 17.1556 Tj
--297 TJm
-(libbzip2) 32.6574 Tj
--298 TJm
-(as) 8.29885 Tj
--297 TJm
-(a) 4.42339 Tj
--297 TJm
-(component,) 46.7644 Tj
--309 TJm
-(you) 14.9439 Tj
--298 TJm
-(should) 26.5703 Tj
--297 TJm
-(also) 16.0497 Tj
--297 TJm
-(report) 23.7907 Tj
--297 TJm
-(this) 14.396 Tj
--298 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
-72 382.368 Td
-(to) 7.7509 Tj
--264 TJm
-(the) 12.1743 Tj
--264 TJm
-(author\(s\)) 35.965 Tj
--264 TJm
-(of) 8.29885 Tj
--264 TJm
-(that) 14.9439 Tj
--264 TJm
-(program.) 36.2439 Tj
--703 TJm
-(Please) 25.4544 Tj
--264 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--264 TJm
-(an) 9.40469 Tj
--264 TJm
-(ef) 7.74094 Tj
-25 TJm
-(fort) 14.386 Tj
--264 TJm
-(to) 7.7509 Tj
--264 TJm
-(report) 23.7907 Tj
--263 TJm
-(this) 14.396 Tj
--264 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug;) 12.7322 Tj
--271 TJm
-(timely) 25.4644 Tj
--264 TJm
-(and) 14.386 Tj
--264 TJm
-(accurate) 33.1854 Tj
--264 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--264 TJm
-(reports) 27.6661 Tj
--264 TJm
-(e) 4.42339 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(entually) 32.0995 Tj
-72 370.413 Td
-(lead) 16.5977 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(higher) 25.4544 Tj
--250 TJm
-(quality) 27.6761 Tj
--250 TJm
-(softw) 22.1369 Tj
-10 TJm
-(are.) 14.655 Tj
--620 TJm
-(Thanks.) 31.8205 Tj
--620 TJm
-(Julian) 23.8007 Tj
--250 TJm
-(Se) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(ard,) 15.2129 Tj
--250 TJm
-(10) 9.9626 Tj
--250 TJm
-(December) 40.9363 Tj
--250 TJm
-(2007.) 22.4159 Tj
-[1 0 0 1 72 368.256] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.801] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -348.557] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 338.758 Td
-/F130_0 9.9626 Tf
-(where) 24.3386 Tj
-[1 0 0 1 98.8312 338.758] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -98.8312 -338.758] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-98.8312 338.758 Td
-/F134_0 9.9626 Tf
-(N) 5.97756 Tj
-[1 0 0 1 104.809 338.758] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -104.809 -338.758] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-107.302 338.758 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(error) 19.3573 Tj
--251 TJm
-(code) 18.8094 Tj
--250 TJm
-(number) 30.4357 Tj
-55 TJm
-(.) 2.49065 Tj
--621 TJm
-(If) 6.63509 Tj
-[1 0 0 1 230.81 338.758] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -230.81 -338.758] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-230.81 338.758 Td
-/F134_0 9.9626 Tf
-(N) 5.97756 Tj
--600 TJm
-(==) 11.9551 Tj
--600 TJm
-(1007) 23.9102 Tj
-[1 0 0 1 284.608 338.758] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -284.608 -338.758] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-284.608 338.758 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(also) 16.0497 Tj
--251 TJm
-(prints) 22.6948 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(e) 4.42339 Tj
-15 TJm
-(xtra) 15.4918 Tj
--250 TJm
-(te) 7.193 Tj
-15 TJm
-(xt) 7.7509 Tj
--250 TJm
-(advising) 33.7633 Tj
--251 TJm
-(the) 12.1743 Tj
--250 TJm
-(reader) 24.8866 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(unreliable) 39.8404 Tj
-72 326.803 Td
-(memory) 33.2053 Tj
--425 TJm
-(is) 6.64505 Tj
--424 TJm
-(often) 20.4731 Tj
--425 TJm
-(associated) 40.9463 Tj
--425 TJm
-(with) 17.7135 Tj
--424 TJm
-(internal) 30.4357 Tj
--425 TJm
-(error) 19.3573 Tj
--424 TJm
-(1007.) 22.4159 Tj
--834 TJm
-(\(This) 21.031 Tj
--425 TJm
-(is) 6.64505 Tj
--425 TJm
-(a) 4.42339 Tj
--424 TJm
-(frequently-observ) 70.8241 Tj
-15 TJm
-(ed-phenomenon) 64.189 Tj
--425 TJm
-(with) 17.7135 Tj
--425 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
-72 314.848 Td
-(1.0.0/1.0.1\).) 48.4282 Tj
-[1 0 0 1 72 313.065] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -303.167] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 292.995 Td
-/F134_0 9.9626 Tf
-(exit\(3\)) 41.8429 Tj
-[1 0 0 1 113.843 292.995] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.843 -292.995] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-116.334 292.995 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(then) 17.1556 Tj
--250 TJm
-(called.) 26.2813 Tj
-[1 0 0 1 72 291.899] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.8981] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -282.001] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 271.142 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--250 TJm
-(a) 4.42339 Tj
-[1 0 0 1 95.0933 271.142] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -95.0933 -271.142] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-95.0933 271.142 Td
-/F134_0 9.9626 Tf
-(stdio) 29.8878 Tj
-[1 0 0 1 124.981 271.142] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -124.981 -271.142] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-124.981 271.142 Td
-/F130_0 9.9626 Tf
-(-free) 18.7994 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(assertion) 35.417 Tj
--250 TJm
-(f) 3.31755 Tj
-10 TJm
-(ailures) 26.5603 Tj
--250 TJm
-(result) 22.1369 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(call) 14.386 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(function) 33.2053 Tj
--250 TJm
-(declared) 33.7433 Tj
--250 TJm
-(as:) 11.0684 Tj
-[1 0 0 1 72 268.985] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -259.62] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 259.62 Td
-/F134_0 9.9626 Tf
-(extern) 35.8654 Tj
--426 TJm
-(void) 23.9102 Tj
--426 TJm
-(bz_internal_error) 101.619 Tj
--426 TJm
-(\() 5.97756 Tj
--426 TJm
-(int) 17.9327 Tj
--426 TJm
-(errcode) 41.8429 Tj
--426 TJm
-(\);) 11.9551 Tj
-[1 0 0 1 72 244.078] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.4846] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -234.18] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 222.225 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(rele) 14.9339 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant) 12.1743 Tj
--250 TJm
-(code) 18.8094 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(passed) 26.5603 Tj
--250 TJm
-(as) 8.29885 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(parameter) 39.8305 Tj
-55 TJm
-(.) 2.49065 Tj
--620 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(supply) 26.5703 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(function.) 35.696 Tj
-[1 0 0 1 72 220.068] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -210.17] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 200.372 Td
-/F130_0 9.9626 Tf
-(In) 8.29885 Tj
--294 TJm
-(either) 22.6848 Tj
--294 TJm
-(case,) 19.6363 Tj
--306 TJm
-(once) 18.8094 Tj
--294 TJm
-(an) 9.40469 Tj
--294 TJm
-(assertion) 35.417 Tj
--294 TJm
-(f) 3.31755 Tj
-10 TJm
-(ailure) 22.6848 Tj
--294 TJm
-(has) 13.2801 Tj
--295 TJm
-(occurred,) 37.3398 Tj
--305 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
-[1 0 0 1 306.541 200.372] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -306.541 -200.372] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-306.541 200.372 Td
-/F134_0 9.9626 Tf
-(bz_stream) 53.798 Tj
-[1 0 0 1 360.339 200.372] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -360.339 -200.372] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-363.271 200.372 Td
-/F130_0 9.9626 Tf
-(records) 29.3199 Tj
--294 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-20 TJm
-(olv) 12.7322 Tj
-15 TJm
-(ed) 9.40469 Tj
--294 TJm
-(can) 13.8281 Tj
--295 TJm
-(be) 9.40469 Tj
--294 TJm
-(re) 7.74094 Tj
-15 TJm
-(g) 4.9813 Tj
-5 TJm
-(arded) 22.1269 Tj
--294 TJm
-(as) 8.29885 Tj
--294 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-25 TJm
-(alid.) 17.4346 Tj
-72 188.417 Td
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(attempt) 29.8878 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(resume) 28.772 Tj
--250 TJm
-(normal) 28.224 Tj
--250 TJm
-(operation) 37.6287 Tj
--250 TJm
-(with) 17.7135 Tj
--250 TJm
-(them.) 22.4159 Tj
-[1 0 0 1 72 186.26] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -176.362] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 166.564 Td
-/F130_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--299 TJm
-(may) 17.1556 Tj
-65 TJm
-(,) 2.49065 Tj
--310 TJm
-(of) 8.29885 Tj
--299 TJm
-(course,) 28.493 Tj
--311 TJm
-(change) 28.2141 Tj
--298 TJm
-(critical) 27.6661 Tj
--299 TJm
-(error) 19.3573 Tj
--298 TJm
-(handling) 34.8691 Tj
--299 TJm
-(to) 7.7509 Tj
--298 TJm
-(suit) 14.396 Tj
--299 TJm
-(your) 18.2614 Tj
--298 TJm
-(needs.) 25.1755 Tj
--912 TJm
-(As) 11.0684 Tj
--298 TJm
-(I) 3.31755 Tj
--299 TJm
-(said) 16.0497 Tj
--298 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.91404 Tj
--311 TJm
-(critical) 27.6661 Tj
--299 TJm
-(errors) 23.2328 Tj
--298 TJm
-(indicate) 31.5416 Tj
--299 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
-72 154.608 Td
-(in) 7.7509 Tj
--263 TJm
-(the) 12.1743 Tj
--263 TJm
-(library) 26.5603 Tj
--263 TJm
-(and) 14.386 Tj
--263 TJm
-(should) 26.5703 Tj
--263 TJm
-(not) 12.7322 Tj
--263 TJm
-(occur) 22.1269 Tj
-55 TJm
-(.) 2.49065 Tj
--697 TJm
-(All) 12.7322 Tj
--263 TJm
-("normal") 36.3535 Tj
--263 TJm
-(error) 19.3573 Tj
--263 TJm
-(situations) 38.1966 Tj
--263 TJm
-(are) 12.1643 Tj
--263 TJm
-(indicated) 36.5229 Tj
--263 TJm
-(via) 12.1743 Tj
--263 TJm
-(error) 19.3573 Tj
--263 TJm
-(return) 23.7907 Tj
--263 TJm
-(codes) 22.6848 Tj
--263 TJm
-(from) 19.3673 Tj
--263 TJm
-(functions,) 39.5714 Tj
-72 142.653 Td
-(and) 14.386 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(reco) 17.1456 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ered) 17.1456 Tj
--250 TJm
-(from.) 21.8579 Tj
-[1 0 0 1 72 142.554] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -132.656] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 107.965 Td
-/F122_0 20.6585 Tf
-(3.8.) 34.4584 Tj
--278 TJm
-(Making) 71.1685 Tj
--278 TJm
-(a) 11.4861 Tj
--278 TJm
-(Windo) 63.1117 Tj
-15 TJm
-(ws) 27.5584 Tj
--278 TJm
-(DLL) 40.1601 Tj
-[1 0 0 1 72 103.369] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.898] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -93.4708] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 86.112 Td
-/F130_0 9.9626 Tf
-(Ev) 11.0684 Tj
-15 TJm
-(erything) 33.2053 Tj
--328 TJm
-(related) 27.1082 Tj
--327 TJm
-(to) 7.7509 Tj
--328 TJm
-(W) 9.40469 Tj
-40 TJm
-(indo) 17.7135 Tj
-25 TJm
-(ws) 11.0684 Tj
--328 TJm
-(has) 13.2801 Tj
--327 TJm
-(been) 18.8094 Tj
--328 TJm
-(contrib) 28.224 Tj
-20 TJm
-(uted) 17.1556 Tj
--328 TJm
-(by) 9.9626 Tj
--327 TJm
-(Y) 7.193 Tj
-110 TJm
-(oshioka) 30.9936 Tj
--328 TJm
-(Tsuneo) 29.3299 Tj
--328 TJm
-(\() 3.31755 Tj
-[1 0 0 1 378.139 86.112] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -378.139 -86.112] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-378.139 86.112 Td
-/F134_0 9.9626 Tf
-(tsuneo@rr.iij4u.or.jp) 125.529 Tj
-[1 0 0 1 503.668 86.112] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -503.668 -86.112] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-503.668 86.112 Td
-/F130_0 9.9626 Tf
-(\),) 5.8082 Tj
--347 TJm
-(so) 8.85675 Tj
--328 TJm
-(you) 14.9439 Tj
-72 74.1568 Td
-(should) 26.5703 Tj
--250 TJm
-(send) 18.2614 Tj
--250 TJm
-(your) 18.2614 Tj
--250 TJm
-(queries) 28.772 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(him) 15.5018 Tj
--250 TJm
-(\(b) 8.29885 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(perhaps) 30.9837 Tj
--250 TJm
-(Cc:) 13.8381 Tj
--310 TJm
-(me,) 14.6649 Tj
-[1 0 0 1 287.958 74.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -287.958 -74.1568] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-287.958 74.1568 Td
-/F134_0 9.9626 Tf
-(jseward@bzip.org) 95.641 Tj
-[1 0 0 1 383.6 74.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -383.6 -74.1568] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-383.6 74.1568 Td
-/F130_0 9.9626 Tf
-(\).) 5.8082 Tj
-[1 0 0 1 72 72] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -21.1482] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.9738] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -51.071] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 51.071 Td
-/F130_0 9.9626 Tf
-(29) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 33 33
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 8.9114] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 76.4979 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -342.569 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-419.067 749.245 Td
-/F130_0 9.9626 Tf
-(Programming) 54.7943 Tj
--250 TJm
-(with) 17.7135 Tj
-[1 0 0 1 496.556 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -496.556 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.556 749.245 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 544.376 749.245] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -278.305 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -5.0363] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(My) 13.8381 Tj
--367 TJm
-(v) 4.9813 Tj
-25 TJm
-(ague) 18.8094 Tj
--367 TJm
-(understanding) 56.4481 Tj
--367 TJm
-(of) 8.29885 Tj
--367 TJm
-(what) 19.3673 Tj
--368 TJm
-(to) 7.7509 Tj
--367 TJm
-(do) 9.9626 Tj
--367 TJm
-(is:) 9.41466 Tj
--544 TJm
-(using) 21.589 Tj
--367 TJm
-(V) 7.193 Tj
-60 TJm
-(isual) 18.8194 Tj
--367 TJm
-(C++) 17.8829 Tj
--367 TJm
-(5.0,) 14.9439 Tj
--397 TJm
-(open) 19.3673 Tj
--367 TJm
-(the) 12.1743 Tj
--367 TJm
-(project) 27.6661 Tj
--367 TJm
-(\002le) 12.7322 Tj
-[1 0 0 1 432.966 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -432.966 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-432.966 710.037 Td
-/F134_0 9.9626 Tf
-(libbz2.dsp) 59.7756 Tj
-[1 0 0 1 492.742 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -492.742 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-492.742 710.037 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--396 TJm
-(and) 14.386 Tj
--368 TJm
-(b) 4.9813 Tj
-20 TJm
-(uild.) 17.9925 Tj
-72 698.082 Td
-(That') 21.579 Tj
-55 TJm
-(s) 3.87545 Tj
--250 TJm
-(all.) 12.4533 Tj
-[1 0 0 1 72 697.983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -688.02] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 676.164 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--284 TJm
-(you) 14.9439 Tj
--284 TJm
-(can') 17.1456 Tj
-18 TJm
-(t) 2.7696 Tj
--285 TJm
-(open) 19.3673 Tj
--284 TJm
-(the) 12.1743 Tj
--284 TJm
-(project) 27.6661 Tj
--284 TJm
-(\002le) 12.7322 Tj
--284 TJm
-(for) 11.6164 Tj
--285 TJm
-(some) 21.031 Tj
--284 TJm
-(reason,) 28.493 Tj
--293 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--284 TJm
-(a) 4.42339 Tj
--284 TJm
-(ne) 9.40469 Tj
-25 TJm
-(w) 7.193 Tj
--284 TJm
-(one,) 16.8766 Tj
--293 TJm
-(naming) 29.8878 Tj
--284 TJm
-(these) 20.4731 Tj
--284 TJm
-(\002les:) 19.3773 Tj
-[1 0 0 1 424.505 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -424.505 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-424.505 676.164 Td
-/F134_0 9.9626 Tf
-(blocksort.c) 65.7532 Tj
-[1 0 0 1 490.259 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -490.259 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-490.259 676.164 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 495.666 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -495.666 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-495.666 676.164 Td
-/F134_0 9.9626 Tf
-(bzlib.c) 41.8429 Tj
-[1 0 0 1 537.509 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -537.509 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-537.509 676.164 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 72 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 664.209 Td
-/F134_0 9.9626 Tf
-(compress.c) 59.7756 Tj
-[1 0 0 1 131.776 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -131.776 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-131.776 664.209 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 136.436 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -136.436 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-136.436 664.209 Td
-/F134_0 9.9626 Tf
-(crctable.c) 59.7756 Tj
-[1 0 0 1 196.211 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -196.211 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-196.211 664.209 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 200.871 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -200.871 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-200.871 664.209 Td
-/F134_0 9.9626 Tf
-(decompress.c) 71.7307 Tj
-[1 0 0 1 272.602 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -272.602 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-272.602 664.209 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 277.262 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -277.262 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-277.262 664.209 Td
-/F134_0 9.9626 Tf
-(huffman.c) 53.798 Tj
-[1 0 0 1 331.06 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -331.06 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-331.06 664.209 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 335.72 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -335.72 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-335.72 664.209 Td
-/F134_0 9.9626 Tf
-(randtable.c) 65.7532 Tj
-[1 0 0 1 401.473 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -401.473 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-403.562 664.209 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 420.037 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -420.037 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-420.037 664.209 Td
-/F134_0 9.9626 Tf
-(libbz2.def) 59.7756 Tj
-[1 0 0 1 479.812 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -479.812 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-479.812 664.209 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--593 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--210 TJm
-(will) 15.5018 Tj
--209 TJm
-(also) 16.0497 Tj
-72 652.254 Td
-(need) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(name) 21.579 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(header) 26.5503 Tj
--250 TJm
-(\002les) 16.6077 Tj
-[1 0 0 1 190.415 652.254] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -190.415 -652.254] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-190.415 652.254 Td
-/F134_0 9.9626 Tf
-(bzlib.h) 41.8429 Tj
-[1 0 0 1 232.258 652.254] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -232.258 -652.254] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-234.748 652.254 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 251.625 652.254] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -251.625 -652.254] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-251.625 652.254 Td
-/F134_0 9.9626 Tf
-(bzlib_private.h) 89.6634 Tj
-[1 0 0 1 341.289 652.254] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -341.289 -652.254] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-341.289 652.254 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 650.72] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -640.757] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 630.336 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(VC++,) 27.5665 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(need) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(de\002ne) 24.3486 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(proprocessor) 51.4568 Tj
--250 TJm
-(symbol) 29.3399 Tj
-[1 0 0 1 363.634 630.336] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -363.634 -630.336] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-363.634 630.336 Td
-/F134_0 9.9626 Tf
-(_WIN32) 35.8654 Tj
-[1 0 0 1 399.5 630.336] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -399.5 -630.336] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-399.5 630.336 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 628.179] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -618.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 608.418 Td
-/F130_0 9.9626 Tf
-(Finally) 28.234 Tj
-65 TJm
-(,) 2.49065 Tj
-[1 0 0 1 104.568 608.418] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -104.568 -608.418] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.568 608.418 Td
-/F134_0 9.9626 Tf
-(dlltest.c) 53.798 Tj
-[1 0 0 1 158.366 608.418] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -158.366 -608.418] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-160.856 608.418 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(sample) 28.224 Tj
--250 TJm
-(program) 33.7533 Tj
--250 TJm
-(using) 21.589 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(DLL.) 21.8579 Tj
--500 TJm
-(It) 6.08715 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(project) 27.6661 Tj
--250 TJm
-(\002le,) 15.2229 Tj
-[1 0 0 1 388.58 608.418] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -388.58 -608.418] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-388.58 608.418 Td
-/F134_0 9.9626 Tf
-(dlltest.dsp) 65.7532 Tj
-[1 0 0 1 454.333 608.418] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -454.333 -608.418] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-454.333 608.418 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 606.262] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -596.299] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 586.501 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(just) 14.396 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e\002le) 17.1556 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(V) 7.193 Tj
-60 TJm
-(isual) 18.8194 Tj
--250 TJm
-(C,) 9.1357 Tj
--250 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(look) 17.7135 Tj
--250 TJm
-(at) 7.193 Tj
-[1 0 0 1 292.212 586.501] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -292.212 -586.501] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-292.212 586.501 Td
-/F134_0 9.9626 Tf
-(makefile.msc) 71.7307 Tj
-[1 0 0 1 363.943 586.501] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -363.943 -586.501] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-363.943 586.501 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 584.344] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -574.381] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 564.583 Td
-/F130_0 9.9626 Tf
-(Be) 11.0684 Tj
--291 TJm
-(a) 4.42339 Tj
-15 TJm
-(w) 7.193 Tj
-10 TJm
-(are) 12.1643 Tj
--291 TJm
-(that) 14.9439 Tj
--291 TJm
-(if) 6.08715 Tj
--291 TJm
-(you) 14.9439 Tj
--291 TJm
-(compile) 32.0995 Tj
-[1 0 0 1 192.069 564.583] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -192.069 -564.583] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-192.069 564.583 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 221.958 564.583] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -221.958 -564.583] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-224.857 564.583 Td
-/F130_0 9.9626 Tf
-(itself) 19.9252 Tj
--291 TJm
-(on) 9.9626 Tj
--291 TJm
-(W) 9.40469 Tj
-40 TJm
-(in32,) 20.2042 Tj
--301 TJm
-(you) 14.9439 Tj
--291 TJm
-(must) 19.3773 Tj
--291 TJm
-(set) 11.0684 Tj
-[1 0 0 1 346.841 564.583] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -346.841 -564.583] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-346.841 564.583 Td
-/F134_0 9.9626 Tf
-(BZ_UNIX) 41.8429 Tj
-[1 0 0 1 388.685 564.583] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -388.685 -564.583] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-391.583 564.583 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--291 TJm
-(0) 4.9813 Tj
--291 TJm
-(and) 14.386 Tj
-[1 0 0 1 427.399 564.583] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -427.399 -564.583] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-427.399 564.583 Td
-/F134_0 9.9626 Tf
-(BZ_LCCWIN32) 65.7532 Tj
-[1 0 0 1 493.153 564.583] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.153 -564.583] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-496.052 564.583 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--291 TJm
-(1,) 7.47195 Tj
--301 TJm
-(in) 7.7509 Tj
--291 TJm
-(the) 12.1743 Tj
-72 552.628 Td
-(\002le) 12.7322 Tj
-[1 0 0 1 87.2227 552.628] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -87.2227 -552.628] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-87.2227 552.628 Td
-/F134_0 9.9626 Tf
-(bzip2.c) 41.8429 Tj
-[1 0 0 1 129.066 552.628] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -129.066 -552.628] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-129.066 552.628 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(before) 25.4445 Tj
--250 TJm
-(compiling.) 42.899 Tj
--310 TJm
-(Otherwise) 40.9463 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(resulting) 34.8691 Tj
--250 TJm
-(binary) 25.4544 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--250 TJm
-(correctly) 35.4071 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 550.471] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -540.508] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 530.71 Td
-/F130_0 9.9626 Tf
-(I) 3.31755 Tj
--250 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(en') 12.7222 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(tried) 18.2614 Tj
--250 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(stuf) 14.9439 Tj
-25 TJm
-(f) 3.31755 Tj
--250 TJm
-(myself,) 29.6088 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(looks) 21.589 Tj
--250 TJm
-(plausible.) 38.4656 Tj
-[1 0 0 1 72 528.553] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -477.701] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(30) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 34 34
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -140.398 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -13.9477] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -21.5542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -720] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 701.916 Td
-/F122_0 24.7902 Tf
-(4.) 20.675 Tj
--278 TJm
-(Miscellanea) 139.172 Tj
-[1 0 0 1 72 701.606] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -9.1347] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -14.1161] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -678.355] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 658.006 Td
-/F122_0 17.2154 Tf
-(T) 10.5186 Tj
-80 TJm
-(ab) 20.0904 Tj
-10 TJm
-(le) 14.3576 Tj
--278 TJm
-(of) 16.2513 Tj
--278 TJm
-(Contents) 74.5943 Tj
-[1 0 0 1 72 649.183] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -11.7401] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -637.443] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 637.443 Td
-/F130_0 9.9626 Tf
-(4.1.) 14.9439 Tj
--310 TJm
-(Limitations) 45.9475 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(format) 26.5603 Tj
-[1 0 0 1 255.231 637.443] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -260.212 -637.443] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-269.154 637.443 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 637.443] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -637.443] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 637.443 Td
-/F130_0 9.9626 Tf
-(31) 9.9626 Tj
-[1 0 0 1 516.09 637.443] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -625.488] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 625.488 Td
-/F130_0 9.9626 Tf
-(4.2.) 14.9439 Tj
--310 TJm
-(Portability) 42.0721 Tj
--250 TJm
-(issues) 23.8007 Tj
-[1 0 0 1 158.395 625.488] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -163.376 -625.488] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-172.03 625.488 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 625.488] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -625.488] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 625.488 Td
-/F130_0 9.9626 Tf
-(32) 9.9626 Tj
-[1 0 0 1 516.09 625.488] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -613.533] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 613.533 Td
-/F130_0 9.9626 Tf
-(4.3.) 14.9439 Tj
--310 TJm
-(Reporting) 39.8504 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
-[1 0 0 1 150.993 613.533] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -155.975 -613.533] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-166.115 613.533 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 613.533] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -613.533] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 613.533 Td
-/F130_0 9.9626 Tf
-(32) 9.9626 Tj
-[1 0 0 1 516.09 613.533] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7983] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -601.578] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 601.578 Td
-/F130_0 9.9626 Tf
-(4.4.) 14.9439 Tj
--310 TJm
-(Did) 14.9439 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(get) 12.1743 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(right) 18.8194 Tj
--250 TJm
-(package?) 37.0609 Tj
-[1 0 0 1 212.602 601.578] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 3.0884 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 3.0884 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -218.778 -601.578] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-229.109 601.578 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 601.578] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -601.578] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 601.578 Td
-/F130_0 9.9626 Tf
-(33) 9.9626 Tj
-[1 0 0 1 516.09 601.578] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.7984] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -589.623] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 589.623 Td
-/F130_0 9.9626 Tf
-(4.5.) 14.9439 Tj
--310 TJm
-(Further) 29.3299 Tj
--250 TJm
-(Reading) 33.2053 Tj
-[1 0 0 1 155.058 589.623] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4906 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -160.039 -589.623] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-170.361 589.623 Td
-/F147_0 9.9626 Tf
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
--166 TJm
-(:) 2.7696 Tj
--167 TJm
-(:) 2.7696 Tj
-[1 0 0 1 506.127 589.623] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -506.127 -589.623] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-506.127 589.623 Td
-/F130_0 9.9626 Tf
-(34) 9.9626 Tj
-[1 0 0 1 516.09 589.623] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -444.09 -2.1568] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.1348] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -9.6315] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -568.7] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 558.901 Td
-/F130_0 9.9626 Tf
-(These) 23.7907 Tj
--250 TJm
-(are) 12.1643 Tj
--250 TJm
-(just) 14.396 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(random) 30.4357 Tj
--250 TJm
-(thoughts) 34.3212 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(mine.) 22.4159 Tj
--620 TJm
-(Y) 7.193 Tj
-110 TJm
-(our) 13.2801 Tj
--250 TJm
-(mileage) 31.5416 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(ary) 12.7222 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 556.744] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.6315] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -547.113] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 524.48 Td
-/F122_0 20.6585 Tf
-(4.1.) 34.4584 Tj
--278 TJm
-(Limitations) 110.192 Tj
--278 TJm
-(of) 19.5016 Tj
--278 TJm
-(the) 30.9877 Tj
--278 TJm
-(compressed) 121.699 Tj
--278 TJm
-(\002le) 29.8515 Tj
--278 TJm
-(f) 6.87928 Tj
-20 TJm
-(ormat) 57.3893 Tj
-[1 0 0 1 72 520.203] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.6315] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -510.572] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 502.893 Td
-/F134_0 9.9626 Tf
-(bzip2-1.0.X) 65.7532 Tj
-[1 0 0 1 137.753 502.893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.753 -502.893] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-137.753 502.893 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
-[1 0 0 1 143.405 502.893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -143.405 -502.893] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-143.405 502.893 Td
-/F134_0 9.9626 Tf
-(0.9.5) 29.8878 Tj
-[1 0 0 1 173.293 502.893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -173.293 -502.893] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-176.453 502.893 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 194 502.893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -194 -502.893] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-194 502.893 Td
-/F134_0 9.9626 Tf
-(0.9.0) 29.8878 Tj
-[1 0 0 1 223.888 502.893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -223.888 -502.893] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-227.048 502.893 Td
-/F130_0 9.9626 Tf
-(use) 13.2801 Tj
--317 TJm
-(e) 4.42339 Tj
-15 TJm
-(xactly) 24.3486 Tj
--317 TJm
-(the) 12.1743 Tj
--318 TJm
-(same) 20.4731 Tj
--317 TJm
-(\002le) 12.7322 Tj
--317 TJm
-(format) 26.5603 Tj
--317 TJm
-(as) 8.29885 Tj
--318 TJm
-(the) 12.1743 Tj
--317 TJm
-(original) 30.9936 Tj
--317 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion,) 26.8392 Tj
-[1 0 0 1 455.801 502.893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -455.801 -502.893] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-455.801 502.893 Td
-/F134_0 9.9626 Tf
-(bzip2-0.1) 53.798 Tj
-[1 0 0 1 509.599 502.893] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -509.599 -502.893] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-509.599 502.893 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--1023 TJm
-(This) 17.7135 Tj
-72 490.938 Td
-(decision) 33.2053 Tj
--222 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--222 TJm
-(made) 21.579 Tj
--222 TJm
-(in) 7.7509 Tj
--221 TJm
-(the) 12.1743 Tj
--222 TJm
-(interests) 33.2053 Tj
--222 TJm
-(of) 8.29885 Tj
--222 TJm
-(stability) 32.1095 Tj
-65 TJm
-(.) 2.49065 Tj
--601 TJm
-(Creating) 34.3112 Tj
--222 TJm
-(yet) 12.1743 Tj
--222 TJm
-(another) 29.8778 Tj
--222 TJm
-(incompatible) 52.0247 Tj
--221 TJm
-(compressed) 47.0334 Tj
--222 TJm
-(\002le) 12.7322 Tj
--222 TJm
-(format) 26.5603 Tj
--222 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--222 TJm
-(create) 23.7807 Tj
-72 478.983 Td
-(further) 27.1082 Tj
--250 TJm
-(confusion) 39.2925 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(disruption) 40.4083 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(users.) 22.9638 Tj
-[1 0 0 1 72 476.826] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.6315] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -467.194] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 457.396 Td
-/F130_0 9.9626 Tf
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--234 TJm
-(this) 14.396 Tj
--229 TJm
-(is) 6.64505 Tj
--230 TJm
-(not) 12.7322 Tj
--229 TJm
-(a) 4.42339 Tj
--230 TJm
-(painless) 32.0995 Tj
--229 TJm
-(decision.) 35.696 Tj
--606 TJm
-(De) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(elopment) 37.0808 Tj
--230 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--230 TJm
-(since) 20.4731 Tj
--229 TJm
-(the) 12.1743 Tj
--230 TJm
-(release) 27.6562 Tj
--229 TJm
-(of) 8.29885 Tj
-[1 0 0 1 407.317 457.396] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -407.317 -457.396] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-407.317 457.396 Td
-/F134_0 9.9626 Tf
-(bzip2-0.1) 53.798 Tj
-[1 0 0 1 461.115 457.396] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -461.115 -457.396] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-463.402 457.396 Td
-/F130_0 9.9626 Tf
-(in) 7.7509 Tj
--230 TJm
-(August) 28.782 Tj
--229 TJm
-(1997) 19.9252 Tj
--230 TJm
-(has) 13.2801 Tj
-72 445.441 Td
-(sho) 13.8381 Tj
-25 TJm
-(wn) 12.1743 Tj
--226 TJm
-(comple) 29.3299 Tj
-15 TJm
-(xities) 21.589 Tj
--226 TJm
-(in) 7.7509 Tj
--225 TJm
-(the) 12.1743 Tj
--226 TJm
-(\002le) 12.7322 Tj
--226 TJm
-(format) 26.5603 Tj
--226 TJm
-(which) 24.3486 Tj
--226 TJm
-(slo) 11.6264 Tj
-25 TJm
-(w) 7.193 Tj
--225 TJm
-(do) 9.9626 Tj
-25 TJm
-(wn) 12.1743 Tj
--226 TJm
-(decompression) 59.7656 Tj
--226 TJm
-(and,) 16.8766 Tj
--231 TJm
-(in) 7.7509 Tj
--226 TJm
-(retrospect,) 41.7732 Tj
--230 TJm
-(are) 12.1643 Tj
--226 TJm
-(unnecessary) 48.6872 Tj
-65 TJm
-(.) 2.49065 Tj
--604 TJm
-(These) 23.7907 Tj
--226 TJm
-(are:) 14.9339 Tj
-[1 0 0 1 72 443.284] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -29.0613] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -414.222] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 414.222 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 414.222] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -414.222] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 414.222 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--265 TJm
-(run-length) 41.5042 Tj
--266 TJm
-(encoder) 31.5316 Tj
-40 TJm
-(,) 2.49065 Tj
--269 TJm
-(which) 24.3486 Tj
--265 TJm
-(is) 6.64505 Tj
--265 TJm
-(the) 12.1743 Tj
--266 TJm
-(\002rst) 15.5018 Tj
--265 TJm
-(of) 8.29885 Tj
--265 TJm
-(the) 12.1743 Tj
--266 TJm
-(compression) 50.3609 Tj
--265 TJm
-(transformations,) 65.0259 Tj
--269 TJm
-(is) 6.64505 Tj
--265 TJm
-(entirely) 30.4357 Tj
--266 TJm
-(irrele) 21.0211 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant.) 14.6649 Tj
--711 TJm
-(The) 15.4918 Tj
--266 TJm
-(original) 30.9936 Tj
-86.944 402.267 Td
-(purpose) 31.5416 Tj
--301 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--301 TJm
-(to) 7.7509 Tj
--301 TJm
-(protect) 27.6661 Tj
--301 TJm
-(the) 12.1743 Tj
--301 TJm
-(sorting) 27.6761 Tj
--301 TJm
-(algorithm) 38.7446 Tj
--301 TJm
-(from) 19.3673 Tj
--301 TJm
-(the) 12.1743 Tj
--301 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--301 TJm
-(w) 7.193 Tj
-10 TJm
-(orst) 14.9439 Tj
--301 TJm
-(case) 17.1456 Tj
--301 TJm
-(input:) 23.2527 Tj
--412 TJm
-(a) 4.42339 Tj
--301 TJm
-(string) 22.6948 Tj
--301 TJm
-(of) 8.29885 Tj
--301 TJm
-(repeated) 33.7433 Tj
--301 TJm
-(symbols.) 35.706 Tj
--927 TJm
-(But) 14.396 Tj
-86.944 390.312 Td
-(algorithm) 38.7446 Tj
--274 TJm
-(steps) 19.9252 Tj
--275 TJm
-(Q6a) 16.5977 Tj
--274 TJm
-(and) 14.386 Tj
--274 TJm
-(Q6b) 17.1556 Tj
--275 TJm
-(in) 7.7509 Tj
--274 TJm
-(the) 12.1743 Tj
--274 TJm
-(original) 30.9936 Tj
--275 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws-Wheel) 40.3884 Tj
-1 TJm
-(er) 7.74094 Tj
--275 TJm
-(technical) 35.965 Tj
--274 TJm
-(report) 23.7907 Tj
--274 TJm
-(\(SRC-124\)) 43.7259 Tj
--275 TJm
-(sho) 13.8381 Tj
-25 TJm
-(w) 7.193 Tj
--274 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--274 TJm
-(repeats) 28.2141 Tj
--275 TJm
-(can) 13.8281 Tj
-86.944 378.357 Td
-(be) 9.40469 Tj
--250 TJm
-(handled) 31.5416 Tj
--250 TJm
-(without) 30.4457 Tj
--250 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culty) 25.4644 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(block) 22.1369 Tj
--250 TJm
-(sorting.) 30.1668 Tj
-[1 0 0 1 269.617 378.357] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -197.617 -21.5867] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -356.77] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 356.77 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 356.77] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -356.77] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 356.77 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--293 TJm
-(randomisation) 57.006 Tj
--293 TJm
-(mechanism) 45.3796 Tj
--293 TJm
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--294 TJm
-(really) 22.6848 Tj
--293 TJm
-(need) 18.8094 Tj
--293 TJm
-(to) 7.7509 Tj
--293 TJm
-(be) 9.40469 Tj
--293 TJm
-(there.) 22.4059 Tj
--879 TJm
-(Udi) 14.9439 Tj
--294 TJm
-(Manber) 30.9837 Tj
--293 TJm
-(and) 14.386 Tj
--293 TJm
-(Gene) 21.0211 Tj
--293 TJm
-(Myers) 25.4544 Tj
--293 TJm
-(published) 38.7446 Tj
--294 TJm
-(a) 4.42339 Tj
--293 TJm
-(suf) 12.1743 Tj
-25 TJm
-(\002x) 10.5205 Tj
-86.944 344.815 Td
-(array) 20.4632 Tj
--238 TJm
-(construction) 49.2551 Tj
--239 TJm
-(algorithm) 38.7446 Tj
--238 TJm
-(a) 4.42339 Tj
--238 TJm
-(fe) 7.74094 Tj
-25 TJm
-(w) 7.193 Tj
--239 TJm
-(years) 21.0211 Tj
--238 TJm
-(back,) 21.3 Tj
--241 TJm
-(which) 24.3486 Tj
--238 TJm
-(can) 13.8281 Tj
--238 TJm
-(be) 9.40469 Tj
--239 TJm
-(emplo) 24.9065 Tj
-10 TJm
-(yed) 14.386 Tj
--238 TJm
-(to) 7.7509 Tj
--238 TJm
-(sort) 14.9439 Tj
--239 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--238 TJm
-(block,) 24.6275 Tj
--241 TJm
-(no) 9.9626 Tj
--238 TJm
-(matter) 25.4544 Tj
--238 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--239 TJm
-(repetiti) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.91404 Tj
-86.944 332.86 Td
-(in) 7.7509 Tj
--229 TJm
-(O\(N) 17.7035 Tj
--230 TJm
-(log) 12.7322 Tj
--229 TJm
-(N\)) 10.5105 Tj
--230 TJm
-(time.) 20.2042 Tj
--606 TJm
-(Subsequent) 45.9375 Tj
--230 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--229 TJm
-(by) 9.9626 Tj
--230 TJm
-(K) 7.193 Tj
-15 TJm
-(unihik) 25.4644 Tj
-10 TJm
-(o) 4.9813 Tj
--229 TJm
-(Sadakane) 38.1767 Tj
--229 TJm
-(has) 13.2801 Tj
--230 TJm
-(produced) 37.0708 Tj
--229 TJm
-(a) 4.42339 Tj
--230 TJm
-(deri) 15.4918 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ati) 9.9626 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--229 TJm
-(O\(N) 17.7035 Tj
--230 TJm
-(\(log) 16.0497 Tj
--229 TJm
-(N\)^2\)) 23.4818 Tj
--230 TJm
-(algorithm) 38.7446 Tj
-86.944 320.905 Td
-(which) 24.3486 Tj
--250 TJm
-(usually) 28.782 Tj
--250 TJm
-(outperforms) 48.6972 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(Manber) 30.9837 Tj
-20 TJm
-(-Myers) 28.772 Tj
--250 TJm
-(algorithm.) 41.2352 Tj
-[1 0 0 1 314.189 320.905] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -242.189 -11.7883] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -309.116] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 299.318 Td
-/F130_0 9.9626 Tf
-(I) 3.31755 Tj
--248 TJm
-(could) 22.1369 Tj
--248 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--248 TJm
-(changed) 33.1954 Tj
--248 TJm
-(to) 7.7509 Tj
--248 TJm
-(Sadakane') 41.4942 Tj
-55 TJm
-(s) 3.87545 Tj
--248 TJm
-(algorithm,) 41.2352 Tj
--249 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--248 TJm
-(I) 3.31755 Tj
--248 TJm
-(\002nd) 15.5018 Tj
--248 TJm
-(it) 5.53921 Tj
--248 TJm
-(to) 7.7509 Tj
--248 TJm
-(be) 9.40469 Tj
--248 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wer) 14.9339 Tj
--248 TJm
-(than) 17.1556 Tj
-[1 0 0 1 392.444 299.318] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -392.444 -299.318] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-392.444 299.318 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 422.332 299.318] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -422.332 -299.318] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-422.332 299.318 Td
-/F130_0 9.9626 Tf
-(') 3.31755 Tj
-55 TJm
-(s) 3.87545 Tj
--248 TJm
-(e) 4.42339 Tj
-15 TJm
-(xisting) 27.1282 Tj
--248 TJm
-(algorithm) 38.7446 Tj
--248 TJm
-(for) 11.6164 Tj
--248 TJm
-(most) 19.3773 Tj
-86.944 287.363 Td
-(inputs,) 26.8492 Tj
--370 TJm
-(and) 14.386 Tj
--345 TJm
-(the) 12.1743 Tj
--346 TJm
-(randomisation) 57.006 Tj
--346 TJm
-(mechanism) 45.3796 Tj
--345 TJm
-(protects) 31.5416 Tj
--346 TJm
-(adequately) 43.158 Tj
--345 TJm
-(ag) 9.40469 Tj
-5 TJm
-(ainst) 18.8194 Tj
--346 TJm
-(bad) 14.386 Tj
--346 TJm
-(cases.) 23.5117 Tj
--1194 TJm
-(I) 3.31755 Tj
--345 TJm
-(didn') 21.031 Tj
-18 TJm
-(t) 2.7696 Tj
--346 TJm
-(think) 20.4831 Tj
--346 TJm
-(it) 5.53921 Tj
--345 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--346 TJm
-(a) 4.42339 Tj
--346 TJm
-(good) 19.9252 Tj
-86.944 275.408 Td
-(tradeof) 28.2141 Tj
-25 TJm
-(f) 3.31755 Tj
--262 TJm
-(to) 7.7509 Tj
--261 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e.) 6.91404 Tj
--690 TJm
-(P) 5.53921 Tj
-15 TJm
-(artly) 18.2614 Tj
--262 TJm
-(this) 14.396 Tj
--261 TJm
-(is) 6.64505 Tj
--262 TJm
-(due) 14.386 Tj
--261 TJm
-(to) 7.7509 Tj
--262 TJm
-(the) 12.1743 Tj
--262 TJm
-(f) 3.31755 Tj
-10 TJm
-(act) 11.6164 Tj
--261 TJm
-(that) 14.9439 Tj
--262 TJm
-(I) 3.31755 Tj
--261 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--262 TJm
-(not) 12.7322 Tj
--262 TJm
-(\003ooded) 29.8878 Tj
--261 TJm
-(with) 17.7135 Tj
--262 TJm
-(email) 22.1369 Tj
--261 TJm
-(complaints) 43.7259 Tj
--262 TJm
-(about) 22.1369 Tj
-[1 0 0 1 479.557 275.408] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -479.557 -275.408] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-479.557 275.408 Td
-/F134_0 9.9626 Tf
-(bzip2-0.1) 53.798 Tj
-[1 0 0 1 533.355 275.408] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -533.355 -275.408] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-533.355 275.408 Td
-/F130_0 9.9626 Tf
-(') 3.31755 Tj
-55 TJm
-(s) 3.87545 Tj
-86.944 263.453 Td
-(performance) 50.341 Tj
--250 TJm
-(on) 9.9626 Tj
--250 TJm
-(repetiti) 28.224 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(data,) 19.0883 Tj
--250 TJm
-(so) 8.85675 Tj
--250 TJm
-(perhaps) 30.9837 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(isn') 14.9439 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(problem) 33.2053 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(real) 14.9339 Tj
--250 TJm
-(inputs.) 26.8492 Tj
-[1 0 0 1 72 261.296] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.6315] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -251.664] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 241.866 Td
-/F130_0 9.9626 Tf
-(Probably) 35.9749 Tj
--289 TJm
-(the) 12.1743 Tj
--288 TJm
-(best) 16.0497 Tj
--289 TJm
-(long-term) 39.2925 Tj
--289 TJm
-(solution,) 34.6001 Tj
--298 TJm
-(and) 14.386 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(one) 14.386 Tj
--288 TJm
-(I) 3.31755 Tj
--289 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--289 TJm
-(incorporated) 50.351 Tj
--288 TJm
-(into) 15.5018 Tj
--289 TJm
-(0.9.5) 19.9252 Tj
--289 TJm
-(and) 14.386 Tj
--288 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-14 TJm
-(e,) 6.91404 Tj
--298 TJm
-(is) 6.64505 Tj
--289 TJm
-(to) 7.7509 Tj
--288 TJm
-(use) 13.2801 Tj
--289 TJm
-(the) 12.1743 Tj
--289 TJm
-(e) 4.42339 Tj
-15 TJm
-(xisting) 27.1282 Tj
-86.944 229.911 Td
-(sorting) 27.6761 Tj
--451 TJm
-(algorithm) 38.7446 Tj
--452 TJm
-(initially) 31.0036 Tj
-65 TJm
-(,) 2.49065 Tj
--501 TJm
-(and) 14.386 Tj
--452 TJm
-(f) 3.31755 Tj
-10 TJm
-(all) 9.9626 Tj
--451 TJm
-(back) 18.8094 Tj
--452 TJm
-(to) 7.7509 Tj
--451 TJm
-(a) 4.42339 Tj
--451 TJm
-(O\(N) 17.7035 Tj
--452 TJm
-(\(log) 16.0497 Tj
--451 TJm
-(N\)^2\)) 23.4818 Tj
--451 TJm
-(algorithm) 38.7446 Tj
--452 TJm
-(if) 6.08715 Tj
--451 TJm
-(the) 12.1743 Tj
--452 TJm
-(standard) 33.7533 Tj
--451 TJm
-(algorithm) 38.7446 Tj
--451 TJm
-(gets) 16.0497 Tj
--452 TJm
-(into) 15.5018 Tj
-86.944 217.956 Td
-(dif) 11.0684 Tj
-25 TJm
-(\002culties.) 34.0422 Tj
-[1 0 0 1 72 217.856] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -21.4871] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -196.369] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 196.369 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 196.369] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -196.369] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 196.369 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--299 TJm
-(compressed) 47.0334 Tj
--299 TJm
-(\002le) 12.7322 Tj
--299 TJm
-(format) 26.5603 Tj
--299 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--300 TJm
-(ne) 9.40469 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--299 TJm
-(designed) 35.417 Tj
--299 TJm
-(to) 7.7509 Tj
--299 TJm
-(be) 9.40469 Tj
--299 TJm
-(handled) 31.5416 Tj
--299 TJm
-(by) 9.9626 Tj
--299 TJm
-(a) 4.42339 Tj
--299 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--312 TJm
-(and) 14.386 Tj
--299 TJm
-(I) 3.31755 Tj
--299 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--299 TJm
-(had) 14.386 Tj
--299 TJm
-(to) 7.7509 Tj
--299 TJm
-(jump) 20.4831 Tj
--300 TJm
-(though) 27.6761 Tj
--299 TJm
-(some) 21.031 Tj
-86.944 184.414 Td
-(hoops) 23.8007 Tj
--278 TJm
-(to) 7.7509 Tj
--277 TJm
-(produce) 32.0895 Tj
--278 TJm
-(an) 9.40469 Tj
--278 TJm
-(ef) 7.74094 Tj
-25 TJm
-(\002cient) 24.9065 Tj
--277 TJm
-(implementation) 62.5452 Tj
--278 TJm
-(of) 8.29885 Tj
--278 TJm
-(decompression.) 62.2563 Tj
--786 TJm
-(It') 9.40469 Tj
-55 TJm
-(s) 3.87545 Tj
--278 TJm
-(a) 4.42339 Tj
--277 TJm
-(bit) 10.5205 Tj
--278 TJm
-(hairy) 20.4731 Tj
-65 TJm
-(.) 2.49065 Tj
--786 TJm
-(T) 6.08715 Tj
-35 TJm
-(ry) 8.29885 Tj
--278 TJm
-(passing) 29.8878 Tj
-[1 0 0 1 468.269 184.414] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468.269 -184.414] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-468.269 184.414 Td
-/F134_0 9.9626 Tf
-(decompress.c) 71.7307 Tj
-[1 0 0 1 540 184.414] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -184.414] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 172.459 Td
-/F130_0 9.9626 Tf
-(through) 30.9936 Tj
--268 TJm
-(the) 12.1743 Tj
--268 TJm
-(C) 6.64505 Tj
--268 TJm
-(preprocessor) 50.8989 Tj
--269 TJm
-(and) 14.386 Tj
--268 TJm
-(you') 18.2614 Tj
-10 TJm
-(ll) 5.53921 Tj
--268 TJm
-(see) 12.7222 Tj
--268 TJm
-(what) 19.3673 Tj
--268 TJm
-(I) 3.31755 Tj
--268 TJm
-(mean.) 24.0696 Tj
--729 TJm
-(Much) 23.2427 Tj
--268 TJm
-(of) 8.29885 Tj
--269 TJm
-(this) 14.396 Tj
--268 TJm
-(comple) 29.3299 Tj
-15 TJm
-(xity) 15.5018 Tj
--268 TJm
-(could) 22.1369 Tj
--268 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--268 TJm
-(been) 18.8094 Tj
--268 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-20 TJm
-(oided) 22.1369 Tj
--269 TJm
-(if) 6.08715 Tj
--268 TJm
-(the) 12.1743 Tj
-86.944 160.503 Td
-(compressed) 47.0334 Tj
--250 TJm
-(size) 15.4918 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(each) 18.2515 Tj
--250 TJm
-(block) 22.1369 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--250 TJm
-(recorded) 34.8492 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(data) 16.5977 Tj
--250 TJm
-(stream.) 29.0509 Tj
-[1 0 0 1 368.754 160.503] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -296.754 -21.5867] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -138.917] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 138.917 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 138.917] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -138.917] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 138.917 Td
-/F130_0 9.9626 Tf
-(An) 12.1743 Tj
--250 TJm
-(Adler) 22.6848 Tj
-20 TJm
-(-32) 13.2801 Tj
--250 TJm
-(checksum,) 42.3311 Tj
--250 TJm
-(rather) 23.2328 Tj
--250 TJm
-(than) 17.1556 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(CRC32) 29.8978 Tj
--250 TJm
-(checksum,) 42.3311 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(f) 3.31755 Tj
-10 TJm
-(aster) 18.8094 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(compute.) 36.8018 Tj
-[1 0 0 1 424.934 138.917] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -352.934 -11.7883] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -127.128] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 117.33 Td
-/F130_0 9.9626 Tf
-(It) 6.08715 Tj
--349 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--349 TJm
-(be) 9.40469 Tj
--349 TJm
-(f) 3.31755 Tj
-10 TJm
-(air) 10.5105 Tj
--348 TJm
-(to) 7.7509 Tj
--349 TJm
-(say) 13.2801 Tj
--349 TJm
-(that) 14.9439 Tj
--349 TJm
-(the) 12.1743 Tj
-[1 0 0 1 201.979 117.33] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -201.979 -117.33] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-201.979 117.33 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 231.867 117.33] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -231.867 -117.33] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-235.342 117.33 Td
-/F130_0 9.9626 Tf
-(format) 26.5603 Tj
--349 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--349 TJm
-(frozen) 25.4445 Tj
--348 TJm
-(before) 25.4445 Tj
--349 TJm
-(I) 3.31755 Tj
--349 TJm
-(properly) 33.7533 Tj
--349 TJm
-(and) 14.386 Tj
--349 TJm
-(fully) 18.8194 Tj
--349 TJm
-(understood) 44.2738 Tj
--348 TJm
-(the) 12.1743 Tj
--349 TJm
-(performance) 50.341 Tj
-72 105.375 Td
-(consequences) 54.7744 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(doing) 22.6948 Tj
--250 TJm
-(so.) 11.3474 Tj
-[1 0 0 1 72 103.218] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.6315] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -93.5867] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 83.7883 Td
-/F130_0 9.9626 Tf
-(Impro) 24.3486 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(ements) 28.224 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(I) 3.31755 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(as) 8.29885 Tj
--250 TJm
-(able) 16.5977 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(incorporate) 45.3697 Tj
--250 TJm
-(into) 15.5018 Tj
--250 TJm
-(0.9.0,) 22.4159 Tj
--250 TJm
-(despite) 28.224 Tj
--250 TJm
-(using) 21.589 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(same) 20.4731 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(format,) 29.0509 Tj
--250 TJm
-(are:) 14.9339 Tj
-[1 0 0 1 72 81.6315] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -30.7796] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(31) 9.9626 Tj
-[1 0 0 1 453.269 50.8519] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 35 35
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 116.328 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -382.4 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.728 749.245 Td
-/F130_0 9.9626 Tf
-(Miscellanea) 48.1393 Tj
-[1 0 0 1 266.071 749.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -7.0936] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -31.5168] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 710.037 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 710.037 Td
-/F130_0 9.9626 Tf
-(Single) 25.4644 Tj
--202 TJm
-(array) 20.4632 Tj
--201 TJm
-(implementation) 62.5452 Tj
--202 TJm
-(of) 8.29885 Tj
--202 TJm
-(the) 12.1743 Tj
--201 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(erse) 16.0398 Tj
--202 TJm
-(BWT) 22.1369 Tj
-74 TJm
-(.) 2.49065 Tj
--403 TJm
-(This) 17.7135 Tj
--202 TJm
-(signi\002cantly) 49.2651 Tj
--201 TJm
-(speeds) 26.5603 Tj
--202 TJm
-(up) 9.9626 Tj
--202 TJm
-(decompression,) 62.2563 Tj
--211 TJm
-(presumably) 46.4855 Tj
--202 TJm
-(because) 31.5316 Tj
-86.944 698.082 Td
-(it) 5.53921 Tj
--250 TJm
-(reduces) 30.4258 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(number) 30.4357 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(cache) 22.6749 Tj
--250 TJm
-(misses.) 29.0609 Tj
-[1 0 0 1 240.496 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -168.496 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 676.164 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 676.164] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -676.164] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 676.164 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(aster) 18.8094 Tj
--314 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(erse) 16.0398 Tj
--315 TJm
-(MTF) 20.4831 Tj
--314 TJm
-(transform) 38.7346 Tj
--315 TJm
-(for) 11.6164 Tj
--314 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.40469 Tj
--315 TJm
-(MTF) 20.4831 Tj
--314 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues.) 22.9638 Tj
--504 TJm
-(The) 15.4918 Tj
--314 TJm
-(ne) 9.40469 Tj
-25 TJm
-(w) 7.193 Tj
--314 TJm
-(implementation) 62.5452 Tj
--315 TJm
-(is) 6.64505 Tj
--314 TJm
-(based) 22.6848 Tj
--315 TJm
-(on) 9.9626 Tj
--314 TJm
-(the) 12.1743 Tj
--315 TJm
-(notion) 25.4644 Tj
--314 TJm
-(of) 8.29885 Tj
--315 TJm
-(sliding) 27.1282 Tj
-86.944 664.209 Td
-(blocks) 26.0123 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(v) 4.9813 Tj
-25 TJm
-(alues.) 22.9638 Tj
-[1 0 0 1 153.932 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -81.9321 -21.9178] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 642.291 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 642.291 Td
-/F134_0 9.9626 Tf
-(bzip2-0.9.0) 65.7532 Tj
-[1 0 0 1 152.697 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -152.697 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-155.412 642.291 Td
-/F130_0 9.9626 Tf
-(no) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--272 TJm
-(reads) 21.0211 Tj
--273 TJm
-(and) 14.386 Tj
--272 TJm
-(writes) 24.3486 Tj
--273 TJm
-(\002les) 16.6077 Tj
--272 TJm
-(with) 17.7135 Tj
-[1 0 0 1 282.68 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -282.68 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-282.68 642.291 Td
-/F134_0 9.9626 Tf
-(fread) 29.8878 Tj
-[1 0 0 1 312.568 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -312.568 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-315.282 642.291 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 332.383 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -332.383 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-332.383 642.291 Td
-/F134_0 9.9626 Tf
-(fwrite) 35.8654 Tj
-[1 0 0 1 368.248 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -368.248 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-368.248 642.291 Td
-/F130_0 9.9626 Tf
-(;) 2.7696 Tj
--284 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--272 TJm
-(0.1) 12.4533 Tj
--273 TJm
-(used) 18.2614 Tj
-[1 0 0 1 441.882 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -441.882 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-441.882 642.291 Td
-/F134_0 9.9626 Tf
-(putc) 23.9102 Tj
-[1 0 0 1 465.792 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -465.792 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-468.507 642.291 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 485.607 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -485.607 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-485.607 642.291 Td
-/F134_0 9.9626 Tf
-(getc) 23.9102 Tj
-[1 0 0 1 509.517 642.291] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -509.517 -642.291] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-509.517 642.291 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--755 TJm
-(Duh!) 20.4731 Tj
-86.944 630.336 Td
-(W) 9.40469 Tj
-80 TJm
-(ell,) 12.4533 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(li) 5.53921 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(learn.) 22.4059 Tj
-[1 0 0 1 184.248 630.336] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -112.248 -12.1195] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -618.217] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 608.418 Td
-/F130_0 9.9626 Tf
-(Further) 29.3299 Tj
--304 TJm
-(ahead,) 25.7234 Tj
--318 TJm
-(it) 5.53921 Tj
--305 TJm
-(w) 7.193 Tj
-10 TJm
-(ould) 17.7135 Tj
--304 TJm
-(be) 9.40469 Tj
--305 TJm
-(nice) 16.5977 Tj
--304 TJm
-(to) 7.7509 Tj
--305 TJm
-(be) 9.40469 Tj
--304 TJm
-(able) 16.5977 Tj
--304 TJm
-(to) 7.7509 Tj
--305 TJm
-(do) 9.9626 Tj
--304 TJm
-(random) 30.4357 Tj
--305 TJm
-(access) 25.4445 Tj
--304 TJm
-(into) 15.5018 Tj
--305 TJm
-(\002les.) 19.0983 Tj
--946 TJm
-(This) 17.7135 Tj
--305 TJm
-(will) 15.5018 Tj
--304 TJm
-(require) 28.2141 Tj
--304 TJm
-(some) 21.031 Tj
--305 TJm
-(careful) 27.6562 Tj
--304 TJm
-(design) 26.0123 Tj
--305 TJm
-(of) 8.29885 Tj
-72 596.463 Td
-(compressed) 47.0334 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(formats.) 32.9264 Tj
-[1 0 0 1 72 594.306] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -584.344] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 561.71 Td
-/F122_0 20.6585 Tf
-(4.2.) 34.4584 Tj
--278 TJm
-(P) 13.7792 Tj
-40 TJm
-(or) 20.6585 Tj
--20 TJm
-(tability) 66.5823 Tj
--278 TJm
-(issues) 64.3099 Tj
-[1 0 0 1 72 557.434] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -547.472] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 539.793 Td
-/F130_0 9.9626 Tf
-(After) 21.0211 Tj
--250 TJm
-(some) 21.031 Tj
--250 TJm
-(consideration,) 56.1691 Tj
--250 TJm
-(I) 3.31755 Tj
--250 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(decided) 30.9837 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(use) 13.2801 Tj
--250 TJm
-(GNU) 21.579 Tj
-[1 0 0 1 303.231 539.793] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -303.231 -539.793] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-303.231 539.793 Td
-/F134_0 9.9626 Tf
-(autoconf) 47.8205 Tj
-[1 0 0 1 351.052 539.793] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -351.052 -539.793] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-353.542 539.793 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--250 TJm
-(con\002gure) 37.6287 Tj
--250 TJm
-(0.9.5) 19.9252 Tj
--250 TJm
-(or) 8.29885 Tj
--250 TJm
-(1.0.) 14.9439 Tj
-[1 0 0 1 72 537.636] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -527.673] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 517.875 Td
-/F134_0 9.9626 Tf
-(autoconf) 47.8205 Tj
-[1 0 0 1 119.821 517.875] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -119.821 -517.875] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-119.821 517.875 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--502 TJm
-(admirable) 39.8404 Tj
--452 TJm
-(and) 14.386 Tj
--452 TJm
-(w) 7.193 Tj
-10 TJm
-(onderful) 33.7533 Tj
--452 TJm
-(though) 27.6761 Tj
--452 TJm
-(it) 5.53921 Tj
--452 TJm
-(is,) 9.1357 Tj
--502 TJm
-(mainly) 27.6761 Tj
--452 TJm
-(assists) 25.4644 Tj
--452 TJm
-(with) 17.7135 Tj
--452 TJm
-(portability) 41.5142 Tj
--452 TJm
-(problems) 37.0808 Tj
--452 TJm
-(between) 33.1954 Tj
--452 TJm
-(Unix-lik) 33.7633 Tj
-10 TJm
-(e) 4.42339 Tj
-72 505.92 Td
-(platforms.) 40.6773 Tj
--1398 TJm
-(But) 14.396 Tj
-[1 0 0 1 144.784 505.92] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -144.784 -505.92] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-144.784 505.92 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 174.672 505.92] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -174.672 -505.92] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-178.455 505.92 Td
-/F130_0 9.9626 Tf
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--380 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--379 TJm
-(much) 22.1369 Tj
--380 TJm
-(in) 7.7509 Tj
--380 TJm
-(the) 12.1743 Tj
--379 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.40469 Tj
--380 TJm
-(of) 8.29885 Tj
--380 TJm
-(portability) 41.5142 Tj
--379 TJm
-(problems) 37.0808 Tj
--380 TJm
-(on) 9.9626 Tj
--380 TJm
-(Unix;) 22.6948 Tj
--444 TJm
-(most) 19.3773 Tj
--380 TJm
-(of) 8.29885 Tj
--380 TJm
-(the) 12.1743 Tj
--379 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culties) 31.5516 Tj
-72 493.964 Td
-(appear) 26.5503 Tj
--297 TJm
-(when) 21.579 Tj
--296 TJm
-(po) 9.9626 Tj
--1 TJm
-(r) 3.31755 Tj
-1 TJm
-(ting) 15.5018 Tj
--297 TJm
-(to) 7.7509 Tj
--297 TJm
-(the) 12.1743 Tj
--297 TJm
-(Mac,) 20.1942 Tj
--308 TJm
-(or) 8.29885 Tj
--297 TJm
-(to) 7.7509 Tj
--297 TJm
-(Microsoft') 42.61 Tj
-55 TJm
-(s) 3.87545 Tj
--296 TJm
-(operating) 37.6287 Tj
--297 TJm
-(systems.) 34.0422 Tj
-[1 0 0 1 361.339 493.964] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -361.339 -493.964] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-361.339 493.964 Td
-/F134_0 9.9626 Tf
-(autoconf) 47.8205 Tj
-[1 0 0 1 409.16 493.964] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -409.16 -493.964] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-412.116 493.964 Td
-/F130_0 9.9626 Tf
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--297 TJm
-(help) 17.1556 Tj
--296 TJm
-(in) 7.7509 Tj
--297 TJm
-(those) 21.031 Tj
--297 TJm
-(cases,) 23.5117 Tj
--308 TJm
-(and) 14.386 Tj
-72 482.009 Td
-(brings) 24.9065 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(whole) 24.3486 Tj
--250 TJm
-(load) 17.1556 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(ne) 9.40469 Tj
-25 TJm
-(w) 7.193 Tj
--250 TJm
-(comple) 29.3299 Tj
-15 TJm
-(xity) 15.5018 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 479.852] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -469.89] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 460.091 Td
-/F130_0 9.9626 Tf
-(Most) 20.4831 Tj
--392 TJm
-(people) 26.5603 Tj
--392 TJm
-(should) 26.5703 Tj
--393 TJm
-(be) 9.40469 Tj
--392 TJm
-(able) 16.5977 Tj
--392 TJm
-(to) 7.7509 Tj
--392 TJm
-(compile) 32.0995 Tj
--393 TJm
-(the) 12.1743 Tj
--392 TJm
-(library) 26.5603 Tj
--392 TJm
-(and) 14.386 Tj
--392 TJm
-(program) 33.7533 Tj
--393 TJm
-(under) 22.6848 Tj
--392 TJm
-(Unix) 19.9252 Tj
--392 TJm
-(straight) 29.8878 Tj
--392 TJm
-(out-of-the-box,) 60.5925 Tj
--428 TJm
-(so) 8.85675 Tj
--392 TJm
-(to) 7.7509 Tj
--393 TJm
-(speak,) 25.1755 Tj
-72 448.136 Td
-(especially) 39.8404 Tj
--250 TJm
-(if) 6.08715 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersion) 24.3486 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(GNU) 21.579 Tj
--250 TJm
-(C) 6.64505 Tj
--250 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable.) 29.0509 Tj
-[1 0 0 1 72 445.979] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -436.017] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 426.218 Td
-/F130_0 9.9626 Tf
-(There) 23.2328 Tj
--259 TJm
-(are) 12.1643 Tj
--258 TJm
-(a) 4.42339 Tj
--259 TJm
-(couple) 26.5603 Tj
--258 TJm
-(of) 8.29885 Tj
-[1 0 0 1 159.561 426.218] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -159.561 -426.218] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-159.561 426.218 Td
-/F134_0 9.9626 Tf
-(__inline__) 59.7756 Tj
-[1 0 0 1 219.337 426.218] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -219.337 -426.218] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-221.913 426.218 Td
-/F130_0 9.9626 Tf
-(directi) 25.4544 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
--259 TJm
-(in) 7.7509 Tj
--258 TJm
-(the) 12.1743 Tj
--259 TJm
-(code.) 21.3 Tj
--671 TJm
-(GNU) 21.579 Tj
--259 TJm
-(C) 6.64505 Tj
--258 TJm
-(\() 3.31755 Tj
-[1 0 0 1 352.587 426.218] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -352.587 -426.218] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-352.587 426.218 Td
-/F134_0 9.9626 Tf
-(gcc) 17.9327 Tj
-[1 0 0 1 370.52 426.218] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -370.52 -426.218] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-370.52 426.218 Td
-/F130_0 9.9626 Tf
-(\)) 3.31755 Tj
--259 TJm
-(should) 26.5703 Tj
--258 TJm
-(be) 9.40469 Tj
--259 TJm
-(able) 16.5977 Tj
--258 TJm
-(to) 7.7509 Tj
--259 TJm
-(handle) 26.5603 Tj
--259 TJm
-(them.) 22.4159 Tj
--671 TJm
-(If) 6.63509 Tj
--259 TJm
-(you') 18.2614 Tj
-50 TJm
-(re) 7.74094 Tj
-72 414.263 Td
-(not) 12.7322 Tj
--279 TJm
-(using) 21.589 Tj
--279 TJm
-(GNU) 21.579 Tj
--279 TJm
-(C,) 9.1357 Tj
--279 TJm
-(your) 18.2614 Tj
--279 TJm
-(C) 6.64505 Tj
--279 TJm
-(compiler) 35.417 Tj
--279 TJm
-(shouldn') 34.8691 Tj
-18 TJm
-(t) 2.7696 Tj
--279 TJm
-(see) 12.7222 Tj
--279 TJm
-(them) 19.9252 Tj
--279 TJm
-(at) 7.193 Tj
--279 TJm
-(all.) 12.4533 Tj
--794 TJm
-(If) 6.63509 Tj
--279 TJm
-(your) 18.2614 Tj
--279 TJm
-(compiler) 35.417 Tj
--279 TJm
-(does,) 20.7521 Tj
--286 TJm
-(for) 11.6164 Tj
--279 TJm
-(some) 21.031 Tj
--279 TJm
-(reason,) 28.493 Tj
--287 TJm
-(see) 12.7222 Tj
--279 TJm
-(them) 19.9252 Tj
--279 TJm
-(and) 14.386 Tj
-72 402.308 Td
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--283 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.42339 Tj
--283 TJm
-(them,) 22.4159 Tj
--291 TJm
-(just) 14.396 Tj
-[1 0 0 1 164.167 402.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -164.167 -402.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-164.167 402.308 Td
-/F134_0 9.9626 Tf
-(#define) 41.8429 Tj
-[1 0 0 1 206.01 402.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.8196 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -208.829 -402.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-208.829 402.308 Td
-/F134_0 9.9626 Tf
-(__inline__) 59.7756 Tj
-[1 0 0 1 268.605 402.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -268.605 -402.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-271.425 402.308 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--283 TJm
-(be) 9.40469 Tj
-[1 0 0 1 294.22 402.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -294.22 -402.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-294.22 402.308 Td
-/F134_0 9.9626 Tf
-(/) 5.97756 Tj
-300.197 400.565 Td
-(*) 5.97756 Tj
--600 TJm
-(*) 5.97756 Tj
-318.13 402.308 Td
-(/) 5.97756 Tj
-[1 0 0 1 324.108 402.308] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -324.108 -402.308] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-324.108 402.308 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--818 TJm
-(One) 16.5977 Tj
--283 TJm
-(easy) 17.7035 Tj
--283 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.40469 Tj
--283 TJm
-(to) 7.7509 Tj
--283 TJm
-(do) 9.9626 Tj
--283 TJm
-(this) 14.396 Tj
--283 TJm
-(is) 6.64505 Tj
--283 TJm
-(to) 7.7509 Tj
--283 TJm
-(compile) 32.0995 Tj
--283 TJm
-(with) 17.7135 Tj
--283 TJm
-(the) 12.1743 Tj
--283 TJm
-(\003ag) 14.9439 Tj
-[1 0 0 1 72 390.353] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -390.353] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 390.353 Td
-/F134_0 9.9626 Tf
-(-D__inline__=) 77.7083 Tj
-[1 0 0 1 149.709 390.353] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -149.709 -390.353] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-149.709 390.353 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--250 TJm
-(which) 24.3486 Tj
--250 TJm
-(should) 26.5703 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(understood) 44.2738 Tj
--250 TJm
-(by) 9.9626 Tj
--250 TJm
-(most) 19.3773 Tj
--250 TJm
-(Unix) 19.9252 Tj
--250 TJm
-(compilers.) 41.7831 Tj
-[1 0 0 1 72 388.196] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -378.233] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 368.435 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--321 TJm
-(you) 14.9439 Tj
--321 TJm
-(still) 14.9539 Tj
--322 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--321 TJm
-(dif) 11.0684 Tj
-25 TJm
-(\002culties,) 34.0422 Tj
--339 TJm
-(try) 11.0684 Tj
--321 TJm
-(compiling) 40.4083 Tj
--321 TJm
-(with) 17.7135 Tj
--322 TJm
-(t) 2.7696 Tj
-1 TJm
-(he) 9.40469 Tj
--322 TJm
-(macro) 24.8965 Tj
-[1 0 0 1 310.295 368.435] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -310.295 -368.435] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-310.295 368.435 Td
-/F134_0 9.9626 Tf
-(BZ_STRICT_ANSI) 83.6858 Tj
-[1 0 0 1 393.981 368.435] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -393.981 -368.435] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-397.18 368.435 Td
-/F130_0 9.9626 Tf
-(de\002ned.) 31.8205 Tj
--524 TJm
-(This) 17.7135 Tj
--321 TJm
-(should) 26.5703 Tj
--321 TJm
-(enable) 26.0024 Tj
--321 TJm
-(you) 14.9439 Tj
--322 TJm
-(to) 7.7509 Tj
-72 356.48 Td
-(b) 4.9813 Tj
-20 TJm
-(uild) 15.5018 Tj
--321 TJm
-(the) 12.1743 Tj
--321 TJm
-(library) 26.5603 Tj
--322 TJm
-(in) 7.7509 Tj
--321 TJm
-(a) 4.42339 Tj
--321 TJm
-(strictly) 27.6761 Tj
--321 TJm
-(ANSI) 23.2427 Tj
--321 TJm
-(compliant) 39.8504 Tj
--322 TJm
-(en) 9.40469 Tj
-40 TJm
-(vironment.) 43.4469 Tj
--1047 TJm
-(Building) 34.8791 Tj
--321 TJm
-(the) 12.1743 Tj
--321 TJm
-(program) 33.7533 Tj
--322 TJm
-(itself) 19.9252 Tj
--321 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e) 4.42339 Tj
--321 TJm
-(this) 14.396 Tj
--321 TJm
-(is) 6.64505 Tj
--321 TJm
-(dangerous) 40.9463 Tj
--322 TJm
-(and) 14.386 Tj
-72 344.525 Td
-(not) 12.7322 Tj
--260 TJm
-(supported,) 41.7831 Tj
--263 TJm
-(since) 20.4731 Tj
--260 TJm
-(you) 14.9439 Tj
--260 TJm
-(remo) 20.4731 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
-[1 0 0 1 204.498 344.525] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -204.498 -344.525] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-204.498 344.525 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 234.386 344.525] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -234.386 -344.525] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-234.386 344.525 Td
-/F130_0 9.9626 Tf
-(') 3.31755 Tj
-55 TJm
-(s) 3.87545 Tj
--260 TJm
-(checks) 27.1082 Tj
--260 TJm
-(ag) 9.40469 Tj
-5 TJm
-(ainst) 18.8194 Tj
--261 TJm
-(compressi) 40.3983 Tj
-1 TJm
-(ng) 9.9626 Tj
--261 TJm
-(directories,) 44.5428 Tj
--262 TJm
-(symbolic) 36.5329 Tj
--261 TJm
-(links,) 21.8679 Tj
--262 TJm
-(de) 9.40469 Tj
-25 TJm
-(vices,) 22.9638 Tj
--263 TJm
-(and) 14.386 Tj
--260 TJm
-(other) 20.4731 Tj
-72 332.57 Td
-(not-really-a-\002le) 62.5253 Tj
--250 TJm
-(entities.) 31.2726 Tj
--620 TJm
-(This) 17.7135 Tj
--250 TJm
-(could) 22.1369 Tj
--250 TJm
-(cause) 22.1269 Tj
--250 TJm
-(\002lesystem) 40.4083 Tj
--250 TJm
-(corruption!) 44.8217 Tj
-[1 0 0 1 72 330.413] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -320.45] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 310.652 Td
-/F130_0 9.9626 Tf
-(One) 16.5977 Tj
--392 TJm
-(other) 20.4731 Tj
--391 TJm
-(thing:) 23.2527 Tj
--594 TJm
-(if) 6.08715 Tj
--391 TJm
-(you) 14.9439 Tj
--392 TJm
-(create) 23.7807 Tj
--391 TJm
-(a) 4.42339 Tj
-[1 0 0 1 210.879 310.652] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.879 -310.652] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-210.879 310.652 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 240.767 310.652] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -240.767 -310.652] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-244.669 310.652 Td
-/F130_0 9.9626 Tf
-(binary) 25.4544 Tj
--392 TJm
-(for) 11.6164 Tj
--391 TJm
-(public) 24.9065 Tj
--392 TJm
-(distrib) 25.4644 Tj
-20 TJm
-(ution,) 22.9738 Tj
--427 TJm
-(please) 24.8965 Tj
--392 TJm
-(consider) 33.7533 Tj
--391 TJm
-(linking) 28.234 Tj
--392 TJm
-(it) 5.53921 Tj
--391 TJm
-(statically) 35.9749 Tj
--392 TJm
-(\() 3.31755 Tj
-[1 0 0 1 522.067 310.652] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -522.067 -310.652] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-522.067 310.652 Td
-/F134_0 9.9626 Tf
-(gcc) 17.9327 Tj
-72 298.697 Td
-(-static) 41.8429 Tj
-[1 0 0 1 113.843 298.697] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -113.843 -298.697] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-113.843 298.697 Td
-/F130_0 9.9626 Tf
-(\).) 5.8082 Tj
--620 TJm
-(This) 17.7135 Tj
--250 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-20 TJm
-(oids) 16.6077 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(sorts) 18.8194 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(library-v) 34.8591 Tj
-15 TJm
-(ersion) 24.3486 Tj
--250 TJm
-(issues) 23.8007 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(others) 24.3486 Tj
--250 TJm
-(may) 17.1556 Tj
--250 TJm
-(encounter) 39.2825 Tj
--250 TJm
-(later) 17.7035 Tj
--250 TJm
-(on.) 12.4533 Tj
-[1 0 0 1 72 296.54] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -286.577] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 276.779 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--296 TJm
-(you) 14.9439 Tj
--296 TJm
-(b) 4.9813 Tj
-20 TJm
-(uild) 15.5018 Tj
-[1 0 0 1 122.709 276.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -122.709 -276.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-122.709 276.779 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 152.596 276.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -152.596 -276.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-155.545 276.779 Td
-/F130_0 9.9626 Tf
-(on) 9.9626 Tj
--296 TJm
-(W) 9.40469 Tj
-40 TJm
-(in32,) 20.2042 Tj
--307 TJm
-(you) 14.9439 Tj
--296 TJm
-(must) 19.3773 Tj
--296 TJm
-(set) 11.0684 Tj
-[1 0 0 1 254.965 276.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -254.965 -276.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-254.965 276.779 Td
-/F134_0 9.9626 Tf
-(BZ_UNIX) 41.8429 Tj
-[1 0 0 1 296.808 276.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -296.808 -276.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-299.756 276.779 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--296 TJm
-(0) 4.9813 Tj
--296 TJm
-(and) 14.386 Tj
-[1 0 0 1 335.72 276.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -335.72 -276.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-335.72 276.779 Td
-/F134_0 9.9626 Tf
-(BZ_LCCWIN32) 65.7532 Tj
-[1 0 0 1 401.473 276.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -401.473 -276.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-404.422 276.779 Td
-/F130_0 9.9626 Tf
-(to) 7.7509 Tj
--296 TJm
-(1,) 7.47195 Tj
--307 TJm
-(in) 7.7509 Tj
--296 TJm
-(the) 12.1743 Tj
--296 TJm
-(\002le) 12.7322 Tj
-[1 0 0 1 467.159 276.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -467.159 -276.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-467.159 276.779 Td
-/F134_0 9.9626 Tf
-(bzip2.c) 41.8429 Tj
-[1 0 0 1 509.002 276.779] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -509.002 -276.779] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-509.002 276.779 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--307 TJm
-(before) 25.4445 Tj
-72 264.824 Td
-(compiling.) 42.899 Tj
--310 TJm
-(Otherwise) 40.9463 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(resulting) 34.8691 Tj
--250 TJm
-(binary) 25.4544 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ork) 13.2801 Tj
--250 TJm
-(correctly) 35.4071 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 262.667] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -252.704] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 230.071 Td
-/F122_0 20.6585 Tf
-(4.3.) 34.4584 Tj
--278 TJm
-(Repor) 59.6824 Tj
--20 TJm
-(ting) 37.867 Tj
--278 TJm
-(b) 12.6223 Tj
-20 TJm
-(ugs) 36.7308 Tj
-[1 0 0 1 72 225.474] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -215.512] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 208.153 Td
-/F130_0 9.9626 Tf
-(I) 3.31755 Tj
--228 TJm
-(tried) 18.2614 Tj
--228 TJm
-(pretty) 23.2427 Tj
--228 TJm
-(hard) 17.7035 Tj
--228 TJm
-(to) 7.7509 Tj
--228 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--228 TJm
-(sure) 16.5977 Tj
-[1 0 0 1 196.25 208.153] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -196.25 -208.153] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-196.25 208.153 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 226.138 208.153] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -226.138 -208.153] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-228.409 208.153 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--228 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--228 TJm
-(free,) 17.9725 Tj
--232 TJm
-(both) 17.7135 Tj
--228 TJm
-(by) 9.9626 Tj
--228 TJm
-(design) 26.0123 Tj
--228 TJm
-(and) 14.386 Tj
--228 TJm
-(by) 9.9626 Tj
--228 TJm
-(testing.) 29.0609 Tj
--605 TJm
-(Hopefully) 40.3983 Tj
--228 TJm
-(you') 18.2614 Tj
-10 TJm
-(ll) 5.53921 Tj
--228 TJm
-(ne) 9.40469 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
--228 TJm
-(need) 18.8094 Tj
--228 TJm
-(to) 7.7509 Tj
--228 TJm
-(read) 17.1456 Tj
-72 196.198 Td
-(this) 14.396 Tj
--250 TJm
-(section) 28.224 Tj
--250 TJm
-(for) 11.6164 Tj
--250 TJm
-(real.) 17.4246 Tj
-[1 0 0 1 72 196.098] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -186.136] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 174.28 Td
-/F130_0 9.9626 Tf
-(Ne) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ertheless,) 37.3498 Tj
--313 TJm
-(if) 6.08715 Tj
-[1 0 0 1 137.751 174.28] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -137.751 -174.28] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-137.751 174.28 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 167.639 174.28] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -167.639 -174.28] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-170.634 174.28 Td
-/F130_0 9.9626 Tf
-(dies) 16.0497 Tj
--301 TJm
-(with) 17.7135 Tj
--300 TJm
-(a) 4.42339 Tj
--301 TJm
-(se) 8.29885 Tj
-15 TJm
-(gmentation) 44.8317 Tj
--300 TJm
-(f) 3.31755 Tj
-10 TJm
-(ault,) 17.4346 Tj
--314 TJm
-(a) 4.42339 Tj
--300 TJm
-(b) 4.9813 Tj
-20 TJm
-(us) 8.85675 Tj
--301 TJm
-(error) 19.3573 Tj
--300 TJm
-(or) 8.29885 Tj
--301 TJm
-(an) 9.40469 Tj
--301 TJm
-(internal) 30.4357 Tj
--300 TJm
-(assertion) 35.417 Tj
--301 TJm
-(f) 3.31755 Tj
-10 TJm
-(ailure,) 25.1755 Tj
--313 TJm
-(it) 5.53921 Tj
--301 TJm
-(wil) 12.7322 Tj
-1 TJm
-(l) 2.7696 Tj
--301 TJm
-(ask) 13.2801 Tj
--301 TJm
-(you) 14.9439 Tj
--300 TJm
-(to) 7.7509 Tj
-72 162.325 Td
-(email) 22.1369 Tj
--242 TJm
-(me) 12.1743 Tj
--243 TJm
-(a) 4.42339 Tj
--242 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--243 TJm
-(report.) 26.2813 Tj
--615 TJm
-(Experience) 44.8118 Tj
--242 TJm
-(from) 19.3673 Tj
--243 TJm
-(years) 21.0211 Tj
--242 TJm
-(of) 8.29885 Tj
--242 TJm
-(feedback) 35.955 Tj
--243 TJm
-(of) 8.29885 Tj
--242 TJm
-(bzip2) 22.1369 Tj
--243 TJm
-(users) 20.4731 Tj
--242 TJm
-(indicates) 35.417 Tj
--243 TJm
-(that) 14.9439 Tj
--242 TJm
-(almost) 26.5703 Tj
--242 TJm
-(all) 9.9626 Tj
--243 TJm
-(these) 20.4731 Tj
--242 TJm
-(problems) 37.0808 Tj
--243 TJm
-(can) 13.8281 Tj
-72 150.37 Td
-(be) 9.40469 Tj
--250 TJm
-(traced) 24.3386 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(either) 22.6848 Tj
--250 TJm
-(compiler) 35.417 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ugs) 13.8381 Tj
--250 TJm
-(or) 8.29885 Tj
--250 TJm
-(hardw) 24.8965 Tj
-10 TJm
-(are) 12.1643 Tj
--250 TJm
-(problems.) 39.5714 Tj
-[1 0 0 1 72 148.213] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -97.3611] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(32) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 36 36
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 116.328 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -382.4 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.728 749.245 Td
-/F130_0 9.9626 Tf
-(Miscellanea) 48.1393 Tj
-[1 0 0 1 266.071 749.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -7.0936] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -31.5168] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 710.037 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 710.037] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -710.037] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 710.037 Td
-/F130_0 9.9626 Tf
-(Recompile) 43.1679 Tj
--306 TJm
-(the) 12.1743 Tj
--306 TJm
-(program) 33.7533 Tj
--306 TJm
-(with) 17.7135 Tj
--306 TJm
-(no) 9.9626 Tj
--306 TJm
-(optimisation,) 52.3136 Tj
--320 TJm
-(and) 14.386 Tj
--306 TJm
-(see) 12.7222 Tj
--306 TJm
-(if) 6.08715 Tj
--306 TJm
-(it) 5.53921 Tj
--306 TJm
-(w) 7.193 Tj
-10 TJm
-(orks.) 19.6462 Tj
--956 TJm
-(And/or) 28.224 Tj
--306 TJm
-(try) 11.0684 Tj
--306 TJm
-(a) 4.42339 Tj
--306 TJm
-(dif) 11.0684 Tj
-25 TJm
-(ferent) 23.2328 Tj
--306 TJm
-(compiler) 35.417 Tj
-55 TJm
-(.) 2.49065 Tj
--956 TJm
-(I) 3.31755 Tj
--306 TJm
-(heard) 22.1269 Tj
--306 TJm
-(all) 9.9626 Tj
-86.944 698.082 Td
-(sorts) 18.8194 Tj
--282 TJm
-(of) 8.29885 Tj
--282 TJm
-(stories) 26.0123 Tj
--282 TJm
-(about) 22.1369 Tj
--283 TJm
-(v) 4.9813 Tj
-25 TJm
-(arious) 24.3486 Tj
--282 TJm
-(\003a) 9.9626 Tj
-20 TJm
-(v) 4.9813 Tj
-20 TJm
-(ours) 17.1556 Tj
--282 TJm
-(of) 8.29885 Tj
--282 TJm
-(GNU) 21.579 Tj
--282 TJm
-(C) 6.64505 Tj
--282 TJm
-(\(and) 17.7035 Tj
--282 TJm
-(other) 20.4731 Tj
--283 TJm
-(compilers\)) 42.61 Tj
--282 TJm
-(generating) 42.0521 Tj
--282 TJm
-(bad) 14.386 Tj
--282 TJm
-(code) 18.8094 Tj
--282 TJm
-(for) 11.6164 Tj
-[1 0 0 1 472.141 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.141 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-472.141 698.082 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 502.029 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -502.029 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-502.029 698.082 Td
-/F130_0 9.9626 Tf
-(,) 2.49065 Tj
--290 TJm
-(and) 14.386 Tj
--282 TJm
-(I') 6.63509 Tj
-50 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
-86.944 686.127 Td
-(run) 13.2801 Tj
--250 TJm
-(across) 24.8965 Tj
--250 TJm
-(tw) 9.9626 Tj
-10 TJm
-(o) 4.9813 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(e) 4.42339 Tj
-15 TJm
-(xamples) 33.2053 Tj
--250 TJm
-(myself.) 29.6088 Tj
-[1 0 0 1 237.767 686.127] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -165.767 -12.1195] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -674.007] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 664.209 Td
-/F130_0 9.9626 Tf
-(2.7.X) 22.1369 Tj
--280 TJm
-(v) 4.9813 Tj
-15 TJm
-(ersions) 28.224 Tj
--279 TJm
-(of) 8.29885 Tj
--280 TJm
-(GNU) 21.579 Tj
--279 TJm
-(C) 6.64505 Tj
--280 TJm
-(are) 12.1643 Tj
--279 TJm
-(kno) 14.9439 Tj
-25 TJm
-(wn) 12.1743 Tj
--280 TJm
-(to) 7.7509 Tj
--280 TJm
-(generate) 33.7433 Tj
--279 TJm
-(bad) 14.386 Tj
--280 TJm
-(code) 18.8094 Tj
--279 TJm
-(from) 19.3673 Tj
--280 TJm
-(time) 17.7135 Tj
--279 TJm
-(to) 7.7509 Tj
--280 TJm
-(time,) 20.2042 Tj
--287 TJm
-(at) 7.193 Tj
--280 TJm
-(high) 17.7135 Tj
--279 TJm
-(optimisation) 49.823 Tj
--280 TJm
-(le) 7.193 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(els.) 13.5591 Tj
--797 TJm
-(If) 6.63509 Tj
--280 TJm
-(you) 14.9439 Tj
-86.944 652.254 Td
-(get) 12.1743 Tj
--295 TJm
-(problems,) 39.5714 Tj
--307 TJm
-(try) 11.0684 Tj
--296 TJm
-(using) 21.589 Tj
--295 TJm
-(the) 12.1743 Tj
--296 TJm
-(\003ags) 18.8194 Tj
-[1 0 0 1 220.116 652.254] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -220.116 -652.254] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-220.116 652.254 Td
-/F134_0 9.9626 Tf
-(-O2) 17.9327 Tj
-[1 0 0 1 238.049 652.254] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.9438 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -240.993 -652.254] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-240.993 652.254 Td
-/F134_0 9.9626 Tf
-(-fomit-frame-pointer) 119.551 Tj
-[1 0 0 1 360.544 652.254] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.9438 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -363.488 -652.254] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-363.488 652.254 Td
-/F134_0 9.9626 Tf
-(-fno-strength-reduce) 119.551 Tj
-[1 0 0 1 483.04 652.254] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -483.04 -652.254] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-483.04 652.254 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--893 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--295 TJm
-(should) 26.5703 Tj
-86.944 640.299 Td
-(speci\002cally) 45.3796 Tj
-[1 0 0 1 134.814 640.299] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -134.814 -640.299] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-134.814 640.299 Td
-/F637_0 9.9626 Tf
-(not) 12.7322 Tj
-[1 0 0 1 147.546 640.299] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -147.546 -640.299] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-150.036 640.299 Td
-/F130_0 9.9626 Tf
-(use) 13.2801 Tj
-[1 0 0 1 165.807 640.299] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -165.807 -640.299] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-165.807 640.299 Td
-/F134_0 9.9626 Tf
-(-funroll-loops) 83.6858 Tj
-[1 0 0 1 249.493 640.299] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -249.493 -640.299] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-249.493 640.299 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
-[1 0 0 1 72 638.142] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -628.179] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 618.381 Td
-/F130_0 9.9626 Tf
-(Y) 7.193 Tj
-110 TJm
-(ou) 9.9626 Tj
--249 TJm
-(may) 17.1556 Tj
--249 TJm
-(notice) 24.3486 Tj
--248 TJm
-(that) 14.9439 Tj
--249 TJm
-(the) 12.1743 Tj
--249 TJm
-(Mak) 18.2614 Tj
-10 TJm
-(e\002le) 17.1556 Tj
--249 TJm
-(runs) 17.1556 Tj
--248 TJm
-(six) 11.6264 Tj
--249 TJm
-(tests) 17.7135 Tj
--249 TJm
-(as) 8.29885 Tj
--249 TJm
-(part) 15.4918 Tj
--249 TJm
-(of) 8.29885 Tj
--248 TJm
-(the) 12.1743 Tj
--249 TJm
-(b) 4.9813 Tj
-20 TJm
-(uild) 15.5018 Tj
--249 TJm
-(process.) 32.3685 Tj
--619 TJm
-(If) 6.63509 Tj
--249 TJm
-(the) 12.1743 Tj
--249 TJm
-(program) 33.7533 Tj
--248 TJm
-(passes) 25.4544 Tj
--249 TJm
-(all) 9.9626 Tj
--249 TJm
-(of) 8.29885 Tj
--249 TJm
-(these,) 22.9638 Tj
--249 TJm
-(it') 8.85675 Tj
-55 TJm
-(s) 3.87545 Tj
-86.944 606.426 Td
-(a) 4.42339 Tj
--250 TJm
-(pretty) 23.2427 Tj
--250 TJm
-(good) 19.9252 Tj
--250 TJm
-(\(b) 8.29885 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(not) 12.7322 Tj
--250 TJm
-(100%\)) 26.5603 Tj
--250 TJm
-(indication) 39.8504 Tj
--250 TJm
-(that) 14.9439 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(compiler) 35.417 Tj
--250 TJm
-(has) 13.2801 Tj
--250 TJm
-(done) 19.3673 Tj
--250 TJm
-(its) 9.41466 Tj
--250 TJm
-(job) 12.7322 Tj
--250 TJm
-(correctly) 35.4071 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 604.269] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -19.761] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -584.508] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 584.508 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 584.508] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -584.508] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 584.508 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
-[1 0 0 1 95.9558 584.508] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -95.9558 -584.508] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-95.9558 584.508 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 125.844 584.508] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -125.844 -584.508] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-128.22 584.508 Td
-/F130_0 9.9626 Tf
-(crashes) 29.3199 Tj
--239 TJm
-(randomly) 38.1866 Tj
-65 TJm
-(,) 2.49065 Tj
--240 TJm
-(and) 14.386 Tj
--239 TJm
-(the) 12.1743 Tj
--239 TJm
-(crashe) 25.4445 Tj
-1 TJm
-(s) 3.87545 Tj
--239 TJm
-(are) 12.1643 Tj
--239 TJm
-(not) 12.7322 Tj
--238 TJm
-(repeatable,) 43.427 Tj
--241 TJm
-(you) 14.9439 Tj
--239 TJm
-(may) 17.1556 Tj
--238 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--239 TJm
-(a) 4.42339 Tj
--238 TJm
-(\003ak) 14.9439 Tj
-15 TJm
-(y) 4.9813 Tj
--239 TJm
-(memory) 33.2053 Tj
--238 TJm
-(subsystem.) 44.0048 Tj
-[1 0 0 1 510.112 584.508] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -510.112 -584.508] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-510.112 584.508 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 540 584.508] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -584.508] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 572.553 Td
-/F130_0 9.9626 Tf
-(really) 22.6848 Tj
--254 TJm
-(hammers) 36.5229 Tj
--253 TJm
-(your) 18.2614 Tj
--254 TJm
-(memory) 33.2053 Tj
--253 TJm
-(hierarch) 32.6375 Tj
-5 TJm
-(y) 4.9813 Tj
-65 TJm
-(,) 2.49065 Tj
--255 TJm
-(and) 14.386 Tj
--253 TJm
-(if) 6.08715 Tj
--254 TJm
-(it') 8.85675 Tj
-55 TJm
-(s) 3.87545 Tj
--254 TJm
-(a) 4.42339 Tj
--253 TJm
-(bit) 10.5205 Tj
--254 TJm
-(mar) 15.4918 Tj
-18 TJm
-(ginal,) 22.4159 Tj
--254 TJm
-(you) 14.9439 Tj
--254 TJm
-(may) 17.1556 Tj
--253 TJm
-(get) 12.1743 Tj
--254 TJm
-(these) 20.4731 Tj
--253 TJm
-(problems.) 39.5714 Tj
--642 TJm
-(Ditto) 20.4831 Tj
--254 TJm
-(if) 6.08715 Tj
--253 TJm
-(your) 18.2614 Tj
--254 TJm
-(disk) 16.6077 Tj
-86.944 560.598 Td
-(or) 8.29885 Tj
--250 TJm
-(I/O) 13.2801 Tj
--250 TJm
-(subsystem) 41.5142 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(slo) 11.6264 Tj
-25 TJm
-(wly) 14.9439 Tj
--250 TJm
-(f) 3.31755 Tj
-10 TJm
-(ailing.) 25.1855 Tj
--620 TJm
-(Y) 7.193 Tj
-111 TJm
-(up,) 12.4533 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(really) 22.6848 Tj
--250 TJm
-(does) 18.2614 Tj
--250 TJm
-(happen.) 31.2626 Tj
-[1 0 0 1 345.143 560.598] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -273.143 -12.1195] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -548.478] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 538.68 Td
-/F130_0 9.9626 Tf
-(T) 6.08715 Tj
-35 TJm
-(ry) 8.29885 Tj
--250 TJm
-(using) 21.589 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(dif) 11.0684 Tj
-25 TJm
-(ferent) 23.2328 Tj
--250 TJm
-(machine) 33.7533 Tj
--250 TJm
-(of) 8.29885 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(same) 20.4731 Tj
--250 TJm
-(type,) 19.6462 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(see) 12.7222 Tj
--250 TJm
-(if) 6.08715 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(can) 13.8281 Tj
--250 TJm
-(repeat) 24.3386 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(problem.) 35.696 Tj
-[1 0 0 1 72 536.523] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -19.761] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.9739 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -78.9739 -516.762] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-78.9739 516.762 Td
-/F130_0 9.9626 Tf
-(\225) 3.48691 Tj
-[1 0 0 1 82.4608 516.762] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 1.9925 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -86.944 -516.762] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-86.944 516.762 Td
-/F130_0 9.9626 Tf
-(This) 17.7135 Tj
--229 TJm
-(isn') 14.9439 Tj
-18 TJm
-(t) 2.7696 Tj
--230 TJm
-(really) 22.6848 Tj
--229 TJm
-(a) 4.42339 Tj
--229 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug,) 12.4533 Tj
--234 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--229 TJm
-(...) 7.47195 Tj
--303 TJm
-(If) 6.63509 Tj
-[1 0 0 1 212.232 516.762] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -212.232 -516.762] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-212.232 516.762 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 242.12 516.762] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -242.12 -516.762] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-244.405 516.762 Td
-/F130_0 9.9626 Tf
-(tells) 16.6077 Tj
--229 TJm
-(you) 14.9439 Tj
--230 TJm
-(your) 18.2614 Tj
--229 TJm
-(\002le) 12.7322 Tj
--229 TJm
-(is) 6.64505 Tj
--230 TJm
-(corrupted) 38.1767 Tj
--229 TJm
-(on) 9.9626 Tj
--230 TJm
-(decompression,) 62.2563 Tj
--233 TJm
-(and) 14.386 Tj
--229 TJm
-(you) 14.9439 Tj
--230 TJm
-(obtained) 34.3112 Tj
--229 TJm
-(the) 12.1743 Tj
--229 TJm
-(\002le) 12.7322 Tj
-86.944 504.807 Td
-(via) 12.1743 Tj
--262 TJm
-(FTP) 17.1656 Tj
-111 TJm
-(,) 2.49065 Tj
--263 TJm
-(there) 19.9152 Tj
--262 TJm
-(is) 6.64505 Tj
--262 TJm
-(a) 4.42339 Tj
--262 TJm
-(possibility) 41.5241 Tj
--263 TJm
-(that) 14.9439 Tj
--262 TJm
-(you) 14.9439 Tj
--262 TJm
-(for) 11.6164 Tj
-18 TJm
-(got) 12.7322 Tj
--263 TJm
-(to) 7.7509 Tj
--262 TJm
-(tell) 12.7322 Tj
--262 TJm
-(FTP) 17.1656 Tj
--263 TJm
-(to) 7.7509 Tj
--262 TJm
-(do) 9.9626 Tj
--262 TJm
-(a) 4.42339 Tj
--262 TJm
-(binary) 25.4544 Tj
--263 TJm
-(mode) 22.1369 Tj
--262 TJm
-(transfer) 30.4258 Tj
-55 TJm
-(.) 2.49065 Tj
--694 TJm
-(That) 18.2614 Tj
--262 TJm
-(absolutely) 40.9562 Tj
--262 TJm
-(will) 15.5018 Tj
--263 TJm
-(cause) 22.1269 Tj
-86.944 492.852 Td
-(the) 12.1743 Tj
--250 TJm
-(\002le) 12.7322 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(be) 9.40469 Tj
--250 TJm
-(non-decompressible.) 82.7294 Tj
--620 TJm
-(Y) 7.193 Tj
-110 TJm
-(ou') 13.2801 Tj
-10 TJm
-(ll) 5.53921 Tj
--250 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(transfer) 30.4258 Tj
--250 TJm
-(it) 5.53921 Tj
--250 TJm
-(ag) 9.40469 Tj
-5 TJm
-(ain.) 14.6649 Tj
-[1 0 0 1 351.34 492.852] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -279.34 -12.1195] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -480.732] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 470.934 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--235 TJm
-(you') 18.2614 Tj
-50 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--236 TJm
-(incor) 20.4731 Tj
-1 TJm
-(p) 4.9813 Tj
--1 TJm
-(or) 8.29885 Tj
-1 TJm
-(ated) 16.5977 Tj
-[1 0 0 1 163.036 470.934] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -163.036 -470.934] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-163.036 470.934 Td
-/F134_0 9.9626 Tf
-(libbzip2) 47.8205 Tj
-[1 0 0 1 210.856 470.934] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -210.856 -470.934] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-213.2 470.934 Td
-/F130_0 9.9626 Tf
-(into) 15.5018 Tj
--235 TJm
-(your) 18.2614 Tj
--235 TJm
-(o) 4.9813 Tj
-25 TJm
-(wn) 12.1743 Tj
--236 TJm
-(program) 33.7533 Tj
--235 TJm
-(and) 14.386 Tj
--235 TJm
-(are) 12.1643 Tj
--236 TJm
-(get) 12.1743 Tj
-1 TJm
-(ting) 15.5018 Tj
--236 TJm
-(problems,) 39.5714 Tj
--238 TJm
-(please,) 27.3872 Tj
--238 TJm
-(please,) 27.3872 Tj
--238 TJm
-(please,) 27.3872 Tj
--238 TJm
-(check) 23.2328 Tj
--236 TJm
-(that) 14.9439 Tj
-72 458.979 Td
-(the) 12.1743 Tj
--242 TJm
-(parameters) 43.7059 Tj
--243 TJm
-(you) 14.9439 Tj
--242 TJm
-(are) 12.1643 Tj
--242 TJm
-(passing) 29.8878 Tj
--243 TJm
-(in) 7.7509 Tj
--242 TJm
-(calls) 18.2614 Tj
--242 TJm
-(to) 7.7509 Tj
--243 TJm
-(the) 12.1743 Tj
--242 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--244 TJm
-(are) 12.1643 Tj
--242 TJm
-(correct,) 30.1468 Tj
--244 TJm
-(and) 14.386 Tj
--243 TJm
-(in) 7.7509 Tj
--242 TJm
-(accordance) 44.8018 Tj
--242 TJm
-(with) 17.7135 Tj
--243 TJm
-(what) 19.3673 Tj
--242 TJm
-(the) 12.1743 Tj
--242 TJm
-(documentation) 59.2177 Tj
--243 TJm
-(says) 17.1556 Tj
-72 447.024 Td
-(is) 6.64505 Tj
--250 TJm
-(allo) 14.9439 Tj
-25 TJm
-(w) 7.193 Tj
-10 TJm
-(able.) 19.0883 Tj
--310 TJm
-(I) 3.31755 Tj
--250 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(tried) 18.2614 Tj
--250 TJm
-(to) 7.7509 Tj
--250 TJm
-(mak) 17.1556 Tj
-10 TJm
-(e) 4.42339 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(library) 26.5603 Tj
--250 TJm
-(rob) 13.2801 Tj
-20 TJm
-(ust) 11.6264 Tj
--250 TJm
-(ag) 9.40469 Tj
-5 TJm
-(ainst) 18.8194 Tj
--250 TJm
-(such) 18.2614 Tj
--250 TJm
-(problems,) 39.5714 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--250 TJm
-(I'm) 14.386 Tj
--250 TJm
-(sure) 16.5977 Tj
--250 TJm
-(I) 3.31755 Tj
--250 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(en') 12.7222 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(succeeded.) 43.427 Tj
-[1 0 0 1 72 444.867] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -434.904] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 425.106 Td
-/F130_0 9.9626 Tf
-(Finally) 28.234 Tj
-65 TJm
-(,) 2.49065 Tj
--324 TJm
-(if) 6.08715 Tj
--310 TJm
-(the) 12.1743 Tj
--309 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--309 TJm
-(comments) 40.9562 Tj
--310 TJm
-(don') 18.2614 Tj
-18 TJm
-(t) 2.7696 Tj
--309 TJm
-(help,) 19.6462 Tj
--324 TJm
-(you') 18.2614 Tj
-10 TJm
-(ll) 5.53921 Tj
--310 TJm
-(ha) 9.40469 Tj
-20 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--309 TJm
-(to) 7.7509 Tj
--309 TJm
-(send) 18.2614 Tj
--310 TJm
-(me) 12.1743 Tj
--309 TJm
-(a) 4.42339 Tj
--309 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--310 TJm
-(report.) 26.2813 Tj
--976 TJm
-(No) 12.1743 Tj
-25 TJm
-(w) 7.193 Tj
-65 TJm
-(,) 2.49065 Tj
--324 TJm
-(it') 8.85675 Tj
-55 TJm
-(s) 3.87545 Tj
--310 TJm
-(just) 14.396 Tj
--309 TJm
-(amazing) 33.7533 Tj
--309 TJm
-(ho) 9.9626 Tj
-25 TJm
-(w) 7.193 Tj
--310 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
-72 413.151 Td
-(people) 26.5603 Tj
--250 TJm
-(will) 15.5018 Tj
--250 TJm
-(send) 18.2614 Tj
--250 TJm
-(me) 12.1743 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(b) 4.9813 Tj
-20 TJm
-(ug) 9.9626 Tj
--250 TJm
-(report) 23.7907 Tj
--250 TJm
-(saying) 26.0123 Tj
--250 TJm
-(something) 41.5142 Tj
--250 TJm
-(lik) 10.5205 Tj
-10 TJm
-(e:) 7.193 Tj
-[1 0 0 1 72 410.994] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -24.9066] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 23.9103 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 20.3237] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -401.629] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 401.629 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
--426 TJm
-(crashed) 41.8429 Tj
--426 TJm
-(with) 23.9102 Tj
--426 TJm
-(segmentation) 71.7307 Tj
--426 TJm
-(fault) 29.8878 Tj
--426 TJm
-(on) 11.9551 Tj
--426 TJm
-(my) 11.9551 Tj
--426 TJm
-(machine) 41.8429 Tj
-[1 0 0 1 72 386.087] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -376.125] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 364.169 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
--241 TJm
-(absolutely) 40.9562 Tj
--241 TJm
-(nothing) 30.4457 Tj
--241 TJm
-(el) 7.193 Tj
-1 TJm
-(se.) 10.7895 Tj
--614 TJm
-(Needless) 35.965 Tj
--241 TJm
-(to) 7.7509 Tj
--241 TJm
-(say) 13.2801 Tj
-65 TJm
-(,) 2.49065 Tj
--243 TJm
-(a) 4.42339 Tj
--241 TJm
-(such) 18.2614 Tj
--240 TJm
-(a) 4.42339 Tj
--241 TJm
-(report) 23.7907 Tj
--241 TJm
-(is) 6.64505 Tj
-[1 0 0 1 324.681 364.169] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -324.681 -364.169] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-324.681 364.169 Td
-/F637_0 9.9626 Tf
-(totally) 25.4644 Tj
-55 TJm
-(,) 2.49065 Tj
--243 TJm
-(utterly) 26.0123 Tj
-55 TJm
-(,) 2.49065 Tj
--242 TJm
-(completely) 43.158 Tj
--241 TJm
-(and) 14.9439 Tj
--241 TJm
-(compr) 25.4544 Tj
-37 TJm
-(ehensively) 41.4942 Tj
--241 TJm
-(100%) 23.2427 Tj
-72 352.214 Td
-(useless;) 31.5416 Tj
--257 TJm
-(a) 4.9813 Tj
--255 TJm
-(waste) 22.6948 Tj
--255 TJm
-(of) 7.7509 Tj
--255 TJm
-(your) 18.2614 Tj
--255 TJm
-(time) 17.1556 Tj
-10 TJm
-(,) 2.49065 Tj
--256 TJm
-(my) 11.6164 Tj
--255 TJm
-(time) 17.1556 Tj
-10 TJm
-(,) 2.49065 Tj
--256 TJm
-(and) 14.9439 Tj
--255 TJm
-(net) 12.1743 Tj
--255 TJm
-(bandwidth) 42.0721 Tj
-[1 0 0 1 302.574 352.214] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -302.574 -352.214] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-302.574 352.214 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--650 TJm
-(W) 9.40469 Tj
-40 TJm
-(ith) 10.5205 Tj
--254 TJm
-(no) 9.9626 Tj
--255 TJm
-(details) 26.0123 Tj
--255 TJm
-(at) 7.193 Tj
--255 TJm
-(all,) 12.4533 Tj
--256 TJm
-(there') 23.2328 Tj
-55 TJm
-(s) 3.87545 Tj
--255 TJm
-(no) 9.9626 Tj
--255 TJm
-(w) 7.193 Tj
-10 TJm
-(ay) 9.40469 Tj
--255 TJm
-(I) 3.31755 Tj
--255 TJm
-(can) 13.8281 Tj
--255 TJm
-(possibly) 33.2153 Tj
--255 TJm
-(be) 9.40469 Tj
-15 TJm
-(gin) 12.7322 Tj
-72 340.259 Td
-(to) 7.7509 Tj
--250 TJm
-(\002gure) 23.2427 Tj
--250 TJm
-(out) 12.7322 Tj
--250 TJm
-(what) 19.3673 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(problem) 33.2053 Tj
--250 TJm
-(is.) 9.1357 Tj
-[1 0 0 1 72 338.102] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -328.14] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 318.341 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--309 TJm
-(rules) 19.3673 Tj
--309 TJm
-(of) 8.29885 Tj
--309 TJm
-(the) 12.1743 Tj
--310 TJm
-(g) 4.9813 Tj
-5 TJm
-(ame) 16.5977 Tj
--309 TJm
-(are:) 14.9339 Tj
--428 TJm
-(f) 3.31755 Tj
-10 TJm
-(acts,) 17.9825 Tj
--324 TJm
-(f) 3.31755 Tj
-10 TJm
-(acts,) 17.9825 Tj
--324 TJm
-(f) 3.31755 Tj
-10 TJm
-(acts.) 17.9825 Tj
--975 TJm
-(Don') 20.4731 Tj
-18 TJm
-(t) 2.7696 Tj
--309 TJm
-(omit) 18.2714 Tj
--309 TJm
-(them) 19.9252 Tj
--309 TJm
-(because) 31.5316 Tj
--309 TJm
-("oh,) 16.518 Tj
--324 TJm
-(the) 12.1743 Tj
-15 TJm
-(y) 4.9813 Tj
--309 TJm
-(w) 7.193 Tj
-10 TJm
-(on') 13.2801 Tj
-18 TJm
-(t) 2.7696 Tj
--309 TJm
-(be) 9.40469 Tj
--310 TJm
-(rele) 14.9339 Tj
-25 TJm
-(v) 4.9813 Tj
-25 TJm
-(ant".) 18.7297 Tj
--974 TJm
-(At) 9.9626 Tj
--310 TJm
-(the) 12.1743 Tj
--309 TJm
-(bare) 17.1456 Tj
-72 306.386 Td
-(minimum:) 41.5241 Tj
-[1 0 0 1 72 306.287] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -60.7721] cm
-/DeviceRGB {} cs
-[0.94899 0.94899 0.976456] sc
-/DeviceRGB {} CS
-[0.94899 0.94899 0.976456] SC
-0 0 468 59.7758 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 56.1892] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -296.922] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 296.922 Td
-/F134_0 9.9626 Tf
-(Machine) 41.8429 Tj
--426 TJm
-(type.) 29.8878 Tj
--852 TJm
-(Operating) 53.798 Tj
--426 TJm
-(system) 35.8654 Tj
--426 TJm
-(version.) 47.8205 Tj
-90 284.967 Td
-(Exact) 29.8878 Tj
--426 TJm
-(version) 41.8429 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(bzip2) 29.8878 Tj
--426 TJm
-(\(do) 17.9327 Tj
--426 TJm
-(bzip2) 29.8878 Tj
--426 TJm
-(-V\).) 23.9102 Tj
-90 273.011 Td
-(Exact) 29.8878 Tj
--426 TJm
-(version) 41.8429 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compiler) 47.8205 Tj
--426 TJm
-(used.) 29.8878 Tj
-90 261.056 Td
-(Flags) 29.8878 Tj
--426 TJm
-(passed) 35.8654 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(compiler.) 53.798 Tj
-[1 0 0 1 72 245.514] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -235.552] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 223.597 Td
-/F130_0 9.9626 Tf
-(Ho) 12.1743 Tj
-25 TJm
-(we) 11.6164 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(er) 7.74094 Tj
-40 TJm
-(,) 2.49065 Tj
--254 TJm
-(the) 12.1743 Tj
--252 TJm
-(most) 19.3773 Tj
--253 TJm
-(important) 38.7446 Tj
--253 TJm
-(single) 23.8007 Tj
--253 TJm
-(thing) 20.4831 Tj
--253 TJm
-(t) 2.7696 Tj
-1 TJm
-(hat) 12.1743 Tj
--253 TJm
-(will) 15.5018 Tj
--253 TJm
-(help) 17.1556 Tj
--253 TJm
-(me) 12.1743 Tj
--253 TJm
-(is) 6.64505 Tj
--252 TJm
-(the) 12.1743 Tj
--253 TJm
-(\002le) 12.7322 Tj
--253 TJm
-(that) 14.9439 Tj
--253 TJm
-(you) 14.9439 Tj
--253 TJm
-(were) 19.3573 Tj
--253 TJm
-(trying) 23.8007 Tj
--252 TJm
-(to) 7.7509 Tj
--253 TJm
-(compress) 37.6287 Tj
--253 TJm
-(or) 8.29885 Tj
--253 TJm
-(decompress) 47.0334 Tj
-72 211.641 Td
-(at) 7.193 Tj
--304 TJm
-(the) 12.1743 Tj
--305 TJm
-(time) 17.7135 Tj
--304 TJm
-(the) 12.1743 Tj
--304 TJm
-(problem) 33.2053 Tj
--305 TJm
-(happened.) 40.6673 Tj
--946 TJm
-(W) 9.40469 Tj
-40 TJm
-(ithout) 23.2527 Tj
--304 TJm
-(that,) 17.4346 Tj
--318 TJm
-(my) 12.7322 Tj
--305 TJm
-(ability) 25.4644 Tj
--304 TJm
-(to) 7.7509 Tj
--304 TJm
-(do) 9.9626 Tj
--305 TJm
-(an) 9.40469 Tj
-15 TJm
-(ything) 25.4644 Tj
--304 TJm
-(more) 20.4731 Tj
--304 TJm
-(than) 17.1556 Tj
--305 TJm
-(speculate) 37.0708 Tj
--304 TJm
-(about) 22.1369 Tj
--304 TJm
-(the) 12.1743 Tj
--305 TJm
-(cause,) 24.6176 Tj
--318 TJm
-(is) 6.64505 Tj
-72 199.686 Td
-(limited.) 30.7247 Tj
-[1 0 0 1 72 199.587] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -189.624] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 164.933 Td
-/F122_0 20.6585 Tf
-(4.4.) 34.4584 Tj
--278 TJm
-(Did) 33.2808 Tj
--278 TJm
-(y) 11.4861 Tj
-25 TJm
-(ou) 25.2447 Tj
--278 TJm
-(g) 12.6223 Tj
--10 TJm
-(et) 18.3654 Tj
--278 TJm
-(the) 30.9877 Tj
--278 TJm
-(right) 45.9032 Tj
--278 TJm
-(pac) 35.5946 Tj
-20 TJm
-(ka) 22.9723 Tj
-10 TJm
-(g) 12.6223 Tj
--10 TJm
-(e?) 24.1085 Tj
-[1 0 0 1 72 160.337] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -150.374] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 143.016 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 143.016] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -143.016] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.603 143.016 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--272 TJm
-(a) 4.42339 Tj
--273 TJm
-(resource) 33.7433 Tj
--272 TJm
-(hog.) 17.4346 Tj
--378 TJm
-(It) 6.08715 Tj
--272 TJm
-(soaks) 22.1369 Tj
--273 TJm
-(up) 9.9626 Tj
--272 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.40469 Tj
--273 TJm
-(amounts) 33.7633 Tj
--272 TJm
-(of) 8.29885 Tj
--273 TJm
-(CPU) 19.3773 Tj
--272 TJm
-(c) 4.42339 Tj
-15 TJm
-(ycles) 20.4731 Tj
--273 TJm
-(and) 14.386 Tj
--272 TJm
-(memory) 33.2053 Tj
-65 TJm
-(.) 2.49065 Tj
--755 TJm
-(Also,) 21.31 Tj
--278 TJm
-(it) 5.53921 Tj
--273 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
--272 TJm
-(v) 4.9813 Tj
-15 TJm
-(ery) 12.7222 Tj
--273 TJm
-(lar) 10.5105 Tj
-18 TJm
-(ge) 9.40469 Tj
--272 TJm
-(latencies.) 37.3498 Tj
-72 131.06 Td
-(In) 8.29885 Tj
--251 TJm
-(the) 12.1743 Tj
--251 TJm
-(w) 7.193 Tj
-10 TJm
-(orst) 14.9439 Tj
--251 TJm
-(case,) 19.6363 Tj
--251 TJm
-(you) 14.9439 Tj
--251 TJm
-(can) 13.8281 Tj
--251 TJm
-(feed) 17.1456 Tj
--251 TJm
-(man) 17.1556 Tj
-15 TJm
-(y) 4.9813 Tj
--251 TJm
-(me) 12.1743 Tj
-15 TJm
-(g) 4.9813 Tj
-4 TJm
-(abyt) 17.1556 Tj
-1 TJm
-(es) 8.29885 Tj
--252 TJm
-(of) 8.29885 Tj
--251 TJm
-(uncompressed) 56.996 Tj
--251 TJm
-(data) 16.5977 Tj
--251 TJm
-(into) 15.5018 Tj
--251 TJm
-(the) 12.1743 Tj
--251 TJm
-(library) 26.5603 Tj
--251 TJm
-(before) 25.4445 Tj
--251 TJm
-(getting) 27.6761 Tj
--251 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--251 TJm
-(compressed) 47.0334 Tj
-72 119.105 Td
-(output,) 27.9551 Tj
--250 TJm
-(so) 8.85675 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(probably) 35.417 Tj
--250 TJm
-(rules) 19.3673 Tj
--250 TJm
-(out) 12.7322 Tj
--250 TJm
-(applications) 48.1492 Tj
--250 TJm
-(requiring) 36.5229 Tj
--250 TJm
-(interacti) 32.6474 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(e) 4.42339 Tj
--250 TJm
-(beha) 18.8094 Tj
-20 TJm
-(viour) 21.031 Tj
-55 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 116.949] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -106.986] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 97.1875 Td
-/F130_0 9.9626 Tf
-(These) 23.7907 Tj
--304 TJm
-(aren') 20.4632 Tj
-18 TJm
-(t) 2.7696 Tj
--304 TJm
-(f) 3.31755 Tj
-10 TJm
-(aults) 18.8194 Tj
--304 TJm
-(of) 8.29885 Tj
--304 TJm
-(my) 12.7322 Tj
--304 TJm
-(implementation,) 65.0359 Tj
--317 TJm
-(I) 3.31755 Tj
--304 TJm
-(hope,) 21.8579 Tj
--318 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--304 TJm
-(more) 20.4731 Tj
--304 TJm
-(an) 9.40469 Tj
--304 TJm
-(intrinsic) 32.6574 Tj
--304 TJm
-(property) 33.7533 Tj
--304 TJm
-(of) 8.29885 Tj
--304 TJm
-(the) 12.1743 Tj
--304 TJm
-(Burro) 23.2427 Tj
-25 TJm
-(ws-Wheeler) 48.1293 Tj
--304 TJm
-(transform) 38.7346 Tj
-72 85.2323 Td
-(\(unfortunately\).) 62.8042 Tj
--620 TJm
-(Maybe) 27.6661 Tj
--250 TJm
-(this) 14.396 Tj
--250 TJm
-(isn') 14.9439 Tj
-18 TJm
-(t) 2.7696 Tj
--250 TJm
-(what) 19.3673 Tj
--250 TJm
-(you) 14.9439 Tj
--250 TJm
-(w) 7.193 Tj
-10 TJm
-(ant.) 14.6649 Tj
-[1 0 0 1 72 83.0755] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -22.2611] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7545] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(33) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 37 37
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 116.328 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -382.4 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.728 749.245 Td
-/F130_0 9.9626 Tf
-(Miscellanea) 48.1393 Tj
-[1 0 0 1 266.071 749.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -7.0936] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -540 -741.554] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(If) 6.63509 Tj
--275 TJm
-(you) 14.9439 Tj
--274 TJm
-(w) 7.193 Tj
-10 TJm
-(ant) 12.1743 Tj
--275 TJm
-(a) 4.42339 Tj
--274 TJm
-(compressor) 45.9276 Tj
--275 TJm
-(and/or) 25.4544 Tj
--275 TJm
-(library) 26.5603 Tj
--274 TJm
-(which) 24.3486 Tj
--275 TJm
-(is) 6.64505 Tj
--274 TJm
-(f) 3.31755 Tj
-10 TJm
-(aster) 18.8094 Tj
-40 TJm
-(,) 2.49065 Tj
--281 TJm
-(uses) 17.1556 Tj
--275 TJm
-(less) 14.9439 Tj
--274 TJm
-(memory) 33.2053 Tj
--275 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--275 TJm
-(gets) 16.0497 Tj
--274 TJm
-(pretty) 23.2427 Tj
--275 TJm
-(good) 19.9252 Tj
--274 TJm
-(compression,) 52.8516 Tj
--281 TJm
-(and) 14.386 Tj
--275 TJm
-(has) 13.2801 Tj
-72 698.082 Td
-(minimal) 33.2153 Tj
--288 TJm
-(latenc) 23.7907 Tj
-15 TJm
-(y) 4.9813 Tj
-65 TJm
-(,) 2.49065 Tj
--297 TJm
-(consider) 33.7533 Tj
--288 TJm
-(Jean-loup) 38.7346 Tj
--288 TJm
-(Gailly') 28.224 Tj
-55 TJm
-(s) 3.87545 Tj
--288 TJm
-(and) 14.386 Tj
--288 TJm
-(Mark) 21.579 Tj
--288 TJm
-(Adl) 14.9439 Tj
-1 TJm
-(er') 11.0585 Tj
-55 TJm
-(s) 3.87545 Tj
--288 TJm
-(w) 7.193 Tj
-10 TJm
-(ork,) 15.7708 Tj
-[1 0 0 1 353.879 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -353.879 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-353.879 698.082 Td
-/F134_0 9.9626 Tf
-(zlib-1.2.1) 59.7756 Tj
-[1 0 0 1 413.655 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -413.655 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-416.523 698.082 Td
-/F130_0 9.9626 Tf
-(and) 14.386 Tj
-[1 0 0 1 433.777 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -433.777 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-433.777 698.082 Td
-/F134_0 9.9626 Tf
-(gzip-1.2.4) 59.7756 Tj
-[1 0 0 1 493.553 698.082] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.553 -698.082] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-493.553 698.082 Td
-/F130_0 9.9626 Tf
-(.) 2.49065 Tj
--847 TJm
-(Look) 21.031 Tj
--288 TJm
-(for) 11.6164 Tj
-72 686.127 Td
-(them) 19.9252 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(http://www) 45.3896 Tj
-65 TJm
-(.zlib) 17.4346 Tj
-40 TJm
-(.or) 10.7895 Tj
-18 TJm
-(g) 4.9813 Tj
--250 TJm
-(and) 14.386 Tj
--250 TJm
-(http://www) 45.3896 Tj
-65 TJm
-(.gzip.or) 30.4357 Tj
-18 TJm
-(g) 4.9813 Tj
--250 TJm
-(respecti) 30.9837 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(ely) 12.1743 Tj
-65 TJm
-(.) 2.49065 Tj
-[1 0 0 1 72 683.97] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -674.008] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 664.209 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(or) 8.29885 Tj
--582 TJm
-(something) 41.5142 Tj
--583 TJm
-(f) 3.31755 Tj
-10 TJm
-(aster) 18.8094 Tj
--582 TJm
-(and) 14.386 Tj
--582 TJm
-(lighter) 26.0123 Tj
--583 TJm
-(still,) 17.4445 Tj
--665 TJm
-(you) 14.9439 Tj
--582 TJm
-(might) 23.2527 Tj
--583 TJm
-(try) 11.0684 Tj
--582 TJm
-(Markus) 30.4357 Tj
--582 TJm
-(F) 5.53921 Tj
--582 TJm
-(X) 7.193 Tj
--582 TJm
-(J) 3.87545 Tj
--582 TJm
-(Oberhumer') 48.6872 Tj
-55 TJm
-(s) 3.87545 Tj
-[1 0 0 1 437.433 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -437.433 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-437.433 664.209 Td
-/F134_0 9.9626 Tf
-(LZO) 17.9327 Tj
-[1 0 0 1 455.365 664.209] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -455.365 -664.209] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-461.163 664.209 Td
-/F130_0 9.9626 Tf
-(real-time) 35.965 Tj
--582 TJm
-(compres-) 37.0708 Tj
-72 652.254 Td
-(sion/decompression) 79.1429 Tj
--250 TJm
-(library) 26.5603 Tj
-65 TJm
-(,) 2.49065 Tj
--250 TJm
-(at) 7.193 Tj
--250 TJm
-(http://www) 45.3896 Tj
-65 TJm
-(.oberhumer) 45.6486 Tj
-55 TJm
-(.com/opensource.) 70.2762 Tj
-[1 0 0 1 72 650.097] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -640.135] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 617.501 Td
-/F122_0 20.6585 Tf
-(4.5.) 34.4584 Tj
--278 TJm
-(Fur) 33.2808 Tj
--20 TJm
-(ther) 39.0239 Tj
--278 TJm
-(Reading) 81.4978 Tj
-[1 0 0 1 72 612.905] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9626] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -602.942] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 595.583 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 101.888 595.583] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -101.888 -595.583] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-104.923 595.583 Td
-/F130_0 9.9626 Tf
-(is) 6.64505 Tj
--305 TJm
-(not) 12.7322 Tj
--304 TJm
-(research) 33.1854 Tj
--305 TJm
-(w) 7.193 Tj
-10 TJm
-(ork,) 15.7708 Tj
--318 TJm
-(in) 7.7509 Tj
--305 TJm
-(the) 12.1743 Tj
--304 TJm
-(sense) 21.579 Tj
--305 TJm
-(that) 14.9439 Tj
--304 TJm
-(it) 5.53921 Tj
--305 TJm
-(doesn') 26.5603 Tj
-18 TJm
-(t) 2.7696 Tj
--305 TJm
-(present) 28.772 Tj
--304 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--305 TJm
-(ne) 9.40469 Tj
-25 TJm
-(w) 7.193 Tj
--304 TJm
-(ideas.) 22.9638 Tj
--474 TJm
-(Rather) 26.5603 Tj
-40 TJm
-(,) 2.49065 Tj
--318 TJm
-(it') 8.85675 Tj
-55 TJm
-(s) 3.87545 Tj
--305 TJm
-(an) 9.40469 Tj
--305 TJm
-(engineeri) 37.0708 Tj
-1 TJm
-(ng) 9.9626 Tj
--305 TJm
-(e) 4.42339 Tj
-15 TJm
-(x) 4.9813 Tj
-15 TJm
-(ercise) 23.2328 Tj
-72 583.628 Td
-(based) 22.6848 Tj
--250 TJm
-(on) 9.9626 Tj
--250 TJm
-(e) 4.42339 Tj
-15 TJm
-(xisting) 27.1282 Tj
--250 TJm
-(ideas.) 22.9638 Tj
-[1 0 0 1 72 581.471] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -9.9627] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -571.509] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 561.71 Td
-/F130_0 9.9626 Tf
-(F) 5.53921 Tj
-15 TJm
-(our) 13.2801 Tj
--250 TJm
-(documents) 43.1679 Tj
--250 TJm
-(describe) 33.1954 Tj
--250 TJm
-(essentially) 42.0621 Tj
--250 TJm
-(all) 9.9626 Tj
--250 TJm
-(the) 12.1743 Tj
--250 TJm
-(ideas) 20.4731 Tj
--250 TJm
-(behind) 27.1182 Tj
-[1 0 0 1 298.747 561.71] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -298.747 -561.71] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-298.747 561.71 Td
-/F134_0 9.9626 Tf
-(bzip2) 29.8878 Tj
-[1 0 0 1 328.635 561.71] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -328.635 -561.71] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-328.635 561.71 Td
-/F130_0 9.9626 Tf
-(:) 2.7696 Tj
-[1 0 0 1 72 559.554] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -299.875] cm
-/DeviceRGB {} cs
-[0.929398 0.968597 0.956848] sc
-/DeviceRGB {} CS
-[0.929398 0.968597 0.956848] SC
-0 0 468 298.879 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 295.293] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -550.189] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 550.189 Td
-/F134_0 9.9626 Tf
-(Michael) 41.8429 Tj
--426 TJm
-(Burrows) 41.8429 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(D.) 11.9551 Tj
--426 TJm
-(J.) 11.9551 Tj
--426 TJm
-(Wheeler:) 47.8205 Tj
-98.4879 538.234 Td
-("A) 11.9551 Tj
--426 TJm
-(block-sorting) 77.7083 Tj
--426 TJm
-(lossless) 47.8205 Tj
--426 TJm
-(data) 23.9102 Tj
--426 TJm
-(compression) 65.7532 Tj
--426 TJm
-(algorithm") 59.7756 Tj
-102.732 526.278 Td
-(10th) 23.9102 Tj
--426 TJm
-(May) 17.9327 Tj
--426 TJm
-(1994.) 29.8878 Tj
-102.732 514.323 Td
-(Digital) 41.8429 Tj
--426 TJm
-(SRC) 17.9327 Tj
--426 TJm
-(Research) 47.8205 Tj
--426 TJm
-(Report) 35.8654 Tj
--426 TJm
-(124.) 23.9102 Tj
-102.732 502.368 Td
-(ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.g\
-z) 382.564 Tj
-102.732 490.413 Td
-(If) 11.9551 Tj
--426 TJm
-(you) 17.9327 Tj
--426 TJm
-(have) 23.9102 Tj
--426 TJm
-(trouble) 41.8429 Tj
--426 TJm
-(finding) 41.8429 Tj
--426 TJm
-(it,) 17.9327 Tj
--426 TJm
-(try) 17.9327 Tj
--426 TJm
-(searching) 53.798 Tj
--426 TJm
-(at) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
-102.732 478.458 Td
-(New) 17.9327 Tj
--426 TJm
-(Zealand) 41.8429 Tj
--426 TJm
-(Digital) 41.8429 Tj
--426 TJm
-(Library,) 47.8205 Tj
--426 TJm
-(http://www.nzdl.org.) 119.551 Tj
-90 454.547 Td
-(Daniel) 35.8654 Tj
--426 TJm
-(S.) 11.9551 Tj
--426 TJm
-(Hirschberg) 59.7756 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(Debra) 29.8878 Tj
--426 TJm
-(A.) 11.9551 Tj
--426 TJm
-(LeLewer) 41.8429 Tj
-98.4879 442.592 Td
-("Efficient) 59.7756 Tj
--426 TJm
-(Decoding) 47.8205 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(Prefix) 35.8654 Tj
--426 TJm
-(Codes") 35.8654 Tj
-102.732 430.637 Td
-(Communications) 83.6858 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(ACM,) 23.9102 Tj
--426 TJm
-(April) 29.8878 Tj
--426 TJm
-(1990,) 29.8878 Tj
--426 TJm
-(Vol) 17.9327 Tj
--426 TJm
-(33,) 17.9327 Tj
--426 TJm
-(Number) 35.8654 Tj
--426 TJm
-(4.) 11.9551 Tj
-102.732 418.682 Td
-(You) 17.9327 Tj
--426 TJm
-(might) 29.8878 Tj
--426 TJm
-(be) 11.9551 Tj
--426 TJm
-(able) 23.9102 Tj
--426 TJm
-(to) 11.9551 Tj
--426 TJm
-(get) 17.9327 Tj
--426 TJm
-(an) 11.9551 Tj
--426 TJm
-(electronic) 59.7756 Tj
--426 TJm
-(copy) 23.9102 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(this) 23.9102 Tj
-102.732 406.727 Td
-(from) 23.9102 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(ACM) 17.9327 Tj
--426 TJm
-(Digital) 41.8429 Tj
--426 TJm
-(Library.) 47.8205 Tj
-90 382.816 Td
-(David) 29.8878 Tj
--426 TJm
-(J.) 11.9551 Tj
--426 TJm
-(Wheeler) 41.8429 Tj
-102.732 370.861 Td
-(Program) 41.8429 Tj
--426 TJm
-(bred3.c) 41.8429 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(accompanying) 71.7307 Tj
--426 TJm
-(document) 47.8205 Tj
--426 TJm
-(bred3.ps.) 53.798 Tj
-102.732 358.906 Td
-(This) 23.9102 Tj
--426 TJm
-(contains) 47.8205 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(idea) 23.9102 Tj
--426 TJm
-(behind) 35.8654 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(multi-table) 65.7532 Tj
--426 TJm
-(Huffman) 41.8429 Tj
--426 TJm
-(coding) 35.8654 Tj
--426 TJm
-(scheme.) 41.8429 Tj
-102.732 346.951 Td
-(ftp://ftp.cl.cam.ac.uk/users/djw3/) 203.237 Tj
-90 323.041 Td
-(Jon) 17.9327 Tj
--426 TJm
-(L.) 11.9551 Tj
--426 TJm
-(Bentley) 41.8429 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(Robert) 35.8654 Tj
--426 TJm
-(Sedgewick) 53.798 Tj
-98.4879 311.085 Td
-("Fast) 29.8878 Tj
--426 TJm
-(Algorithms) 59.7756 Tj
--426 TJm
-(for) 17.9327 Tj
--426 TJm
-(Sorting) 41.8429 Tj
--426 TJm
-(and) 17.9327 Tj
--426 TJm
-(Searching) 53.798 Tj
--426 TJm
-(Strings") 47.8205 Tj
-102.732 299.13 Td
-(Available) 53.798 Tj
--426 TJm
-(from) 23.9102 Tj
--426 TJm
-(Sedgewick's) 65.7532 Tj
--426 TJm
-(web) 17.9327 Tj
--426 TJm
-(page,) 29.8878 Tj
-102.732 287.175 Td
-(www.cs.princeton.edu/~rs) 143.461 Tj
-[1 0 0 1 72 259.678] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -249.715] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 237.76 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--239 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--238 TJm
-(paper) 22.1269 Tj
--239 TJm
-(gi) 7.7509 Tj
-25 TJm
-(v) 4.9813 Tj
-15 TJm
-(es) 8.29885 Tj
--239 TJm
-(v) 4.9813 Tj
-25 TJm
-(aluable) 28.772 Tj
--238 TJm
-(additional) 39.8504 Tj
--239 TJm
-(insights) 31.0036 Tj
--238 TJm
-(into) 15.5018 Tj
--239 TJm
-(the) 12.1743 Tj
--239 TJm
-(algorithm,) 41.2352 Tj
--241 TJm
-(b) 4.9813 Tj
-20 TJm
-(ut) 7.7509 Tj
--238 TJm
-(is) 6.64505 Tj
--239 TJm
-(not) 12.7322 Tj
--239 TJm
-(immedi) 30.4457 Tj
-1 TJm
-(ately) 19.3673 Tj
--239 TJm
-(the) 12.1743 Tj
--239 TJm
-(basis) 19.9252 Tj
--238 TJm
-(of) 8.29885 Tj
--239 TJm
-(an) 9.40469 Tj
-15 TJm
-(y) 4.9813 Tj
--239 TJm
-(code) 18.8094 Tj
-72 225.805 Td
-(used) 18.2614 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(bzip2.) 24.6275 Tj
-[1 0 0 1 72 223.648] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -72.7273] cm
-/DeviceRGB {} cs
-[0.929398 0.968597 0.956848] sc
-/DeviceRGB {} CS
-[0.929398 0.968597 0.956848] SC
-0 0 468 71.731 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 68.1444] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -214.283] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 214.283 Td
-/F134_0 9.9626 Tf
-(Peter) 29.8878 Tj
--426 TJm
-(Fenwick:) 47.8205 Tj
-102.732 202.328 Td
-(Block) 29.8878 Tj
--426 TJm
-(Sorting) 41.8429 Tj
--426 TJm
-(Text) 23.9102 Tj
--426 TJm
-(Compression) 65.7532 Tj
-102.732 190.373 Td
-(Proceedings) 65.7532 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(19th) 23.9102 Tj
--426 TJm
-(Australasian) 71.7307 Tj
--426 TJm
-(Computer) 47.8205 Tj
--426 TJm
-(Science) 41.8429 Tj
--426 TJm
-(Conference,) 65.7532 Tj
-111.22 178.418 Td
-(Melbourne,) 59.7756 Tj
--426 TJm
-(Australia.) 59.7756 Tj
--852 TJm
-(Jan) 17.9327 Tj
--426 TJm
-(31) 11.9551 Tj
--426 TJm
-(-) 5.97756 Tj
--426 TJm
-(Feb) 17.9327 Tj
--426 TJm
-(2,) 11.9551 Tj
--426 TJm
-(1996.) 29.8878 Tj
-102.732 166.463 Td
-(ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps) 322.788 Tj
-[1 0 0 1 72 150.921] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -140.958] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 129.003 Td
-/F130_0 9.9626 Tf
-(K) 7.193 Tj
-15 TJm
-(unihik) 25.4644 Tj
-10 TJm
-(o) 4.9813 Tj
--250 TJm
-(Sadakane') 41.4942 Tj
-55 TJm
-(s) 3.87545 Tj
--250 TJm
-(sorting) 27.6761 Tj
--250 TJm
-(algorithm,) 41.2352 Tj
--250 TJm
-(mentioned) 42.0621 Tj
--250 TJm
-(abo) 14.386 Tj
-15 TJm
-(v) 4.9813 Tj
-15 TJm
-(e,) 6.91404 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
--250 TJm
-(from:) 22.1369 Tj
-[1 0 0 1 72 126.846] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -36.8618] cm
-/DeviceRGB {} cs
-[0.929398 0.968597 0.956848] sc
-/DeviceRGB {} CS
-[0.929398 0.968597 0.956848] SC
-0 0 468 35.8655 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 32.2789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -117.482] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 117.482 Td
-/F134_0 9.9626 Tf
-(http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz) 346.698 Tj
-[1 0 0 1 72 89.9846] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -29.1702] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8542] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9514] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9514 Td
-/F130_0 9.9626 Tf
-(34) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Page: 38 38
-%%BeginPageSetup
-%%PageOrientation: Portrait
-pdfStartPage
-0 0 612 792 re W
-%%EndPageSetup
-[] 0 d
-1 i
-0 j
-0 J
-10 M
-1 w
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-false op
-false OP
-0 0 612 792 re
-W
-q
-[1 0 0 1 72 741.554] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 14.4459] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 187.197 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 -6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 116.328 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -382.4 -749.245] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-498.728 749.245 Td
-/F130_0 9.9626 Tf
-(Miscellanea) 48.1393 Tj
-[1 0 0 1 266.071 749.146] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 280.796 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -472.974 -7.0936] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -0.4981] cm
-q
-[] 0 d
-0 J
-0.4981 w
-0 0.2491 m
-475.465 0.2491 l
-S
-Q
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 479.251 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -540 -741.554] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 710.037 Td
-/F130_0 9.9626 Tf
-(The) 15.4918 Tj
--250 TJm
-(Manber) 30.9837 Tj
-20 TJm
-(-Myers) 28.772 Tj
--250 TJm
-(suf) 12.1743 Tj
-25 TJm
-(\002x) 10.5205 Tj
--250 TJm
-(array) 20.4632 Tj
--250 TJm
-(construction) 49.2551 Tj
--250 TJm
-(algorithm) 38.7446 Tj
--250 TJm
-(is) 6.64505 Tj
--250 TJm
-(described) 38.1767 Tj
--250 TJm
-(in) 7.7509 Tj
--250 TJm
-(a) 4.42339 Tj
--250 TJm
-(paper) 22.1269 Tj
--250 TJm
-(a) 4.42339 Tj
-20 TJm
-(v) 4.9813 Tj
-25 TJm
-(ailable) 26.5603 Tj
--250 TJm
-(from:) 22.1369 Tj
-[1 0 0 1 72 707.88] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -36.8618] cm
-/DeviceRGB {} cs
-[0.929398 0.968597 0.956848] sc
-/DeviceRGB {} CS
-[0.929398 0.968597 0.956848] SC
-0 0 468 35.8655 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 32.2789] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3685] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -698.516] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 698.516 Td
-/F134_0 9.9626 Tf
-(http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps) 322.788 Tj
-[1 0 0 1 72 671.019] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -13.5492] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -72 -661.056] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-72 649.101 Td
-/F130_0 9.9626 Tf
-(Finally) 28.234 Tj
-65 TJm
-(,) 2.49065 Tj
--227 TJm
-(the) 12.1743 Tj
--221 TJm
-(follo) 18.8194 Tj
-25 TJm
-(wing) 19.9252 Tj
--222 TJm
-(papers) 26.0024 Tj
--221 TJm
-(document) 39.2925 Tj
--221 TJm
-(some) 21.031 Tj
--222 TJm
-(in) 7.7509 Tj
-40 TJm
-(v) 4.9813 Tj
-15 TJm
-(estig) 18.8194 Tj
-5 TJm
-(ations) 23.8007 Tj
--221 TJm
-(I) 3.31755 Tj
--221 TJm
-(made) 21.579 Tj
--222 TJm
-(into) 15.5018 Tj
--221 TJm
-(the) 12.1743 Tj
--221 TJm
-(performance) 50.341 Tj
--222 TJm
-(of) 8.29885 Tj
--221 TJm
-(sorting) 27.6761 Tj
--221 TJm
-(and) 14.386 Tj
--222 TJm
-(decompression) 59.7656 Tj
-72 637.146 Td
-(algorithms:) 45.3896 Tj
-[1 0 0 1 72 634.989] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 -132.503] cm
-/DeviceRGB {} cs
-[0.929398 0.968597 0.956848] sc
-/DeviceRGB {} CS
-[0.929398 0.968597 0.956848] SC
-0 0 468 131.507 re
-f
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 127.92] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 18 -8.3686] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -90 -625.624] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-90 625.624 Td
-/F134_0 9.9626 Tf
-(Julian) 35.8654 Tj
--426 TJm
-(Seward) 35.8654 Tj
-102.732 613.669 Td
-(On) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(Performance) 65.7532 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(BWT) 17.9327 Tj
--426 TJm
-(Sorting) 41.8429 Tj
--426 TJm
-(Algorithms) 59.7756 Tj
-102.732 601.714 Td
-(Proceedings) 65.7532 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(IEEE) 23.9102 Tj
--426 TJm
-(Data) 23.9102 Tj
--426 TJm
-(Compression) 65.7532 Tj
--426 TJm
-(Conference) 59.7756 Tj
--426 TJm
-(2000) 23.9102 Tj
-111.22 589.759 Td
-(Snowbird,) 53.798 Tj
--426 TJm
-(Utah.) 29.8878 Tj
--852 TJm
-(28-30) 29.8878 Tj
--426 TJm
-(March) 29.8878 Tj
--426 TJm
-(2000.) 29.8878 Tj
-90 565.848 Td
-(Julian) 35.8654 Tj
--426 TJm
-(Seward) 35.8654 Tj
-102.732 553.893 Td
-(Space-time) 59.7756 Tj
--426 TJm
-(Tradeoffs) 53.798 Tj
--426 TJm
-(in) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(Inverse) 41.8429 Tj
--426 TJm
-(B-W) 17.9327 Tj
--426 TJm
-(Transform) 53.798 Tj
-102.732 541.938 Td
-(Proceedings) 65.7532 Tj
--426 TJm
-(of) 11.9551 Tj
--426 TJm
-(the) 17.9327 Tj
--426 TJm
-(IEEE) 23.9102 Tj
--426 TJm
-(Data) 23.9102 Tj
--426 TJm
-(Compression) 65.7532 Tj
--426 TJm
-(Conference) 59.7756 Tj
--426 TJm
-(2001) 23.9102 Tj
-111.22 529.983 Td
-(Snowbird,) 53.798 Tj
--426 TJm
-(Utah.) 29.8878 Tj
--852 TJm
-(27-29) 29.8878 Tj
--426 TJm
-(March) 29.8878 Tj
--426 TJm
-(2001.) 29.8878 Tj
-[1 0 0 1 72 502.486] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 468 3.5866] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -468 -3.5866] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 0 -451.634] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 1.8929 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 374.394 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 2.4907 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 0 6.8541] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 40.5726 -6.7546] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 -493.841 -50.9513] cm
-[1 0 0 1 0 0] Tm
-0 0 Td
-534.414 50.9513 Td
-/F130_0 9.9626 Tf
-(35) 9.9626 Tj
-[1 0 0 1 453.269 50.8518] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 93.5985 0] cm
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-/DeviceRGB {} cs
-[0 0 0] sc
-/DeviceRGB {} CS
-[0 0 0] SC
-[1 0 0 1 6.2765 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-[1 0 0 1 -13.1436 0] cm
-/DeviceGray {} cs
-[0] sc
-/DeviceGray {} CS
-[0] SC
-Q
-showpage
-%%PageTrailer
-pdfEndPage
-%%Trailer
-end
-%%DocumentSuppliedResources:
-%%+ font DTUUHP+NimbusSanL-Bold
-%%+ font VXAMRV+NimbusRomNo9L-Regu
-%%+ font MFECUR+NimbusMonL-Regu
-%%+ font ZOVMRD+CMMI10
-%%+ font ERVBFT+NimbusMonL-Bold
-%%+ font BZXIEB+CMSY10
-%%+ font WWWUTU+NimbusRomNo9L-ReguItal
-%%EOF
diff --git a/Utilities/cmbzip2/manual.xml b/Utilities/cmbzip2/manual.xml
deleted file mode 100644
index f224136..0000000
--- a/Utilities/cmbzip2/manual.xml
+++ /dev/null
@@ -1,2964 +0,0 @@
-<?xml version="1.0"?> <!-- -*- sgml -*- -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"[
-
-<!-- various strings, dates etc. common to all docs -->
-<!ENTITY % common-ents SYSTEM "entities.xml"> %common-ents;
-]>
-
-<book lang="en" id="userman" xreflabel="bzip2 Manual">
-
- <bookinfo>
- <title>bzip2 and libbzip2, version 1.0.5</title>
- <subtitle>A program and library for data compression</subtitle>
- <copyright>
- <year>&bz-lifespan;</year>
- <holder>Julian Seward</holder>
- </copyright>
- <releaseinfo>Version &bz-version; of &bz-date;</releaseinfo>
-
- <authorgroup>
- <author>
- <firstname>Julian</firstname>
- <surname>Seward</surname>
- <affiliation>
- <orgname>&bz-url;</orgname>
- </affiliation>
- </author>
- </authorgroup>
-
- <legalnotice>
-
- <para>This program, <computeroutput>bzip2</computeroutput>, the
- associated library <computeroutput>libbzip2</computeroutput>, and
- all documentation, are copyright &copy; &bz-lifespan; Julian Seward.
- All rights reserved.</para>
-
- <para>Redistribution and use in source and binary forms, with
- or without modification, are permitted provided that the
- following conditions are met:</para>
-
- <itemizedlist mark='bullet'>
-
- <listitem><para>Redistributions of source code must retain the
- above copyright notice, this list of conditions and the
- following disclaimer.</para></listitem>
-
- <listitem><para>The origin of this software must not be
- misrepresented; you must not claim that you wrote the original
- software. If you use this software in a product, an
- acknowledgment in the product documentation would be
- appreciated but is not required.</para></listitem>
-
- <listitem><para>Altered source versions must be plainly marked
- as such, and must not be misrepresented as being the original
- software.</para></listitem>
-
- <listitem><para>The name of the author may not be used to
- endorse or promote products derived from this software without
- specific prior written permission.</para></listitem>
-
- </itemizedlist>
-
- <para>THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY
- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
- IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- THE POSSIBILITY OF SUCH DAMAGE.</para>
-
- <para>PATENTS: To the best of my knowledge,
- <computeroutput>bzip2</computeroutput> and
- <computeroutput>libbzip2</computeroutput> do not use any patented
- algorithms. However, I do not have the resources to carry
- out a patent search. Therefore I cannot give any guarantee of
- the above statement.
- </para>
-
-</legalnotice>
-
-</bookinfo>
-
-
-
-<chapter id="intro" xreflabel="Introduction">
-<title>Introduction</title>
-
-<para><computeroutput>bzip2</computeroutput> compresses files
-using the Burrows-Wheeler block-sorting text compression
-algorithm, and Huffman coding. Compression is generally
-considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of
-the PPM family of statistical compressors.</para>
-
-<para><computeroutput>bzip2</computeroutput> is built on top of
-<computeroutput>libbzip2</computeroutput>, a flexible library for
-handling compressed data in the
-<computeroutput>bzip2</computeroutput> format. This manual
-describes both how to use the program and how to work with the
-library interface. Most of the manual is devoted to this
-library, not the program, which is good news if your interest is
-only in the program.</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para><xref linkend="using"/> describes how to use
- <computeroutput>bzip2</computeroutput>; this is the only part
- you need to read if you just want to know how to operate the
- program.</para></listitem>
-
- <listitem><para><xref linkend="libprog"/> describes the
- programming interfaces in detail, and</para></listitem>
-
- <listitem><para><xref linkend="misc"/> records some
- miscellaneous notes which I thought ought to be recorded
- somewhere.</para></listitem>
-
-</itemizedlist>
-
-</chapter>
-
-
-<chapter id="using" xreflabel="How to use bzip2">
-<title>How to use bzip2</title>
-
-<para>This chapter contains a copy of the
-<computeroutput>bzip2</computeroutput> man page, and nothing
-else.</para>
-
-<sect1 id="name" xreflabel="NAME">
-<title>NAME</title>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para><computeroutput>bzip2</computeroutput>,
- <computeroutput>bunzip2</computeroutput> - a block-sorting file
- compressor, v1.0.4</para></listitem>
-
- <listitem><para><computeroutput>bzcat</computeroutput> -
- decompresses files to stdout</para></listitem>
-
- <listitem><para><computeroutput>bzip2recover</computeroutput> -
- recovers data from damaged bzip2 files</para></listitem>
-
-</itemizedlist>
-
-</sect1>
-
-
-<sect1 id="synopsis" xreflabel="SYNOPSIS">
-<title>SYNOPSIS</title>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para><computeroutput>bzip2</computeroutput> [
- -cdfkqstvzVL123456789 ] [ filenames ... ]</para></listitem>
-
- <listitem><para><computeroutput>bunzip2</computeroutput> [
- -fkvsVL ] [ filenames ... ]</para></listitem>
-
- <listitem><para><computeroutput>bzcat</computeroutput> [ -s ] [
- filenames ... ]</para></listitem>
-
- <listitem><para><computeroutput>bzip2recover</computeroutput>
- filename</para></listitem>
-
-</itemizedlist>
-
-</sect1>
-
-
-<sect1 id="description" xreflabel="DESCRIPTION">
-<title>DESCRIPTION</title>
-
-<para><computeroutput>bzip2</computeroutput> compresses files
-using the Burrows-Wheeler block sorting text compression
-algorithm, and Huffman coding. Compression is generally
-considerably better than that achieved by more conventional
-LZ77/LZ78-based compressors, and approaches the performance of
-the PPM family of statistical compressors.</para>
-
-<para>The command-line options are deliberately very similar to
-those of GNU <computeroutput>gzip</computeroutput>, but they are
-not identical.</para>
-
-<para><computeroutput>bzip2</computeroutput> expects a list of
-file names to accompany the command-line flags. Each file is
-replaced by a compressed version of itself, with the name
-<computeroutput>original_name.bz2</computeroutput>. Each
-compressed file has the same modification date, permissions, and,
-when possible, ownership as the corresponding original, so that
-these properties can be correctly restored at decompression time.
-File name handling is naive in the sense that there is no
-mechanism for preserving original file names, permissions,
-ownerships or dates in filesystems which lack these concepts, or
-have serious file name length restrictions, such as
-MS-DOS.</para>
-
-<para><computeroutput>bzip2</computeroutput> and
-<computeroutput>bunzip2</computeroutput> will by default not
-overwrite existing files. If you want this to happen, specify
-the <computeroutput>-f</computeroutput> flag.</para>
-
-<para>If no file names are specified,
-<computeroutput>bzip2</computeroutput> compresses from standard
-input to standard output. In this case,
-<computeroutput>bzip2</computeroutput> will decline to write
-compressed output to a terminal, as this would be entirely
-incomprehensible and therefore pointless.</para>
-
-<para><computeroutput>bunzip2</computeroutput> (or
-<computeroutput>bzip2 -d</computeroutput>) decompresses all
-specified files. Files which were not created by
-<computeroutput>bzip2</computeroutput> will be detected and
-ignored, and a warning issued.
-<computeroutput>bzip2</computeroutput> attempts to guess the
-filename for the decompressed file from that of the compressed
-file as follows:</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para><computeroutput>filename.bz2 </computeroutput>
- becomes
- <computeroutput>filename</computeroutput></para></listitem>
-
- <listitem><para><computeroutput>filename.bz </computeroutput>
- becomes
- <computeroutput>filename</computeroutput></para></listitem>
-
- <listitem><para><computeroutput>filename.tbz2</computeroutput>
- becomes
- <computeroutput>filename.tar</computeroutput></para></listitem>
-
- <listitem><para><computeroutput>filename.tbz </computeroutput>
- becomes
- <computeroutput>filename.tar</computeroutput></para></listitem>
-
- <listitem><para><computeroutput>anyothername </computeroutput>
- becomes
- <computeroutput>anyothername.out</computeroutput></para></listitem>
-
-</itemizedlist>
-
-<para>If the file does not end in one of the recognised endings,
-<computeroutput>.bz2</computeroutput>,
-<computeroutput>.bz</computeroutput>,
-<computeroutput>.tbz2</computeroutput> or
-<computeroutput>.tbz</computeroutput>,
-<computeroutput>bzip2</computeroutput> complains that it cannot
-guess the name of the original file, and uses the original name
-with <computeroutput>.out</computeroutput> appended.</para>
-
-<para>As with compression, supplying no filenames causes
-decompression from standard input to standard output.</para>
-
-<para><computeroutput>bunzip2</computeroutput> will correctly
-decompress a file which is the concatenation of two or more
-compressed files. The result is the concatenation of the
-corresponding uncompressed files. Integrity testing
-(<computeroutput>-t</computeroutput>) of concatenated compressed
-files is also supported.</para>
-
-<para>You can also compress or decompress files to the standard
-output by giving the <computeroutput>-c</computeroutput> flag.
-Multiple files may be compressed and decompressed like this. The
-resulting outputs are fed sequentially to stdout. Compression of
-multiple files in this manner generates a stream containing
-multiple compressed file representations. Such a stream can be
-decompressed correctly only by
-<computeroutput>bzip2</computeroutput> version 0.9.0 or later.
-Earlier versions of <computeroutput>bzip2</computeroutput> will
-stop after decompressing the first file in the stream.</para>
-
-<para><computeroutput>bzcat</computeroutput> (or
-<computeroutput>bzip2 -dc</computeroutput>) decompresses all
-specified files to the standard output.</para>
-
-<para><computeroutput>bzip2</computeroutput> will read arguments
-from the environment variables
-<computeroutput>BZIP2</computeroutput> and
-<computeroutput>BZIP</computeroutput>, in that order, and will
-process them before any arguments read from the command line.
-This gives a convenient way to supply default arguments.</para>
-
-<para>Compression is always performed, even if the compressed
-file is slightly larger than the original. Files of less than
-about one hundred bytes tend to get larger, since the compression
-mechanism has a constant overhead in the region of 50 bytes.
-Random data (including the output of most file compressors) is
-coded at about 8.05 bits per byte, giving an expansion of around
-0.5%.</para>
-
-<para>As a self-check for your protection,
-<computeroutput>bzip2</computeroutput> uses 32-bit CRCs to make
-sure that the decompressed version of a file is identical to the
-original. This guards against corruption of the compressed data,
-and against undetected bugs in
-<computeroutput>bzip2</computeroutput> (hopefully very unlikely).
-The chances of data corruption going undetected is microscopic,
-about one chance in four billion for each file processed. Be
-aware, though, that the check occurs upon decompression, so it
-can only tell you that something is wrong. It can't help you
-recover the original uncompressed data. You can use
-<computeroutput>bzip2recover</computeroutput> to try to recover
-data from damaged files.</para>
-
-<para>Return values: 0 for a normal exit, 1 for environmental
-problems (file not found, invalid flags, I/O errors, etc.), 2
-to indicate a corrupt compressed file, 3 for an internal
-consistency error (eg, bug) which caused
-<computeroutput>bzip2</computeroutput> to panic.</para>
-
-</sect1>
-
-
-<sect1 id="options" xreflabel="OPTIONS">
-<title>OPTIONS</title>
-
-<variablelist>
-
- <varlistentry>
- <term><computeroutput>-c --stdout</computeroutput></term>
- <listitem><para>Compress or decompress to standard
- output.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-d --decompress</computeroutput></term>
- <listitem><para>Force decompression.
- <computeroutput>bzip2</computeroutput>,
- <computeroutput>bunzip2</computeroutput> and
- <computeroutput>bzcat</computeroutput> are really the same
- program, and the decision about what actions to take is done on
- the basis of which name is used. This flag overrides that
- mechanism, and forces bzip2 to decompress.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-z --compress</computeroutput></term>
- <listitem><para>The complement to
- <computeroutput>-d</computeroutput>: forces compression,
- regardless of the invokation name.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-t --test</computeroutput></term>
- <listitem><para>Check integrity of the specified file(s), but
- don't decompress them. This really performs a trial
- decompression and throws away the result.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-f --force</computeroutput></term>
- <listitem><para>Force overwrite of output files. Normally,
- <computeroutput>bzip2</computeroutput> will not overwrite
- existing output files. Also forces
- <computeroutput>bzip2</computeroutput> to break hard links to
- files, which it otherwise wouldn't do.</para>
- <para><computeroutput>bzip2</computeroutput> normally declines
- to decompress files which don't have the correct magic header
- bytes. If forced (<computeroutput>-f</computeroutput>),
- however, it will pass such files through unmodified. This is
- how GNU <computeroutput>gzip</computeroutput> behaves.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-k --keep</computeroutput></term>
- <listitem><para>Keep (don't delete) input files during
- compression or decompression.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-s --small</computeroutput></term>
- <listitem><para>Reduce memory usage, for compression,
- decompression and testing. Files are decompressed and tested
- using a modified algorithm which only requires 2.5 bytes per
- block byte. This means any file can be decompressed in 2300k
- of memory, albeit at about half the normal speed.</para>
- <para>During compression, <computeroutput>-s</computeroutput>
- selects a block size of 200k, which limits memory use to around
- the same figure, at the expense of your compression ratio. In
- short, if your machine is low on memory (8 megabytes or less),
- use <computeroutput>-s</computeroutput> for everything. See
- <xref linkend="memory-management"/> below.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-q --quiet</computeroutput></term>
- <listitem><para>Suppress non-essential warning messages.
- Messages pertaining to I/O errors and other critical events
- will not be suppressed.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-v --verbose</computeroutput></term>
- <listitem><para>Verbose mode -- show the compression ratio for
- each file processed. Further
- <computeroutput>-v</computeroutput>'s increase the verbosity
- level, spewing out lots of information which is primarily of
- interest for diagnostic purposes.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-L --license -V --version</computeroutput></term>
- <listitem><para>Display the software version, license terms and
- conditions.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>-1</computeroutput> (or
- <computeroutput>--fast</computeroutput>) to
- <computeroutput>-9</computeroutput> (or
- <computeroutput>-best</computeroutput>)</term>
- <listitem><para>Set the block size to 100 k, 200 k ... 900 k
- when compressing. Has no effect when decompressing. See <xref
- linkend="memory-management" /> below. The
- <computeroutput>--fast</computeroutput> and
- <computeroutput>--best</computeroutput> aliases are primarily
- for GNU <computeroutput>gzip</computeroutput> compatibility.
- In particular, <computeroutput>--fast</computeroutput> doesn't
- make things significantly faster. And
- <computeroutput>--best</computeroutput> merely selects the
- default behaviour.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>--</computeroutput></term>
- <listitem><para>Treats all subsequent arguments as file names,
- even if they start with a dash. This is so you can handle
- files with names beginning with a dash, for example:
- <computeroutput>bzip2 --
- -myfilename</computeroutput>.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>--repetitive-fast</computeroutput></term>
- <term><computeroutput>--repetitive-best</computeroutput></term>
- <listitem><para>These flags are redundant in versions 0.9.5 and
- above. They provided some coarse control over the behaviour of
- the sorting algorithm in earlier versions, which was sometimes
- useful. 0.9.5 and above have an improved algorithm which
- renders these flags irrelevant.</para></listitem>
- </varlistentry>
-
-</variablelist>
-
-</sect1>
-
-
-<sect1 id="memory-management" xreflabel="MEMORY MANAGEMENT">
-<title>MEMORY MANAGEMENT</title>
-
-<para><computeroutput>bzip2</computeroutput> compresses large
-files in blocks. The block size affects both the compression
-ratio achieved, and the amount of memory needed for compression
-and decompression. The flags <computeroutput>-1</computeroutput>
-through <computeroutput>-9</computeroutput> specify the block
-size to be 100,000 bytes through 900,000 bytes (the default)
-respectively. At decompression time, the block size used for
-compression is read from the header of the compressed file, and
-<computeroutput>bunzip2</computeroutput> then allocates itself
-just enough memory to decompress the file. Since block sizes are
-stored in compressed files, it follows that the flags
-<computeroutput>-1</computeroutput> to
-<computeroutput>-9</computeroutput> are irrelevant to and so
-ignored during decompression.</para>
-
-<para>Compression and decompression requirements, in bytes, can be
-estimated as:</para>
-<programlisting>
-Compression: 400k + ( 8 x block size )
-
-Decompression: 100k + ( 4 x block size ), or
- 100k + ( 2.5 x block size )
-</programlisting>
-
-<para>Larger block sizes give rapidly diminishing marginal
-returns. Most of the compression comes from the first two or
-three hundred k of block size, a fact worth bearing in mind when
-using <computeroutput>bzip2</computeroutput> on small machines.
-It is also important to appreciate that the decompression memory
-requirement is set at compression time by the choice of block
-size.</para>
-
-<para>For files compressed with the default 900k block size,
-<computeroutput>bunzip2</computeroutput> will require about 3700
-kbytes to decompress. To support decompression of any file on a
-4 megabyte machine, <computeroutput>bunzip2</computeroutput> has
-an option to decompress using approximately half this amount of
-memory, about 2300 kbytes. Decompression speed is also halved,
-so you should use this option only where necessary. The relevant
-flag is <computeroutput>-s</computeroutput>.</para>
-
-<para>In general, try and use the largest block size memory
-constraints allow, since that maximises the compression achieved.
-Compression and decompression speed are virtually unaffected by
-block size.</para>
-
-<para>Another significant point applies to files which fit in a
-single block -- that means most files you'd encounter using a
-large block size. The amount of real memory touched is
-proportional to the size of the file, since the file is smaller
-than a block. For example, compressing a file 20,000 bytes long
-with the flag <computeroutput>-9</computeroutput> will cause the
-compressor to allocate around 7600k of memory, but only touch
-400k + 20000 * 8 = 560 kbytes of it. Similarly, the decompressor
-will allocate 3700k but only touch 100k + 20000 * 4 = 180
-kbytes.</para>
-
-<para>Here is a table which summarises the maximum memory usage
-for different block sizes. Also recorded is the total compressed
-size for 14 files of the Calgary Text Compression Corpus
-totalling 3,141,622 bytes. This column gives some feel for how
-compression varies with block size. These figures tend to
-understate the advantage of larger block sizes for larger files,
-since the Corpus is dominated by smaller files.</para>
-
-<programlisting>
- Compress Decompress Decompress Corpus
-Flag usage usage -s usage Size
-
- -1 1200k 500k 350k 914704
- -2 2000k 900k 600k 877703
- -3 2800k 1300k 850k 860338
- -4 3600k 1700k 1100k 846899
- -5 4400k 2100k 1350k 845160
- -6 5200k 2500k 1600k 838626
- -7 6100k 2900k 1850k 834096
- -8 6800k 3300k 2100k 828642
- -9 7600k 3700k 2350k 828642
-</programlisting>
-
-</sect1>
-
-
-<sect1 id="recovering" xreflabel="RECOVERING DATA FROM DAMAGED FILES">
-<title>RECOVERING DATA FROM DAMAGED FILES</title>
-
-<para><computeroutput>bzip2</computeroutput> compresses files in
-blocks, usually 900kbytes long. Each block is handled
-independently. If a media or transmission error causes a
-multi-block <computeroutput>.bz2</computeroutput> file to become
-damaged, it may be possible to recover data from the undamaged
-blocks in the file.</para>
-
-<para>The compressed representation of each block is delimited by
-a 48-bit pattern, which makes it possible to find the block
-boundaries with reasonable certainty. Each block also carries
-its own 32-bit CRC, so damaged blocks can be distinguished from
-undamaged ones.</para>
-
-<para><computeroutput>bzip2recover</computeroutput> is a simple
-program whose purpose is to search for blocks in
-<computeroutput>.bz2</computeroutput> files, and write each block
-out into its own <computeroutput>.bz2</computeroutput> file. You
-can then use <computeroutput>bzip2 -t</computeroutput> to test
-the integrity of the resulting files, and decompress those which
-are undamaged.</para>
-
-<para><computeroutput>bzip2recover</computeroutput> takes a
-single argument, the name of the damaged file, and writes a
-number of files <computeroutput>rec0001file.bz2</computeroutput>,
-<computeroutput>rec0002file.bz2</computeroutput>, etc, containing
-the extracted blocks. The output filenames are designed so that
-the use of wildcards in subsequent processing -- for example,
-<computeroutput>bzip2 -dc rec*file.bz2 &#62;
-recovered_data</computeroutput> -- lists the files in the correct
-order.</para>
-
-<para><computeroutput>bzip2recover</computeroutput> should be of
-most use dealing with large <computeroutput>.bz2</computeroutput>
-files, as these will contain many blocks. It is clearly futile
-to use it on damaged single-block files, since a damaged block
-cannot be recovered. If you wish to minimise any potential data
-loss through media or transmission errors, you might consider
-compressing with a smaller block size.</para>
-
-</sect1>
-
-
-<sect1 id="performance" xreflabel="PERFORMANCE NOTES">
-<title>PERFORMANCE NOTES</title>
-
-<para>The sorting phase of compression gathers together similar
-strings in the file. Because of this, files containing very long
-runs of repeated symbols, like "aabaabaabaab ..." (repeated
-several hundred times) may compress more slowly than normal.
-Versions 0.9.5 and above fare much better than previous versions
-in this respect. The ratio between worst-case and average-case
-compression time is in the region of 10:1. For previous
-versions, this figure was more like 100:1. You can use the
-<computeroutput>-vvvv</computeroutput> option to monitor progress
-in great detail, if you want.</para>
-
-<para>Decompression speed is unaffected by these
-phenomena.</para>
-
-<para><computeroutput>bzip2</computeroutput> usually allocates
-several megabytes of memory to operate in, and then charges all
-over it in a fairly random fashion. This means that performance,
-both for compressing and decompressing, is largely determined by
-the speed at which your machine can service cache misses.
-Because of this, small changes to the code to reduce the miss
-rate have been observed to give disproportionately large
-performance improvements. I imagine
-<computeroutput>bzip2</computeroutput> will perform best on
-machines with very large caches.</para>
-
-</sect1>
-
-
-
-<sect1 id="caveats" xreflabel="CAVEATS">
-<title>CAVEATS</title>
-
-<para>I/O error messages are not as helpful as they could be.
-<computeroutput>bzip2</computeroutput> tries hard to detect I/O
-errors and exit cleanly, but the details of what the problem is
-sometimes seem rather misleading.</para>
-
-<para>This manual page pertains to version &bz-version; of
-<computeroutput>bzip2</computeroutput>. Compressed data created by
-this version is entirely forwards and backwards compatible with the
-previous public releases, versions 0.1pl2, 0.9.0 and 0.9.5, 1.0.0,
-1.0.1, 1.0.2 and 1.0.3, but with the following exception: 0.9.0 and
-above can correctly decompress multiple concatenated compressed files.
-0.1pl2 cannot do this; it will stop after decompressing just the first
-file in the stream.</para>
-
-<para><computeroutput>bzip2recover</computeroutput> versions
-prior to 1.0.2 used 32-bit integers to represent bit positions in
-compressed files, so it could not handle compressed files more
-than 512 megabytes long. Versions 1.0.2 and above use 64-bit ints
-on some platforms which support them (GNU supported targets, and
-Windows). To establish whether or not
-<computeroutput>bzip2recover</computeroutput> was built with such
-a limitation, run it without arguments. In any event you can
-build yourself an unlimited version if you can recompile it with
-<computeroutput>MaybeUInt64</computeroutput> set to be an
-unsigned 64-bit integer.</para>
-
-</sect1>
-
-
-
-<sect1 id="author" xreflabel="AUTHOR">
-<title>AUTHOR</title>
-
-<para>Julian Seward,
-<computeroutput>&bz-email;</computeroutput></para>
-
-<para>The ideas embodied in
-<computeroutput>bzip2</computeroutput> are due to (at least) the
-following people: Michael Burrows and David Wheeler (for the
-block sorting transformation), David Wheeler (again, for the
-Huffman coder), Peter Fenwick (for the structured coding model in
-the original <computeroutput>bzip</computeroutput>, and many
-refinements), and Alistair Moffat, Radford Neal and Ian Witten
-(for the arithmetic coder in the original
-<computeroutput>bzip</computeroutput>). I am much indebted for
-their help, support and advice. See the manual in the source
-distribution for pointers to sources of documentation. Christian
-von Roques encouraged me to look for faster sorting algorithms,
-so as to speed up compression. Bela Lubkin encouraged me to
-improve the worst-case compression performance.
-Donna Robinson XMLised the documentation.
-Many people sent
-patches, helped with portability problems, lent machines, gave
-advice and were generally helpful.</para>
-
-</sect1>
-
-</chapter>
-
-
-
-<chapter id="libprog" xreflabel="Programming with libbzip2">
-<title>
-Programming with <computeroutput>libbzip2</computeroutput>
-</title>
-
-<para>This chapter describes the programming interface to
-<computeroutput>libbzip2</computeroutput>.</para>
-
-<para>For general background information, particularly about
-memory use and performance aspects, you'd be well advised to read
-<xref linkend="using"/> as well.</para>
-
-
-<sect1 id="top-level" xreflabel="Top-level structure">
-<title>Top-level structure</title>
-
-<para><computeroutput>libbzip2</computeroutput> is a flexible
-library for compressing and decompressing data in the
-<computeroutput>bzip2</computeroutput> data format. Although
-packaged as a single entity, it helps to regard the library as
-three separate parts: the low level interface, and the high level
-interface, and some utility functions.</para>
-
-<para>The structure of
-<computeroutput>libbzip2</computeroutput>'s interfaces is similar
-to that of Jean-loup Gailly's and Mark Adler's excellent
-<computeroutput>zlib</computeroutput> library.</para>
-
-<para>All externally visible symbols have names beginning
-<computeroutput>BZ2_</computeroutput>. This is new in version
-1.0. The intention is to minimise pollution of the namespaces of
-library clients.</para>
-
-<para>To use any part of the library, you need to
-<computeroutput>#include &lt;bzlib.h&gt;</computeroutput>
-into your sources.</para>
-
-
-
-<sect2 id="ll-summary" xreflabel="Low-level summary">
-<title>Low-level summary</title>
-
-<para>This interface provides services for compressing and
-decompressing data in memory. There's no provision for dealing
-with files, streams or any other I/O mechanisms, just straight
-memory-to-memory work. In fact, this part of the library can be
-compiled without inclusion of
-<computeroutput>stdio.h</computeroutput>, which may be helpful
-for embedded applications.</para>
-
-<para>The low-level part of the library has no global variables
-and is therefore thread-safe.</para>
-
-<para>Six routines make up the low level interface:
-<computeroutput>BZ2_bzCompressInit</computeroutput>,
-<computeroutput>BZ2_bzCompress</computeroutput>, and
-<computeroutput>BZ2_bzCompressEnd</computeroutput> for
-compression, and a corresponding trio
-<computeroutput>BZ2_bzDecompressInit</computeroutput>,
-<computeroutput>BZ2_bzDecompress</computeroutput> and
-<computeroutput>BZ2_bzDecompressEnd</computeroutput> for
-decompression. The <computeroutput>*Init</computeroutput>
-functions allocate memory for compression/decompression and do
-other initialisations, whilst the
-<computeroutput>*End</computeroutput> functions close down
-operations and release memory.</para>
-
-<para>The real work is done by
-<computeroutput>BZ2_bzCompress</computeroutput> and
-<computeroutput>BZ2_bzDecompress</computeroutput>. These
-compress and decompress data from a user-supplied input buffer to
-a user-supplied output buffer. These buffers can be any size;
-arbitrary quantities of data are handled by making repeated calls
-to these functions. This is a flexible mechanism allowing a
-consumer-pull style of activity, or producer-push, or a mixture
-of both.</para>
-
-</sect2>
-
-
-<sect2 id="hl-summary" xreflabel="High-level summary">
-<title>High-level summary</title>
-
-<para>This interface provides some handy wrappers around the
-low-level interface to facilitate reading and writing
-<computeroutput>bzip2</computeroutput> format files
-(<computeroutput>.bz2</computeroutput> files). The routines
-provide hooks to facilitate reading files in which the
-<computeroutput>bzip2</computeroutput> data stream is embedded
-within some larger-scale file structure, or where there are
-multiple <computeroutput>bzip2</computeroutput> data streams
-concatenated end-to-end.</para>
-
-<para>For reading files,
-<computeroutput>BZ2_bzReadOpen</computeroutput>,
-<computeroutput>BZ2_bzRead</computeroutput>,
-<computeroutput>BZ2_bzReadClose</computeroutput> and
-<computeroutput>BZ2_bzReadGetUnused</computeroutput> are
-supplied. For writing files,
-<computeroutput>BZ2_bzWriteOpen</computeroutput>,
-<computeroutput>BZ2_bzWrite</computeroutput> and
-<computeroutput>BZ2_bzWriteFinish</computeroutput> are
-available.</para>
-
-<para>As with the low-level library, no global variables are used
-so the library is per se thread-safe. However, if I/O errors
-occur whilst reading or writing the underlying compressed files,
-you may have to consult <computeroutput>errno</computeroutput> to
-determine the cause of the error. In that case, you'd need a C
-library which correctly supports
-<computeroutput>errno</computeroutput> in a multithreaded
-environment.</para>
-
-<para>To make the library a little simpler and more portable,
-<computeroutput>BZ2_bzReadOpen</computeroutput> and
-<computeroutput>BZ2_bzWriteOpen</computeroutput> require you to
-pass them file handles (<computeroutput>FILE*</computeroutput>s)
-which have previously been opened for reading or writing
-respectively. That avoids portability problems associated with
-file operations and file attributes, whilst not being much of an
-imposition on the programmer.</para>
-
-</sect2>
-
-
-<sect2 id="util-fns-summary" xreflabel="Utility functions summary">
-<title>Utility functions summary</title>
-
-<para>For very simple needs,
-<computeroutput>BZ2_bzBuffToBuffCompress</computeroutput> and
-<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> are
-provided. These compress data in memory from one buffer to
-another buffer in a single function call. You should assess
-whether these functions fulfill your memory-to-memory
-compression/decompression requirements before investing effort in
-understanding the more general but more complex low-level
-interface.</para>
-
-<para>Yoshioka Tsuneo
-(<computeroutput>tsuneo@rr.iij4u.or.jp</computeroutput>) has
-contributed some functions to give better
-<computeroutput>zlib</computeroutput> compatibility. These
-functions are <computeroutput>BZ2_bzopen</computeroutput>,
-<computeroutput>BZ2_bzread</computeroutput>,
-<computeroutput>BZ2_bzwrite</computeroutput>,
-<computeroutput>BZ2_bzflush</computeroutput>,
-<computeroutput>BZ2_bzclose</computeroutput>,
-<computeroutput>BZ2_bzerror</computeroutput> and
-<computeroutput>BZ2_bzlibVersion</computeroutput>. You may find
-these functions more convenient for simple file reading and
-writing, than those in the high-level interface. These functions
-are not (yet) officially part of the library, and are minimally
-documented here. If they break, you get to keep all the pieces.
-I hope to document them properly when time permits.</para>
-
-<para>Yoshioka also contributed modifications to allow the
-library to be built as a Windows DLL.</para>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="err-handling" xreflabel="Error handling">
-<title>Error handling</title>
-
-<para>The library is designed to recover cleanly in all
-situations, including the worst-case situation of decompressing
-random data. I'm not 100% sure that it can always do this, so
-you might want to add a signal handler to catch segmentation
-violations during decompression if you are feeling especially
-paranoid. I would be interested in hearing more about the
-robustness of the library to corrupted compressed data.</para>
-
-<para>Version 1.0.3 more robust in this respect than any
-previous version. Investigations with Valgrind (a tool for detecting
-problems with memory management) indicate
-that, at least for the few files I tested, all single-bit errors
-in the decompressed data are caught properly, with no
-segmentation faults, no uses of uninitialised data, no out of
-range reads or writes, and no infinite looping in the decompressor.
-So it's certainly pretty robust, although
-I wouldn't claim it to be totally bombproof.</para>
-
-<para>The file <computeroutput>bzlib.h</computeroutput> contains
-all definitions needed to use the library. In particular, you
-should definitely not include
-<computeroutput>bzlib_private.h</computeroutput>.</para>
-
-<para>In <computeroutput>bzlib.h</computeroutput>, the various
-return values are defined. The following list is not intended as
-an exhaustive description of the circumstances in which a given
-value may be returned -- those descriptions are given later.
-Rather, it is intended to convey the rough meaning of each return
-value. The first five actions are normal and not intended to
-denote an error situation.</para>
-
-<variablelist>
-
- <varlistentry>
- <term><computeroutput>BZ_OK</computeroutput></term>
- <listitem><para>The requested action was completed
- successfully.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_RUN_OK, BZ_FLUSH_OK,
- BZ_FINISH_OK</computeroutput></term>
- <listitem><para>In
- <computeroutput>BZ2_bzCompress</computeroutput>, the requested
- flush/finish/nothing-special action was completed
- successfully.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_STREAM_END</computeroutput></term>
- <listitem><para>Compression of data was completed, or the
- logical stream end was detected during
- decompression.</para></listitem>
- </varlistentry>
-
-</variablelist>
-
-<para>The following return values indicate an error of some
-kind.</para>
-
-<variablelist>
-
- <varlistentry>
- <term><computeroutput>BZ_CONFIG_ERROR</computeroutput></term>
- <listitem><para>Indicates that the library has been improperly
- compiled on your platform -- a major configuration error.
- Specifically, it means that
- <computeroutput>sizeof(char)</computeroutput>,
- <computeroutput>sizeof(short)</computeroutput> and
- <computeroutput>sizeof(int)</computeroutput> are not 1, 2 and
- 4 respectively, as they should be. Note that the library
- should still work properly on 64-bit platforms which follow
- the LP64 programming model -- that is, where
- <computeroutput>sizeof(long)</computeroutput> and
- <computeroutput>sizeof(void*)</computeroutput> are 8. Under
- LP64, <computeroutput>sizeof(int)</computeroutput> is still 4,
- so <computeroutput>libbzip2</computeroutput>, which doesn't
- use the <computeroutput>long</computeroutput> type, is
- OK.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_SEQUENCE_ERROR</computeroutput></term>
- <listitem><para>When using the library, it is important to call
- the functions in the correct sequence and with data structures
- (buffers etc) in the correct states.
- <computeroutput>libbzip2</computeroutput> checks as much as it
- can to ensure this is happening, and returns
- <computeroutput>BZ_SEQUENCE_ERROR</computeroutput> if not.
- Code which complies precisely with the function semantics, as
- detailed below, should never receive this value; such an event
- denotes buggy code which you should
- investigate.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_PARAM_ERROR</computeroutput></term>
- <listitem><para>Returned when a parameter to a function call is
- out of range or otherwise manifestly incorrect. As with
- <computeroutput>BZ_SEQUENCE_ERROR</computeroutput>, this
- denotes a bug in the client code. The distinction between
- <computeroutput>BZ_PARAM_ERROR</computeroutput> and
- <computeroutput>BZ_SEQUENCE_ERROR</computeroutput> is a bit
- hazy, but still worth making.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_MEM_ERROR</computeroutput></term>
- <listitem><para>Returned when a request to allocate memory
- failed. Note that the quantity of memory needed to decompress
- a stream cannot be determined until the stream's header has
- been read. So
- <computeroutput>BZ2_bzDecompress</computeroutput> and
- <computeroutput>BZ2_bzRead</computeroutput> may return
- <computeroutput>BZ_MEM_ERROR</computeroutput> even though some
- of the compressed data has been read. The same is not true
- for compression; once
- <computeroutput>BZ2_bzCompressInit</computeroutput> or
- <computeroutput>BZ2_bzWriteOpen</computeroutput> have
- successfully completed,
- <computeroutput>BZ_MEM_ERROR</computeroutput> cannot
- occur.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_DATA_ERROR</computeroutput></term>
- <listitem><para>Returned when a data integrity error is
- detected during decompression. Most importantly, this means
- when stored and computed CRCs for the data do not match. This
- value is also returned upon detection of any other anomaly in
- the compressed data.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_DATA_ERROR_MAGIC</computeroutput></term>
- <listitem><para>As a special case of
- <computeroutput>BZ_DATA_ERROR</computeroutput>, it is
- sometimes useful to know when the compressed stream does not
- start with the correct magic bytes (<computeroutput>'B' 'Z'
- 'h'</computeroutput>).</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_IO_ERROR</computeroutput></term>
- <listitem><para>Returned by
- <computeroutput>BZ2_bzRead</computeroutput> and
- <computeroutput>BZ2_bzWrite</computeroutput> when there is an
- error reading or writing in the compressed file, and by
- <computeroutput>BZ2_bzReadOpen</computeroutput> and
- <computeroutput>BZ2_bzWriteOpen</computeroutput> for attempts
- to use a file for which the error indicator (viz,
- <computeroutput>ferror(f)</computeroutput>) is set. On
- receipt of <computeroutput>BZ_IO_ERROR</computeroutput>, the
- caller should consult <computeroutput>errno</computeroutput>
- and/or <computeroutput>perror</computeroutput> to acquire
- operating-system specific information about the
- problem.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_UNEXPECTED_EOF</computeroutput></term>
- <listitem><para>Returned by
- <computeroutput>BZ2_bzRead</computeroutput> when the
- compressed file finishes before the logical end of stream is
- detected.</para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><computeroutput>BZ_OUTBUFF_FULL</computeroutput></term>
- <listitem><para>Returned by
- <computeroutput>BZ2_bzBuffToBuffCompress</computeroutput> and
- <computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> to
- indicate that the output data will not fit into the output
- buffer provided.</para></listitem>
- </varlistentry>
-
-</variablelist>
-
-</sect1>
-
-
-
-<sect1 id="low-level" xreflabel=">Low-level interface">
-<title>Low-level interface</title>
-
-
-<sect2 id="bzcompress-init" xreflabel="BZ2_bzCompressInit">
-<title><computeroutput>BZ2_bzCompressInit</computeroutput></title>
-
-<programlisting>
-typedef struct {
- char *next_in;
- unsigned int avail_in;
- unsigned int total_in_lo32;
- unsigned int total_in_hi32;
-
- char *next_out;
- unsigned int avail_out;
- unsigned int total_out_lo32;
- unsigned int total_out_hi32;
-
- void *state;
-
- void *(*bzalloc)(void *,int,int);
- void (*bzfree)(void *,void *);
- void *opaque;
-} bz_stream;
-
-int BZ2_bzCompressInit ( bz_stream *strm,
- int blockSize100k,
- int verbosity,
- int workFactor );
-</programlisting>
-
-<para>Prepares for compression. The
-<computeroutput>bz_stream</computeroutput> structure holds all
-data pertaining to the compression activity. A
-<computeroutput>bz_stream</computeroutput> structure should be
-allocated and initialised prior to the call. The fields of
-<computeroutput>bz_stream</computeroutput> comprise the entirety
-of the user-visible data. <computeroutput>state</computeroutput>
-is a pointer to the private data structures required for
-compression.</para>
-
-<para>Custom memory allocators are supported, via fields
-<computeroutput>bzalloc</computeroutput>,
-<computeroutput>bzfree</computeroutput>, and
-<computeroutput>opaque</computeroutput>. The value
-<computeroutput>opaque</computeroutput> is passed to as the first
-argument to all calls to <computeroutput>bzalloc</computeroutput>
-and <computeroutput>bzfree</computeroutput>, but is otherwise
-ignored by the library. The call <computeroutput>bzalloc (
-opaque, n, m )</computeroutput> is expected to return a pointer
-<computeroutput>p</computeroutput> to <computeroutput>n *
-m</computeroutput> bytes of memory, and <computeroutput>bzfree (
-opaque, p )</computeroutput> should free that memory.</para>
-
-<para>If you don't want to use a custom memory allocator, set
-<computeroutput>bzalloc</computeroutput>,
-<computeroutput>bzfree</computeroutput> and
-<computeroutput>opaque</computeroutput> to
-<computeroutput>NULL</computeroutput>, and the library will then
-use the standard <computeroutput>malloc</computeroutput> /
-<computeroutput>free</computeroutput> routines.</para>
-
-<para>Before calling
-<computeroutput>BZ2_bzCompressInit</computeroutput>, fields
-<computeroutput>bzalloc</computeroutput>,
-<computeroutput>bzfree</computeroutput> and
-<computeroutput>opaque</computeroutput> should be filled
-appropriately, as just described. Upon return, the internal
-state will have been allocated and initialised, and
-<computeroutput>total_in_lo32</computeroutput>,
-<computeroutput>total_in_hi32</computeroutput>,
-<computeroutput>total_out_lo32</computeroutput> and
-<computeroutput>total_out_hi32</computeroutput> will have been
-set to zero. These four fields are used by the library to inform
-the caller of the total amount of data passed into and out of the
-library, respectively. You should not try to change them. As of
-version 1.0, 64-bit counts are maintained, even on 32-bit
-platforms, using the <computeroutput>_hi32</computeroutput>
-fields to store the upper 32 bits of the count. So, for example,
-the total amount of data in is <computeroutput>(total_in_hi32
-&#60;&#60; 32) + total_in_lo32</computeroutput>.</para>
-
-<para>Parameter <computeroutput>blockSize100k</computeroutput>
-specifies the block size to be used for compression. It should
-be a value between 1 and 9 inclusive, and the actual block size
-used is 100000 x this figure. 9 gives the best compression but
-takes most memory.</para>
-
-<para>Parameter <computeroutput>verbosity</computeroutput> should
-be set to a number between 0 and 4 inclusive. 0 is silent, and
-greater numbers give increasingly verbose monitoring/debugging
-output. If the library has been compiled with
-<computeroutput>-DBZ_NO_STDIO</computeroutput>, no such output
-will appear for any verbosity setting.</para>
-
-<para>Parameter <computeroutput>workFactor</computeroutput>
-controls how the compression phase behaves when presented with
-worst case, highly repetitive, input data. If compression runs
-into difficulties caused by repetitive data, the library switches
-from the standard sorting algorithm to a fallback algorithm. The
-fallback is slower than the standard algorithm by perhaps a
-factor of three, but always behaves reasonably, no matter how bad
-the input.</para>
-
-<para>Lower values of <computeroutput>workFactor</computeroutput>
-reduce the amount of effort the standard algorithm will expend
-before resorting to the fallback. You should set this parameter
-carefully; too low, and many inputs will be handled by the
-fallback algorithm and so compress rather slowly, too high, and
-your average-to-worst case compression times can become very
-large. The default value of 30 gives reasonable behaviour over a
-wide range of circumstances.</para>
-
-<para>Allowable values range from 0 to 250 inclusive. 0 is a
-special case, equivalent to using the default value of 30.</para>
-
-<para>Note that the compressed output generated is the same
-regardless of whether or not the fallback algorithm is
-used.</para>
-
-<para>Be aware also that this parameter may disappear entirely in
-future versions of the library. In principle it should be
-possible to devise a good way to automatically choose which
-algorithm to use. Such a mechanism would render the parameter
-obsolete.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if strm is NULL
- or blockSize < 1 or blockSize > 9
- or verbosity < 0 or verbosity > 4
- or workFactor < 0 or workFactor > 250
-BZ_MEM_ERROR
- if not enough memory is available
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzCompress
- if BZ_OK is returned
- no specific action needed in case of error
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzCompress" xreflabel="BZ2_bzCompress">
-<title><computeroutput>BZ2_bzCompress</computeroutput></title>
-
-<programlisting>
-int BZ2_bzCompress ( bz_stream *strm, int action );
-</programlisting>
-
-<para>Provides more input and/or output buffer space for the
-library. The caller maintains input and output buffers, and
-calls <computeroutput>BZ2_bzCompress</computeroutput> to transfer
-data between them.</para>
-
-<para>Before each call to
-<computeroutput>BZ2_bzCompress</computeroutput>,
-<computeroutput>next_in</computeroutput> should point at the data
-to be compressed, and <computeroutput>avail_in</computeroutput>
-should indicate how many bytes the library may read.
-<computeroutput>BZ2_bzCompress</computeroutput> updates
-<computeroutput>next_in</computeroutput>,
-<computeroutput>avail_in</computeroutput> and
-<computeroutput>total_in</computeroutput> to reflect the number
-of bytes it has read.</para>
-
-<para>Similarly, <computeroutput>next_out</computeroutput> should
-point to a buffer in which the compressed data is to be placed,
-with <computeroutput>avail_out</computeroutput> indicating how
-much output space is available.
-<computeroutput>BZ2_bzCompress</computeroutput> updates
-<computeroutput>next_out</computeroutput>,
-<computeroutput>avail_out</computeroutput> and
-<computeroutput>total_out</computeroutput> to reflect the number
-of bytes output.</para>
-
-<para>You may provide and remove as little or as much data as you
-like on each call of
-<computeroutput>BZ2_bzCompress</computeroutput>. In the limit,
-it is acceptable to supply and remove data one byte at a time,
-although this would be terribly inefficient. You should always
-ensure that at least one byte of output space is available at
-each call.</para>
-
-<para>A second purpose of
-<computeroutput>BZ2_bzCompress</computeroutput> is to request a
-change of mode of the compressed stream.</para>
-
-<para>Conceptually, a compressed stream can be in one of four
-states: IDLE, RUNNING, FLUSHING and FINISHING. Before
-initialisation
-(<computeroutput>BZ2_bzCompressInit</computeroutput>) and after
-termination (<computeroutput>BZ2_bzCompressEnd</computeroutput>),
-a stream is regarded as IDLE.</para>
-
-<para>Upon initialisation
-(<computeroutput>BZ2_bzCompressInit</computeroutput>), the stream
-is placed in the RUNNING state. Subsequent calls to
-<computeroutput>BZ2_bzCompress</computeroutput> should pass
-<computeroutput>BZ_RUN</computeroutput> as the requested action;
-other actions are illegal and will result in
-<computeroutput>BZ_SEQUENCE_ERROR</computeroutput>.</para>
-
-<para>At some point, the calling program will have provided all
-the input data it wants to. It will then want to finish up -- in
-effect, asking the library to process any data it might have
-buffered internally. In this state,
-<computeroutput>BZ2_bzCompress</computeroutput> will no longer
-attempt to read data from
-<computeroutput>next_in</computeroutput>, but it will want to
-write data to <computeroutput>next_out</computeroutput>. Because
-the output buffer supplied by the user can be arbitrarily small,
-the finishing-up operation cannot necessarily be done with a
-single call of
-<computeroutput>BZ2_bzCompress</computeroutput>.</para>
-
-<para>Instead, the calling program passes
-<computeroutput>BZ_FINISH</computeroutput> as an action to
-<computeroutput>BZ2_bzCompress</computeroutput>. This changes
-the stream's state to FINISHING. Any remaining input (ie,
-<computeroutput>next_in[0 .. avail_in-1]</computeroutput>) is
-compressed and transferred to the output buffer. To do this,
-<computeroutput>BZ2_bzCompress</computeroutput> must be called
-repeatedly until all the output has been consumed. At that
-point, <computeroutput>BZ2_bzCompress</computeroutput> returns
-<computeroutput>BZ_STREAM_END</computeroutput>, and the stream's
-state is set back to IDLE.
-<computeroutput>BZ2_bzCompressEnd</computeroutput> should then be
-called.</para>
-
-<para>Just to make sure the calling program does not cheat, the
-library makes a note of <computeroutput>avail_in</computeroutput>
-at the time of the first call to
-<computeroutput>BZ2_bzCompress</computeroutput> which has
-<computeroutput>BZ_FINISH</computeroutput> as an action (ie, at
-the time the program has announced its intention to not supply
-any more input). By comparing this value with that of
-<computeroutput>avail_in</computeroutput> over subsequent calls
-to <computeroutput>BZ2_bzCompress</computeroutput>, the library
-can detect any attempts to slip in more data to compress. Any
-calls for which this is detected will return
-<computeroutput>BZ_SEQUENCE_ERROR</computeroutput>. This
-indicates a programming mistake which should be corrected.</para>
-
-<para>Instead of asking to finish, the calling program may ask
-<computeroutput>BZ2_bzCompress</computeroutput> to take all the
-remaining input, compress it and terminate the current
-(Burrows-Wheeler) compression block. This could be useful for
-error control purposes. The mechanism is analogous to that for
-finishing: call <computeroutput>BZ2_bzCompress</computeroutput>
-with an action of <computeroutput>BZ_FLUSH</computeroutput>,
-remove output data, and persist with the
-<computeroutput>BZ_FLUSH</computeroutput> action until the value
-<computeroutput>BZ_RUN</computeroutput> is returned. As with
-finishing, <computeroutput>BZ2_bzCompress</computeroutput>
-detects any attempt to provide more input data once the flush has
-begun.</para>
-
-<para>Once the flush is complete, the stream returns to the
-normal RUNNING state.</para>
-
-<para>This all sounds pretty complex, but isn't really. Here's a
-table which shows which actions are allowable in each state, what
-action will be taken, what the next state is, and what the
-non-error return values are. Note that you can't explicitly ask
-what state the stream is in, but nor do you need to -- it can be
-inferred from the values returned by
-<computeroutput>BZ2_bzCompress</computeroutput>.</para>
-
-<programlisting>
-IDLE/any
- Illegal. IDLE state only exists after BZ2_bzCompressEnd or
- before BZ2_bzCompressInit.
- Return value = BZ_SEQUENCE_ERROR
-
-RUNNING/BZ_RUN
- Compress from next_in to next_out as much as possible.
- Next state = RUNNING
- Return value = BZ_RUN_OK
-
-RUNNING/BZ_FLUSH
- Remember current value of next_in. Compress from next_in
- to next_out as much as possible, but do not accept any more input.
- Next state = FLUSHING
- Return value = BZ_FLUSH_OK
-
-RUNNING/BZ_FINISH
- Remember current value of next_in. Compress from next_in
- to next_out as much as possible, but do not accept any more input.
- Next state = FINISHING
- Return value = BZ_FINISH_OK
-
-FLUSHING/BZ_FLUSH
- Compress from next_in to next_out as much as possible,
- but do not accept any more input.
- If all the existing input has been used up and all compressed
- output has been removed
- Next state = RUNNING; Return value = BZ_RUN_OK
- else
- Next state = FLUSHING; Return value = BZ_FLUSH_OK
-
-FLUSHING/other
- Illegal.
- Return value = BZ_SEQUENCE_ERROR
-
-FINISHING/BZ_FINISH
- Compress from next_in to next_out as much as possible,
- but to not accept any more input.
- If all the existing input has been used up and all compressed
- output has been removed
- Next state = IDLE; Return value = BZ_STREAM_END
- else
- Next state = FINISHING; Return value = BZ_FINISH_OK
-
-FINISHING/other
- Illegal.
- Return value = BZ_SEQUENCE_ERROR
-</programlisting>
-
-
-<para>That still looks complicated? Well, fair enough. The
-usual sequence of calls for compressing a load of data is:</para>
-
-<orderedlist>
-
- <listitem><para>Get started with
- <computeroutput>BZ2_bzCompressInit</computeroutput>.</para></listitem>
-
- <listitem><para>Shovel data in and shlurp out its compressed form
- using zero or more calls of
- <computeroutput>BZ2_bzCompress</computeroutput> with action =
- <computeroutput>BZ_RUN</computeroutput>.</para></listitem>
-
- <listitem><para>Finish up. Repeatedly call
- <computeroutput>BZ2_bzCompress</computeroutput> with action =
- <computeroutput>BZ_FINISH</computeroutput>, copying out the
- compressed output, until
- <computeroutput>BZ_STREAM_END</computeroutput> is
- returned.</para></listitem> <listitem><para>Close up and go home. Call
- <computeroutput>BZ2_bzCompressEnd</computeroutput>.</para></listitem>
-
-</orderedlist>
-
-<para>If the data you want to compress fits into your input
-buffer all at once, you can skip the calls of
-<computeroutput>BZ2_bzCompress ( ..., BZ_RUN )</computeroutput>
-and just do the <computeroutput>BZ2_bzCompress ( ..., BZ_FINISH
-)</computeroutput> calls.</para>
-
-<para>All required memory is allocated by
-<computeroutput>BZ2_bzCompressInit</computeroutput>. The
-compression library can accept any data at all (obviously). So
-you shouldn't get any error return values from the
-<computeroutput>BZ2_bzCompress</computeroutput> calls. If you
-do, they will be
-<computeroutput>BZ_SEQUENCE_ERROR</computeroutput>, and indicate
-a bug in your programming.</para>
-
-<para>Trivial other possible return values:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if strm is NULL, or strm->s is NULL
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzCompress-end" xreflabel="BZ2_bzCompressEnd">
-<title><computeroutput>BZ2_bzCompressEnd</computeroutput></title>
-
-<programlisting>
-int BZ2_bzCompressEnd ( bz_stream *strm );
-</programlisting>
-
-<para>Releases all memory associated with a compression
-stream.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_PARAM_ERROR if strm is NULL or strm->s is NULL
-BZ_OK otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzDecompress-init" xreflabel="BZ2_bzDecompressInit">
-<title><computeroutput>BZ2_bzDecompressInit</computeroutput></title>
-
-<programlisting>
-int BZ2_bzDecompressInit ( bz_stream *strm, int verbosity, int small );
-</programlisting>
-
-<para>Prepares for decompression. As with
-<computeroutput>BZ2_bzCompressInit</computeroutput>, a
-<computeroutput>bz_stream</computeroutput> record should be
-allocated and initialised before the call. Fields
-<computeroutput>bzalloc</computeroutput>,
-<computeroutput>bzfree</computeroutput> and
-<computeroutput>opaque</computeroutput> should be set if a custom
-memory allocator is required, or made
-<computeroutput>NULL</computeroutput> for the normal
-<computeroutput>malloc</computeroutput> /
-<computeroutput>free</computeroutput> routines. Upon return, the
-internal state will have been initialised, and
-<computeroutput>total_in</computeroutput> and
-<computeroutput>total_out</computeroutput> will be zero.</para>
-
-<para>For the meaning of parameter
-<computeroutput>verbosity</computeroutput>, see
-<computeroutput>BZ2_bzCompressInit</computeroutput>.</para>
-
-<para>If <computeroutput>small</computeroutput> is nonzero, the
-library will use an alternative decompression algorithm which
-uses less memory but at the cost of decompressing more slowly
-(roughly speaking, half the speed, but the maximum memory
-requirement drops to around 2300k). See <xref linkend="using"/>
-for more information on memory management.</para>
-
-<para>Note that the amount of memory needed to decompress a
-stream cannot be determined until the stream's header has been
-read, so even if
-<computeroutput>BZ2_bzDecompressInit</computeroutput> succeeds, a
-subsequent <computeroutput>BZ2_bzDecompress</computeroutput>
-could fail with
-<computeroutput>BZ_MEM_ERROR</computeroutput>.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if ( small != 0 && small != 1 )
- or (verbosity <; 0 || verbosity > 4)
-BZ_MEM_ERROR
- if insufficient memory is available
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzDecompress
- if BZ_OK was returned
- no specific action required in case of error
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzDecompress" xreflabel="BZ2_bzDecompress">
-<title><computeroutput>BZ2_bzDecompress</computeroutput></title>
-
-<programlisting>
-int BZ2_bzDecompress ( bz_stream *strm );
-</programlisting>
-
-<para>Provides more input and/out output buffer space for the
-library. The caller maintains input and output buffers, and uses
-<computeroutput>BZ2_bzDecompress</computeroutput> to transfer
-data between them.</para>
-
-<para>Before each call to
-<computeroutput>BZ2_bzDecompress</computeroutput>,
-<computeroutput>next_in</computeroutput> should point at the
-compressed data, and <computeroutput>avail_in</computeroutput>
-should indicate how many bytes the library may read.
-<computeroutput>BZ2_bzDecompress</computeroutput> updates
-<computeroutput>next_in</computeroutput>,
-<computeroutput>avail_in</computeroutput> and
-<computeroutput>total_in</computeroutput> to reflect the number
-of bytes it has read.</para>
-
-<para>Similarly, <computeroutput>next_out</computeroutput> should
-point to a buffer in which the uncompressed output is to be
-placed, with <computeroutput>avail_out</computeroutput>
-indicating how much output space is available.
-<computeroutput>BZ2_bzCompress</computeroutput> updates
-<computeroutput>next_out</computeroutput>,
-<computeroutput>avail_out</computeroutput> and
-<computeroutput>total_out</computeroutput> to reflect the number
-of bytes output.</para>
-
-<para>You may provide and remove as little or as much data as you
-like on each call of
-<computeroutput>BZ2_bzDecompress</computeroutput>. In the limit,
-it is acceptable to supply and remove data one byte at a time,
-although this would be terribly inefficient. You should always
-ensure that at least one byte of output space is available at
-each call.</para>
-
-<para>Use of <computeroutput>BZ2_bzDecompress</computeroutput> is
-simpler than
-<computeroutput>BZ2_bzCompress</computeroutput>.</para>
-
-<para>You should provide input and remove output as described
-above, and repeatedly call
-<computeroutput>BZ2_bzDecompress</computeroutput> until
-<computeroutput>BZ_STREAM_END</computeroutput> is returned.
-Appearance of <computeroutput>BZ_STREAM_END</computeroutput>
-denotes that <computeroutput>BZ2_bzDecompress</computeroutput>
-has detected the logical end of the compressed stream.
-<computeroutput>BZ2_bzDecompress</computeroutput> will not
-produce <computeroutput>BZ_STREAM_END</computeroutput> until all
-output data has been placed into the output buffer, so once
-<computeroutput>BZ_STREAM_END</computeroutput> appears, you are
-guaranteed to have available all the decompressed output, and
-<computeroutput>BZ2_bzDecompressEnd</computeroutput> can safely
-be called.</para>
-
-<para>If case of an error return value, you should call
-<computeroutput>BZ2_bzDecompressEnd</computeroutput> to clean up
-and release memory.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if strm is NULL or strm->s is NULL
- or strm->avail_out < 1
-BZ_DATA_ERROR
- if a data integrity error is detected in the compressed stream
-BZ_DATA_ERROR_MAGIC
- if the compressed stream doesn't begin with the right magic bytes
-BZ_MEM_ERROR
- if there wasn't enough memory available
-BZ_STREAM_END
- if the logical end of the data stream was detected and all
- output in has been consumed, eg s-->avail_out > 0
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzDecompress
- if BZ_OK was returned
-BZ2_bzDecompressEnd
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzDecompress-end" xreflabel="BZ2_bzDecompressEnd">
-<title><computeroutput>BZ2_bzDecompressEnd</computeroutput></title>
-
-<programlisting>
-int BZ2_bzDecompressEnd ( bz_stream *strm );
-</programlisting>
-
-<para>Releases all memory associated with a decompression
-stream.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if strm is NULL or strm->s is NULL
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
- None.
-</programlisting>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="hl-interface" xreflabel="High-level interface">
-<title>High-level interface</title>
-
-<para>This interface provides functions for reading and writing
-<computeroutput>bzip2</computeroutput> format files. First, some
-general points.</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>All of the functions take an
- <computeroutput>int*</computeroutput> first argument,
- <computeroutput>bzerror</computeroutput>. After each call,
- <computeroutput>bzerror</computeroutput> should be consulted
- first to determine the outcome of the call. If
- <computeroutput>bzerror</computeroutput> is
- <computeroutput>BZ_OK</computeroutput>, the call completed
- successfully, and only then should the return value of the
- function (if any) be consulted. If
- <computeroutput>bzerror</computeroutput> is
- <computeroutput>BZ_IO_ERROR</computeroutput>, there was an
- error reading/writing the underlying compressed file, and you
- should then consult <computeroutput>errno</computeroutput> /
- <computeroutput>perror</computeroutput> to determine the cause
- of the difficulty. <computeroutput>bzerror</computeroutput>
- may also be set to various other values; precise details are
- given on a per-function basis below.</para></listitem>
-
- <listitem><para>If <computeroutput>bzerror</computeroutput> indicates
- an error (ie, anything except
- <computeroutput>BZ_OK</computeroutput> and
- <computeroutput>BZ_STREAM_END</computeroutput>), you should
- immediately call
- <computeroutput>BZ2_bzReadClose</computeroutput> (or
- <computeroutput>BZ2_bzWriteClose</computeroutput>, depending on
- whether you are attempting to read or to write) to free up all
- resources associated with the stream. Once an error has been
- indicated, behaviour of all calls except
- <computeroutput>BZ2_bzReadClose</computeroutput>
- (<computeroutput>BZ2_bzWriteClose</computeroutput>) is
- undefined. The implication is that (1)
- <computeroutput>bzerror</computeroutput> should be checked
- after each call, and (2) if
- <computeroutput>bzerror</computeroutput> indicates an error,
- <computeroutput>BZ2_bzReadClose</computeroutput>
- (<computeroutput>BZ2_bzWriteClose</computeroutput>) should then
- be called to clean up.</para></listitem>
-
- <listitem><para>The <computeroutput>FILE*</computeroutput> arguments
- passed to <computeroutput>BZ2_bzReadOpen</computeroutput> /
- <computeroutput>BZ2_bzWriteOpen</computeroutput> should be set
- to binary mode. Most Unix systems will do this by default, but
- other platforms, including Windows and Mac, will not. If you
- omit this, you may encounter problems when moving code to new
- platforms.</para></listitem>
-
- <listitem><para>Memory allocation requests are handled by
- <computeroutput>malloc</computeroutput> /
- <computeroutput>free</computeroutput>. At present there is no
- facility for user-defined memory allocators in the file I/O
- functions (could easily be added, though).</para></listitem>
-
-</itemizedlist>
-
-
-
-<sect2 id="bzreadopen" xreflabel="BZ2_bzReadOpen">
-<title><computeroutput>BZ2_bzReadOpen</computeroutput></title>
-
-<programlisting>
-typedef void BZFILE;
-
-BZFILE *BZ2_bzReadOpen( int *bzerror, FILE *f,
- int verbosity, int small,
- void *unused, int nUnused );
-</programlisting>
-
-<para>Prepare to read compressed data from file handle
-<computeroutput>f</computeroutput>.
-<computeroutput>f</computeroutput> should refer to a file which
-has been opened for reading, and for which the error indicator
-(<computeroutput>ferror(f)</computeroutput>)is not set. If
-<computeroutput>small</computeroutput> is 1, the library will try
-to decompress using less memory, at the expense of speed.</para>
-
-<para>For reasons explained below,
-<computeroutput>BZ2_bzRead</computeroutput> will decompress the
-<computeroutput>nUnused</computeroutput> bytes starting at
-<computeroutput>unused</computeroutput>, before starting to read
-from the file <computeroutput>f</computeroutput>. At most
-<computeroutput>BZ_MAX_UNUSED</computeroutput> bytes may be
-supplied like this. If this facility is not required, you should
-pass <computeroutput>NULL</computeroutput> and
-<computeroutput>0</computeroutput> for
-<computeroutput>unused</computeroutput> and
-n<computeroutput>Unused</computeroutput> respectively.</para>
-
-<para>For the meaning of parameters
-<computeroutput>small</computeroutput> and
-<computeroutput>verbosity</computeroutput>, see
-<computeroutput>BZ2_bzDecompressInit</computeroutput>.</para>
-
-<para>The amount of memory needed to decompress a file cannot be
-determined until the file's header has been read. So it is
-possible that <computeroutput>BZ2_bzReadOpen</computeroutput>
-returns <computeroutput>BZ_OK</computeroutput> but a subsequent
-call of <computeroutput>BZ2_bzRead</computeroutput> will return
-<computeroutput>BZ_MEM_ERROR</computeroutput>.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if f is NULL
- or small is neither 0 nor 1
- or ( unused == NULL && nUnused != 0 )
- or ( unused != NULL && !(0 <= nUnused <= BZ_MAX_UNUSED) )
-BZ_IO_ERROR
- if ferror(f) is nonzero
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OK
- otherwise.
-</programlisting>
-
-<para>Possible return values:</para>
-
-<programlisting>
-Pointer to an abstract BZFILE
- if bzerror is BZ_OK
-NULL
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzRead
- if bzerror is BZ_OK
-BZ2_bzClose
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzread" xreflabel="BZ2_bzRead">
-<title><computeroutput>BZ2_bzRead</computeroutput></title>
-
-<programlisting>
-int BZ2_bzRead ( int *bzerror, BZFILE *b, void *buf, int len );
-</programlisting>
-
-<para>Reads up to <computeroutput>len</computeroutput>
-(uncompressed) bytes from the compressed file
-<computeroutput>b</computeroutput> into the buffer
-<computeroutput>buf</computeroutput>. If the read was
-successful, <computeroutput>bzerror</computeroutput> is set to
-<computeroutput>BZ_OK</computeroutput> and the number of bytes
-read is returned. If the logical end-of-stream was detected,
-<computeroutput>bzerror</computeroutput> will be set to
-<computeroutput>BZ_STREAM_END</computeroutput>, and the number of
-bytes read is returned. All other
-<computeroutput>bzerror</computeroutput> values denote an
-error.</para>
-
-<para><computeroutput>BZ2_bzRead</computeroutput> will supply
-<computeroutput>len</computeroutput> bytes, unless the logical
-stream end is detected or an error occurs. Because of this, it
-is possible to detect the stream end by observing when the number
-of bytes returned is less than the number requested.
-Nevertheless, this is regarded as inadvisable; you should instead
-check <computeroutput>bzerror</computeroutput> after every call
-and watch out for
-<computeroutput>BZ_STREAM_END</computeroutput>.</para>
-
-<para>Internally, <computeroutput>BZ2_bzRead</computeroutput>
-copies data from the compressed file in chunks of size
-<computeroutput>BZ_MAX_UNUSED</computeroutput> bytes before
-decompressing it. If the file contains more bytes than strictly
-needed to reach the logical end-of-stream,
-<computeroutput>BZ2_bzRead</computeroutput> will almost certainly
-read some of the trailing data before signalling
-<computeroutput>BZ_SEQUENCE_END</computeroutput>. To collect the
-read but unused data once
-<computeroutput>BZ_SEQUENCE_END</computeroutput> has appeared,
-call <computeroutput>BZ2_bzReadGetUnused</computeroutput>
-immediately before
-<computeroutput>BZ2_bzReadClose</computeroutput>.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if b is NULL or buf is NULL or len < 0
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzWriteOpen
-BZ_IO_ERROR
- if there is an error reading from the compressed file
-BZ_UNEXPECTED_EOF
- if the compressed file ended before
- the logical end-of-stream was detected
-BZ_DATA_ERROR
- if a data integrity error was detected in the compressed stream
-BZ_DATA_ERROR_MAGIC
- if the stream does not begin with the requisite header bytes
- (ie, is not a bzip2 data file). This is really
- a special case of BZ_DATA_ERROR.
-BZ_MEM_ERROR
- if insufficient memory was available
-BZ_STREAM_END
- if the logical end of stream was detected.
-BZ_OK
- otherwise.
-</programlisting>
-
-<para>Possible return values:</para>
-
-<programlisting>
-number of bytes read
- if bzerror is BZ_OK or BZ_STREAM_END
-undefined
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-collect data from buf, then BZ2_bzRead or BZ2_bzReadClose
- if bzerror is BZ_OK
-collect data from buf, then BZ2_bzReadClose or BZ2_bzReadGetUnused
- if bzerror is BZ_SEQUENCE_END
-BZ2_bzReadClose
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzreadgetunused" xreflabel="BZ2_bzReadGetUnused">
-<title><computeroutput>BZ2_bzReadGetUnused</computeroutput></title>
-
-<programlisting>
-void BZ2_bzReadGetUnused( int* bzerror, BZFILE *b,
- void** unused, int* nUnused );
-</programlisting>
-
-<para>Returns data which was read from the compressed file but
-was not needed to get to the logical end-of-stream.
-<computeroutput>*unused</computeroutput> is set to the address of
-the data, and <computeroutput>*nUnused</computeroutput> to the
-number of bytes. <computeroutput>*nUnused</computeroutput> will
-be set to a value between <computeroutput>0</computeroutput> and
-<computeroutput>BZ_MAX_UNUSED</computeroutput> inclusive.</para>
-
-<para>This function may only be called once
-<computeroutput>BZ2_bzRead</computeroutput> has signalled
-<computeroutput>BZ_STREAM_END</computeroutput> but before
-<computeroutput>BZ2_bzReadClose</computeroutput>.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if b is NULL
- or unused is NULL or nUnused is NULL
-BZ_SEQUENCE_ERROR
- if BZ_STREAM_END has not been signalled
- or if b was opened with BZ2_bzWriteOpen
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzReadClose
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzreadclose" xreflabel="BZ2_bzReadClose">
-<title><computeroutput>BZ2_bzReadClose</computeroutput></title>
-
-<programlisting>
-void BZ2_bzReadClose ( int *bzerror, BZFILE *b );
-</programlisting>
-
-<para>Releases all memory pertaining to the compressed file
-<computeroutput>b</computeroutput>.
-<computeroutput>BZ2_bzReadClose</computeroutput> does not call
-<computeroutput>fclose</computeroutput> on the underlying file
-handle, so you should do that yourself if appropriate.
-<computeroutput>BZ2_bzReadClose</computeroutput> should be called
-to clean up after all error situations.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzOpenWrite
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-none
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzwriteopen" xreflabel="BZ2_bzWriteOpen">
-<title><computeroutput>BZ2_bzWriteOpen</computeroutput></title>
-
-<programlisting>
-BZFILE *BZ2_bzWriteOpen( int *bzerror, FILE *f,
- int blockSize100k, int verbosity,
- int workFactor );
-</programlisting>
-
-<para>Prepare to write compressed data to file handle
-<computeroutput>f</computeroutput>.
-<computeroutput>f</computeroutput> should refer to a file which
-has been opened for writing, and for which the error indicator
-(<computeroutput>ferror(f)</computeroutput>)is not set.</para>
-
-<para>For the meaning of parameters
-<computeroutput>blockSize100k</computeroutput>,
-<computeroutput>verbosity</computeroutput> and
-<computeroutput>workFactor</computeroutput>, see
-<computeroutput>BZ2_bzCompressInit</computeroutput>.</para>
-
-<para>All required memory is allocated at this stage, so if the
-call completes successfully,
-<computeroutput>BZ_MEM_ERROR</computeroutput> cannot be signalled
-by a subsequent call to
-<computeroutput>BZ2_bzWrite</computeroutput>.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if f is NULL
- or blockSize100k < 1 or blockSize100k > 9
-BZ_IO_ERROR
- if ferror(f) is nonzero
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OK
- otherwise
-</programlisting>
-
-<para>Possible return values:</para>
-
-<programlisting>
-Pointer to an abstract BZFILE
- if bzerror is BZ_OK
-NULL
- otherwise
-</programlisting>
-
-<para>Allowable next actions:</para>
-
-<programlisting>
-BZ2_bzWrite
- if bzerror is BZ_OK
- (you could go directly to BZ2_bzWriteClose, but this would be pretty pointless)
-BZ2_bzWriteClose
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzwrite" xreflabel="BZ2_bzWrite">
-<title><computeroutput>BZ2_bzWrite</computeroutput></title>
-
-<programlisting>
-void BZ2_bzWrite ( int *bzerror, BZFILE *b, void *buf, int len );
-</programlisting>
-
-<para>Absorbs <computeroutput>len</computeroutput> bytes from the
-buffer <computeroutput>buf</computeroutput>, eventually to be
-compressed and written to the file.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_PARAM_ERROR
- if b is NULL or buf is NULL or len < 0
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzReadOpen
-BZ_IO_ERROR
- if there is an error writing the compressed file.
-BZ_OK
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzwriteclose" xreflabel="BZ2_bzWriteClose">
-<title><computeroutput>BZ2_bzWriteClose</computeroutput></title>
-
-<programlisting>
-void BZ2_bzWriteClose( int *bzerror, BZFILE* f,
- int abandon,
- unsigned int* nbytes_in,
- unsigned int* nbytes_out );
-
-void BZ2_bzWriteClose64( int *bzerror, BZFILE* f,
- int abandon,
- unsigned int* nbytes_in_lo32,
- unsigned int* nbytes_in_hi32,
- unsigned int* nbytes_out_lo32,
- unsigned int* nbytes_out_hi32 );
-</programlisting>
-
-<para>Compresses and flushes to the compressed file all data so
-far supplied by <computeroutput>BZ2_bzWrite</computeroutput>.
-The logical end-of-stream markers are also written, so subsequent
-calls to <computeroutput>BZ2_bzWrite</computeroutput> are
-illegal. All memory associated with the compressed file
-<computeroutput>b</computeroutput> is released.
-<computeroutput>fflush</computeroutput> is called on the
-compressed file, but it is not
-<computeroutput>fclose</computeroutput>'d.</para>
-
-<para>If <computeroutput>BZ2_bzWriteClose</computeroutput> is
-called to clean up after an error, the only action is to release
-the memory. The library records the error codes issued by
-previous calls, so this situation will be detected automatically.
-There is no attempt to complete the compression operation, nor to
-<computeroutput>fflush</computeroutput> the compressed file. You
-can force this behaviour to happen even in the case of no error,
-by passing a nonzero value to
-<computeroutput>abandon</computeroutput>.</para>
-
-<para>If <computeroutput>nbytes_in</computeroutput> is non-null,
-<computeroutput>*nbytes_in</computeroutput> will be set to be the
-total volume of uncompressed data handled. Similarly,
-<computeroutput>nbytes_out</computeroutput> will be set to the
-total volume of compressed data written. For compatibility with
-older versions of the library,
-<computeroutput>BZ2_bzWriteClose</computeroutput> only yields the
-lower 32 bits of these counts. Use
-<computeroutput>BZ2_bzWriteClose64</computeroutput> if you want
-the full 64 bit counts. These two functions are otherwise
-absolutely identical.</para>
-
-<para>Possible assignments to
-<computeroutput>bzerror</computeroutput>:</para>
-
-<programlisting>
-BZ_SEQUENCE_ERROR
- if b was opened with BZ2_bzReadOpen
-BZ_IO_ERROR
- if there is an error writing the compressed file
-BZ_OK
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="embed" xreflabel="Handling embedded compressed data streams">
-<title>Handling embedded compressed data streams</title>
-
-<para>The high-level library facilitates use of
-<computeroutput>bzip2</computeroutput> data streams which form
-some part of a surrounding, larger data stream.</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>For writing, the library takes an open file handle,
- writes compressed data to it,
- <computeroutput>fflush</computeroutput>es it but does not
- <computeroutput>fclose</computeroutput> it. The calling
- application can write its own data before and after the
- compressed data stream, using that same file handle.</para></listitem>
-
- <listitem><para>Reading is more complex, and the facilities are not as
- general as they could be since generality is hard to reconcile
- with efficiency. <computeroutput>BZ2_bzRead</computeroutput>
- reads from the compressed file in blocks of size
- <computeroutput>BZ_MAX_UNUSED</computeroutput> bytes, and in
- doing so probably will overshoot the logical end of compressed
- stream. To recover this data once decompression has ended,
- call <computeroutput>BZ2_bzReadGetUnused</computeroutput> after
- the last call of <computeroutput>BZ2_bzRead</computeroutput>
- (the one returning
- <computeroutput>BZ_STREAM_END</computeroutput>) but before
- calling
- <computeroutput>BZ2_bzReadClose</computeroutput>.</para></listitem>
-
-</itemizedlist>
-
-<para>This mechanism makes it easy to decompress multiple
-<computeroutput>bzip2</computeroutput> streams placed end-to-end.
-As the end of one stream, when
-<computeroutput>BZ2_bzRead</computeroutput> returns
-<computeroutput>BZ_STREAM_END</computeroutput>, call
-<computeroutput>BZ2_bzReadGetUnused</computeroutput> to collect
-the unused data (copy it into your own buffer somewhere). That
-data forms the start of the next compressed stream. To start
-uncompressing that next stream, call
-<computeroutput>BZ2_bzReadOpen</computeroutput> again, feeding in
-the unused data via the <computeroutput>unused</computeroutput> /
-<computeroutput>nUnused</computeroutput> parameters. Keep doing
-this until <computeroutput>BZ_STREAM_END</computeroutput> return
-coincides with the physical end of file
-(<computeroutput>feof(f)</computeroutput>). In this situation
-<computeroutput>BZ2_bzReadGetUnused</computeroutput> will of
-course return no data.</para>
-
-<para>This should give some feel for how the high-level interface
-can be used. If you require extra flexibility, you'll have to
-bite the bullet and get to grips with the low-level
-interface.</para>
-
-</sect2>
-
-
-<sect2 id="std-rdwr" xreflabel="Standard file-reading/writing code">
-<title>Standard file-reading/writing code</title>
-
-<para>Here's how you'd write data to a compressed file:</para>
-
-<programlisting>
-FILE* f;
-BZFILE* b;
-int nBuf;
-char buf[ /* whatever size you like */ ];
-int bzerror;
-int nWritten;
-
-f = fopen ( "myfile.bz2", "w" );
-if ( !f ) {
- /* handle error */
-}
-b = BZ2_bzWriteOpen( &bzerror, f, 9 );
-if (bzerror != BZ_OK) {
- BZ2_bzWriteClose ( b );
- /* handle error */
-}
-
-while ( /* condition */ ) {
- /* get data to write into buf, and set nBuf appropriately */
- nWritten = BZ2_bzWrite ( &bzerror, b, buf, nBuf );
- if (bzerror == BZ_IO_ERROR) {
- BZ2_bzWriteClose ( &bzerror, b );
- /* handle error */
- }
-}
-
-BZ2_bzWriteClose( &bzerror, b );
-if (bzerror == BZ_IO_ERROR) {
- /* handle error */
-}
-</programlisting>
-
-<para>And to read from a compressed file:</para>
-
-<programlisting>
-FILE* f;
-BZFILE* b;
-int nBuf;
-char buf[ /* whatever size you like */ ];
-int bzerror;
-int nWritten;
-
-f = fopen ( "myfile.bz2", "r" );
-if ( !f ) {
- /* handle error */
-}
-b = BZ2_bzReadOpen ( &bzerror, f, 0, NULL, 0 );
-if ( bzerror != BZ_OK ) {
- BZ2_bzReadClose ( &bzerror, b );
- /* handle error */
-}
-
-bzerror = BZ_OK;
-while ( bzerror == BZ_OK && /* arbitrary other conditions */) {
- nBuf = BZ2_bzRead ( &bzerror, b, buf, /* size of buf */ );
- if ( bzerror == BZ_OK ) {
- /* do something with buf[0 .. nBuf-1] */
- }
-}
-if ( bzerror != BZ_STREAM_END ) {
- BZ2_bzReadClose ( &bzerror, b );
- /* handle error */
-} else {
- BZ2_bzReadClose ( &bzerror, b );
-}
-</programlisting>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="util-fns" xreflabel="Utility functions">
-<title>Utility functions</title>
-
-
-<sect2 id="bzbufftobuffcompress" xreflabel="BZ2_bzBuffToBuffCompress">
-<title><computeroutput>BZ2_bzBuffToBuffCompress</computeroutput></title>
-
-<programlisting>
-int BZ2_bzBuffToBuffCompress( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int blockSize100k,
- int verbosity,
- int workFactor );
-</programlisting>
-
-<para>Attempts to compress the data in <computeroutput>source[0
-.. sourceLen-1]</computeroutput> into the destination buffer,
-<computeroutput>dest[0 .. *destLen-1]</computeroutput>. If the
-destination buffer is big enough,
-<computeroutput>*destLen</computeroutput> is set to the size of
-the compressed data, and <computeroutput>BZ_OK</computeroutput>
-is returned. If the compressed data won't fit,
-<computeroutput>*destLen</computeroutput> is unchanged, and
-<computeroutput>BZ_OUTBUFF_FULL</computeroutput> is
-returned.</para>
-
-<para>Compression in this manner is a one-shot event, done with a
-single call to this function. The resulting compressed data is a
-complete <computeroutput>bzip2</computeroutput> format data
-stream. There is no mechanism for making additional calls to
-provide extra input data. If you want that kind of mechanism,
-use the low-level interface.</para>
-
-<para>For the meaning of parameters
-<computeroutput>blockSize100k</computeroutput>,
-<computeroutput>verbosity</computeroutput> and
-<computeroutput>workFactor</computeroutput>, see
-<computeroutput>BZ2_bzCompressInit</computeroutput>.</para>
-
-<para>To guarantee that the compressed data will fit in its
-buffer, allocate an output buffer of size 1% larger than the
-uncompressed data, plus six hundred extra bytes.</para>
-
-<para><computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput>
-will not write data at or beyond
-<computeroutput>dest[*destLen]</computeroutput>, even in case of
-buffer overflow.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if dest is NULL or destLen is NULL
- or blockSize100k < 1 or blockSize100k > 9
- or verbosity < 0 or verbosity > 4
- or workFactor < 0 or workFactor > 250
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OUTBUFF_FULL
- if the size of the compressed data exceeds *destLen
-BZ_OK
- otherwise
-</programlisting>
-
-</sect2>
-
-
-<sect2 id="bzbufftobuffdecompress" xreflabel="BZ2_bzBuffToBuffDecompress">
-<title><computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput></title>
-
-<programlisting>
-int BZ2_bzBuffToBuffDecompress( char* dest,
- unsigned int* destLen,
- char* source,
- unsigned int sourceLen,
- int small,
- int verbosity );
-</programlisting>
-
-<para>Attempts to decompress the data in <computeroutput>source[0
-.. sourceLen-1]</computeroutput> into the destination buffer,
-<computeroutput>dest[0 .. *destLen-1]</computeroutput>. If the
-destination buffer is big enough,
-<computeroutput>*destLen</computeroutput> is set to the size of
-the uncompressed data, and <computeroutput>BZ_OK</computeroutput>
-is returned. If the compressed data won't fit,
-<computeroutput>*destLen</computeroutput> is unchanged, and
-<computeroutput>BZ_OUTBUFF_FULL</computeroutput> is
-returned.</para>
-
-<para><computeroutput>source</computeroutput> is assumed to hold
-a complete <computeroutput>bzip2</computeroutput> format data
-stream.
-<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput> tries
-to decompress the entirety of the stream into the output
-buffer.</para>
-
-<para>For the meaning of parameters
-<computeroutput>small</computeroutput> and
-<computeroutput>verbosity</computeroutput>, see
-<computeroutput>BZ2_bzDecompressInit</computeroutput>.</para>
-
-<para>Because the compression ratio of the compressed data cannot
-be known in advance, there is no easy way to guarantee that the
-output buffer will be big enough. You may of course make
-arrangements in your code to record the size of the uncompressed
-data, but such a mechanism is beyond the scope of this
-library.</para>
-
-<para><computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput>
-will not write data at or beyond
-<computeroutput>dest[*destLen]</computeroutput>, even in case of
-buffer overflow.</para>
-
-<para>Possible return values:</para>
-
-<programlisting>
-BZ_CONFIG_ERROR
- if the library has been mis-compiled
-BZ_PARAM_ERROR
- if dest is NULL or destLen is NULL
- or small != 0 && small != 1
- or verbosity < 0 or verbosity > 4
-BZ_MEM_ERROR
- if insufficient memory is available
-BZ_OUTBUFF_FULL
- if the size of the compressed data exceeds *destLen
-BZ_DATA_ERROR
- if a data integrity error was detected in the compressed data
-BZ_DATA_ERROR_MAGIC
- if the compressed data doesn't begin with the right magic bytes
-BZ_UNEXPECTED_EOF
- if the compressed data ends unexpectedly
-BZ_OK
- otherwise
-</programlisting>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="zlib-compat" xreflabel="zlib compatibility functions">
-<title><computeroutput>zlib</computeroutput> compatibility functions</title>
-
-<para>Yoshioka Tsuneo has contributed some functions to give
-better <computeroutput>zlib</computeroutput> compatibility.
-These functions are <computeroutput>BZ2_bzopen</computeroutput>,
-<computeroutput>BZ2_bzread</computeroutput>,
-<computeroutput>BZ2_bzwrite</computeroutput>,
-<computeroutput>BZ2_bzflush</computeroutput>,
-<computeroutput>BZ2_bzclose</computeroutput>,
-<computeroutput>BZ2_bzerror</computeroutput> and
-<computeroutput>BZ2_bzlibVersion</computeroutput>. These
-functions are not (yet) officially part of the library. If they
-break, you get to keep all the pieces. Nevertheless, I think
-they work ok.</para>
-
-<programlisting>
-typedef void BZFILE;
-
-const char * BZ2_bzlibVersion ( void );
-</programlisting>
-
-<para>Returns a string indicating the library version.</para>
-
-<programlisting>
-BZFILE * BZ2_bzopen ( const char *path, const char *mode );
-BZFILE * BZ2_bzdopen ( int fd, const char *mode );
-</programlisting>
-
-<para>Opens a <computeroutput>.bz2</computeroutput> file for
-reading or writing, using either its name or a pre-existing file
-descriptor. Analogous to <computeroutput>fopen</computeroutput>
-and <computeroutput>fdopen</computeroutput>.</para>
-
-<programlisting>
-int BZ2_bzread ( BZFILE* b, void* buf, int len );
-int BZ2_bzwrite ( BZFILE* b, void* buf, int len );
-</programlisting>
-
-<para>Reads/writes data from/to a previously opened
-<computeroutput>BZFILE</computeroutput>. Analogous to
-<computeroutput>fread</computeroutput> and
-<computeroutput>fwrite</computeroutput>.</para>
-
-<programlisting>
-int BZ2_bzflush ( BZFILE* b );
-void BZ2_bzclose ( BZFILE* b );
-</programlisting>
-
-<para>Flushes/closes a <computeroutput>BZFILE</computeroutput>.
-<computeroutput>BZ2_bzflush</computeroutput> doesn't actually do
-anything. Analogous to <computeroutput>fflush</computeroutput>
-and <computeroutput>fclose</computeroutput>.</para>
-
-<programlisting>
-const char * BZ2_bzerror ( BZFILE *b, int *errnum )
-</programlisting>
-
-<para>Returns a string describing the more recent error status of
-<computeroutput>b</computeroutput>, and also sets
-<computeroutput>*errnum</computeroutput> to its numerical
-value.</para>
-
-</sect1>
-
-
-<sect1 id="stdio-free"
- xreflabel="Using the library in a stdio-free environment">
-<title>Using the library in a <computeroutput>stdio</computeroutput>-free environment</title>
-
-
-<sect2 id="stdio-bye" xreflabel="Getting rid of stdio">
-<title>Getting rid of <computeroutput>stdio</computeroutput></title>
-
-<para>In a deeply embedded application, you might want to use
-just the memory-to-memory functions. You can do this
-conveniently by compiling the library with preprocessor symbol
-<computeroutput>BZ_NO_STDIO</computeroutput> defined. Doing this
-gives you a library containing only the following eight
-functions:</para>
-
-<para><computeroutput>BZ2_bzCompressInit</computeroutput>,
-<computeroutput>BZ2_bzCompress</computeroutput>,
-<computeroutput>BZ2_bzCompressEnd</computeroutput>
-<computeroutput>BZ2_bzDecompressInit</computeroutput>,
-<computeroutput>BZ2_bzDecompress</computeroutput>,
-<computeroutput>BZ2_bzDecompressEnd</computeroutput>
-<computeroutput>BZ2_bzBuffToBuffCompress</computeroutput>,
-<computeroutput>BZ2_bzBuffToBuffDecompress</computeroutput></para>
-
-<para>When compiled like this, all functions will ignore
-<computeroutput>verbosity</computeroutput> settings.</para>
-
-</sect2>
-
-
-<sect2 id="critical-error" xreflabel="Critical error handling">
-<title>Critical error handling</title>
-
-<para><computeroutput>libbzip2</computeroutput> contains a number
-of internal assertion checks which should, needless to say, never
-be activated. Nevertheless, if an assertion should fail,
-behaviour depends on whether or not the library was compiled with
-<computeroutput>BZ_NO_STDIO</computeroutput> set.</para>
-
-<para>For a normal compile, an assertion failure yields the
-message:</para>
-
-<blockquote>
-<para>bzip2/libbzip2: internal error number N.</para>
-<para>This is a bug in bzip2/libbzip2, &bz-version; of &bz-date;.
-Please report it to me at: &bz-email;. If this happened
-when you were using some program which uses libbzip2 as a
-component, you should also report this bug to the author(s)
-of that program. Please make an effort to report this bug;
-timely and accurate bug reports eventually lead to higher
-quality software. Thanks. Julian Seward, &bz-date;.
-</para></blockquote>
-
-<para>where <computeroutput>N</computeroutput> is some error code
-number. If <computeroutput>N == 1007</computeroutput>, it also
-prints some extra text advising the reader that unreliable memory
-is often associated with internal error 1007. (This is a
-frequently-observed-phenomenon with versions 1.0.0/1.0.1).</para>
-
-<para><computeroutput>exit(3)</computeroutput> is then
-called.</para>
-
-<para>For a <computeroutput>stdio</computeroutput>-free library,
-assertion failures result in a call to a function declared
-as:</para>
-
-<programlisting>
-extern void bz_internal_error ( int errcode );
-</programlisting>
-
-<para>The relevant code is passed as a parameter. You should
-supply such a function.</para>
-
-<para>In either case, once an assertion failure has occurred, any
-<computeroutput>bz_stream</computeroutput> records involved can
-be regarded as invalid. You should not attempt to resume normal
-operation with them.</para>
-
-<para>You may, of course, change critical error handling to suit
-your needs. As I said above, critical errors indicate bugs in
-the library and should not occur. All "normal" error situations
-are indicated via error return codes from functions, and can be
-recovered from.</para>
-
-</sect2>
-
-</sect1>
-
-
-<sect1 id="win-dll" xreflabel="Making a Windows DLL">
-<title>Making a Windows DLL</title>
-
-<para>Everything related to Windows has been contributed by
-Yoshioka Tsuneo
-(<computeroutput>tsuneo@rr.iij4u.or.jp</computeroutput>), so
-you should send your queries to him (but perhaps Cc: me,
-<computeroutput>&bz-email;</computeroutput>).</para>
-
-<para>My vague understanding of what to do is: using Visual C++
-5.0, open the project file
-<computeroutput>libbz2.dsp</computeroutput>, and build. That's
-all.</para>
-
-<para>If you can't open the project file for some reason, make a
-new one, naming these files:
-<computeroutput>blocksort.c</computeroutput>,
-<computeroutput>bzlib.c</computeroutput>,
-<computeroutput>compress.c</computeroutput>,
-<computeroutput>crctable.c</computeroutput>,
-<computeroutput>decompress.c</computeroutput>,
-<computeroutput>huffman.c</computeroutput>,
-<computeroutput>randtable.c</computeroutput> and
-<computeroutput>libbz2.def</computeroutput>. You will also need
-to name the header files <computeroutput>bzlib.h</computeroutput>
-and <computeroutput>bzlib_private.h</computeroutput>.</para>
-
-<para>If you don't use VC++, you may need to define the
-proprocessor symbol
-<computeroutput>_WIN32</computeroutput>.</para>
-
-<para>Finally, <computeroutput>dlltest.c</computeroutput> is a
-sample program using the DLL. It has a project file,
-<computeroutput>dlltest.dsp</computeroutput>.</para>
-
-<para>If you just want a makefile for Visual C, have a look at
-<computeroutput>makefile.msc</computeroutput>.</para>
-
-<para>Be aware that if you compile
-<computeroutput>bzip2</computeroutput> itself on Win32, you must
-set <computeroutput>BZ_UNIX</computeroutput> to 0 and
-<computeroutput>BZ_LCCWIN32</computeroutput> to 1, in the file
-<computeroutput>bzip2.c</computeroutput>, before compiling.
-Otherwise the resulting binary won't work correctly.</para>
-
-<para>I haven't tried any of this stuff myself, but it all looks
-plausible.</para>
-
-</sect1>
-
-</chapter>
-
-
-
-<chapter id="misc" xreflabel="Miscellanea">
-<title>Miscellanea</title>
-
-<para>These are just some random thoughts of mine. Your mileage
-may vary.</para>
-
-
-<sect1 id="limits" xreflabel="Limitations of the compressed file format">
-<title>Limitations of the compressed file format</title>
-
-<para><computeroutput>bzip2-1.0.X</computeroutput>,
-<computeroutput>0.9.5</computeroutput> and
-<computeroutput>0.9.0</computeroutput> use exactly the same file
-format as the original version,
-<computeroutput>bzip2-0.1</computeroutput>. This decision was
-made in the interests of stability. Creating yet another
-incompatible compressed file format would create further
-confusion and disruption for users.</para>
-
-<para>Nevertheless, this is not a painless decision. Development
-work since the release of
-<computeroutput>bzip2-0.1</computeroutput> in August 1997 has
-shown complexities in the file format which slow down
-decompression and, in retrospect, are unnecessary. These
-are:</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>The run-length encoder, which is the first of the
- compression transformations, is entirely irrelevant. The
- original purpose was to protect the sorting algorithm from the
- very worst case input: a string of repeated symbols. But
- algorithm steps Q6a and Q6b in the original Burrows-Wheeler
- technical report (SRC-124) show how repeats can be handled
- without difficulty in block sorting.</para></listitem>
-
- <listitem><para>The randomisation mechanism doesn't really need to be
- there. Udi Manber and Gene Myers published a suffix array
- construction algorithm a few years back, which can be employed
- to sort any block, no matter how repetitive, in O(N log N)
- time. Subsequent work by Kunihiko Sadakane has produced a
- derivative O(N (log N)^2) algorithm which usually outperforms
- the Manber-Myers algorithm.</para>
-
- <para>I could have changed to Sadakane's algorithm, but I find
- it to be slower than <computeroutput>bzip2</computeroutput>'s
- existing algorithm for most inputs, and the randomisation
- mechanism protects adequately against bad cases. I didn't
- think it was a good tradeoff to make. Partly this is due to
- the fact that I was not flooded with email complaints about
- <computeroutput>bzip2-0.1</computeroutput>'s performance on
- repetitive data, so perhaps it isn't a problem for real
- inputs.</para>
-
- <para>Probably the best long-term solution, and the one I have
- incorporated into 0.9.5 and above, is to use the existing
- sorting algorithm initially, and fall back to a O(N (log N)^2)
- algorithm if the standard algorithm gets into
- difficulties.</para></listitem>
-
- <listitem><para>The compressed file format was never designed to be
- handled by a library, and I have had to jump though some hoops
- to produce an efficient implementation of decompression. It's
- a bit hairy. Try passing
- <computeroutput>decompress.c</computeroutput> through the C
- preprocessor and you'll see what I mean. Much of this
- complexity could have been avoided if the compressed size of
- each block of data was recorded in the data stream.</para></listitem>
-
- <listitem><para>An Adler-32 checksum, rather than a CRC32 checksum,
- would be faster to compute.</para></listitem>
-
-</itemizedlist>
-
-<para>It would be fair to say that the
-<computeroutput>bzip2</computeroutput> format was frozen before I
-properly and fully understood the performance consequences of
-doing so.</para>
-
-<para>Improvements which I was able to incorporate into 0.9.0,
-despite using the same file format, are:</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>Single array implementation of the inverse BWT. This
- significantly speeds up decompression, presumably because it
- reduces the number of cache misses.</para></listitem>
-
- <listitem><para>Faster inverse MTF transform for large MTF values.
- The new implementation is based on the notion of sliding blocks
- of values.</para></listitem>
-
- <listitem><para><computeroutput>bzip2-0.9.0</computeroutput> now reads
- and writes files with <computeroutput>fread</computeroutput>
- and <computeroutput>fwrite</computeroutput>; version 0.1 used
- <computeroutput>putc</computeroutput> and
- <computeroutput>getc</computeroutput>. Duh! Well, you live
- and learn.</para></listitem>
-
-</itemizedlist>
-
-<para>Further ahead, it would be nice to be able to do random
-access into files. This will require some careful design of
-compressed file formats.</para>
-
-</sect1>
-
-
-<sect1 id="port-issues" xreflabel="Portability issues">
-<title>Portability issues</title>
-
-<para>After some consideration, I have decided not to use GNU
-<computeroutput>autoconf</computeroutput> to configure 0.9.5 or
-1.0.</para>
-
-<para><computeroutput>autoconf</computeroutput>, admirable and
-wonderful though it is, mainly assists with portability problems
-between Unix-like platforms. But
-<computeroutput>bzip2</computeroutput> doesn't have much in the
-way of portability problems on Unix; most of the difficulties
-appear when porting to the Mac, or to Microsoft's operating
-systems. <computeroutput>autoconf</computeroutput> doesn't help
-in those cases, and brings in a whole load of new
-complexity.</para>
-
-<para>Most people should be able to compile the library and
-program under Unix straight out-of-the-box, so to speak,
-especially if you have a version of GNU C available.</para>
-
-<para>There are a couple of
-<computeroutput>__inline__</computeroutput> directives in the
-code. GNU C (<computeroutput>gcc</computeroutput>) should be
-able to handle them. If you're not using GNU C, your C compiler
-shouldn't see them at all. If your compiler does, for some
-reason, see them and doesn't like them, just
-<computeroutput>#define</computeroutput>
-<computeroutput>__inline__</computeroutput> to be
-<computeroutput>/* */</computeroutput>. One easy way to do this
-is to compile with the flag
-<computeroutput>-D__inline__=</computeroutput>, which should be
-understood by most Unix compilers.</para>
-
-<para>If you still have difficulties, try compiling with the
-macro <computeroutput>BZ_STRICT_ANSI</computeroutput> defined.
-This should enable you to build the library in a strictly ANSI
-compliant environment. Building the program itself like this is
-dangerous and not supported, since you remove
-<computeroutput>bzip2</computeroutput>'s checks against
-compressing directories, symbolic links, devices, and other
-not-really-a-file entities. This could cause filesystem
-corruption!</para>
-
-<para>One other thing: if you create a
-<computeroutput>bzip2</computeroutput> binary for public distribution,
-please consider linking it statically (<computeroutput>gcc
--static</computeroutput>). This avoids all sorts of library-version
-issues that others may encounter later on.</para>
-
-<para>If you build <computeroutput>bzip2</computeroutput> on
-Win32, you must set <computeroutput>BZ_UNIX</computeroutput> to 0
-and <computeroutput>BZ_LCCWIN32</computeroutput> to 1, in the
-file <computeroutput>bzip2.c</computeroutput>, before compiling.
-Otherwise the resulting binary won't work correctly.</para>
-
-</sect1>
-
-
-<sect1 id="bugs" xreflabel="Reporting bugs">
-<title>Reporting bugs</title>
-
-<para>I tried pretty hard to make sure
-<computeroutput>bzip2</computeroutput> is bug free, both by
-design and by testing. Hopefully you'll never need to read this
-section for real.</para>
-
-<para>Nevertheless, if <computeroutput>bzip2</computeroutput> dies
-with a segmentation fault, a bus error or an internal assertion
-failure, it will ask you to email me a bug report. Experience from
-years of feedback of bzip2 users indicates that almost all these
-problems can be traced to either compiler bugs or hardware
-problems.</para>
-
-<itemizedlist mark='bullet'>
-
- <listitem><para>Recompile the program with no optimisation, and
- see if it works. And/or try a different compiler. I heard all
- sorts of stories about various flavours of GNU C (and other
- compilers) generating bad code for
- <computeroutput>bzip2</computeroutput>, and I've run across two
- such examples myself.</para>
-
- <para>2.7.X versions of GNU C are known to generate bad code
- from time to time, at high optimisation levels. If you get
- problems, try using the flags
- <computeroutput>-O2</computeroutput>
- <computeroutput>-fomit-frame-pointer</computeroutput>
- <computeroutput>-fno-strength-reduce</computeroutput>. You
- should specifically <emphasis>not</emphasis> use
- <computeroutput>-funroll-loops</computeroutput>.</para>
-
- <para>You may notice that the Makefile runs six tests as part
- of the build process. If the program passes all of these, it's
- a pretty good (but not 100%) indication that the compiler has
- done its job correctly.</para></listitem>
-
- <listitem><para>If <computeroutput>bzip2</computeroutput>
- crashes randomly, and the crashes are not repeatable, you may
- have a flaky memory subsystem.
- <computeroutput>bzip2</computeroutput> really hammers your
- memory hierarchy, and if it's a bit marginal, you may get these
- problems. Ditto if your disk or I/O subsystem is slowly
- failing. Yup, this really does happen.</para>
-
- <para>Try using a different machine of the same type, and see
- if you can repeat the problem.</para></listitem>
-
- <listitem><para>This isn't really a bug, but ... If
- <computeroutput>bzip2</computeroutput> tells you your file is
- corrupted on decompression, and you obtained the file via FTP,
- there is a possibility that you forgot to tell FTP to do a
- binary mode transfer. That absolutely will cause the file to
- be non-decompressible. You'll have to transfer it
- again.</para></listitem>
-
-</itemizedlist>
-
-<para>If you've incorporated
-<computeroutput>libbzip2</computeroutput> into your own program
-and are getting problems, please, please, please, check that the
-parameters you are passing in calls to the library, are correct,
-and in accordance with what the documentation says is allowable.
-I have tried to make the library robust against such problems,
-but I'm sure I haven't succeeded.</para>
-
-<para>Finally, if the above comments don't help, you'll have to
-send me a bug report. Now, it's just amazing how many people
-will send me a bug report saying something like:</para>
-
-<programlisting>
-bzip2 crashed with segmentation fault on my machine
-</programlisting>
-
-<para>and absolutely nothing else. Needless to say, a such a
-report is <emphasis>totally, utterly, completely and
-comprehensively 100% useless; a waste of your time, my time, and
-net bandwidth</emphasis>. With no details at all, there's no way
-I can possibly begin to figure out what the problem is.</para>
-
-<para>The rules of the game are: facts, facts, facts. Don't omit
-them because "oh, they won't be relevant". At the bare
-minimum:</para>
-
-<programlisting>
-Machine type. Operating system version.
-Exact version of bzip2 (do bzip2 -V).
-Exact version of the compiler used.
-Flags passed to the compiler.
-</programlisting>
-
-<para>However, the most important single thing that will help me
-is the file that you were trying to compress or decompress at the
-time the problem happened. Without that, my ability to do
-anything more than speculate about the cause, is limited.</para>
-
-</sect1>
-
-
-<sect1 id="package" xreflabel="Did you get the right package?">
-<title>Did you get the right package?</title>
-
-<para><computeroutput>bzip2</computeroutput> is a resource hog.
-It soaks up large amounts of CPU cycles and memory. Also, it
-gives very large latencies. In the worst case, you can feed many
-megabytes of uncompressed data into the library before getting
-any compressed output, so this probably rules out applications
-requiring interactive behaviour.</para>
-
-<para>These aren't faults of my implementation, I hope, but more
-an intrinsic property of the Burrows-Wheeler transform
-(unfortunately). Maybe this isn't what you want.</para>
-
-<para>If you want a compressor and/or library which is faster,
-uses less memory but gets pretty good compression, and has
-minimal latency, consider Jean-loup Gailly's and Mark Adler's
-work, <computeroutput>zlib-1.2.1</computeroutput> and
-<computeroutput>gzip-1.2.4</computeroutput>. Look for them at
-<ulink url="http://www.zlib.org">http://www.zlib.org</ulink> and
-<ulink url="http://www.gzip.org">http://www.gzip.org</ulink>
-respectively.</para>
-
-<para>For something faster and lighter still, you might try Markus F
-X J Oberhumer's <computeroutput>LZO</computeroutput> real-time
-compression/decompression library, at
-<ulink url="http://www.oberhumer.com/opensource">http://www.oberhumer.com/opensource</ulink>.</para>
-
-</sect1>
-
-
-
-<sect1 id="reading" xreflabel="Further Reading">
-<title>Further Reading</title>
-
-<para><computeroutput>bzip2</computeroutput> is not research
-work, in the sense that it doesn't present any new ideas.
-Rather, it's an engineering exercise based on existing
-ideas.</para>
-
-<para>Four documents describe essentially all the ideas behind
-<computeroutput>bzip2</computeroutput>:</para>
-
-<literallayout>Michael Burrows and D. J. Wheeler:
- "A block-sorting lossless data compression algorithm"
- 10th May 1994.
- Digital SRC Research Report 124.
- ftp://ftp.digital.com/pub/DEC/SRC/research-reports/SRC-124.ps.gz
- If you have trouble finding it, try searching at the
- New Zealand Digital Library, http://www.nzdl.org.
-
-Daniel S. Hirschberg and Debra A. LeLewer
- "Efficient Decoding of Prefix Codes"
- Communications of the ACM, April 1990, Vol 33, Number 4.
- You might be able to get an electronic copy of this
- from the ACM Digital Library.
-
-David J. Wheeler
- Program bred3.c and accompanying document bred3.ps.
- This contains the idea behind the multi-table Huffman coding scheme.
- ftp://ftp.cl.cam.ac.uk/users/djw3/
-
-Jon L. Bentley and Robert Sedgewick
- "Fast Algorithms for Sorting and Searching Strings"
- Available from Sedgewick's web page,
- www.cs.princeton.edu/~rs
-</literallayout>
-
-<para>The following paper gives valuable additional insights into
-the algorithm, but is not immediately the basis of any code used
-in bzip2.</para>
-
-<literallayout>Peter Fenwick:
- Block Sorting Text Compression
- Proceedings of the 19th Australasian Computer Science Conference,
- Melbourne, Australia. Jan 31 - Feb 2, 1996.
- ftp://ftp.cs.auckland.ac.nz/pub/peter-f/ACSC96paper.ps</literallayout>
-
-<para>Kunihiko Sadakane's sorting algorithm, mentioned above, is
-available from:</para>
-
-<literallayout>http://naomi.is.s.u-tokyo.ac.jp/~sada/papers/Sada98b.ps.gz
-</literallayout>
-
-<para>The Manber-Myers suffix array construction algorithm is
-described in a paper available from:</para>
-
-<literallayout>http://www.cs.arizona.edu/people/gene/PAPERS/suffix.ps
-</literallayout>
-
-<para>Finally, the following papers document some
-investigations I made into the performance of sorting
-and decompression algorithms:</para>
-
-<literallayout>Julian Seward
- On the Performance of BWT Sorting Algorithms
- Proceedings of the IEEE Data Compression Conference 2000
- Snowbird, Utah. 28-30 March 2000.
-
-Julian Seward
- Space-time Tradeoffs in the Inverse B-W Transform
- Proceedings of the IEEE Data Compression Conference 2001
- Snowbird, Utah. 27-29 March 2001.
-</literallayout>
-
-</sect1>
-
-</chapter>
-
-</book>
diff --git a/Utilities/cmbzip2/mk251.c b/Utilities/cmbzip2/mk251.c
index 39e94c0..6c5bbf9 100644
--- a/Utilities/cmbzip2/mk251.c
+++ b/Utilities/cmbzip2/mk251.c
@@ -9,8 +9,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
diff --git a/Utilities/cmbzip2/randtable.c b/Utilities/cmbzip2/randtable.c
index 068b763..bdc6d4a 100644
--- a/Utilities/cmbzip2/randtable.c
+++ b/Utilities/cmbzip2/randtable.c
@@ -8,8 +8,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
diff --git a/Utilities/cmbzip2/sample1.rb2 b/Utilities/cmbzip2/sample1.rb2
deleted file mode 100644
index 4edda36..0000000
--- a/Utilities/cmbzip2/sample1.rb2
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmbzip2/sample1.ref b/Utilities/cmbzip2/sample1.ref
deleted file mode 100644
index dc869ee..0000000
--- a/Utilities/cmbzip2/sample1.ref
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmbzip2/sample1.tst b/Utilities/cmbzip2/sample1.tst
deleted file mode 100644
index dc869ee..0000000
--- a/Utilities/cmbzip2/sample1.tst
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmbzip2/sample2.rb2 b/Utilities/cmbzip2/sample2.rb2
deleted file mode 100644
index 8e54297..0000000
--- a/Utilities/cmbzip2/sample2.rb2
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmbzip2/sample2.ref b/Utilities/cmbzip2/sample2.ref
deleted file mode 100644
index 40e5b58..0000000
--- a/Utilities/cmbzip2/sample2.ref
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmbzip2/sample2.tst b/Utilities/cmbzip2/sample2.tst
deleted file mode 100644
index 40e5b58..0000000
--- a/Utilities/cmbzip2/sample2.tst
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmbzip2/sample3.rb2 b/Utilities/cmbzip2/sample3.rb2
deleted file mode 100644
index 1c9b08c..0000000
--- a/Utilities/cmbzip2/sample3.rb2
+++ /dev/null
Binary files differ
diff --git a/Utilities/cmbzip2/sample3.ref b/Utilities/cmbzip2/sample3.ref
deleted file mode 100644
index 775a2f6..0000000
--- a/Utilities/cmbzip2/sample3.ref
+++ /dev/null
@@ -1,30007 +0,0 @@
-This file is exceedingly boring. If you find yourself
-reading it, please (1) take it from me that you can safely
-guess what the rest of the file says, and (2) seek professional
-help.
-
-ps. there are no further sarcastic remarks in this file.
-
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
diff --git a/Utilities/cmbzip2/sample3.tst b/Utilities/cmbzip2/sample3.tst
deleted file mode 100644
index 775a2f6..0000000
--- a/Utilities/cmbzip2/sample3.tst
+++ /dev/null
@@ -1,30007 +0,0 @@
-This file is exceedingly boring. If you find yourself
-reading it, please (1) take it from me that you can safely
-guess what the rest of the file says, and (2) seek professional
-help.
-
-ps. there are no further sarcastic remarks in this file.
-
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
-ugh
diff --git a/Utilities/cmbzip2/spewG.c b/Utilities/cmbzip2/spewG.c
index 7bd1284..65d24c8 100644
--- a/Utilities/cmbzip2/spewG.c
+++ b/Utilities/cmbzip2/spewG.c
@@ -13,15 +13,15 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
This program is released under the terms of the license contained
in the file LICENSE.
- ------------------------------------------------------------------ */
+ ------------------------------------------------------------------ */
#define _FILE_OFFSET_BITS 64
diff --git a/Utilities/cmbzip2/unzcrash.c b/Utilities/cmbzip2/unzcrash.c
index a1b7546..c68f93c 100644
--- a/Utilities/cmbzip2/unzcrash.c
+++ b/Utilities/cmbzip2/unzcrash.c
@@ -17,8 +17,8 @@
This file is part of bzip2/libbzip2, a program and library for
lossless, block-sorting data compression.
- bzip2/libbzip2 version 1.0.5 of 10 December 2007
- Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
+ bzip2/libbzip2 version 1.0.8 of 13 July 2019
+ Copyright (C) 1996-2019 Julian Seward <jseward@acm.org>
Please read the WARNING, DISCLAIMER and PATENTS sections in the
README file.
diff --git a/Utilities/cmbzip2/words0 b/Utilities/cmbzip2/words0
deleted file mode 100644
index fbf442a..0000000
--- a/Utilities/cmbzip2/words0
+++ /dev/null
@@ -1,9 +0,0 @@
-
-If compilation produces errors, or a large number of warnings,
-please read README.COMPILATION.PROBLEMS -- you might be able to
-adjust the flags in this Makefile to improve matters.
-
-Also in README.COMPILATION.PROBLEMS are some hints that may help
-if your build produces an executable which is unable to correctly
-handle so-called 'large files' -- files of size 2GB or more.
-
diff --git a/Utilities/cmbzip2/words1 b/Utilities/cmbzip2/words1
deleted file mode 100644
index 2e83de9..0000000
--- a/Utilities/cmbzip2/words1
+++ /dev/null
@@ -1,4 +0,0 @@
-
-Doing 6 tests (3 compress, 3 uncompress) ...
-If there's a problem, things might stop at this point.
-
diff --git a/Utilities/cmbzip2/words2 b/Utilities/cmbzip2/words2
deleted file mode 100644
index caddcf4..0000000
--- a/Utilities/cmbzip2/words2
+++ /dev/null
@@ -1,5 +0,0 @@
-
-Checking test results. If any of the four "cmp"s which follow
-report any differences, something is wrong. If you can't easily
-figure out what, please let me know (jseward@bzip.org).
-
diff --git a/Utilities/cmbzip2/words3 b/Utilities/cmbzip2/words3
deleted file mode 100644
index 6972669..0000000
--- a/Utilities/cmbzip2/words3
+++ /dev/null
@@ -1,30 +0,0 @@
-
-If you got this far and the 'cmp's didn't complain, it looks
-like you're in business.
-
-To install in /usr/local/bin, /usr/local/lib, /usr/local/man and
-/usr/local/include, type
-
- make install
-
-To install somewhere else, eg, /xxx/yyy/{bin,lib,man,include}, type
-
- make install PREFIX=/xxx/yyy
-
-If you are (justifiably) paranoid and want to see what 'make install'
-is going to do, you can first do
-
- make -n install or
- make -n install PREFIX=/xxx/yyy respectively.
-
-The -n instructs make to show the commands it would execute, but
-not actually execute them.
-
-Instructions for use are in the preformatted manual page, in the file
-bzip2.txt. For more detailed documentation, read the full manual.
-It is available in Postscript form (manual.ps), PDF form (manual.pdf),
-and HTML form (manual.html).
-
-You can also do "bzip2 --help" to see some helpful information.
-"bzip2 -L" displays the software license.
-
diff --git a/Utilities/cmbzip2/xmlproc.sh b/Utilities/cmbzip2/xmlproc.sh
deleted file mode 100755
index 5384177..0000000
--- a/Utilities/cmbzip2/xmlproc.sh
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/bash
-# see the README file for usage etc.
-#
-# ------------------------------------------------------------------
-# This file is part of bzip2/libbzip2, a program and library for
-# lossless, block-sorting data compression.
-#
-# bzip2/libbzip2 version 1.0.5 of 10 December 2007
-# Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org>
-#
-# Please read the WARNING, DISCLAIMER and PATENTS sections in the
-# README file.
-#
-# This program is released under the terms of the license contained
-# in the file LICENSE.
-# ----------------------------------------------------------------
-
-
-usage() {
- echo '';
- echo 'Usage: xmlproc.sh -[option] <filename.xml>';
- echo 'Specify a target from:';
- echo '-v verify xml file conforms to dtd';
- echo '-html output in html format (single file)';
- echo '-ps output in postscript format';
- echo '-pdf output in pdf format';
- exit;
-}
-
-if test $# -ne 2; then
- usage
-fi
-# assign the variable for the output type
-action=$1; shift
-# assign the output filename
-xmlfile=$1; shift
-# and check user input it correct
-if !(test -f $xmlfile); then
- echo "No such file: $xmlfile";
- exit;
-fi
-# some other stuff we will use
-OUT=output
-xsl_fo=bz-fo.xsl
-xsl_html=bz-html.xsl
-
-basename=$xmlfile
-basename=${basename//'.xml'/''}
-
-fofile="${basename}.fo"
-htmlfile="${basename}.html"
-pdffile="${basename}.pdf"
-psfile="${basename}.ps"
-xmlfmtfile="${basename}.fmt"
-
-# first process the xmlfile with CDATA tags
-./format.pl $xmlfile $xmlfmtfile
-# so the shell knows where the catalogs live
-export XML_CATALOG_FILES=/etc/xml/catalog
-
-# post-processing tidy up
-cleanup() {
- echo "Cleaning up: $@"
- while [ $# != 0 ]
- do
- arg=$1; shift;
- echo " deleting $arg";
- rm $arg
- done
-}
-
-case $action in
- -v)
- flags='--noout --xinclude --noblanks --postvalid'
- dtd='--dtdvalid http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd'
- xmllint $flags $dtd $xmlfmtfile 2> $OUT
- egrep 'error' $OUT
- rm $OUT
- ;;
-
- -html)
- echo "Creating $htmlfile ..."
- xsltproc --nonet --xinclude -o $htmlfile $xsl_html $xmlfmtfile
- cleanup $xmlfmtfile
- ;;
-
- -pdf)
- echo "Creating $pdffile ..."
- xsltproc --nonet --xinclude -o $fofile $xsl_fo $xmlfmtfile
- pdfxmltex $fofile >$OUT </dev/null
- pdfxmltex $fofile >$OUT </dev/null
- pdfxmltex $fofile >$OUT </dev/null
- cleanup $OUT $xmlfmtfile *.aux *.fo *.log *.out
- ;;
-
- -ps)
- echo "Creating $psfile ..."
- xsltproc --nonet --xinclude -o $fofile $xsl_fo $xmlfmtfile
- pdfxmltex $fofile >$OUT </dev/null
- pdfxmltex $fofile >$OUT </dev/null
- pdfxmltex $fofile >$OUT </dev/null
- pdftops $pdffile $psfile
- cleanup $OUT $xmlfmtfile $pdffile *.aux *.fo *.log *.out
-# passivetex is broken, so we can't go this route yet.
-# xmltex $fofile >$OUT </dev/null
-# xmltex $fofile >$OUT </dev/null
-# xmltex $fofile >$OUT </dev/null
-# dvips -R -q -o bzip-manual.ps *.dvi
- ;;
-
- *)
- usage
- ;;
-esac
diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt
index 26a9aa9..d4729b5 100644
--- a/Utilities/cmlibarchive/CMakeLists.txt
+++ b/Utilities/cmlibarchive/CMakeLists.txt
@@ -1,9 +1,43 @@
+#
+IF(0) # CMake handles policy settings in its own build.
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR)
+if(POLICY CMP0074)
+ cmake_policy(SET CMP0074 NEW) #3.12.0 `find_package()`` uses ``<PackageName>_ROOT`` variables.
+endif()
+ENDIF()
+#
PROJECT(libarchive C)
#
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake")
if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin)
endif()
+IF(0) # CMake handles build type selection in its own build.
+#
+# Set the Build type for make based generators.
+# You can choose following types:
+# Debug : Debug build
+# Release : Release build
+# RelWithDebInfo : Release build with Debug Info
+# MinSizeRel : Release Min Size build
+IF(NOT CMAKE_BUILD_TYPE)
+ SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build Type" FORCE)
+ENDIF(NOT CMAKE_BUILD_TYPE)
+# Set a value type to properly display CMAKE_BUILD_TYPE on GUI if the
+# value type is "UNINITIALIZED".
+GET_PROPERTY(cached_type CACHE CMAKE_BUILD_TYPE PROPERTY TYPE)
+IF("${cached_type}" STREQUAL "UNINITIALIZED")
+ SET(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING "Build Type" FORCE)
+ENDIF("${cached_type}" STREQUAL "UNINITIALIZED")
+# Check the Build Type.
+IF(NOT "${CMAKE_BUILD_TYPE}"
+ MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)\$")
+ MESSAGE(FATAL_ERROR
+ "Unknown keyword for CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}\n"
+ "Acceptable keywords: Debug,Release,RelWithDebInfo,MinSizeRel")
+ENDIF(NOT "${CMAKE_BUILD_TYPE}"
+ MATCHES "^(Debug|Release|RelWithDebInfo|MinSizeRel)\$")
+ENDIF()
# On MacOS, prefer MacPorts libraries to system libraries.
# I haven't come up with a compelling argument for this to be conditional.
@@ -66,14 +100,122 @@ ELSEIF(CMAKE_C_COMPILER_ID STREQUAL "PathScale")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -woffall")
ENDIF()
+IF(0) # CMake does not need flags specific to libarchive upstream development.
+if (CMAKE_BUILD_TYPE STREQUAL "Debug")
+ OPTION(ENABLE_WERROR "Treat warnings as errors - default is ON for Debug, OFF otherwise." ON)
+else ()
+ OPTION(ENABLE_WERROR "Treat warnings as errors - default is ON for Debug, OFF otherwise." OFF)
+endif ()
+
+# Especially for early development, we want to be a little
+# aggressive about diagnosing build problems; this can get
+# relaxed somewhat in final shipping versions.
+IF (CMAKE_C_COMPILER_ID MATCHES "^GNU$")
+ SET(CMAKE_REQUIRED_FLAGS "-Wall -Wformat -Wformat-security")
+ #################################################################
+ # Set compile flags for all build types.
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wformat -Wformat-security")
+ if (ENABLE_WERROR)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+ endif ()
+ #################################################################
+ # Set compile flags for debug build.
+ # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wextra")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wunused")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wshadow")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wmissing-prototypes")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wcast-qual")
+ENDIF (CMAKE_C_COMPILER_ID MATCHES "^GNU$")
+IF (CMAKE_C_COMPILER_ID MATCHES "^Clang$")
+ SET(CMAKE_REQUIRED_FLAGS "-Wall -Wformat -Wformat-security")
+ #################################################################
+ # Set compile flags for all build types.
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wformat -Wformat-security")
+ if (ENABLE_WERROR)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+ endif ()
+ #################################################################
+ # Set compile flags for debug build.
+ # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wextra")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wunused")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wshadow")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wmissing-prototypes")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wcast-qual")
+ENDIF (CMAKE_C_COMPILER_ID MATCHES "^Clang$")
+IF (CMAKE_C_COMPILER_ID MATCHES "^XL$")
+ SET(CMAKE_C_COMPILER "xlc_r")
+ SET(CMAKE_REQUIRED_FLAGS "-qflag=e:e -qformat=sec")
+ #################################################################
+ # Set compile flags for all build types.
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qflag=e:e -qformat=sec")
+ if (ENABLE_WERROR)
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -qhalt=w")
+ endif ()
+ #################################################################
+ # Set compile flags for debug build.
+ # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -qflag=w:w")
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -qinfo=pro:use")
+ENDIF(CMAKE_C_COMPILER_ID MATCHES "^XL$")
+IF (MSVC)
+ if (ENABLE_WERROR)
+ # /WX option is the same as gcc's -Werror option.
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX")
+ endif ()
+ #################################################################
+ # Set compile flags for debug build.
+ # This is added into CMAKE_C_FLAGS when CMAKE_BUILD_TYPE is "Debug"
+ # Enable level 4 C4062: The enumerate has no associated handler in a switch
+ # statement and there is no default that can catch it.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4062")
+ # Enable level 4 C4254: A larger bit field was assigned to a smaller bit
+ # field.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4254")
+ # Enable level 4 C4295: An array was initialized but the last character in
+ # the array is not a null; accessing the array may
+ # produce unexpected results.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4295")
+ # Enable level 4 C4296: An unsigned variable was used in a comparison
+ # operation with zero.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4296")
+ # Enable level 4 C4389: An operation involved signed and unsigned variables.
+ # This could result in a loss of data.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4389")
+ # Enable level 4 C4505: The given function is local and not referenced in
+ # the body of the module; therefore, the function is
+ # dead code.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4505")
+ # Enable level 4 C4514: The optimizer removed an inline function that is not
+ # called.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4514")
+ # Enable level 4 C4702: Unreachable code.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4702")
+ # Enable level 4 C4706: The test value in a conditional expression was the
+ # result of an assignment.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /we4706")
+ # /Oi option enables built-in functions.
+ SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Oi")
+ #################################################################
+ # Set compile flags for release build.
+ SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Oi")
+ENDIF (MSVC)
+ENDIF()
+
# Enable CTest/CDash support
include(CTest)
-OPTION(ENABLE_NETTLE "Enable use of Nettle" ON)
+OPTION(ENABLE_MBEDTLS "Enable use of mbed TLS" OFF)
+OPTION(ENABLE_NETTLE "Enable use of Nettle" OFF)
OPTION(ENABLE_OPENSSL "Enable use of OpenSSL" ON)
+OPTION(ENABLE_LIBB2 "Enable the use of the system LIBB2 library if found" ON)
OPTION(ENABLE_LZ4 "Enable the use of the system LZ4 library if found" ON)
OPTION(ENABLE_LZO "Enable the use of the system LZO library if found" OFF)
OPTION(ENABLE_LZMA "Enable the use of the system LZMA library if found" ON)
+OPTION(ENABLE_ZSTD "Enable the use of the system zstd library if found" ON)
OPTION(ENABLE_ZLIB "Enable the use of the system ZLIB library if found" ON)
OPTION(ENABLE_BZip2 "Enable the use of the system BZip2 library if found" ON)
@@ -84,23 +226,98 @@ OPTION(ENABLE_LibGCC "Enable the use of the system LibGCC library if found" ON)
# CNG is used for encrypt/decrypt Zip archives on Windows.
OPTION(ENABLE_CNG "Enable the use of CNG(Crypto Next Generation)" ON)
+IF(0) # CMake does not build libarchive's command-line tools.
+OPTION(ENABLE_TAR "Enable tar building" ON)
+OPTION(ENABLE_TAR_SHARED "Enable dynamic build of tar" FALSE)
+OPTION(ENABLE_CPIO "Enable cpio building" ON)
+OPTION(ENABLE_CPIO_SHARED "Enable dynamic build of cpio" FALSE)
+OPTION(ENABLE_CAT "Enable cat building" ON)
+OPTION(ENABLE_CAT_SHARED "Enable dynamic build of cat" FALSE)
+ENDIF()
OPTION(ENABLE_XATTR "Enable extended attribute support" ON)
OPTION(ENABLE_ACL "Enable ACL support" ON)
OPTION(ENABLE_ICONV "Enable iconv support" ON)
+IF(0) # CMake does not build libarchive's tests.
+OPTION(ENABLE_TEST "Enable unit and regression tests" ON)
+OPTION(ENABLE_COVERAGE "Enable code coverage (GCC only, automatically sets ENABLE_TEST to ON)" FALSE)
+OPTION(ENABLE_INSTALL "Enable installing of libraries" ON)
+
+SET(POSIX_REGEX_LIB "AUTO" CACHE STRING "Choose what library should provide POSIX regular expression support")
+SET(ENABLE_SAFESEH "AUTO" CACHE STRING "Enable use of /SAFESEH linker flag (MSVC only)")
+SET(WINDOWS_VERSION "WIN7" CACHE STRING "Set Windows version to use (Windows only)")
+
+IF(ENABLE_COVERAGE)
+ include(LibarchiveCodeCoverage)
+ENDIF(ENABLE_COVERAGE)
+
+IF(ENABLE_TEST)
+ ENABLE_TESTING()
+ENDIF(ENABLE_TEST)
+ENDIF()
IF(WIN32)
- #ELSEIF(WINDOWS_VERSION STREQUAL "WINXP")
SET(NTDDI_VERSION 0x05010000)
SET(_WIN32_WINNT 0x0501)
SET(WINVER 0x0501)
ENDIF(WIN32)
-set(HAVE_PTHREAD_H 0) # no threads in CMake
+IF(0) # CMake hard-codes its own supported version of Windows.
+IF(WIN32)
+ IF(WINDOWS_VERSION STREQUAL "WIN8")
+ SET(NTDDI_VERSION 0x06020000)
+ SET(_WIN32_WINNT 0x0602)
+ SET(WINVER 0x0602)
+ ELSEIF(WINDOWS_VERSION STREQUAL "WIN7")
+ SET(NTDDI_VERSION 0x06010000)
+ SET(_WIN32_WINNT 0x0601)
+ SET(WINVER 0x0601)
+ ELSEIF(WINDOWS_VERSION STREQUAL "WS08")
+ SET(NTDDI_VERSION 0x06000100)
+ SET(_WIN32_WINNT 0x0600)
+ SET(WINVER 0x0600)
+ ELSEIF(WINDOWS_VERSION STREQUAL "VISTA")
+ SET(NTDDI_VERSION 0x06000000)
+ SET(_WIN32_WINNT 0x0600)
+ SET(WINVER 0x0600)
+ ELSEIF(WINDOWS_VERSION STREQUAL "WS03")
+ SET(NTDDI_VERSION 0x05020000)
+ SET(_WIN32_WINNT 0x0502)
+ SET(WINVER 0x0502)
+ ELSEIF(WINDOWS_VERSION STREQUAL "WINXP")
+ SET(NTDDI_VERSION 0x05010000)
+ SET(_WIN32_WINNT 0x0501)
+ SET(WINVER 0x0501)
+ ELSE(WINDOWS_VERSION STREQUAL "WIN8")
+ # Default to Windows Server 2003 API if we don't recognize the specifier
+ SET(NTDDI_VERSION 0x05020000)
+ SET(_WIN32_WINNT 0x0502)
+ SET(WINVER 0x0502)
+ ENDIF(WINDOWS_VERSION STREQUAL "WIN8")
+ENDIF(WIN32)
+
+IF(MSVC)
+ IF(ENABLE_SAFESEH STREQUAL "YES")
+ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH")
+ SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH")
+ SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH")
+ SET(ENV{LDFLAGS} "$ENV{LDFLAGS} /SAFESEH")
+ ELSEIF(ENABLE_SAFESEH STREQUAL "NO")
+ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")
+ SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO")
+ SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO")
+ SET(ENV{LDFLAGS} "$ENV{LDFLAGS} /SAFESEH:NO")
+ ENDIF(ENABLE_SAFESEH STREQUAL "YES")
+ENDIF(MSVC)
+ENDIF()
IF("${CMAKE_C_PLATFORM_ID}" MATCHES "^(HP-UX)$")
ADD_DEFINITIONS(-D_XOPEN_SOURCE=500) # Ask wchar.h for mbstate_t
ENDIF()
+IF(MINGW)
+ ADD_DEFINITIONS(-D__USE_MINGW_ANSI_STDIO)
+ENDIF()
+
#
INCLUDE(CheckCSourceCompiles)
INCLUDE(CheckCSourceRuns)
@@ -280,7 +497,6 @@ IF(BZIP2_FOUND)
ADD_DEFINITIONS(-DUSE_BZIP2_STATIC)
ENDIF(USE_BZIP2_DLL)
ENDIF(BZIP2_FOUND)
-MARK_AS_ADVANCED(CLEAR BZIP2_INCLUDE_DIR)
#
@@ -289,12 +505,15 @@ MARK_AS_ADVANCED(CLEAR BZIP2_INCLUDE_DIR)
IF(ENABLE_LZMA)
FIND_PACKAGE(LibLZMA)
ELSE()
- SET(LIBZMA_FOUND FALSE) # Override cached value
+ SET(LIBLZMA_FOUND FALSE) # Override cached value
ENDIF()
IF(LIBLZMA_FOUND)
SET(HAVE_LIBLZMA 1)
SET(HAVE_LZMA_H 1)
+ CMAKE_PUSH_CHECK_STATE()
+ SET(CMAKE_REQUIRED_INCLUDES ${LIBLZMA_INCLUDE_DIR})
+ SET(CMAKE_REQUIRED_LIBRARIES ${LIBLZMA_LIBRARIES})
INCLUDE_DIRECTORIES(${LIBLZMA_INCLUDE_DIRS})
LIST(APPEND ADDITIONAL_LIBS ${LIBLZMA_LIBRARIES})
IF(CMAKE_USE_SYSTEM_LIBLZMA)
@@ -310,10 +529,10 @@ IF(LIBLZMA_FOUND)
ELSE()
ADD_DEFINITIONS(-DLZMA_API_STATIC)
ENDIF()
+ CMAKE_POP_CHECK_STATE()
ELSE(LIBLZMA_FOUND)
# LZMA not found and will not be used.
ENDIF(LIBLZMA_FOUND)
-IF(0) # CMake does not need LZO2 support in libarchive
#
# Find LZO2
#
@@ -340,10 +559,35 @@ IF(LZO2_FOUND)
# TODO: test for static library.
#
ENDIF(LZO2_FOUND)
-MARK_AS_ADVANCED(CLEAR LZO2_INCLUDE_DIR)
-MARK_AS_ADVANCED(CLEAR LZO2_LIBRARY)
-ENDIF()
-IF(0) # CMake does not need LZ4 support in libarchive
+#
+# Find libb2
+#
+IF(ENABLE_LIBB2)
+ IF (LIBB2_INCLUDE_DIR)
+ # Already in cache, be silent
+ SET(LIBB2_FIND_QUIETLY TRUE)
+ ENDIF (LIBB2_INCLUDE_DIR)
+
+ FIND_PATH(LIBB2_INCLUDE_DIR blake2.h)
+ FIND_LIBRARY(LIBB2_LIBRARY NAMES b2 libb2)
+ INCLUDE(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBB2 DEFAULT_MSG LIBB2_LIBRARY LIBB2_INCLUDE_DIR)
+ELSE(ENABLE_LIBB2)
+ SET(LIBB2_FOUND FALSE) # Override cached value
+ENDIF(ENABLE_LIBB2)
+IF(LIBB2_FOUND)
+ SET(HAVE_LIBB2 1)
+ SET(HAVE_BLAKE2_H 1)
+ SET(ARCHIVE_BLAKE2 FALSE)
+ LIST(APPEND ADDITIONAL_LIBS ${LIBB2_LIBRARY})
+ CMAKE_PUSH_CHECK_STATE()
+ SET(CMAKE_REQUIRED_LIBRARIES ${LIBB2_LIBRARY})
+ SET(CMAKE_REQUIRED_INCLUDES ${LIBB2_INCLUDE_DIR})
+ CHECK_FUNCTION_EXISTS(blake2sp_init HAVE_LIBB2)
+ CMAKE_POP_CHECK_STATE()
+ELSE(LIBB2_FOUND)
+ SET(ARCHIVE_BLAKE2 TRUE)
+ENDIF(LIBB2_FOUND)
#
# Find LZ4
#
@@ -373,33 +617,42 @@ IF(LZ4_FOUND)
# TODO: test for static library.
#
ENDIF(LZ4_FOUND)
-MARK_AS_ADVANCED(CLEAR LZ4_INCLUDE_DIR)
-MARK_AS_ADVANCED(CLEAR LZ4_LIBRARY)
-ENDIF()
#
# Find Zstd
#
-IF (ZSTD_INCLUDE_DIR)
- # Already in cache, be silent
- SET(ZSTD_FIND_QUIETLY TRUE)
-ENDIF (ZSTD_INCLUDE_DIR)
+IF(ENABLE_ZSTD)
+ IF (ZSTD_INCLUDE_DIR)
+ # Already in cache, be silent
+ SET(ZSTD_FIND_QUIETLY TRUE)
+ ENDIF (ZSTD_INCLUDE_DIR)
-FIND_PATH(ZSTD_INCLUDE_DIR zstd.h)
-FIND_LIBRARY(ZSTD_LIBRARY NAMES zstd libzstd)
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZSTD DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
+ FIND_PATH(ZSTD_INCLUDE_DIR zstd.h)
+ FIND_LIBRARY(ZSTD_LIBRARY NAMES zstd libzstd)
+ INCLUDE(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZSTD DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
+ELSE(ENABLE_ZSTD)
+ SET(ZSTD_FOUND FALSE) # Override cached value
+ENDIF(ENABLE_ZSTD)
IF(ZSTD_FOUND)
SET(HAVE_ZSTD_H 1)
INCLUDE_DIRECTORIES(${ZSTD_INCLUDE_DIR})
LIST(APPEND ADDITIONAL_LIBS ${ZSTD_LIBRARY})
SET(HAVE_LIBZSTD 1)
+ IF(0) # CMake expects the zstd library to work.
+ CMAKE_PUSH_CHECK_STATE()
+ SET(CMAKE_REQUIRED_LIBRARIES ${ZSTD_LIBRARY})
+ SET(CMAKE_REQUIRED_INCLUDES ${ZSTD_INCLUDE_DIR})
+ CHECK_FUNCTION_EXISTS(ZSTD_compressStream HAVE_LIBZSTD)
#
# TODO: test for static library.
#
+ CMAKE_POP_CHECK_STATE()
+ ENDIF()
ENDIF(ZSTD_FOUND)
MARK_AS_ADVANCED(CLEAR ZSTD_INCLUDE_DIR)
MARK_AS_ADVANCED(CLEAR ZSTD_LIBRARY)
+
#
# Check headers
#
@@ -419,9 +672,11 @@ LA_CHECK_INCLUDE_FILE("sys/types.h" HAVE_SYS_TYPES_H)
# Alphabetize the rest unless there's a compelling reason
IF(ENABLE_ACL)
LA_CHECK_INCLUDE_FILE("acl/libacl.h" HAVE_ACL_LIBACL_H)
-ELSE(ENABLE_ACL)
+ LA_CHECK_INCLUDE_FILE("attr/xattr.h" HAVE_ATTR_XATTR_H)
+ELSE()
SET(HAVE_ACL_LIBACL_H FALSE)
-ENDIF(ENABLE_ACL)
+ SET(HAVE_ATTR_XATTR_H FALSE)
+ENDIF()
LA_CHECK_INCLUDE_FILE("ctype.h" HAVE_CTYPE_H)
LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H)
LA_CHECK_INCLUDE_FILE("direct.h" HAVE_DIRECT_H)
@@ -519,6 +774,26 @@ CHECK_C_SOURCE_COMPILES(
SAFE_TO_DEFINE_EXTENSIONS)
#
+# Find mbed TLS
+#
+IF(ENABLE_MBEDTLS)
+ FIND_PACKAGE(MbedTLS)
+ IF(MBEDTLS_FOUND)
+ SET(HAVE_LIBMBEDCRYPTO 1)
+ LIST(APPEND ADDITIONAL_LIBS ${MBEDCRYPTO_LIBRARY})
+ INCLUDE_DIRECTORIES(${MBEDTLS_INCLUDE_DIRS})
+
+ LIST(APPEND CMAKE_REQUIRED_INCLUDES ${MBEDTLS_INCLUDE_DIRS})
+ LA_CHECK_INCLUDE_FILE("mbedtls/aes.h" HAVE_MBEDTLS_AES_H)
+ LA_CHECK_INCLUDE_FILE("mbedtls/md.h" HAVE_MBEDTLS_MD_H)
+ LA_CHECK_INCLUDE_FILE("mbedtls/pkcs5.h" HAVE_MBEDTLS_PKCS5_H)
+
+ ENDIF(MBEDTLS_FOUND)
+ MARK_AS_ADVANCED(CLEAR MBEDTLS_INCLUDE_DIRS)
+ MARK_AS_ADVANCED(CLEAR MBEDCRYPTO_LIBRARY)
+ENDIF(ENABLE_MBEDTLS)
+
+#
# Find Nettle
#
IF(ENABLE_NETTLE)
@@ -579,6 +854,8 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION)
STRING(TOUPPER "${ALGORITHM}" algorithm)
IF ("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND NOT OPENSSL_FOUND)
SET(ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION} FALSE)
+ ELSEIF("${IMPLEMENTATION}" MATCHES "^MBEDTLS$" AND NOT MBEDTLS_FOUND)
+ SET(ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION} FALSE)
ELSEIF("${IMPLEMENTATION}" MATCHES "^NETTLE$" AND NOT NETTLE_FOUND)
SET(ARCHIVE_CRYPTO_${ALGORITHM}_${IMPLEMENTATION} FALSE)
ENDIF("${IMPLEMENTATION}" MATCHES "^OPENSSL$" AND NOT OPENSSL_FOUND)
@@ -594,6 +871,11 @@ MACRO(CHECK_CRYPTO ALGORITHMS IMPLEMENTATION)
"${TRY_CRYPTO_REQUIRED_INCLUDES};${OPENSSL_INCLUDE_DIR}")
SET(TRY_CRYPTO_REQUIRED_LIBS
"-DLINK_LIBRARIES:STRING=${OPENSSL_LIBRARIES}")
+ ELSEIF("${IMPLEMENTATION}" MATCHES "^MBEDTLS$" AND MBEDTLS_FOUND)
+ SET(TRY_CRYPTO_REQUIRED_INCLUDES
+ "${TRY_CRYPTO_REQUIRED_INCLUDES};${MBEDTLS_INCLUDE_DIRS}")
+ SET(TRY_CRYPTO_REQUIRED_LIBS
+ "-DLINK_LIBRARIES:STRING=${MBEDCRYPTO_LIBRARY}")
ELSEIF("${IMPLEMENTATION}" MATCHES "^NETTLE$" AND NETTLE_FOUND)
SET(TRY_CRYPTO_REQUIRED_INCLUDES
"${TRY_CRYPTO_REQUIRED_INCLUDES};${NETTLE_INCLUDE_DIR}")
@@ -758,18 +1040,19 @@ ENDMACRO(CHECK_CRYPTO_WIN CRYPTO_LIST)
MACRO(CHECK_ICONV LIB TRY_ICONV_CONST)
IF(NOT HAVE_ICONV)
CMAKE_PUSH_CHECK_STATE() # Save the state of the variables
- IF (CMAKE_C_COMPILER_ID STREQUAL "GNU" OR
- CMAKE_C_COMPILER_ID STREQUAL "Clang")
+ IF (CMAKE_C_COMPILER_ID MATCHES "^GNU$" OR
+ CMAKE_C_COMPILER_ID MATCHES "^Clang$")
#
# During checking iconv proto type, we should use -Werror to avoid the
# success of iconv detection with a warnig which success is a miss
# detection. So this needs for all build mode(even it's a release mode).
#
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror")
- ENDIF ()
- IF (CMAKE_C_COMPILER_ID STREQUAL "XL")
+ ENDIF (CMAKE_C_COMPILER_ID MATCHES "^GNU$" OR
+ CMAKE_C_COMPILER_ID MATCHES "^Clang$")
+ IF (CMAKE_C_COMPILER_ID MATCHES "^XL$")
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -qhalt=w -qflag=w:w")
- ENDIF ()
+ ENDIF (CMAKE_C_COMPILER_ID MATCHES "^XL$")
IF (MSVC)
# NOTE: /WX option is the same as gcc's -Werror option.
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} /WX")
@@ -889,7 +1172,6 @@ ELSE(ENABLE_ICONV)
UNSET(LIBCHARSET_STATIC CACHE)
ENDIF(ENABLE_ICONV)
-IF(0) # CMake does not need XML support in libarchive
#
# Find Libxml2
#
@@ -936,23 +1218,135 @@ ELSE(LIBXML2_FOUND)
CMAKE_POP_CHECK_STATE() # Restore the state of the variables
ENDIF(EXPAT_FOUND)
ENDIF(LIBXML2_FOUND)
-MARK_AS_ADVANCED(CLEAR LIBXML2_INCLUDE_DIR)
-MARK_AS_ADVANCED(CLEAR LIBXML2_LIBRARIES)
-ENDIF()
+
+#
+# POSIX Regular Expression support
+#
+IF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$")
+ #
+ # If PCREPOSIX is not found or not requested, try using regex
+ # from libc or libregex
+ #
+ FIND_PATH(REGEX_INCLUDE_DIR regex.h)
+ IF(REGEX_INCLUDE_DIR)
+ CHECK_FUNCTION_EXISTS_GLIBC(regcomp HAVE_REGCOMP_LIBC)
+ #
+ # If libc does not provide regex, find libregex.
+ #
+ IF(NOT HAVE_REGCOMP_LIBC)
+ CMAKE_PUSH_CHECK_STATE() # Save the state of the variables
+ FIND_LIBRARY(REGEX_LIBRARY regex)
+ IF(REGEX_LIBRARY)
+ SET(CMAKE_REQUIRED_LIBRARIES ${REGEX_LIBRARY})
+ CHECK_FUNCTION_EXISTS_GLIBC(regcomp HAVE_REGCOMP_LIBREGEX)
+ IF(HAVE_REGCOMP_LIBREGEX)
+ LIST(APPEND ADDITIONAL_LIBS ${REGEX_LIBRARY})
+ #
+ # If regex.h is not found, retry looking for regex.h at
+ # REGEX_INCLUDE_DIR
+ #
+ IF(NOT HAVE_REGEX_H)
+ UNSET(HAVE_REGEX_H CACHE)
+ INCLUDE_DIRECTORIES(${REGEX_INCLUDE_DIR})
+ SET(CMAKE_REQUIRED_INCLUDES ${REGEX_INCLUDE_DIR})
+ LA_CHECK_INCLUDE_FILE("regex.h" HAVE_REGEX_H)
+ ENDIF(NOT HAVE_REGEX_H)
+ # Test if a macro is needed for the library.
+ TRY_MACRO_FOR_LIBRARY(
+ "${REGEX_INCLUDE_DIR}" "${REGEX_LIBRARY}"
+ COMPILES
+ "#include <stddef.h>\n#include <regex.h>\nint main() {regex_t r;return regcomp(&r, \"\", 0);}"
+ "USE_REGEX_DLL;USE_REGEX_STATIC")
+ IF(USE_REGEX_DLL)
+ ADD_DEFINITIONS(-DUSE_REGEX_DLL)
+ ELSEIF(USE_REGEX_STATIC)
+ ADD_DEFINITIONS(-DUSE_REGEX_STATIC)
+ ENDIF(USE_REGEX_DLL)
+ ENDIF(HAVE_REGCOMP_LIBREGEX)
+ ENDIF(REGEX_LIBRARY)
+ CMAKE_POP_CHECK_STATE() # Restore the state of the variables
+ ENDIF(NOT HAVE_REGCOMP_LIBC)
+ ENDIF(REGEX_INCLUDE_DIR)
+ IF(HAVE_REGCOMP_LIBC OR HAVE_REGCOMP_LIBREGEX)
+ SET(FOUND_POSIX_REGEX_LIB 1)
+ ENDIF(HAVE_REGCOMP_LIBC OR HAVE_REGCOMP_LIBREGEX)
+ENDIF(POSIX_REGEX_LIB MATCHES "^(AUTO|LIBC|LIBREGEX)$")
+
+IF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$")
+ #
+ # If requested, try finding library for PCREPOSIX
+ #
+ IF(ENABLE_LibGCC)
+ FIND_PACKAGE(LibGCC)
+ ELSE()
+ SET(LIBGCC_FOUND FALSE) # Override cached value
+ ENDIF()
+ IF(ENABLE_PCREPOSIX)
+ FIND_PACKAGE(PCREPOSIX)
+ ELSE()
+ SET(PCREPOSIX_FOUND FALSE) # Override cached value
+ ENDIF()
+ IF(PCREPOSIX_FOUND)
+ INCLUDE_DIRECTORIES(${PCRE_INCLUDE_DIR})
+ LIST(APPEND ADDITIONAL_LIBS ${PCREPOSIX_LIBRARIES})
+ # Test if a macro is needed for the library.
+ TRY_MACRO_FOR_LIBRARY(
+ "${PCRE_INCLUDE_DIR}" "${PCREPOSIX_LIBRARIES}"
+ COMPILES
+ "#include <pcreposix.h>\nint main() {regex_t r;return regcomp(&r, \"\", 0);}"
+ "WITHOUT_PCRE_STATIC;PCRE_STATIC")
+ IF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
+ ADD_DEFINITIONS(-DPCRE_STATIC)
+ ELSEIF(NOT WITHOUT_PCRE_STATIC AND NOT PCRE_STATIC AND PCRE_FOUND)
+ # Determine if pcre static libraries are to be used.
+ LIST(APPEND ADDITIONAL_LIBS ${PCRE_LIBRARIES})
+ SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES})
+ MESSAGE(STATUS "trying again with -lpcre included")
+ TRY_MACRO_FOR_LIBRARY(
+ "${PCRE_INCLUDE_DIR}" "${TMP_LIBRARIES}"
+ COMPILES
+ "#include <pcreposix.h>\nint main() {regex_t r;return regcomp(&r, \"\", 0);}"
+ "WITHOUT_PCRE_STATIC;PCRE_STATIC")
+ IF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
+ ADD_DEFINITIONS(-DPCRE_STATIC)
+ ELSEIF(NOT WITHOUT_PCRE_STATIC AND NOT PCRE_STATIC AND MSVC AND LIBGCC_FOUND)
+ # When doing a Visual Studio build using pcre static libraries
+ # built using the mingw toolchain, -lgcc is needed to resolve
+ # ___chkstk_ms.
+ MESSAGE(STATUS "Visual Studio build detected, trying again with -lgcc included")
+ LIST(APPEND ADDITIONAL_LIBS ${LIBGCC_LIBRARIES})
+ SET(TMP_LIBRARIES ${PCREPOSIX_LIBRARIES} ${PCRE_LIBRARIES} ${LIBGCC_LIBRARIES})
+ TRY_MACRO_FOR_LIBRARY(
+ "${PCRE_INCLUDE_DIR}" "${TMP_LIBRARIES}"
+ COMPILES
+ "#include <pcreposix.h>\nint main() {regex_t r;return regcomp(&r, \"\", 0);}"
+ "WITHOUT_PCRE_STATIC;PCRE_STATIC")
+ IF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
+ ADD_DEFINITIONS(-DPCRE_STATIC)
+ ENDIF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
+ ENDIF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
+ ENDIF(NOT WITHOUT_PCRE_STATIC AND PCRE_STATIC)
+ ENDIF(PCREPOSIX_FOUND)
+ MARK_AS_ADVANCED(CLEAR PCRE_INCLUDE_DIR)
+ MARK_AS_ADVANCED(CLEAR PCREPOSIX_LIBRARIES)
+ MARK_AS_ADVANCED(CLEAR PCRE_LIBRARIES)
+ MARK_AS_ADVANCED(CLEAR LIBGCC_LIBRARIES)
+ENDIF(NOT FOUND_POSIX_REGEX_LIB AND POSIX_REGEX_LIB MATCHES "^(AUTO|LIBPCREPOSIX)$")
#
# Check functions
#
CMAKE_PUSH_CHECK_STATE() # Save the state of the variables
-IF (CMAKE_C_COMPILER_ID STREQUAL "GNU" OR
- CMAKE_C_COMPILER_ID STREQUAL "Clang")
+IF (CMAKE_C_COMPILER_ID MATCHES "^GNU$" OR
+ CMAKE_C_COMPILER_ID MATCHES "^Clang$")
#
# During checking functions, we should use -fno-builtin to avoid the
# failure of function detection which failure is an error "conflicting
# types for built-in function" caused by using -Werror option.
#
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fno-builtin")
-ENDIF ()
+ENDIF (CMAKE_C_COMPILER_ID MATCHES "^GNU$" OR
+ CMAKE_C_COMPILER_ID MATCHES "^Clang$")
CHECK_SYMBOL_EXISTS(_CrtSetReportMode "crtdbg.h" HAVE__CrtSetReportMode)
CHECK_FUNCTION_EXISTS_GLIBC(arc4random_buf HAVE_ARC4RANDOM_BUF)
CHECK_FUNCTION_EXISTS_GLIBC(chflags HAVE_CHFLAGS)
@@ -1016,6 +1410,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(strrchr HAVE_STRRCHR)
CHECK_FUNCTION_EXISTS_GLIBC(symlink HAVE_SYMLINK)
CHECK_FUNCTION_EXISTS_GLIBC(timegm HAVE_TIMEGM)
CHECK_FUNCTION_EXISTS_GLIBC(tzset HAVE_TZSET)
+CHECK_FUNCTION_EXISTS_GLIBC(unlinkat HAVE_UNLINKAT)
CHECK_FUNCTION_EXISTS_GLIBC(unsetenv HAVE_UNSETENV)
CHECK_FUNCTION_EXISTS_GLIBC(utime HAVE_UTIME)
CHECK_FUNCTION_EXISTS_GLIBC(utimes HAVE_UTIMES)
@@ -1029,6 +1424,7 @@ CHECK_FUNCTION_EXISTS_GLIBC(wctomb HAVE_WCTOMB)
CHECK_FUNCTION_EXISTS_GLIBC(_ctime64_s HAVE__CTIME64_S)
CHECK_FUNCTION_EXISTS_GLIBC(_fseeki64 HAVE__FSEEKI64)
CHECK_FUNCTION_EXISTS_GLIBC(_get_timezone HAVE__GET_TIMEZONE)
+CHECK_FUNCTION_EXISTS_GLIBC(_gmtime64_s HAVE__GMTIME64_S)
CHECK_FUNCTION_EXISTS_GLIBC(_localtime64_s HAVE__LOCALTIME64_S)
CHECK_FUNCTION_EXISTS_GLIBC(_mkgmtime64 HAVE__MKGMTIME64)
@@ -1297,6 +1693,11 @@ IF(ENABLE_XATTR)
CHECK_LIBRARY_EXISTS(attr "setxattr" "" HAVE_LIBATTR)
IF(HAVE_LIBATTR)
SET(CMAKE_REQUIRED_LIBRARIES "attr")
+ ELSE()
+ CHECK_LIBRARY_EXISTS(gnu "setxattr" "" HAVE_LIBATTR_GNU)
+ IF(HAVE_LIBATTR_GNU)
+ SET(CMAKE_REQUIRED_LIBRARIES "gnu")
+ ENDIF()
ENDIF(HAVE_LIBATTR)
CHECK_SYMBOL_EXISTS(EXTATTR_NAMESPACE_USER "sys/types.h;sys/extattr.h" HAVE_DECL_EXTATTR_NAMESPACE_USER)
CHECK_SYMBOL_EXISTS(XATTR_NOFOLLOW "sys/xattr.h" HAVE_DECL_XATTR_NOFOLLOW)
@@ -1620,6 +2021,7 @@ CHECK_CRYPTO("MD5;RMD160;SHA1;SHA256;SHA384;SHA512" LIBC)
CHECK_CRYPTO("SHA256;SHA384;SHA512" LIBC2)
CHECK_CRYPTO("SHA256;SHA384;SHA512" LIBC3)
CHECK_CRYPTO("MD5;SHA1;SHA256;SHA384;SHA512" LIBSYSTEM)
+CHECK_CRYPTO("MD5;RMD160;SHA1;SHA256;SHA384;SHA512" MBEDTLS)
CHECK_CRYPTO("MD5;RMD160;SHA1;SHA256;SHA384;SHA512" NETTLE)
CHECK_CRYPTO("MD5;RMD160;SHA1;SHA256;SHA384;SHA512" OPENSSL)
@@ -1634,6 +2036,11 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in
INCLUDE_DIRECTORIES(BEFORE ${CMAKE_CURRENT_BINARY_DIR})
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
+IF(0) # CMake does not build libarchive's packages.
+# Handle generation of the libarchive.pc file for pkg-config
+INCLUDE(CreatePkgConfigFile)
+ENDIF()
+
#
# Register installation of PDF documents.
#
@@ -1659,11 +2066,22 @@ IF(MSVC)
ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
ENDIF(MSVC)
+IF(0) # CMake does not build libarchive's tests.
+IF(ENABLE_TEST)
+ ADD_CUSTOM_TARGET(run_all_tests)
+ENDIF(ENABLE_TEST)
+ENDIF()
+
# We need CoreServices on Mac OS.
IF(APPLE)
LIST(APPEND ADDITIONAL_LIBS "-framework CoreServices")
ENDIF(APPLE)
add_subdirectory(libarchive)
+IF(0) # CMake does not build libarchive's command-line tools.
+add_subdirectory(cat)
+add_subdirectory(tar)
+add_subdirectory(cpio)
+ENDIF()
install(FILES COPYING DESTINATION ${CMAKE_DOC_DIR}/cmlibarchive)
diff --git a/Utilities/cmlibarchive/COPYING b/Utilities/cmlibarchive/COPYING
index 93952b7..14bbefa 100644
--- a/Utilities/cmlibarchive/COPYING
+++ b/Utilities/cmlibarchive/COPYING
@@ -23,6 +23,13 @@ the actual statements in the files are controlling.
* The following source files are in the public domain:
libarchive/archive_getdate.c
+* The following source files are triple-licensed with the ability to choose
+ from CC0 1.0 Universal, OpenSSL or Apache 2.0 licenses:
+ libarchive/archive_blake2.h
+ libarchive/archive_blake2_impl.h
+ libarchive/archive_blake2s_ref.c
+ libarchive/archive_blake2sp_ref.c
+
* The build files---including Makefiles, configure scripts,
and auxiliary scripts used as part of the compile process---have
widely varying licensing terms. Please check individual files before
@@ -34,7 +41,7 @@ do use the license below. The varying licensing of the build scripts
seems to be an unavoidable mess.
-Copyright (c) 2003-2009 <author(s)>
+Copyright (c) 2003-2018 <author(s)>
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/Utilities/cmlibarchive/build/cmake/FindMbedTLS.cmake b/Utilities/cmlibarchive/build/cmake/FindMbedTLS.cmake
new file mode 100644
index 0000000..a916395
--- /dev/null
+++ b/Utilities/cmlibarchive/build/cmake/FindMbedTLS.cmake
@@ -0,0 +1,13 @@
+find_path(MBEDTLS_INCLUDE_DIRS mbedtls/ssl.h)
+
+find_library(MBEDTLS_LIBRARY mbedtls)
+find_library(MBEDX509_LIBRARY mbedx509)
+find_library(MBEDCRYPTO_LIBRARY mbedcrypto)
+
+set(MBEDTLS_LIBRARIES "${MBEDTLS_LIBRARY}" "${MBEDX509_LIBRARY}" "${MBEDCRYPTO_LIBRARY}")
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MBEDTLS DEFAULT_MSG
+ MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
+
+mark_as_advanced(MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
diff --git a/Utilities/cmlibarchive/build/cmake/config.h.in b/Utilities/cmlibarchive/build/cmake/config.h.in
index 1851d81..bcda4c3 100644
--- a/Utilities/cmlibarchive/build/cmake/config.h.in
+++ b/Utilities/cmlibarchive/build/cmake/config.h.in
@@ -683,6 +683,12 @@ typedef uint64_t uintmax_t;
/* Define to 1 if you have the `bz2' library (-lbz2). */
#cmakedefine HAVE_LIBBZ2 1
+/* Define to 1 if you have the `b2' library (-lb2). */
+#cmakedefine HAVE_LIBB2 1
+
+/* Define to 1 if you have the <blake2.h> header file. */
+#cmakedefine HAVE_BLAKE2_H 1
+
/* Define to 1 if you have the `charset' library (-lcharset). */
#cmakedefine HAVE_LIBCHARSET 1
@@ -707,6 +713,9 @@ typedef uint64_t uintmax_t;
/* Define to 1 if you have the `lzo2' library (-llzo2). */
#cmakedefine HAVE_LIBLZO2 1
+/* Define to 1 if you have the `mbedcrypto' library (-lmbedcrypto). */
+#cmakedefine HAVE_LIBMBEDCRYPTO 1
+
/* Define to 1 if you have the `nettle' library (-lnettle). */
#cmakedefine HAVE_LIBNETTLE 1
@@ -1111,6 +1120,9 @@ typedef uint64_t uintmax_t;
/* Define to 1 if you have the <unistd.h> header file. */
#cmakedefine HAVE_UNISTD_H 1
+/* Define to 1 if you have the `unlinkat' function. */
+#cmakedefine HAVE_UNLINKAT 1
+
/* Define to 1 if you have the `unsetenv' function. */
#cmakedefine HAVE_UNSETENV 1
@@ -1204,6 +1216,9 @@ typedef uint64_t uintmax_t;
/* Define to 1 if you have the `_get_timezone' function. */
#cmakedefine HAVE__GET_TIMEZONE 1
+/* Define to 1 if you have the `_gmtime64_s' function. */
+#cmakedefine HAVE__GMTIME64_S 1
+
/* Define to 1 if you have the `_localtime64_s' function. */
#cmakedefine HAVE__LOCALTIME64_S 1
diff --git a/Utilities/cmlibarchive/build/version b/Utilities/cmlibarchive/build/version
index 2427eab..78be3ab 100644
--- a/Utilities/cmlibarchive/build/version
+++ b/Utilities/cmlibarchive/build/version
@@ -1 +1 @@
-3003003
+3004002
diff --git a/Utilities/cmlibarchive/libarchive/CMakeLists.txt b/Utilities/cmlibarchive/libarchive/CMakeLists.txt
index e38d664..891a140 100644
--- a/Utilities/cmlibarchive/libarchive/CMakeLists.txt
+++ b/Utilities/cmlibarchive/libarchive/CMakeLists.txt
@@ -51,6 +51,8 @@ SET(libarchive_SOURCES
archive_platform_acl.h
archive_platform_xattr.h
archive_ppmd_private.h
+ archive_ppmd8.c
+ archive_ppmd8_private.h
archive_ppmd7.c
archive_ppmd7_private.h
archive_private.h
@@ -100,6 +102,7 @@ SET(libarchive_SOURCES
archive_read_support_format_lha.c
archive_read_support_format_mtree.c
archive_read_support_format_rar.c
+ archive_read_support_format_rar5.c
archive_read_support_format_raw.c
archive_read_support_format_tar.c
archive_read_support_format_warc.c
@@ -147,6 +150,7 @@ SET(libarchive_SOURCES
archive_write_set_format_iso9660.c
archive_write_set_format_mtree.c
archive_write_set_format_pax.c
+ archive_write_set_format_private.h
archive_write_set_format_raw.c
archive_write_set_format_shar.c
archive_write_set_format_ustar.c
@@ -167,6 +171,7 @@ SET(libarchive_MANS
archive_entry.3
archive_entry_acl.3
archive_entry_linkify.3
+ archive_entry_misc.3
archive_entry_paths.3
archive_entry_perms.3
archive_entry_stat.3
@@ -215,6 +220,11 @@ IF(WIN32 AND NOT CYGWIN)
LIST(APPEND libarchive_SOURCES filter_fork_windows.c)
ENDIF(WIN32 AND NOT CYGWIN)
+IF(ARCHIVE_BLAKE2)
+ LIST(APPEND libarchive_SOURCES archive_blake2sp_ref.c)
+ LIST(APPEND libarchive_SOURCES archive_blake2s_ref.c)
+ENDIF(ARCHIVE_BLAKE2)
+
IF(ARCHIVE_ACL_DARWIN)
LIST(APPEND libarchive_SOURCES archive_disk_acl_darwin.c)
ELSEIF(ARCHIVE_ACL_FREEBSD)
@@ -228,3 +238,33 @@ ENDIF()
# CMake needs just one static "cmlibarchive" library.
ADD_LIBRARY(cmlibarchive STATIC ${libarchive_SOURCES} ${include_HEADERS})
TARGET_LINK_LIBRARIES(cmlibarchive ${ADDITIONAL_LIBS})
+
+IF(0) # CMake does not build libarchive's full package.
+# Libarchive is a shared library
+ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS})
+TARGET_INCLUDE_DIRECTORIES(archive PUBLIC .)
+TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS})
+SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION})
+
+# archive_static is a static library
+ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS})
+TARGET_LINK_LIBRARIES(archive_static ${ADDITIONAL_LIBS})
+SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS
+ LIBARCHIVE_STATIC)
+# On Posix systems, libarchive.so and libarchive.a can co-exist.
+IF(NOT WIN32 OR CYGWIN)
+ SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive)
+ENDIF(NOT WIN32 OR CYGWIN)
+
+IF(ENABLE_INSTALL)
+ # How to install the libraries
+ INSTALL(TARGETS archive archive_static
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+ INSTALL_MAN(${libarchive_MANS})
+ INSTALL(FILES ${include_HEADERS} DESTINATION include)
+ENDIF()
+
+add_subdirectory(test)
+ENDIF()
diff --git a/Utilities/cmlibarchive/libarchive/archive.h b/Utilities/cmlibarchive/libarchive/archive.h
index f3ebbfe..574e087 100644
--- a/Utilities/cmlibarchive/libarchive/archive.h
+++ b/Utilities/cmlibarchive/libarchive/archive.h
@@ -36,7 +36,7 @@
* assert that ARCHIVE_VERSION_NUMBER >= 2012108.
*/
/* Note: Compiler will complain if this does not match archive_entry.h! */
-#define ARCHIVE_VERSION_NUMBER 3003003
+#define ARCHIVE_VERSION_NUMBER 3004002
#include <sys/stat.h>
#include <stddef.h> /* for wchar_t */
@@ -52,7 +52,7 @@
*/
#if defined(__BORLANDC__) && __BORLANDC__ >= 0x560
# include <stdint.h>
-#elif !defined(__WATCOMC__) && !defined(_MSC_VER) && !defined(__INTERIX) && !defined(__BORLANDC__) && !defined(_SCO_DS) && !defined(__osf__)
+#elif !defined(__WATCOMC__) && !defined(_MSC_VER) && !defined(__INTERIX) && !defined(__BORLANDC__) && !defined(_SCO_DS) && !defined(__osf__) && !defined(__CLANG_INTTYPES_H)
# include <inttypes.h>
#endif
@@ -152,7 +152,7 @@ __LA_DECL int archive_version_number(void);
/*
* Textual name/version of the library, useful for version displays.
*/
-#define ARCHIVE_VERSION_ONLY_STRING "3.3.3"
+#define ARCHIVE_VERSION_ONLY_STRING "3.4.2"
#define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING
__LA_DECL const char * archive_version_string(void);
@@ -337,6 +337,7 @@ typedef const char *archive_passphrase_callback(struct archive *,
#define ARCHIVE_FORMAT_RAR 0xD0000
#define ARCHIVE_FORMAT_7ZIP 0xE0000
#define ARCHIVE_FORMAT_WARC 0xF0000
+#define ARCHIVE_FORMAT_RAR_V5 0x100000
/*
* Codes returned by archive_read_format_capabilities().
@@ -446,6 +447,7 @@ __LA_DECL int archive_read_support_format_iso9660(struct archive *);
__LA_DECL int archive_read_support_format_lha(struct archive *);
__LA_DECL int archive_read_support_format_mtree(struct archive *);
__LA_DECL int archive_read_support_format_rar(struct archive *);
+__LA_DECL int archive_read_support_format_rar5(struct archive *);
__LA_DECL int archive_read_support_format_raw(struct archive *);
__LA_DECL int archive_read_support_format_tar(struct archive *);
__LA_DECL int archive_read_support_format_warc(struct archive *);
@@ -688,6 +690,8 @@ __LA_DECL int archive_read_set_passphrase_callback(struct archive *,
#define ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS (0x10000)
/* Default: Do not clear no-change flags when unlinking object */
#define ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS (0x20000)
+/* Default: Do not extract atomically (using rename) */
+#define ARCHIVE_EXTRACT_SAFE_WRITES (0x40000)
__LA_DECL int archive_read_extract(struct archive *, struct archive_entry *,
int flags);
@@ -1090,6 +1094,8 @@ __LA_DECL int archive_match_excluded(struct archive *,
*/
__LA_DECL int archive_match_path_excluded(struct archive *,
struct archive_entry *);
+/* Control recursive inclusion of directory content when directory is included. Default on. */
+__LA_DECL int archive_match_set_inclusion_recursion(struct archive *, int);
/* Add exclusion pathname pattern. */
__LA_DECL int archive_match_exclude_pattern(struct archive *, const char *);
__LA_DECL int archive_match_exclude_pattern_w(struct archive *,
diff --git a/Utilities/cmlibarchive/libarchive/archive_acl.c b/Utilities/cmlibarchive/libarchive/archive_acl.c
index 4736531..952e20d 100644
--- a/Utilities/cmlibarchive/libarchive/archive_acl.c
+++ b/Utilities/cmlibarchive/libarchive/archive_acl.c
@@ -138,14 +138,10 @@ archive_acl_clear(struct archive_acl *acl)
free(acl->acl_head);
acl->acl_head = ap;
}
- if (acl->acl_text_w != NULL) {
- free(acl->acl_text_w);
- acl->acl_text_w = NULL;
- }
- if (acl->acl_text != NULL) {
- free(acl->acl_text);
- acl->acl_text = NULL;
- }
+ free(acl->acl_text_w);
+ acl->acl_text_w = NULL;
+ free(acl->acl_text);
+ acl->acl_text = NULL;
acl->acl_p = NULL;
acl->acl_types = 0;
acl->acl_state = 0; /* Not counting. */
@@ -324,14 +320,10 @@ acl_new_entry(struct archive_acl *acl,
return (NULL);
}
- if (acl->acl_text_w != NULL) {
- free(acl->acl_text_w);
- acl->acl_text_w = NULL;
- }
- if (acl->acl_text != NULL) {
- free(acl->acl_text);
- acl->acl_text = NULL;
- }
+ free(acl->acl_text_w);
+ acl->acl_text_w = NULL;
+ free(acl->acl_text);
+ acl->acl_text = NULL;
/*
* If there's a matching entry already in the list, overwrite it.
@@ -753,8 +745,10 @@ archive_acl_to_text_w(struct archive_acl *acl, ssize_t *text_len, int flags,
append_entry_w(&wp, prefix, ap->type, ap->tag, flags,
wname, ap->permset, id);
count++;
- } else if (r < 0 && errno == ENOMEM)
+ } else if (r < 0 && errno == ENOMEM) {
+ free(ws);
return (NULL);
+ }
}
/* Add terminating character */
@@ -975,8 +969,10 @@ archive_acl_to_text_l(struct archive_acl *acl, ssize_t *text_len, int flags,
prefix = NULL;
r = archive_mstring_get_mbs_l(
&ap->name, &name, &len, sc);
- if (r != 0)
+ if (r != 0) {
+ free(s);
return (NULL);
+ }
if (count > 0)
*p++ = separator;
if (name == NULL ||
@@ -1581,17 +1577,29 @@ next_field_w(const wchar_t **wp, const wchar_t **start,
/* Scan for the separator. */
while (**wp != L'\0' && **wp != L',' && **wp != L':' &&
- **wp != L'\n') {
+ **wp != L'\n' && **wp != L'#') {
(*wp)++;
}
*sep = **wp;
- /* Trim trailing whitespace to locate end of field. */
- *end = *wp - 1;
- while (**end == L' ' || **end == L'\t' || **end == L'\n') {
- (*end)--;
+ /* Locate end of field, trim trailing whitespace if necessary */
+ if (*wp == *start) {
+ *end = *wp;
+ } else {
+ *end = *wp - 1;
+ while (**end == L' ' || **end == L'\t' || **end == L'\n') {
+ (*end)--;
+ }
+ (*end)++;
+ }
+
+ /* Handle in-field comments */
+ if (*sep == L'#') {
+ while (**wp != L'\0' && **wp != L',' && **wp != L'\n') {
+ (*wp)++;
+ }
+ *sep = **wp;
}
- (*end)++;
/* Adjust scanner location. */
if (**wp != L'\0')
@@ -1642,7 +1650,7 @@ archive_acl_from_text_l(struct archive_acl *acl, const char *text,
ret = ARCHIVE_OK;
types = 0;
- while (text != NULL && *text != '\0') {
+ while (text != NULL && *text != '\0') {
/*
* Parse the fields out of the next entry,
* advance 'text' to start of next entry.
@@ -1707,6 +1715,11 @@ archive_acl_from_text_l(struct archive_acl *acl, const char *text,
st = field[n].start + 1;
len = field[n].end - field[n].start;
+ if (len == 0) {
+ ret = ARCHIVE_WARN;
+ continue;
+ }
+
switch (*s) {
case 'u':
if (len == 1 || (len == 4
@@ -2053,17 +2066,30 @@ next_field(const char **p, const char **start,
*start = *p;
/* Scan for the separator. */
- while (**p != '\0' && **p != ',' && **p != ':' && **p != '\n') {
+ while (**p != '\0' && **p != ',' && **p != ':' && **p != '\n' &&
+ **p != '#') {
(*p)++;
}
*sep = **p;
- /* Trim trailing whitespace to locate end of field. */
- *end = *p - 1;
- while (**end == ' ' || **end == '\t' || **end == '\n') {
- (*end)--;
+ /* Locate end of field, trim trailing whitespace if necessary */
+ if (*p == *start) {
+ *end = *p;
+ } else {
+ *end = *p - 1;
+ while (**end == ' ' || **end == '\t' || **end == '\n') {
+ (*end)--;
+ }
+ (*end)++;
+ }
+
+ /* Handle in-field comments */
+ if (*sep == '#') {
+ while (**p != '\0' && **p != ',' && **p != '\n') {
+ (*p)++;
+ }
+ *sep = **p;
}
- (*end)++;
/* Adjust scanner location. */
if (**p != '\0')
diff --git a/Utilities/cmlibarchive/libarchive/archive_acl_private.h b/Utilities/cmlibarchive/libarchive/archive_acl_private.h
index ef0b023..af10816 100644
--- a/Utilities/cmlibarchive/libarchive/archive_acl_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_acl_private.h
@@ -25,13 +25,13 @@
* $FreeBSD$
*/
+#ifndef ARCHIVE_ACL_PRIVATE_H_INCLUDED
+#define ARCHIVE_ACL_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_ACL_PRIVATE_H_INCLUDED
-#define ARCHIVE_ACL_PRIVATE_H_INCLUDED
-
#include "archive_string.h"
struct archive_acl_entry {
diff --git a/Utilities/cmlibarchive/libarchive/archive_blake2.h b/Utilities/cmlibarchive/libarchive/archive_blake2.h
new file mode 100644
index 0000000..dd6fe6f
--- /dev/null
+++ b/Utilities/cmlibarchive/libarchive/archive_blake2.h
@@ -0,0 +1,195 @@
+/*
+ BLAKE2 reference source code package - reference C implementations
+
+ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the
+ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
+ your option. The terms of these licenses can be found at:
+
+ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
+ - OpenSSL license : https://www.openssl.org/source/license.html
+ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
+
+ More information about the BLAKE2 hash function can be found at
+ https://blake2.net.
+*/
+
+#ifndef ARCHIVE_BLAKE2_H
+#define ARCHIVE_BLAKE2_H
+
+#include <stddef.h>
+#include <stdint.h>
+
+#if defined(_MSC_VER)
+#define BLAKE2_PACKED(x) __pragma(pack(push, 1)) x __pragma(pack(pop))
+#else
+#define BLAKE2_PACKED(x) x __attribute__((packed))
+#endif
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+ enum blake2s_constant
+ {
+ BLAKE2S_BLOCKBYTES = 64,
+ BLAKE2S_OUTBYTES = 32,
+ BLAKE2S_KEYBYTES = 32,
+ BLAKE2S_SALTBYTES = 8,
+ BLAKE2S_PERSONALBYTES = 8
+ };
+
+ enum blake2b_constant
+ {
+ BLAKE2B_BLOCKBYTES = 128,
+ BLAKE2B_OUTBYTES = 64,
+ BLAKE2B_KEYBYTES = 64,
+ BLAKE2B_SALTBYTES = 16,
+ BLAKE2B_PERSONALBYTES = 16
+ };
+
+ typedef struct blake2s_state__
+ {
+ uint32_t h[8];
+ uint32_t t[2];
+ uint32_t f[2];
+ uint8_t buf[BLAKE2S_BLOCKBYTES];
+ size_t buflen;
+ size_t outlen;
+ uint8_t last_node;
+ } blake2s_state;
+
+ typedef struct blake2b_state__
+ {
+ uint64_t h[8];
+ uint64_t t[2];
+ uint64_t f[2];
+ uint8_t buf[BLAKE2B_BLOCKBYTES];
+ size_t buflen;
+ size_t outlen;
+ uint8_t last_node;
+ } blake2b_state;
+
+ typedef struct blake2sp_state__
+ {
+ blake2s_state S[8][1];
+ blake2s_state R[1];
+ uint8_t buf[8 * BLAKE2S_BLOCKBYTES];
+ size_t buflen;
+ size_t outlen;
+ } blake2sp_state;
+
+ typedef struct blake2bp_state__
+ {
+ blake2b_state S[4][1];
+ blake2b_state R[1];
+ uint8_t buf[4 * BLAKE2B_BLOCKBYTES];
+ size_t buflen;
+ size_t outlen;
+ } blake2bp_state;
+
+ BLAKE2_PACKED(struct blake2s_param__
+ {
+ uint8_t digest_length; /* 1 */
+ uint8_t key_length; /* 2 */
+ uint8_t fanout; /* 3 */
+ uint8_t depth; /* 4 */
+ uint32_t leaf_length; /* 8 */
+ uint32_t node_offset; /* 12 */
+ uint16_t xof_length; /* 14 */
+ uint8_t node_depth; /* 15 */
+ uint8_t inner_length; /* 16 */
+ /* uint8_t reserved[0]; */
+ uint8_t salt[BLAKE2S_SALTBYTES]; /* 24 */
+ uint8_t personal[BLAKE2S_PERSONALBYTES]; /* 32 */
+ });
+
+ typedef struct blake2s_param__ blake2s_param;
+
+ BLAKE2_PACKED(struct blake2b_param__
+ {
+ uint8_t digest_length; /* 1 */
+ uint8_t key_length; /* 2 */
+ uint8_t fanout; /* 3 */
+ uint8_t depth; /* 4 */
+ uint32_t leaf_length; /* 8 */
+ uint32_t node_offset; /* 12 */
+ uint32_t xof_length; /* 16 */
+ uint8_t node_depth; /* 17 */
+ uint8_t inner_length; /* 18 */
+ uint8_t reserved[14]; /* 32 */
+ uint8_t salt[BLAKE2B_SALTBYTES]; /* 48 */
+ uint8_t personal[BLAKE2B_PERSONALBYTES]; /* 64 */
+ });
+
+ typedef struct blake2b_param__ blake2b_param;
+
+ typedef struct blake2xs_state__
+ {
+ blake2s_state S[1];
+ blake2s_param P[1];
+ } blake2xs_state;
+
+ typedef struct blake2xb_state__
+ {
+ blake2b_state S[1];
+ blake2b_param P[1];
+ } blake2xb_state;
+
+ /* Padded structs result in a compile-time error */
+ enum {
+ BLAKE2_DUMMY_1 = 1/(sizeof(blake2s_param) == BLAKE2S_OUTBYTES),
+ BLAKE2_DUMMY_2 = 1/(sizeof(blake2b_param) == BLAKE2B_OUTBYTES)
+ };
+
+ /* Streaming API */
+ int blake2s_init( blake2s_state *S, size_t outlen );
+ int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen );
+ int blake2s_init_param( blake2s_state *S, const blake2s_param *P );
+ int blake2s_update( blake2s_state *S, const void *in, size_t inlen );
+ int blake2s_final( blake2s_state *S, void *out, size_t outlen );
+
+ int blake2b_init( blake2b_state *S, size_t outlen );
+ int blake2b_init_key( blake2b_state *S, size_t outlen, const void *key, size_t keylen );
+ int blake2b_init_param( blake2b_state *S, const blake2b_param *P );
+ int blake2b_update( blake2b_state *S, const void *in, size_t inlen );
+ int blake2b_final( blake2b_state *S, void *out, size_t outlen );
+
+ int blake2sp_init( blake2sp_state *S, size_t outlen );
+ int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen );
+ int blake2sp_update( blake2sp_state *S, const void *in, size_t inlen );
+ int blake2sp_final( blake2sp_state *S, void *out, size_t outlen );
+
+ int blake2bp_init( blake2bp_state *S, size_t outlen );
+ int blake2bp_init_key( blake2bp_state *S, size_t outlen, const void *key, size_t keylen );
+ int blake2bp_update( blake2bp_state *S, const void *in, size_t inlen );
+ int blake2bp_final( blake2bp_state *S, void *out, size_t outlen );
+
+ /* Variable output length API */
+ int blake2xs_init( blake2xs_state *S, const size_t outlen );
+ int blake2xs_init_key( blake2xs_state *S, const size_t outlen, const void *key, size_t keylen );
+ int blake2xs_update( blake2xs_state *S, const void *in, size_t inlen );
+ int blake2xs_final(blake2xs_state *S, void *out, size_t outlen);
+
+ int blake2xb_init( blake2xb_state *S, const size_t outlen );
+ int blake2xb_init_key( blake2xb_state *S, const size_t outlen, const void *key, size_t keylen );
+ int blake2xb_update( blake2xb_state *S, const void *in, size_t inlen );
+ int blake2xb_final(blake2xb_state *S, void *out, size_t outlen);
+
+ /* Simple API */
+ int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen );
+ int blake2b( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen );
+
+ int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen );
+ int blake2bp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen );
+
+ int blake2xs( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen );
+ int blake2xb( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen );
+
+ /* This is simply an alias for blake2b */
+ int blake2( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen );
+
+#if defined(__cplusplus)
+}
+#endif
+
+#endif
diff --git a/Utilities/cmlibarchive/libarchive/archive_blake2_impl.h b/Utilities/cmlibarchive/libarchive/archive_blake2_impl.h
new file mode 100644
index 0000000..0f05def
--- /dev/null
+++ b/Utilities/cmlibarchive/libarchive/archive_blake2_impl.h
@@ -0,0 +1,161 @@
+/*
+ BLAKE2 reference source code package - reference C implementations
+
+ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the
+ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
+ your option. The terms of these licenses can be found at:
+
+ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
+ - OpenSSL license : https://www.openssl.org/source/license.html
+ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
+
+ More information about the BLAKE2 hash function can be found at
+ https://blake2.net.
+*/
+
+#ifndef ARCHIVE_BLAKE2_IMPL_H
+#define ARCHIVE_BLAKE2_IMPL_H
+
+#include <stdint.h>
+#include <string.h>
+
+#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L)
+ #if defined(_MSC_VER)
+ #define BLAKE2_INLINE __inline
+ #elif defined(__GNUC__)
+ #define BLAKE2_INLINE __inline__
+ #else
+ #define BLAKE2_INLINE
+ #endif
+#else
+ #define BLAKE2_INLINE inline
+#endif
+
+static BLAKE2_INLINE uint32_t load32( const void *src )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+ uint32_t w;
+ memcpy(&w, src, sizeof w);
+ return w;
+#else
+ const uint8_t *p = ( const uint8_t * )src;
+ return (( uint32_t )( p[0] ) << 0) |
+ (( uint32_t )( p[1] ) << 8) |
+ (( uint32_t )( p[2] ) << 16) |
+ (( uint32_t )( p[3] ) << 24) ;
+#endif
+}
+
+static BLAKE2_INLINE uint64_t load64( const void *src )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+ uint64_t w;
+ memcpy(&w, src, sizeof w);
+ return w;
+#else
+ const uint8_t *p = ( const uint8_t * )src;
+ return (( uint64_t )( p[0] ) << 0) |
+ (( uint64_t )( p[1] ) << 8) |
+ (( uint64_t )( p[2] ) << 16) |
+ (( uint64_t )( p[3] ) << 24) |
+ (( uint64_t )( p[4] ) << 32) |
+ (( uint64_t )( p[5] ) << 40) |
+ (( uint64_t )( p[6] ) << 48) |
+ (( uint64_t )( p[7] ) << 56) ;
+#endif
+}
+
+static BLAKE2_INLINE uint16_t load16( const void *src )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+ uint16_t w;
+ memcpy(&w, src, sizeof w);
+ return w;
+#else
+ const uint8_t *p = ( const uint8_t * )src;
+ return ( uint16_t )((( uint32_t )( p[0] ) << 0) |
+ (( uint32_t )( p[1] ) << 8));
+#endif
+}
+
+static BLAKE2_INLINE void store16( void *dst, uint16_t w )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+ memcpy(dst, &w, sizeof w);
+#else
+ uint8_t *p = ( uint8_t * )dst;
+ *p++ = ( uint8_t )w; w >>= 8;
+ *p++ = ( uint8_t )w;
+#endif
+}
+
+static BLAKE2_INLINE void store32( void *dst, uint32_t w )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+ memcpy(dst, &w, sizeof w);
+#else
+ uint8_t *p = ( uint8_t * )dst;
+ p[0] = (uint8_t)(w >> 0);
+ p[1] = (uint8_t)(w >> 8);
+ p[2] = (uint8_t)(w >> 16);
+ p[3] = (uint8_t)(w >> 24);
+#endif
+}
+
+static BLAKE2_INLINE void store64( void *dst, uint64_t w )
+{
+#if defined(NATIVE_LITTLE_ENDIAN)
+ memcpy(dst, &w, sizeof w);
+#else
+ uint8_t *p = ( uint8_t * )dst;
+ p[0] = (uint8_t)(w >> 0);
+ p[1] = (uint8_t)(w >> 8);
+ p[2] = (uint8_t)(w >> 16);
+ p[3] = (uint8_t)(w >> 24);
+ p[4] = (uint8_t)(w >> 32);
+ p[5] = (uint8_t)(w >> 40);
+ p[6] = (uint8_t)(w >> 48);
+ p[7] = (uint8_t)(w >> 56);
+#endif
+}
+
+static BLAKE2_INLINE uint64_t load48( const void *src )
+{
+ const uint8_t *p = ( const uint8_t * )src;
+ return (( uint64_t )( p[0] ) << 0) |
+ (( uint64_t )( p[1] ) << 8) |
+ (( uint64_t )( p[2] ) << 16) |
+ (( uint64_t )( p[3] ) << 24) |
+ (( uint64_t )( p[4] ) << 32) |
+ (( uint64_t )( p[5] ) << 40) ;
+}
+
+static BLAKE2_INLINE void store48( void *dst, uint64_t w )
+{
+ uint8_t *p = ( uint8_t * )dst;
+ p[0] = (uint8_t)(w >> 0);
+ p[1] = (uint8_t)(w >> 8);
+ p[2] = (uint8_t)(w >> 16);
+ p[3] = (uint8_t)(w >> 24);
+ p[4] = (uint8_t)(w >> 32);
+ p[5] = (uint8_t)(w >> 40);
+}
+
+static BLAKE2_INLINE uint32_t rotr32( const uint32_t w, const unsigned c )
+{
+ return ( w >> c ) | ( w << ( 32 - c ) );
+}
+
+static BLAKE2_INLINE uint64_t rotr64( const uint64_t w, const unsigned c )
+{
+ return ( w >> c ) | ( w << ( 64 - c ) );
+}
+
+/* prevents compiler optimizing out memset() */
+static BLAKE2_INLINE void secure_zero_memory(void *v, size_t n)
+{
+ static void *(*const volatile memset_v)(void *, int, size_t) = &memset;
+ memset_v(v, 0, n);
+}
+
+#endif
diff --git a/Utilities/cmlibarchive/libarchive/archive_blake2s_ref.c b/Utilities/cmlibarchive/libarchive/archive_blake2s_ref.c
new file mode 100644
index 0000000..d92ffd0
--- /dev/null
+++ b/Utilities/cmlibarchive/libarchive/archive_blake2s_ref.c
@@ -0,0 +1,367 @@
+/*
+ BLAKE2 reference source code package - reference C implementations
+
+ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the
+ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
+ your option. The terms of these licenses can be found at:
+
+ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
+ - OpenSSL license : https://www.openssl.org/source/license.html
+ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
+
+ More information about the BLAKE2 hash function can be found at
+ https://blake2.net.
+*/
+
+#include <stdint.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "archive_blake2.h"
+#include "archive_blake2_impl.h"
+
+static const uint32_t blake2s_IV[8] =
+{
+ 0x6A09E667UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL,
+ 0x510E527FUL, 0x9B05688CUL, 0x1F83D9ABUL, 0x5BE0CD19UL
+};
+
+static const uint8_t blake2s_sigma[10][16] =
+{
+ { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 } ,
+ { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 } ,
+ { 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4 } ,
+ { 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8 } ,
+ { 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13 } ,
+ { 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9 } ,
+ { 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11 } ,
+ { 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10 } ,
+ { 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5 } ,
+ { 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13 , 0 } ,
+};
+
+static void blake2s_set_lastnode( blake2s_state *S )
+{
+ S->f[1] = (uint32_t)-1;
+}
+
+/* Some helper functions, not necessarily useful */
+static int blake2s_is_lastblock( const blake2s_state *S )
+{
+ return S->f[0] != 0;
+}
+
+static void blake2s_set_lastblock( blake2s_state *S )
+{
+ if( S->last_node ) blake2s_set_lastnode( S );
+
+ S->f[0] = (uint32_t)-1;
+}
+
+static void blake2s_increment_counter( blake2s_state *S, const uint32_t inc )
+{
+ S->t[0] += inc;
+ S->t[1] += ( S->t[0] < inc );
+}
+
+static void blake2s_init0( blake2s_state *S )
+{
+ size_t i;
+ memset( S, 0, sizeof( blake2s_state ) );
+
+ for( i = 0; i < 8; ++i ) S->h[i] = blake2s_IV[i];
+}
+
+/* init2 xors IV with input parameter block */
+int blake2s_init_param( blake2s_state *S, const blake2s_param *P )
+{
+ const unsigned char *p = ( const unsigned char * )( P );
+ size_t i;
+
+ blake2s_init0( S );
+
+ /* IV XOR ParamBlock */
+ for( i = 0; i < 8; ++i )
+ S->h[i] ^= load32( &p[i * 4] );
+
+ S->outlen = P->digest_length;
+ return 0;
+}
+
+
+/* Sequential blake2s initialization */
+int blake2s_init( blake2s_state *S, size_t outlen )
+{
+ blake2s_param P[1];
+
+ /* Move interval verification here? */
+ if ( ( !outlen ) || ( outlen > BLAKE2S_OUTBYTES ) ) return -1;
+
+ P->digest_length = (uint8_t)outlen;
+ P->key_length = 0;
+ P->fanout = 1;
+ P->depth = 1;
+ store32( &P->leaf_length, 0 );
+ store32( &P->node_offset, 0 );
+ store16( &P->xof_length, 0 );
+ P->node_depth = 0;
+ P->inner_length = 0;
+ /* memset(P->reserved, 0, sizeof(P->reserved) ); */
+ memset( P->salt, 0, sizeof( P->salt ) );
+ memset( P->personal, 0, sizeof( P->personal ) );
+ return blake2s_init_param( S, P );
+}
+
+int blake2s_init_key( blake2s_state *S, size_t outlen, const void *key, size_t keylen )
+{
+ blake2s_param P[1];
+
+ if ( ( !outlen ) || ( outlen > BLAKE2S_OUTBYTES ) ) return -1;
+
+ if ( !key || !keylen || keylen > BLAKE2S_KEYBYTES ) return -1;
+
+ P->digest_length = (uint8_t)outlen;
+ P->key_length = (uint8_t)keylen;
+ P->fanout = 1;
+ P->depth = 1;
+ store32( &P->leaf_length, 0 );
+ store32( &P->node_offset, 0 );
+ store16( &P->xof_length, 0 );
+ P->node_depth = 0;
+ P->inner_length = 0;
+ /* memset(P->reserved, 0, sizeof(P->reserved) ); */
+ memset( P->salt, 0, sizeof( P->salt ) );
+ memset( P->personal, 0, sizeof( P->personal ) );
+
+ if( blake2s_init_param( S, P ) < 0 ) return -1;
+
+ {
+ uint8_t block[BLAKE2S_BLOCKBYTES];
+ memset( block, 0, BLAKE2S_BLOCKBYTES );
+ memcpy( block, key, keylen );
+ blake2s_update( S, block, BLAKE2S_BLOCKBYTES );
+ secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */
+ }
+ return 0;
+}
+
+#define G(r,i,a,b,c,d) \
+ do { \
+ a = a + b + m[blake2s_sigma[r][2*i+0]]; \
+ d = rotr32(d ^ a, 16); \
+ c = c + d; \
+ b = rotr32(b ^ c, 12); \
+ a = a + b + m[blake2s_sigma[r][2*i+1]]; \
+ d = rotr32(d ^ a, 8); \
+ c = c + d; \
+ b = rotr32(b ^ c, 7); \
+ } while(0)
+
+#define ROUND(r) \
+ do { \
+ G(r,0,v[ 0],v[ 4],v[ 8],v[12]); \
+ G(r,1,v[ 1],v[ 5],v[ 9],v[13]); \
+ G(r,2,v[ 2],v[ 6],v[10],v[14]); \
+ G(r,3,v[ 3],v[ 7],v[11],v[15]); \
+ G(r,4,v[ 0],v[ 5],v[10],v[15]); \
+ G(r,5,v[ 1],v[ 6],v[11],v[12]); \
+ G(r,6,v[ 2],v[ 7],v[ 8],v[13]); \
+ G(r,7,v[ 3],v[ 4],v[ 9],v[14]); \
+ } while(0)
+
+static void blake2s_compress( blake2s_state *S, const uint8_t in[BLAKE2S_BLOCKBYTES] )
+{
+ uint32_t m[16];
+ uint32_t v[16];
+ size_t i;
+
+ for( i = 0; i < 16; ++i ) {
+ m[i] = load32( in + i * sizeof( m[i] ) );
+ }
+
+ for( i = 0; i < 8; ++i ) {
+ v[i] = S->h[i];
+ }
+
+ v[ 8] = blake2s_IV[0];
+ v[ 9] = blake2s_IV[1];
+ v[10] = blake2s_IV[2];
+ v[11] = blake2s_IV[3];
+ v[12] = S->t[0] ^ blake2s_IV[4];
+ v[13] = S->t[1] ^ blake2s_IV[5];
+ v[14] = S->f[0] ^ blake2s_IV[6];
+ v[15] = S->f[1] ^ blake2s_IV[7];
+
+ ROUND( 0 );
+ ROUND( 1 );
+ ROUND( 2 );
+ ROUND( 3 );
+ ROUND( 4 );
+ ROUND( 5 );
+ ROUND( 6 );
+ ROUND( 7 );
+ ROUND( 8 );
+ ROUND( 9 );
+
+ for( i = 0; i < 8; ++i ) {
+ S->h[i] = S->h[i] ^ v[i] ^ v[i + 8];
+ }
+}
+
+#undef G
+#undef ROUND
+
+int blake2s_update( blake2s_state *S, const void *pin, size_t inlen )
+{
+ const unsigned char * in = (const unsigned char *)pin;
+ if( inlen > 0 )
+ {
+ size_t left = S->buflen;
+ size_t fill = BLAKE2S_BLOCKBYTES - left;
+ if( inlen > fill )
+ {
+ S->buflen = 0;
+ memcpy( S->buf + left, in, fill ); /* Fill buffer */
+ blake2s_increment_counter( S, BLAKE2S_BLOCKBYTES );
+ blake2s_compress( S, S->buf ); /* Compress */
+ in += fill; inlen -= fill;
+ while(inlen > BLAKE2S_BLOCKBYTES) {
+ blake2s_increment_counter(S, BLAKE2S_BLOCKBYTES);
+ blake2s_compress( S, in );
+ in += BLAKE2S_BLOCKBYTES;
+ inlen -= BLAKE2S_BLOCKBYTES;
+ }
+ }
+ memcpy( S->buf + S->buflen, in, inlen );
+ S->buflen += inlen;
+ }
+ return 0;
+}
+
+int blake2s_final( blake2s_state *S, void *out, size_t outlen )
+{
+ uint8_t buffer[BLAKE2S_OUTBYTES] = {0};
+ size_t i;
+
+ if( out == NULL || outlen < S->outlen )
+ return -1;
+
+ if( blake2s_is_lastblock( S ) )
+ return -1;
+
+ blake2s_increment_counter( S, ( uint32_t )S->buflen );
+ blake2s_set_lastblock( S );
+ memset( S->buf + S->buflen, 0, BLAKE2S_BLOCKBYTES - S->buflen ); /* Padding */
+ blake2s_compress( S, S->buf );
+
+ for( i = 0; i < 8; ++i ) /* Output full hash to temp buffer */
+ store32( buffer + sizeof( S->h[i] ) * i, S->h[i] );
+
+ memcpy( out, buffer, outlen );
+ secure_zero_memory(buffer, sizeof(buffer));
+ return 0;
+}
+
+int blake2s( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen )
+{
+ blake2s_state S[1];
+
+ /* Verify parameters */
+ if ( NULL == in && inlen > 0 ) return -1;
+
+ if ( NULL == out ) return -1;
+
+ if ( NULL == key && keylen > 0) return -1;
+
+ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1;
+
+ if( keylen > BLAKE2S_KEYBYTES ) return -1;
+
+ if( keylen > 0 )
+ {
+ if( blake2s_init_key( S, outlen, key, keylen ) < 0 ) return -1;
+ }
+ else
+ {
+ if( blake2s_init( S, outlen ) < 0 ) return -1;
+ }
+
+ blake2s_update( S, ( const uint8_t * )in, inlen );
+ blake2s_final( S, out, outlen );
+ return 0;
+}
+
+#if defined(SUPERCOP)
+int crypto_hash( unsigned char *out, unsigned char *in, unsigned long long inlen )
+{
+ return blake2s( out, BLAKE2S_OUTBYTES, in, inlen, NULL, 0 );
+}
+#endif
+
+#if defined(BLAKE2S_SELFTEST)
+#include <string.h>
+#include "blake2-kat.h"
+int main( void )
+{
+ uint8_t key[BLAKE2S_KEYBYTES];
+ uint8_t buf[BLAKE2_KAT_LENGTH];
+ size_t i, step;
+
+ for( i = 0; i < BLAKE2S_KEYBYTES; ++i )
+ key[i] = ( uint8_t )i;
+
+ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i )
+ buf[i] = ( uint8_t )i;
+
+ /* Test simple API */
+ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i )
+ {
+ uint8_t hash[BLAKE2S_OUTBYTES];
+ blake2s( hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES );
+
+ if( 0 != memcmp( hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES ) )
+ {
+ goto fail;
+ }
+ }
+
+ /* Test streaming API */
+ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) {
+ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) {
+ uint8_t hash[BLAKE2S_OUTBYTES];
+ blake2s_state S;
+ uint8_t * p = buf;
+ size_t mlen = i;
+ int err = 0;
+
+ if( (err = blake2s_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0 ) {
+ goto fail;
+ }
+
+ while (mlen >= step) {
+ if ( (err = blake2s_update(&S, p, step)) < 0 ) {
+ goto fail;
+ }
+ mlen -= step;
+ p += step;
+ }
+ if ( (err = blake2s_update(&S, p, mlen)) < 0) {
+ goto fail;
+ }
+ if ( (err = blake2s_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) {
+ goto fail;
+ }
+
+ if (0 != memcmp(hash, blake2s_keyed_kat[i], BLAKE2S_OUTBYTES)) {
+ goto fail;
+ }
+ }
+ }
+
+ puts( "ok" );
+ return 0;
+fail:
+ puts("error");
+ return -1;
+}
+#endif
diff --git a/Utilities/cmlibarchive/libarchive/archive_blake2sp_ref.c b/Utilities/cmlibarchive/libarchive/archive_blake2sp_ref.c
new file mode 100644
index 0000000..aef1010
--- /dev/null
+++ b/Utilities/cmlibarchive/libarchive/archive_blake2sp_ref.c
@@ -0,0 +1,359 @@
+/*
+ BLAKE2 reference source code package - reference C implementations
+
+ Copyright 2012, Samuel Neves <sneves@dei.uc.pt>. You may use this under the
+ terms of the CC0, the OpenSSL Licence, or the Apache Public License 2.0, at
+ your option. The terms of these licenses can be found at:
+
+ - CC0 1.0 Universal : http://creativecommons.org/publicdomain/zero/1.0
+ - OpenSSL license : https://www.openssl.org/source/license.html
+ - Apache 2.0 : http://www.apache.org/licenses/LICENSE-2.0
+
+ More information about the BLAKE2 hash function can be found at
+ https://blake2.net.
+*/
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#if defined(_OPENMP)
+#include <omp.h>
+#endif
+
+#include "archive_blake2.h"
+#include "archive_blake2_impl.h"
+
+#define PARALLELISM_DEGREE 8
+
+/*
+ blake2sp_init_param defaults to setting the expecting output length
+ from the digest_length parameter block field.
+
+ In some cases, however, we do not want this, as the output length
+ of these instances is given by inner_length instead.
+*/
+static int blake2sp_init_leaf_param( blake2s_state *S, const blake2s_param *P )
+{
+ int err = blake2s_init_param(S, P);
+ S->outlen = P->inner_length;
+ return err;
+}
+
+static int blake2sp_init_leaf( blake2s_state *S, size_t outlen, size_t keylen, uint32_t offset )
+{
+ blake2s_param P[1];
+ P->digest_length = (uint8_t)outlen;
+ P->key_length = (uint8_t)keylen;
+ P->fanout = PARALLELISM_DEGREE;
+ P->depth = 2;
+ store32( &P->leaf_length, 0 );
+ store32( &P->node_offset, offset );
+ store16( &P->xof_length, 0 );
+ P->node_depth = 0;
+ P->inner_length = BLAKE2S_OUTBYTES;
+ memset( P->salt, 0, sizeof( P->salt ) );
+ memset( P->personal, 0, sizeof( P->personal ) );
+ return blake2sp_init_leaf_param( S, P );
+}
+
+static int blake2sp_init_root( blake2s_state *S, size_t outlen, size_t keylen )
+{
+ blake2s_param P[1];
+ P->digest_length = (uint8_t)outlen;
+ P->key_length = (uint8_t)keylen;
+ P->fanout = PARALLELISM_DEGREE;
+ P->depth = 2;
+ store32( &P->leaf_length, 0 );
+ store32( &P->node_offset, 0 );
+ store16( &P->xof_length, 0 );
+ P->node_depth = 1;
+ P->inner_length = BLAKE2S_OUTBYTES;
+ memset( P->salt, 0, sizeof( P->salt ) );
+ memset( P->personal, 0, sizeof( P->personal ) );
+ return blake2s_init_param( S, P );
+}
+
+
+int blake2sp_init( blake2sp_state *S, size_t outlen )
+{
+ size_t i;
+
+ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1;
+
+ memset( S->buf, 0, sizeof( S->buf ) );
+ S->buflen = 0;
+ S->outlen = outlen;
+
+ if( blake2sp_init_root( S->R, outlen, 0 ) < 0 )
+ return -1;
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+ if( blake2sp_init_leaf( S->S[i], outlen, 0, (uint32_t)i ) < 0 ) return -1;
+
+ S->R->last_node = 1;
+ S->S[PARALLELISM_DEGREE - 1]->last_node = 1;
+ return 0;
+}
+
+int blake2sp_init_key( blake2sp_state *S, size_t outlen, const void *key, size_t keylen )
+{
+ size_t i;
+
+ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1;
+
+ if( !key || !keylen || keylen > BLAKE2S_KEYBYTES ) return -1;
+
+ memset( S->buf, 0, sizeof( S->buf ) );
+ S->buflen = 0;
+ S->outlen = outlen;
+
+ if( blake2sp_init_root( S->R, outlen, keylen ) < 0 )
+ return -1;
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+ if( blake2sp_init_leaf( S->S[i], outlen, keylen, (uint32_t)i ) < 0 ) return -1;
+
+ S->R->last_node = 1;
+ S->S[PARALLELISM_DEGREE - 1]->last_node = 1;
+ {
+ uint8_t block[BLAKE2S_BLOCKBYTES];
+ memset( block, 0, BLAKE2S_BLOCKBYTES );
+ memcpy( block, key, keylen );
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+ blake2s_update( S->S[i], block, BLAKE2S_BLOCKBYTES );
+
+ secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */
+ }
+ return 0;
+}
+
+
+int blake2sp_update( blake2sp_state *S, const void *pin, size_t inlen )
+{
+ const unsigned char * in = (const unsigned char *)pin;
+ size_t left = S->buflen;
+ size_t fill = sizeof( S->buf ) - left;
+ size_t i;
+
+ if( left && inlen >= fill )
+ {
+ memcpy( S->buf + left, in, fill );
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+ blake2s_update( S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, BLAKE2S_BLOCKBYTES );
+
+ in += fill;
+ inlen -= fill;
+ left = 0;
+ }
+
+#if defined(_OPENMP)
+ #pragma omp parallel shared(S), num_threads(PARALLELISM_DEGREE)
+#else
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+#endif
+ {
+#if defined(_OPENMP)
+ size_t i = omp_get_thread_num();
+#endif
+ size_t inlen__ = inlen;
+ const unsigned char *in__ = ( const unsigned char * )in;
+ in__ += i * BLAKE2S_BLOCKBYTES;
+
+ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES )
+ {
+ blake2s_update( S->S[i], in__, BLAKE2S_BLOCKBYTES );
+ in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES;
+ inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES;
+ }
+ }
+
+ in += inlen - inlen % ( PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES );
+ inlen %= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES;
+
+ if( inlen > 0 )
+ memcpy( S->buf + left, in, inlen );
+
+ S->buflen = left + inlen;
+ return 0;
+}
+
+
+int blake2sp_final( blake2sp_state *S, void *out, size_t outlen )
+{
+ uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES];
+ size_t i;
+
+ if(out == NULL || outlen < S->outlen) {
+ return -1;
+ }
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+ {
+ if( S->buflen > i * BLAKE2S_BLOCKBYTES )
+ {
+ size_t left = S->buflen - i * BLAKE2S_BLOCKBYTES;
+
+ if( left > BLAKE2S_BLOCKBYTES ) left = BLAKE2S_BLOCKBYTES;
+
+ blake2s_update( S->S[i], S->buf + i * BLAKE2S_BLOCKBYTES, left );
+ }
+
+ blake2s_final( S->S[i], hash[i], BLAKE2S_OUTBYTES );
+ }
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+ blake2s_update( S->R, hash[i], BLAKE2S_OUTBYTES );
+
+ return blake2s_final( S->R, out, S->outlen );
+}
+
+
+int blake2sp( void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen )
+{
+ uint8_t hash[PARALLELISM_DEGREE][BLAKE2S_OUTBYTES];
+ blake2s_state S[PARALLELISM_DEGREE][1];
+ blake2s_state FS[1];
+ size_t i;
+
+ /* Verify parameters */
+ if ( NULL == in && inlen > 0 ) return -1;
+
+ if ( NULL == out ) return -1;
+
+ if ( NULL == key && keylen > 0) return -1;
+
+ if( !outlen || outlen > BLAKE2S_OUTBYTES ) return -1;
+
+ if( keylen > BLAKE2S_KEYBYTES ) return -1;
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+ if( blake2sp_init_leaf( S[i], outlen, keylen, (uint32_t)i ) < 0 ) return -1;
+
+ S[PARALLELISM_DEGREE - 1]->last_node = 1; /* mark last node */
+
+ if( keylen > 0 )
+ {
+ uint8_t block[BLAKE2S_BLOCKBYTES];
+ memset( block, 0, BLAKE2S_BLOCKBYTES );
+ memcpy( block, key, keylen );
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+ blake2s_update( S[i], block, BLAKE2S_BLOCKBYTES );
+
+ secure_zero_memory( block, BLAKE2S_BLOCKBYTES ); /* Burn the key from stack */
+ }
+
+#if defined(_OPENMP)
+ #pragma omp parallel shared(S,hash), num_threads(PARALLELISM_DEGREE)
+#else
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+#endif
+ {
+#if defined(_OPENMP)
+ size_t i = omp_get_thread_num();
+#endif
+ size_t inlen__ = inlen;
+ const unsigned char *in__ = ( const unsigned char * )in;
+ in__ += i * BLAKE2S_BLOCKBYTES;
+
+ while( inlen__ >= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES )
+ {
+ blake2s_update( S[i], in__, BLAKE2S_BLOCKBYTES );
+ in__ += PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES;
+ inlen__ -= PARALLELISM_DEGREE * BLAKE2S_BLOCKBYTES;
+ }
+
+ if( inlen__ > i * BLAKE2S_BLOCKBYTES )
+ {
+ const size_t left = inlen__ - i * BLAKE2S_BLOCKBYTES;
+ const size_t len = left <= BLAKE2S_BLOCKBYTES ? left : BLAKE2S_BLOCKBYTES;
+ blake2s_update( S[i], in__, len );
+ }
+
+ blake2s_final( S[i], hash[i], BLAKE2S_OUTBYTES );
+ }
+
+ if( blake2sp_init_root( FS, outlen, keylen ) < 0 )
+ return -1;
+
+ FS->last_node = 1;
+
+ for( i = 0; i < PARALLELISM_DEGREE; ++i )
+ blake2s_update( FS, hash[i], BLAKE2S_OUTBYTES );
+
+ return blake2s_final( FS, out, outlen );
+}
+
+
+
+#if defined(BLAKE2SP_SELFTEST)
+#include <string.h>
+#include "blake2-kat.h"
+int main( void )
+{
+ uint8_t key[BLAKE2S_KEYBYTES];
+ uint8_t buf[BLAKE2_KAT_LENGTH];
+ size_t i, step;
+
+ for( i = 0; i < BLAKE2S_KEYBYTES; ++i )
+ key[i] = ( uint8_t )i;
+
+ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i )
+ buf[i] = ( uint8_t )i;
+
+ /* Test simple API */
+ for( i = 0; i < BLAKE2_KAT_LENGTH; ++i )
+ {
+ uint8_t hash[BLAKE2S_OUTBYTES];
+ blake2sp( hash, BLAKE2S_OUTBYTES, buf, i, key, BLAKE2S_KEYBYTES );
+
+ if( 0 != memcmp( hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES ) )
+ {
+ goto fail;
+ }
+ }
+
+ /* Test streaming API */
+ for(step = 1; step < BLAKE2S_BLOCKBYTES; ++step) {
+ for (i = 0; i < BLAKE2_KAT_LENGTH; ++i) {
+ uint8_t hash[BLAKE2S_OUTBYTES];
+ blake2sp_state S;
+ uint8_t * p = buf;
+ size_t mlen = i;
+ int err = 0;
+
+ if( (err = blake2sp_init_key(&S, BLAKE2S_OUTBYTES, key, BLAKE2S_KEYBYTES)) < 0 ) {
+ goto fail;
+ }
+
+ while (mlen >= step) {
+ if ( (err = blake2sp_update(&S, p, step)) < 0 ) {
+ goto fail;
+ }
+ mlen -= step;
+ p += step;
+ }
+ if ( (err = blake2sp_update(&S, p, mlen)) < 0) {
+ goto fail;
+ }
+ if ( (err = blake2sp_final(&S, hash, BLAKE2S_OUTBYTES)) < 0) {
+ goto fail;
+ }
+
+ if (0 != memcmp(hash, blake2sp_keyed_kat[i], BLAKE2S_OUTBYTES)) {
+ goto fail;
+ }
+ }
+ }
+
+ puts( "ok" );
+ return 0;
+fail:
+ puts("error");
+ return -1;
+}
+#endif
diff --git a/Utilities/cmlibarchive/libarchive/archive_cmdline_private.h b/Utilities/cmlibarchive/libarchive/archive_cmdline_private.h
index 4e409e8..57a1949 100644
--- a/Utilities/cmlibarchive/libarchive/archive_cmdline_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_cmdline_private.h
@@ -25,15 +25,15 @@
* $FreeBSD$
*/
+#ifndef ARCHIVE_CMDLINE_PRIVATE_H
+#define ARCHIVE_CMDLINE_PRIVATE_H
+
#ifndef __LIBARCHIVE_BUILD
#ifndef __LIBARCHIVE_TEST
#error This header is only to be used internally to libarchive.
#endif
#endif
-#ifndef ARCHIVE_CMDLINE_PRIVATE_H
-#define ARCHIVE_CMDLINE_PRIVATE_H
-
struct archive_cmdline {
char *path;
char **argv;
diff --git a/Utilities/cmlibarchive/libarchive/archive_crc32.h b/Utilities/cmlibarchive/libarchive/archive_crc32.h
index cd633af..4f1aed3 100644
--- a/Utilities/cmlibarchive/libarchive/archive_crc32.h
+++ b/Utilities/cmlibarchive/libarchive/archive_crc32.h
@@ -25,6 +25,9 @@
* $FreeBSD: head/lib/libarchive/archive_crc32.h 201102 2009-12-28 03:11:36Z kientzle $
*/
+#ifndef ARCHIVE_CRC32_H
+#define ARCHIVE_CRC32_H
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
@@ -76,3 +79,5 @@ crc32(unsigned long crc, const void *_p, size_t len)
crc = crc_tbl[(crc ^ *p++) & 0xff] ^ (crc >> 8);
return (crc ^ 0xffffffffUL);
}
+
+#endif
diff --git a/Utilities/cmlibarchive/libarchive/archive_cryptor.c b/Utilities/cmlibarchive/libarchive/archive_cryptor.c
index 71967c9..8ab2b09 100644
--- a/Utilities/cmlibarchive/libarchive/archive_cryptor.c
+++ b/Utilities/cmlibarchive/libarchive/archive_cryptor.c
@@ -85,6 +85,35 @@ pbkdf2_sha1(const char *pw, size_t pw_len, const uint8_t *salt,
return (BCRYPT_SUCCESS(status)) ? 0: -1;
}
+#elif defined(HAVE_LIBMBEDCRYPTO) && defined(HAVE_MBEDTLS_PKCS5_H)
+
+static int
+pbkdf2_sha1(const char *pw, size_t pw_len, const uint8_t *salt,
+ size_t salt_len, unsigned rounds, uint8_t *derived_key,
+ size_t derived_key_len)
+{
+ mbedtls_md_context_t ctx;
+ const mbedtls_md_info_t *info;
+ int ret;
+
+ mbedtls_md_init(&ctx);
+ info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA1);
+ if (info == NULL) {
+ mbedtls_md_free(&ctx);
+ return (-1);
+ }
+ ret = mbedtls_md_setup(&ctx, info, 1);
+ if (ret != 0) {
+ mbedtls_md_free(&ctx);
+ return (-1);
+ }
+ ret = mbedtls_pkcs5_pbkdf2_hmac(&ctx, (const unsigned char *)pw,
+ pw_len, salt, salt_len, rounds, derived_key_len, derived_key);
+
+ mbedtls_md_free(&ctx);
+ return (ret);
+}
+
#elif defined(HAVE_LIBNETTLE) && defined(HAVE_NETTLE_PBKDF2_H)
static int
@@ -269,6 +298,39 @@ aes_ctr_release(archive_crypto_ctx *ctx)
return 0;
}
+#elif defined(HAVE_LIBMBEDCRYPTO) && defined(HAVE_MBEDTLS_AES_H)
+
+static int
+aes_ctr_init(archive_crypto_ctx *ctx, const uint8_t *key, size_t key_len)
+{
+ mbedtls_aes_init(&ctx->ctx);
+ ctx->key_len = key_len;
+ memcpy(ctx->key, key, key_len);
+ memset(ctx->nonce, 0, sizeof(ctx->nonce));
+ ctx->encr_pos = AES_BLOCK_SIZE;
+ return 0;
+}
+
+static int
+aes_ctr_encrypt_counter(archive_crypto_ctx *ctx)
+{
+ if (mbedtls_aes_setkey_enc(&ctx->ctx, ctx->key,
+ ctx->key_len * 8) != 0)
+ return (-1);
+ if (mbedtls_aes_crypt_ecb(&ctx->ctx, MBEDTLS_AES_ENCRYPT, ctx->nonce,
+ ctx->encr_buf) != 0)
+ return (-1);
+ return 0;
+}
+
+static int
+aes_ctr_release(archive_crypto_ctx *ctx)
+{
+ mbedtls_aes_free(&ctx->ctx);
+ memset(ctx, 0, sizeof(*ctx));
+ return 0;
+}
+
#elif defined(HAVE_LIBNETTLE) && defined(HAVE_NETTLE_AES_H)
static int
@@ -316,7 +378,14 @@ aes_ctr_init(archive_crypto_ctx *ctx, const uint8_t *key, size_t key_len)
memcpy(ctx->key, key, key_len);
memset(ctx->nonce, 0, sizeof(ctx->nonce));
ctx->encr_pos = AES_BLOCK_SIZE;
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+ if (!EVP_CIPHER_CTX_reset(ctx->ctx)) {
+ EVP_CIPHER_CTX_free(ctx->ctx);
+ ctx->ctx = NULL;
+ }
+#else
EVP_CIPHER_CTX_init(ctx->ctx);
+#endif
return 0;
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_cryptor_private.h b/Utilities/cmlibarchive/libarchive/archive_cryptor_private.h
index b975922..64a2055 100644
--- a/Utilities/cmlibarchive/libarchive/archive_cryptor_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_cryptor_private.h
@@ -23,13 +23,12 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __LIBARCHIVE_BUILD
-#error This header is only to be used internally to libarchive.
-#endif
-
#ifndef ARCHIVE_CRYPTOR_PRIVATE_H_INCLUDED
#define ARCHIVE_CRYPTOR_PRIVATE_H_INCLUDED
+#ifndef __LIBARCHIVE_BUILD
+#error This header is only to be used internally to libarchive.
+#endif
/*
* On systems that do not support any recognized crypto libraries,
* the archive_cryptor.c file will normally define no usable symbols.
@@ -83,6 +82,23 @@ typedef struct {
unsigned encr_pos;
} archive_crypto_ctx;
+#elif defined(HAVE_LIBMBEDCRYPTO) && defined(HAVE_MBEDTLS_AES_H)
+#include <mbedtls/aes.h>
+#include <mbedtls/md.h>
+#include <mbedtls/pkcs5.h>
+
+#define AES_MAX_KEY_SIZE 32
+#define AES_BLOCK_SIZE 16
+
+typedef struct {
+ mbedtls_aes_context ctx;
+ uint8_t key[AES_MAX_KEY_SIZE];
+ unsigned key_len;
+ uint8_t nonce[AES_BLOCK_SIZE];
+ uint8_t encr_buf[AES_BLOCK_SIZE];
+ unsigned encr_pos;
+} archive_crypto_ctx;
+
#elif defined(HAVE_LIBNETTLE) && defined(HAVE_NETTLE_AES_H)
#if defined(HAVE_NETTLE_PBKDF2_H)
#include <nettle/pbkdf2.h>
diff --git a/Utilities/cmlibarchive/libarchive/archive_digest.c b/Utilities/cmlibarchive/libarchive/archive_digest.c
index 4153923..34c58ac 100644
--- a/Utilities/cmlibarchive/libarchive/archive_digest.c
+++ b/Utilities/cmlibarchive/libarchive/archive_digest.c
@@ -178,6 +178,40 @@ __archive_libsystem_md5final(archive_md5_ctx *ctx, void *md)
return (ARCHIVE_OK);
}
+#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
+
+static int
+__archive_mbedtls_md5init(archive_md5_ctx *ctx)
+{
+ mbedtls_md5_init(ctx);
+ if (mbedtls_md5_starts_ret(ctx) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_md5update(archive_md5_ctx *ctx, const void *indata,
+ size_t insize)
+{
+ if (mbedtls_md5_update_ret(ctx, indata, insize) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_md5final(archive_md5_ctx *ctx, void *md)
+{
+ if (mbedtls_md5_finish_ret(ctx, md) == 0) {
+ mbedtls_md5_free(ctx);
+ return (ARCHIVE_OK);
+ } else {
+ mbedtls_md5_free(ctx);
+ return (ARCHIVE_FATAL);
+ }
+}
+
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
static int
@@ -335,6 +369,40 @@ __archive_libmd_ripemd160final(archive_rmd160_ctx *ctx, void *md)
return (ARCHIVE_OK);
}
+#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
+
+static int
+__archive_mbedtls_ripemd160init(archive_rmd160_ctx *ctx)
+{
+ mbedtls_ripemd160_init(ctx);
+ if (mbedtls_ripemd160_starts_ret(ctx) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_ripemd160update(archive_rmd160_ctx *ctx, const void *indata,
+ size_t insize)
+{
+ if (mbedtls_ripemd160_update_ret(ctx, indata, insize) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_ripemd160final(archive_rmd160_ctx *ctx, void *md)
+{
+ if (mbedtls_ripemd160_finish_ret(ctx, md) == 0) {
+ mbedtls_ripemd160_free(ctx);
+ return (ARCHIVE_OK);
+ } else {
+ mbedtls_ripemd160_free(ctx);
+ return (ARCHIVE_FATAL);
+ }
+}
+
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
static int
@@ -491,6 +559,40 @@ __archive_libsystem_sha1final(archive_sha1_ctx *ctx, void *md)
return (ARCHIVE_OK);
}
+#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
+
+static int
+__archive_mbedtls_sha1init(archive_sha1_ctx *ctx)
+{
+ mbedtls_sha1_init(ctx);
+ if (mbedtls_sha1_starts_ret(ctx) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_sha1update(archive_sha1_ctx *ctx, const void *indata,
+ size_t insize)
+{
+ if (mbedtls_sha1_update_ret(ctx, indata, insize) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_sha1final(archive_sha1_ctx *ctx, void *md)
+{
+ if (mbedtls_sha1_finish_ret(ctx, md) == 0) {
+ mbedtls_sha1_free(ctx);
+ return (ARCHIVE_OK);
+ } else {
+ mbedtls_sha1_free(ctx);
+ return (ARCHIVE_FATAL);
+ }
+}
+
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
static int
@@ -720,6 +822,40 @@ __archive_libsystem_sha256final(archive_sha256_ctx *ctx, void *md)
return (ARCHIVE_OK);
}
+#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
+
+static int
+__archive_mbedtls_sha256init(archive_sha256_ctx *ctx)
+{
+ mbedtls_sha256_init(ctx);
+ if (mbedtls_sha256_starts_ret(ctx, 0) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_sha256update(archive_sha256_ctx *ctx, const void *indata,
+ size_t insize)
+{
+ if (mbedtls_sha256_update_ret(ctx, indata, insize) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_sha256final(archive_sha256_ctx *ctx, void *md)
+{
+ if (mbedtls_sha256_finish_ret(ctx, md) == 0) {
+ mbedtls_sha256_free(ctx);
+ return (ARCHIVE_OK);
+ } else {
+ mbedtls_sha256_free(ctx);
+ return (ARCHIVE_FATAL);
+ }
+}
+
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
static int
@@ -921,6 +1057,40 @@ __archive_libsystem_sha384final(archive_sha384_ctx *ctx, void *md)
return (ARCHIVE_OK);
}
+#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
+
+static int
+__archive_mbedtls_sha384init(archive_sha384_ctx *ctx)
+{
+ mbedtls_sha512_init(ctx);
+ if (mbedtls_sha512_starts_ret(ctx, 1) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_sha384update(archive_sha384_ctx *ctx, const void *indata,
+ size_t insize)
+{
+ if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_sha384final(archive_sha384_ctx *ctx, void *md)
+{
+ if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
+ mbedtls_sha512_free(ctx);
+ return (ARCHIVE_OK);
+ } else {
+ mbedtls_sha512_free(ctx);
+ return (ARCHIVE_FATAL);
+ }
+}
+
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
static int
@@ -1146,6 +1316,40 @@ __archive_libsystem_sha512final(archive_sha512_ctx *ctx, void *md)
return (ARCHIVE_OK);
}
+#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
+
+static int
+__archive_mbedtls_sha512init(archive_sha512_ctx *ctx)
+{
+ mbedtls_sha512_init(ctx);
+ if (mbedtls_sha512_starts_ret(ctx, 0) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_sha512update(archive_sha512_ctx *ctx, const void *indata,
+ size_t insize)
+{
+ if (mbedtls_sha512_update_ret(ctx, indata, insize) == 0)
+ return (ARCHIVE_OK);
+ else
+ return (ARCHIVE_FATAL);
+}
+
+static int
+__archive_mbedtls_sha512final(archive_sha512_ctx *ctx, void *md)
+{
+ if (mbedtls_sha512_finish_ret(ctx, md) == 0) {
+ mbedtls_sha512_free(ctx);
+ return (ARCHIVE_OK);
+ } else {
+ mbedtls_sha512_free(ctx);
+ return (ARCHIVE_FATAL);
+ }
+}
+
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
static int
@@ -1276,6 +1480,10 @@ const struct archive_digest __archive_digest =
&__archive_libsystem_md5init,
&__archive_libsystem_md5update,
&__archive_libsystem_md5final,
+#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
+ &__archive_mbedtls_md5init,
+ &__archive_mbedtls_md5update,
+ &__archive_mbedtls_md5final,
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
&__archive_nettle_md5init,
&__archive_nettle_md5update,
@@ -1303,6 +1511,10 @@ const struct archive_digest __archive_digest =
&__archive_libmd_ripemd160init,
&__archive_libmd_ripemd160update,
&__archive_libmd_ripemd160final,
+#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
+ &__archive_mbedtls_ripemd160init,
+ &__archive_mbedtls_ripemd160update,
+ &__archive_mbedtls_ripemd160final,
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
&__archive_nettle_ripemd160init,
&__archive_nettle_ripemd160update,
@@ -1330,6 +1542,10 @@ const struct archive_digest __archive_digest =
&__archive_libsystem_sha1init,
&__archive_libsystem_sha1update,
&__archive_libsystem_sha1final,
+#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
+ &__archive_mbedtls_sha1init,
+ &__archive_mbedtls_sha1update,
+ &__archive_mbedtls_sha1final,
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
&__archive_nettle_sha1init,
&__archive_nettle_sha1update,
@@ -1369,6 +1585,10 @@ const struct archive_digest __archive_digest =
&__archive_libsystem_sha256init,
&__archive_libsystem_sha256update,
&__archive_libsystem_sha256final,
+#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
+ &__archive_mbedtls_sha256init,
+ &__archive_mbedtls_sha256update,
+ &__archive_mbedtls_sha256final,
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
&__archive_nettle_sha256init,
&__archive_nettle_sha256update,
@@ -1404,6 +1624,10 @@ const struct archive_digest __archive_digest =
&__archive_libsystem_sha384init,
&__archive_libsystem_sha384update,
&__archive_libsystem_sha384final,
+#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
+ &__archive_mbedtls_sha384init,
+ &__archive_mbedtls_sha384update,
+ &__archive_mbedtls_sha384final,
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
&__archive_nettle_sha384init,
&__archive_nettle_sha384update,
@@ -1443,6 +1667,10 @@ const struct archive_digest __archive_digest =
&__archive_libsystem_sha512init,
&__archive_libsystem_sha512update,
&__archive_libsystem_sha512final
+#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
+ &__archive_mbedtls_sha512init,
+ &__archive_mbedtls_sha512update,
+ &__archive_mbedtls_sha512final
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
&__archive_nettle_sha512init,
&__archive_nettle_sha512update,
diff --git a/Utilities/cmlibarchive/libarchive/archive_digest_private.h b/Utilities/cmlibarchive/libarchive/archive_digest_private.h
index b4fd6ca..15312ee 100644
--- a/Utilities/cmlibarchive/libarchive/archive_digest_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_digest_private.h
@@ -24,13 +24,12 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifndef ARCHIVE_DIGEST_PRIVATE_H_INCLUDED
+#define ARCHIVE_DIGEST_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-
-#ifndef ARCHIVE_CRYPTO_PRIVATE_H_INCLUDED
-#define ARCHIVE_CRYPTO_PRIVATE_H_INCLUDED
-
/*
* Crypto support in various Operating Systems:
*
@@ -112,6 +111,24 @@
#include <CommonCrypto/CommonDigest.h>
#endif
+/* mbed TLS crypto headers */
+#if defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
+#include <mbedtls/md5.h>
+#endif
+#if defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
+#include <mbedtls/ripemd160.h>
+#endif
+#if defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
+#include <mbedtls/sha1.h>
+#endif
+#if defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
+#include <mbedtls/sha256.h>
+#endif
+#if defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) ||\
+ defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
+#include <mbedtls/sha512.h>
+#endif
+
/* Nettle crypto headers */
#if defined(ARCHIVE_CRYPTO_MD5_NETTLE)
#include <nettle/md5.h>
@@ -159,6 +176,8 @@ typedef MD5_CTX archive_md5_ctx;
typedef MD5_CTX archive_md5_ctx;
#elif defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM)
typedef CC_MD5_CTX archive_md5_ctx;
+#elif defined(ARCHIVE_CRYPTO_MD5_MBEDTLS)
+typedef mbedtls_md5_context archive_md5_ctx;
#elif defined(ARCHIVE_CRYPTO_MD5_NETTLE)
typedef struct md5_ctx archive_md5_ctx;
#elif defined(ARCHIVE_CRYPTO_MD5_OPENSSL)
@@ -173,6 +192,8 @@ typedef unsigned char archive_md5_ctx;
typedef RMD160_CTX archive_rmd160_ctx;
#elif defined(ARCHIVE_CRYPTO_RMD160_LIBMD)
typedef RIPEMD160_CTX archive_rmd160_ctx;
+#elif defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS)
+typedef mbedtls_ripemd160_context archive_rmd160_ctx;
#elif defined(ARCHIVE_CRYPTO_RMD160_NETTLE)
typedef struct ripemd160_ctx archive_rmd160_ctx;
#elif defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
@@ -187,6 +208,8 @@ typedef SHA1_CTX archive_sha1_ctx;
typedef SHA1_CTX archive_sha1_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM)
typedef CC_SHA1_CTX archive_sha1_ctx;
+#elif defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS)
+typedef mbedtls_sha1_context archive_sha1_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA1_NETTLE)
typedef struct sha1_ctx archive_sha1_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA1_OPENSSL)
@@ -207,6 +230,8 @@ typedef SHA2_CTX archive_sha256_ctx;
typedef SHA256_CTX archive_sha256_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM)
typedef CC_SHA256_CTX archive_sha256_ctx;
+#elif defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS)
+typedef mbedtls_sha256_context archive_sha256_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA256_NETTLE)
typedef struct sha256_ctx archive_sha256_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA256_OPENSSL)
@@ -225,6 +250,8 @@ typedef SHA384_CTX archive_sha384_ctx;
typedef SHA2_CTX archive_sha384_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM)
typedef CC_SHA512_CTX archive_sha384_ctx;
+#elif defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS)
+typedef mbedtls_sha512_context archive_sha384_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA384_NETTLE)
typedef struct sha384_ctx archive_sha384_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA384_OPENSSL)
@@ -245,6 +272,8 @@ typedef SHA2_CTX archive_sha512_ctx;
typedef SHA512_CTX archive_sha512_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM)
typedef CC_SHA512_CTX archive_sha512_ctx;
+#elif defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS)
+typedef mbedtls_sha512_context archive_sha512_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA512_NETTLE)
typedef struct sha512_ctx archive_sha512_ctx;
#elif defined(ARCHIVE_CRYPTO_SHA512_OPENSSL)
@@ -259,6 +288,7 @@ typedef unsigned char archive_sha512_ctx;
#if defined(ARCHIVE_CRYPTO_MD5_LIBC) ||\
defined(ARCHIVE_CRYPTO_MD5_LIBMD) || \
defined(ARCHIVE_CRYPTO_MD5_LIBSYSTEM) ||\
+ defined(ARCHIVE_CRYPTO_MD5_MBEDTLS) ||\
defined(ARCHIVE_CRYPTO_MD5_NETTLE) ||\
defined(ARCHIVE_CRYPTO_MD5_OPENSSL) ||\
defined(ARCHIVE_CRYPTO_MD5_WIN)
@@ -272,6 +302,7 @@ typedef unsigned char archive_sha512_ctx;
__archive_digest.md5update(ctx, buf, n)
#if defined(ARCHIVE_CRYPTO_RMD160_LIBC) ||\
+ defined(ARCHIVE_CRYPTO_RMD160_MBEDTLS) ||\
defined(ARCHIVE_CRYPTO_RMD160_NETTLE) ||\
defined(ARCHIVE_CRYPTO_RMD160_OPENSSL)
#define ARCHIVE_HAS_RMD160
@@ -286,6 +317,7 @@ typedef unsigned char archive_sha512_ctx;
#if defined(ARCHIVE_CRYPTO_SHA1_LIBC) ||\
defined(ARCHIVE_CRYPTO_SHA1_LIBMD) || \
defined(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM) ||\
+ defined(ARCHIVE_CRYPTO_SHA1_MBEDTLS) ||\
defined(ARCHIVE_CRYPTO_SHA1_NETTLE) ||\
defined(ARCHIVE_CRYPTO_SHA1_OPENSSL) ||\
defined(ARCHIVE_CRYPTO_SHA1_WIN)
@@ -303,6 +335,7 @@ typedef unsigned char archive_sha512_ctx;
defined(ARCHIVE_CRYPTO_SHA256_LIBC3) ||\
defined(ARCHIVE_CRYPTO_SHA256_LIBMD) ||\
defined(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM) ||\
+ defined(ARCHIVE_CRYPTO_SHA256_MBEDTLS) ||\
defined(ARCHIVE_CRYPTO_SHA256_NETTLE) ||\
defined(ARCHIVE_CRYPTO_SHA256_OPENSSL) ||\
defined(ARCHIVE_CRYPTO_SHA256_WIN)
@@ -319,6 +352,7 @@ typedef unsigned char archive_sha512_ctx;
defined(ARCHIVE_CRYPTO_SHA384_LIBC2) ||\
defined(ARCHIVE_CRYPTO_SHA384_LIBC3) ||\
defined(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM) ||\
+ defined(ARCHIVE_CRYPTO_SHA384_MBEDTLS) ||\
defined(ARCHIVE_CRYPTO_SHA384_NETTLE) ||\
defined(ARCHIVE_CRYPTO_SHA384_OPENSSL) ||\
defined(ARCHIVE_CRYPTO_SHA384_WIN)
@@ -336,6 +370,7 @@ typedef unsigned char archive_sha512_ctx;
defined(ARCHIVE_CRYPTO_SHA512_LIBC3) ||\
defined(ARCHIVE_CRYPTO_SHA512_LIBMD) ||\
defined(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM) ||\
+ defined(ARCHIVE_CRYPTO_SHA512_MBEDTLS) ||\
defined(ARCHIVE_CRYPTO_SHA512_NETTLE) ||\
defined(ARCHIVE_CRYPTO_SHA512_OPENSSL) ||\
defined(ARCHIVE_CRYPTO_SHA512_WIN)
diff --git a/Utilities/cmlibarchive/libarchive/archive_disk_acl_sunos.c b/Utilities/cmlibarchive/libarchive/archive_disk_acl_sunos.c
index bc84fd6..b0f5dfa 100644
--- a/Utilities/cmlibarchive/libarchive/archive_disk_acl_sunos.c
+++ b/Utilities/cmlibarchive/libarchive/archive_disk_acl_sunos.c
@@ -145,10 +145,8 @@ sunacl_get(int cmd, int *aclcnt, int fd, const char *path)
cnt = facl(fd, cmd, cnt, aclp);
}
} else {
- if (aclp != NULL) {
- free(aclp);
- aclp = NULL;
- }
+ free(aclp);
+ aclp = NULL;
break;
}
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_endian.h b/Utilities/cmlibarchive/libarchive/archive_endian.h
index 1c48563..e6d3f2c 100644
--- a/Utilities/cmlibarchive/libarchive/archive_endian.h
+++ b/Utilities/cmlibarchive/libarchive/archive_endian.h
@@ -28,16 +28,15 @@
* Borrowed from FreeBSD's <sys/endian.h>
*/
-#ifndef __LIBARCHIVE_BUILD
-#error This header is only to be used internally to libarchive.
-#endif
+#ifndef ARCHIVE_ENDIAN_H_INCLUDED
+#define ARCHIVE_ENDIAN_H_INCLUDED
/* Note: This is a purely internal header! */
/* Do not use this outside of libarchive internal code! */
-#ifndef ARCHIVE_ENDIAN_H_INCLUDED
-#define ARCHIVE_ENDIAN_H_INCLUDED
-
+#ifndef __LIBARCHIVE_BUILD
+#error This header is only to be used internally to libarchive.
+#endif
/*
* Disabling inline keyword for compilers known to choke on it:
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry.3 b/Utilities/cmlibarchive/libarchive/archive_entry.3
index f75916c..2f62a4b 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry.3
+++ b/Utilities/cmlibarchive/libarchive/archive_entry.3
@@ -32,7 +32,7 @@
.Nm archive_entry_clear ,
.Nm archive_entry_clone ,
.Nm archive_entry_free ,
-.Nm archive_entry_new ,
+.Nm archive_entry_new
.Nd functions for managing archive entry descriptions
.Sh LIBRARY
Streaming Archive Library (libarchive, -larchive)
@@ -126,7 +126,6 @@ using the current locale.
Similarly, if you store a wide string and then store a
narrow string for the same data, the previously-set wide string will
be discarded in favor of the new data.
-.Pp
.\" .Sh EXAMPLE
.\" .Sh RETURN VALUES
.\" .Sh ERRORS
@@ -134,8 +133,8 @@ be discarded in favor of the new data.
.Xr archive_entry_acl 3 ,
.Xr archive_entry_paths 3 ,
.Xr archive_entry_perms 3 ,
-.Xr archive_entry_time 3
-.Xr libarchive 3 ,
+.Xr archive_entry_time 3 ,
+.Xr libarchive 3
.Sh HISTORY
The
.Nm libarchive
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry.c b/Utilities/cmlibarchive/libarchive/archive_entry.c
index f722bbe..a15e98c 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry.c
+++ b/Utilities/cmlibarchive/libarchive/archive_entry.c
@@ -168,6 +168,7 @@ archive_entry_clear(struct archive_entry *entry)
archive_entry_xattr_clear(entry);
archive_entry_sparse_clear(entry);
free(entry->stat);
+ entry->ae_symlink_type = AE_SYMLINK_TYPE_UNDEFINED;
memset(entry, 0, sizeof(*entry));
return entry;
}
@@ -202,6 +203,9 @@ archive_entry_clone(struct archive_entry *entry)
entry2->ae_set = entry->ae_set;
archive_mstring_copy(&entry2->ae_uname, &entry->ae_uname);
+ /* Copy symlink type */
+ entry2->ae_symlink_type = entry->ae_symlink_type;
+
/* Copy encryption status */
entry2->encryption = entry->encryption;
@@ -253,6 +257,7 @@ archive_entry_new2(struct archive *a)
if (entry == NULL)
return (NULL);
entry->archive = a;
+ entry->ae_symlink_type = AE_SYMLINK_TYPE_UNDEFINED;
return (entry);
}
@@ -675,6 +680,12 @@ archive_entry_symlink(struct archive_entry *entry)
return (NULL);
}
+int
+archive_entry_symlink_type(struct archive_entry *entry)
+{
+ return (entry->ae_symlink_type);
+}
+
const char *
archive_entry_symlink_utf8(struct archive_entry *entry)
{
@@ -1246,6 +1257,12 @@ archive_entry_set_symlink(struct archive_entry *entry, const char *linkname)
}
void
+archive_entry_set_symlink_type(struct archive_entry *entry, int type)
+{
+ entry->ae_symlink_type = type;
+}
+
+void
archive_entry_set_symlink_utf8(struct archive_entry *entry, const char *linkname)
{
archive_mstring_copy_utf8(&entry->ae_symlink, linkname);
@@ -1560,10 +1577,8 @@ archive_entry_acl_text_compat(int *flags)
const wchar_t *
archive_entry_acl_text_w(struct archive_entry *entry, int flags)
{
- if (entry->acl.acl_text_w != NULL) {
- free(entry->acl.acl_text_w);
- entry->acl.acl_text_w = NULL;
- }
+ free(entry->acl.acl_text_w);
+ entry->acl.acl_text_w = NULL;
if (archive_entry_acl_text_compat(&flags) == 0)
entry->acl.acl_text_w = archive_acl_to_text_w(&entry->acl,
NULL, flags, entry->archive);
@@ -1574,10 +1589,8 @@ archive_entry_acl_text_w(struct archive_entry *entry, int flags)
const char *
archive_entry_acl_text(struct archive_entry *entry, int flags)
{
- if (entry->acl.acl_text != NULL) {
- free(entry->acl.acl_text);
- entry->acl.acl_text = NULL;
- }
+ free(entry->acl.acl_text);
+ entry->acl.acl_text = NULL;
if (archive_entry_acl_text_compat(&flags) == 0)
entry->acl.acl_text = archive_acl_to_text_l(&entry->acl, NULL,
flags, NULL);
@@ -1590,10 +1603,8 @@ int
_archive_entry_acl_text_l(struct archive_entry *entry, int flags,
const char **acl_text, size_t *len, struct archive_string_conv *sc)
{
- if (entry->acl.acl_text != NULL) {
- free(entry->acl.acl_text);
- entry->acl.acl_text = NULL;
- }
+ free(entry->acl.acl_text);
+ entry->acl.acl_text = NULL;
if (archive_entry_acl_text_compat(&flags) == 0)
entry->acl.acl_text = archive_acl_to_text_l(&entry->acl,
@@ -1638,198 +1649,215 @@ _archive_entry_acl_text_l(struct archive_entry *entry, int flags,
* SUCH DAMAGE.
*/
+/*
+ * Supported file flags on FreeBSD and Mac OS:
+ * sappnd,sappend SF_APPEND
+ * arch,archived SF_ARCHIVED
+ * schg,schange,simmutable SF_IMMUTABLE
+ * sunlnk,sunlink SF_NOUNLINK (FreeBSD only)
+ * uappnd,uappend UF_APPEND
+ * compressed UF_COMPRESSED (Mac OS only)
+ * hidden,uhidden UF_HIDDEN
+ * uchg,uchange,uimmutable UF_IMMUTABLE
+ * nodump UF_NODUMP
+ * uunlnk,uunlink UF_NOUNLINK (FreeBSD only)
+ * offline,uoffline UF_OFFLINE (FreeBSD only)
+ * opaque UF_OPAQUE
+ * rdonly,urdonly,readonly UF_READONLY (FreeBSD only)
+ * reparse,ureparse UF_REPARSE (FreeBSD only)
+ * sparse,usparse UF_SPARSE (FreeBSD only)
+ * system,usystem UF_SYSTEM (FreeBSD only)
+ *
+ * See chflags(2) for more information
+ *
+ * Supported file attributes on Linux:
+ * a append only FS_APPEND_FL sappnd
+ * A no atime updates FS_NOATIME_FL atime
+ * c compress FS_COMPR_FL compress
+ * C no copy on write FS_NOCOW_FL cow
+ * d no dump FS_NODUMP_FL dump
+ * D synchronous directory updates FS_DIRSYNC_FL dirsync
+ * i immutable FS_IMMUTABLE_FL schg
+ * j data journalling FS_JOURNAL_DATA_FL journal
+ * P project hierarchy FS_PROJINHERIT_FL projinherit
+ * s secure deletion FS_SECRM_FL securedeletion
+ * S synchronous updates FS_SYNC_FL sync
+ * t no tail-merging FS_NOTAIL_FL tail
+ * T top of directory hierarchy FS_TOPDIR_FL topdir
+ * u undeletable FS_UNRM_FL undel
+ *
+ * See ioctl_iflags(2) for more information
+ *
+ * Equivalent file flags supported on FreeBSD / Mac OS and Linux:
+ * SF_APPEND FS_APPEND_FL sappnd
+ * SF_IMMUTABLE FS_IMMUTABLE_FL schg
+ * UF_NODUMP FS_NODUMP_FL nodump
+ */
+
static const struct flag {
const char *name;
const wchar_t *wname;
unsigned long set;
unsigned long clear;
-} flags[] = {
+} fileflags[] = {
/* Preferred (shorter) names per flag first, all prefixed by "no" */
#ifdef SF_APPEND
- { "nosappnd", L"nosappnd", SF_APPEND, 0 },
- { "nosappend", L"nosappend", SF_APPEND, 0 },
+ { "nosappnd", L"nosappnd", SF_APPEND, 0},
+ { "nosappend", L"nosappend", SF_APPEND, 0},
#endif
#if defined(FS_APPEND_FL) /* 'a' */
- { "nosappnd", L"nosappnd", FS_APPEND_FL, 0 },
- { "nosappend", L"nosappend", FS_APPEND_FL, 0 },
+ { "nosappnd", L"nosappnd", FS_APPEND_FL, 0},
+ { "nosappend", L"nosappend", FS_APPEND_FL, 0},
#elif defined(EXT2_APPEND_FL) /* 'a' */
- { "nosappnd", L"nosappnd", EXT2_APPEND_FL, 0 },
- { "nosappend", L"nosappend", EXT2_APPEND_FL, 0 },
+ { "nosappnd", L"nosappnd", EXT2_APPEND_FL, 0},
+ { "nosappend", L"nosappend", EXT2_APPEND_FL, 0},
#endif
#ifdef SF_ARCHIVED
- { "noarch", L"noarch", SF_ARCHIVED, 0 },
- { "noarchived", L"noarchived", SF_ARCHIVED, 0 },
+ { "noarch", L"noarch", SF_ARCHIVED, 0},
+ { "noarchived", L"noarchived", SF_ARCHIVED, 0},
#endif
#ifdef SF_IMMUTABLE
- { "noschg", L"noschg", SF_IMMUTABLE, 0 },
- { "noschange", L"noschange", SF_IMMUTABLE, 0 },
- { "nosimmutable", L"nosimmutable", SF_IMMUTABLE, 0 },
+ { "noschg", L"noschg", SF_IMMUTABLE, 0},
+ { "noschange", L"noschange", SF_IMMUTABLE, 0},
+ { "nosimmutable", L"nosimmutable", SF_IMMUTABLE, 0},
#endif
#if defined(FS_IMMUTABLE_FL) /* 'i' */
- { "noschg", L"noschg", FS_IMMUTABLE_FL, 0 },
- { "noschange", L"noschange", FS_IMMUTABLE_FL, 0 },
- { "nosimmutable", L"nosimmutable", FS_IMMUTABLE_FL, 0 },
+ { "noschg", L"noschg", FS_IMMUTABLE_FL, 0},
+ { "noschange", L"noschange", FS_IMMUTABLE_FL, 0},
+ { "nosimmutable", L"nosimmutable", FS_IMMUTABLE_FL, 0},
#elif defined(EXT2_IMMUTABLE_FL) /* 'i' */
- { "noschg", L"noschg", EXT2_IMMUTABLE_FL, 0 },
- { "noschange", L"noschange", EXT2_IMMUTABLE_FL, 0 },
- { "nosimmutable", L"nosimmutable", EXT2_IMMUTABLE_FL, 0 },
+ { "noschg", L"noschg", EXT2_IMMUTABLE_FL, 0},
+ { "noschange", L"noschange", EXT2_IMMUTABLE_FL, 0},
+ { "nosimmutable", L"nosimmutable", EXT2_IMMUTABLE_FL, 0},
#endif
#ifdef SF_NOUNLINK
- { "nosunlnk", L"nosunlnk", SF_NOUNLINK, 0 },
- { "nosunlink", L"nosunlink", SF_NOUNLINK, 0 },
-#endif
-#ifdef SF_SNAPSHOT
- { "nosnapshot", L"nosnapshot", SF_SNAPSHOT, 0 },
+ { "nosunlnk", L"nosunlnk", SF_NOUNLINK, 0},
+ { "nosunlink", L"nosunlink", SF_NOUNLINK, 0},
#endif
#ifdef UF_APPEND
- { "nouappnd", L"nouappnd", UF_APPEND, 0 },
- { "nouappend", L"nouappend", UF_APPEND, 0 },
+ { "nouappnd", L"nouappnd", UF_APPEND, 0},
+ { "nouappend", L"nouappend", UF_APPEND, 0},
#endif
#ifdef UF_IMMUTABLE
- { "nouchg", L"nouchg", UF_IMMUTABLE, 0 },
- { "nouchange", L"nouchange", UF_IMMUTABLE, 0 },
- { "nouimmutable", L"nouimmutable", UF_IMMUTABLE, 0 },
+ { "nouchg", L"nouchg", UF_IMMUTABLE, 0},
+ { "nouchange", L"nouchange", UF_IMMUTABLE, 0},
+ { "nouimmutable", L"nouimmutable", UF_IMMUTABLE, 0},
#endif
#ifdef UF_NODUMP
{ "nodump", L"nodump", 0, UF_NODUMP},
#endif
#if defined(FS_NODUMP_FL) /* 'd' */
{ "nodump", L"nodump", 0, FS_NODUMP_FL},
-#elif defined(EXT2_NODUMP_FL) /* 'd' */
+#elif defined(EXT2_NODUMP_FL)
{ "nodump", L"nodump", 0, EXT2_NODUMP_FL},
#endif
#ifdef UF_OPAQUE
- { "noopaque", L"noopaque", UF_OPAQUE, 0 },
+ { "noopaque", L"noopaque", UF_OPAQUE, 0},
#endif
#ifdef UF_NOUNLINK
- { "nouunlnk", L"nouunlnk", UF_NOUNLINK, 0 },
- { "nouunlink", L"nouunlink", UF_NOUNLINK, 0 },
+ { "nouunlnk", L"nouunlnk", UF_NOUNLINK, 0},
+ { "nouunlink", L"nouunlink", UF_NOUNLINK, 0},
#endif
#ifdef UF_COMPRESSED
- { "nocompressed",L"nocompressed", UF_COMPRESSED, 0 },
+ /* Mac OS */
+ { "nocompressed", L"nocompressed", UF_COMPRESSED, 0},
#endif
#ifdef UF_HIDDEN
- { "nohidden", L"nohidden", UF_HIDDEN, 0 },
+ { "nohidden", L"nohidden", UF_HIDDEN, 0},
+ { "nouhidden", L"nouhidden", UF_HIDDEN, 0},
#endif
-#if defined(FS_UNRM_FL)
- { "nouunlink", L"nouunlink", FS_UNRM_FL, 0},
-#elif defined(EXT2_UNRM_FL)
- { "nouunlink", L"nouunlink", EXT2_UNRM_FL, 0},
+#ifdef FILE_ATTRIBUTE_HIDDEN
+ { "nohidden", L"nohidden", FILE_ATTRIBUTE_HIDDEN, 0},
+ { "nouhidden", L"nouhidden", FILE_ATTRIBUTE_HIDDEN, 0},
#endif
-
-#if defined(FS_BTREE_FL)
- { "nobtree", L"nobtree", FS_BTREE_FL, 0 },
-#elif defined(EXT2_BTREE_FL)
- { "nobtree", L"nobtree", EXT2_BTREE_FL, 0 },
+#ifdef UF_OFFLINE
+ { "nooffline", L"nooffline", UF_OFFLINE, 0},
+ { "nouoffline", L"nouoffline", UF_OFFLINE, 0},
#endif
-
-#if defined(FS_ECOMPR_FL)
- { "nocomperr", L"nocomperr", FS_ECOMPR_FL, 0 },
-#elif defined(EXT2_ECOMPR_FL)
- { "nocomperr", L"nocomperr", EXT2_ECOMPR_FL, 0 },
+#ifdef UF_READONLY
+ { "nordonly", L"nordonly", UF_READONLY, 0},
+ { "nourdonly", L"nourdonly", UF_READONLY, 0},
+ { "noreadonly", L"noreadonly", UF_READONLY, 0},
#endif
-
-#if defined(FS_COMPR_FL) /* 'c' */
- { "nocompress", L"nocompress", FS_COMPR_FL, 0 },
-#elif defined(EXT2_COMPR_FL) /* 'c' */
- { "nocompress", L"nocompress", EXT2_COMPR_FL, 0 },
+#ifdef FILE_ATTRIBUTE_READONLY
+ { "nordonly", L"nordonly", FILE_ATTRIBUTE_READONLY, 0},
+ { "nourdonly", L"nourdonly", FILE_ATTRIBUTE_READONLY, 0},
+ { "noreadonly", L"noreadonly", FILE_ATTRIBUTE_READONLY, 0},
#endif
-
-#if defined(FS_NOATIME_FL) /* 'A' */
- { "noatime", L"noatime", 0, FS_NOATIME_FL},
-#elif defined(EXT2_NOATIME_FL) /* 'A' */
- { "noatime", L"noatime", 0, EXT2_NOATIME_FL},
+#ifdef UF_SPARSE
+ { "nosparse", L"nosparse", UF_SPARSE, 0},
+ { "nousparse", L"nousparse", UF_SPARSE, 0},
#endif
-
-#if defined(FS_DIRTY_FL)
- { "nocompdirty",L"nocompdirty", FS_DIRTY_FL, 0},
-#elif defined(EXT2_DIRTY_FL)
- { "nocompdirty",L"nocompdirty", EXT2_DIRTY_FL, 0},
+#ifdef UF_REPARSE
+ { "noreparse", L"noreparse", UF_REPARSE, 0},
+ { "noureparse", L"noureparse", UF_REPARSE, 0},
#endif
-
-#if defined(FS_COMPRBLK_FL)
-#if defined(FS_NOCOMPR_FL)
- { "nocomprblk", L"nocomprblk", FS_COMPRBLK_FL, FS_NOCOMPR_FL},
-#else
- { "nocomprblk", L"nocomprblk", FS_COMPRBLK_FL, 0},
+#ifdef UF_SYSTEM
+ { "nosystem", L"nosystem", UF_SYSTEM, 0},
+ { "nousystem", L"nousystem", UF_SYSTEM, 0},
#endif
-#elif defined(EXT2_COMPRBLK_FL)
-#if defined(EXT2_NOCOMPR_FL)
- { "nocomprblk", L"nocomprblk", EXT2_COMPRBLK_FL, EXT2_NOCOMPR_FL},
-#else
- { "nocomprblk", L"nocomprblk", EXT2_COMPRBLK_FL, 0},
+#ifdef FILE_ATTRIBUTE_SYSTEM
+ { "nosystem", L"nosystem", FILE_ATTRIBUTE_SYSTEM, 0},
+ { "nousystem", L"nousystem", FILE_ATTRIBUTE_SYSTEM, 0},
#endif
+#if defined(FS_UNRM_FL) /* 'u' */
+ { "noundel", L"noundel", FS_UNRM_FL, 0},
+#elif defined(EXT2_UNRM_FL)
+ { "noundel", L"noundel", EXT2_UNRM_FL, 0},
#endif
-#if defined(FS_DIRSYNC_FL)
- { "nodirsync", L"nodirsync", FS_DIRSYNC_FL, 0},
-#elif defined(EXT2_DIRSYNC_FL)
- { "nodirsync", L"nodirsync", EXT2_DIRSYNC_FL, 0},
+
+#if defined(FS_COMPR_FL) /* 'c' */
+ { "nocompress", L"nocompress", FS_COMPR_FL, 0},
+#elif defined(EXT2_COMPR_FL)
+ { "nocompress", L"nocompress", EXT2_COMPR_FL, 0},
#endif
-#if defined(FS_INDEX_FL)
- { "nohashidx", L"nohashidx", FS_INDEX_FL, 0},
-#elif defined(EXT2_INDEX_FL)
- { "nohashidx", L"nohashidx", EXT2_INDEX_FL, 0},
+
+#if defined(FS_NOATIME_FL) /* 'A' */
+ { "noatime", L"noatime", 0, FS_NOATIME_FL},
+#elif defined(EXT2_NOATIME_FL)
+ { "noatime", L"noatime", 0, EXT2_NOATIME_FL},
#endif
-#if defined(FS_IMAGIC_FL)
- { "noimagic", L"noimagic", FS_IMAGIC_FL, 0},
-#elif defined(EXT2_IMAGIC_FL)
- { "noimagic", L"noimagic", EXT2_IMAGIC_FL, 0},
+#if defined(FS_DIRSYNC_FL) /* 'D' */
+ { "nodirsync", L"nodirsync", FS_DIRSYNC_FL, 0},
+#elif defined(EXT2_DIRSYNC_FL)
+ { "nodirsync", L"nodirsync", EXT2_DIRSYNC_FL, 0},
#endif
-#if defined(FS_JOURNAL_DATA_FL)
- { "nojournal", L"nojournal", FS_JOURNAL_DATA_FL, 0},
+#if defined(FS_JOURNAL_DATA_FL) /* 'j' */
+ { "nojournal-data",L"nojournal-data", FS_JOURNAL_DATA_FL, 0},
+ { "nojournal", L"nojournal", FS_JOURNAL_DATA_FL, 0},
#elif defined(EXT3_JOURNAL_DATA_FL)
- { "nojournal", L"nojournal", EXT3_JOURNAL_DATA_FL, 0},
+ { "nojournal-data",L"nojournal-data", EXT3_JOURNAL_DATA_FL, 0},
+ { "nojournal", L"nojournal", EXT3_JOURNAL_DATA_FL, 0},
#endif
-#if defined(FS_SECRM_FL)
- { "nosecuredeletion",L"nosecuredeletion",FS_SECRM_FL, 0},
+#if defined(FS_SECRM_FL) /* 's' */
+ { "nosecdel", L"nosecdel", FS_SECRM_FL, 0},
+ { "nosecuredeletion",L"nosecuredeletion",FS_SECRM_FL, 0},
#elif defined(EXT2_SECRM_FL)
- { "nosecuredeletion",L"nosecuredeletion",EXT2_SECRM_FL, 0},
+ { "nosecdel", L"nosecdel", EXT2_SECRM_FL, 0},
+ { "nosecuredeletion",L"nosecuredeletion",EXT2_SECRM_FL, 0},
#endif
-#if defined(FS_SYNC_FL)
- { "nosync", L"nosync", FS_SYNC_FL, 0},
+#if defined(FS_SYNC_FL) /* 'S' */
+ { "nosync", L"nosync", FS_SYNC_FL, 0},
#elif defined(EXT2_SYNC_FL)
- { "nosync", L"nosync", EXT2_SYNC_FL, 0},
+ { "nosync", L"nosync", EXT2_SYNC_FL, 0},
#endif
-#if defined(FS_NOTAIL_FL)
- { "notail", L"notail", 0, FS_NOTAIL_FL},
+#if defined(FS_NOTAIL_FL) /* 't' */
+ { "notail", L"notail", 0, FS_NOTAIL_FL},
#elif defined(EXT2_NOTAIL_FL)
- { "notail", L"notail", 0, EXT2_NOTAIL_FL},
+ { "notail", L"notail", 0, EXT2_NOTAIL_FL},
#endif
-#if defined(FS_TOPDIR_FL)
- { "notopdir", L"notopdir", FS_TOPDIR_FL, 0},
+#if defined(FS_TOPDIR_FL) /* 'T' */
+ { "notopdir", L"notopdir", FS_TOPDIR_FL, 0},
#elif defined(EXT2_TOPDIR_FL)
- { "notopdir", L"notopdir", EXT2_TOPDIR_FL, 0},
-#endif
-#ifdef FS_ENCRYPT_FL
- { "noencrypt", L"noencrypt", FS_ENCRYPT_FL, 0},
-#endif
-#ifdef FS_HUGE_FILE_FL
- { "nohugefile", L"nohugefile", FS_HUGE_FILE_FL, 0},
-#endif
-#ifdef FS_EXTENT_FL
- { "noextent", L"noextent", FS_EXTENT_FL, 0},
-#endif
-#ifdef FS_EA_INODE_FL
- { "noeainode", L"noeainode", FS_EA_INODE_FL, 0},
-#endif
-#ifdef FS_EOFBLOCKS_FL
- { "noeofblocks",L"noeofblocks", FS_EOFBLOCKS_FL, 0},
-#endif
-#ifdef FS_NOCOW_FL
- { "nocow", L"nocow", FS_NOCOW_FL, 0},
-#endif
-#ifdef FS_INLINE_DATA_FL
- { "noinlinedata",L"noinlinedata", FS_INLINE_DATA_FL, 0},
+ { "notopdir", L"notopdir", EXT2_TOPDIR_FL, 0},
#endif
-#ifdef FS_PROJINHERIT_FL
- { "noprojinherit",L"noprojinherit", FS_PROJINHERIT_FL, 0},
+#ifdef FS_NOCOW_FL /* 'C' */
+ { "nocow", L"nocow", 0, FS_NOCOW_FL},
#endif
-#if defined(FS_RESERVED_FL)
- { "noreserved", L"noreserved", FS_RESERVED_FL, 0},
-#elif defined(EXT2_RESERVED_FL)
- { "noreserved", L"noreserved", EXT2_RESERVED_FL, 0},
+#ifdef FS_PROJINHERIT_FL /* 'P' */
+ { "noprojinherit",L"noprojinherit", FS_PROJINHERIT_FL, 0},
#endif
- { NULL, NULL, 0, 0 }
+ { NULL, NULL, 0, 0}
};
/*
@@ -1848,7 +1876,7 @@ ae_fflagstostr(unsigned long bitset, unsigned long bitclear)
bits = bitset | bitclear;
length = 0;
- for (flag = flags; flag->name != NULL; flag++)
+ for (flag = fileflags; flag->name != NULL; flag++)
if (bits & (flag->set | flag->clear)) {
length += strlen(flag->name) + 1;
bits &= ~(flag->set | flag->clear);
@@ -1861,7 +1889,7 @@ ae_fflagstostr(unsigned long bitset, unsigned long bitclear)
return (NULL);
dp = string;
- for (flag = flags; flag->name != NULL; flag++) {
+ for (flag = fileflags; flag->name != NULL; flag++) {
if (bitset & flag->set || bitclear & flag->clear) {
sp = flag->name + 2;
} else if (bitset & flag->clear || bitclear & flag->set) {
@@ -1913,7 +1941,7 @@ ae_strtofflags(const char *s, unsigned long *setp, unsigned long *clrp)
*end != ' ' && *end != ',')
end++;
length = end - start;
- for (flag = flags; flag->name != NULL; flag++) {
+ for (flag = fileflags; flag->name != NULL; flag++) {
size_t flag_length = strlen(flag->name);
if (length == flag_length
&& memcmp(start, flag->name, length) == 0) {
@@ -1981,7 +2009,7 @@ ae_wcstofflags(const wchar_t *s, unsigned long *setp, unsigned long *clrp)
*end != L' ' && *end != L',')
end++;
length = end - start;
- for (flag = flags; flag->wname != NULL; flag++) {
+ for (flag = fileflags; flag->wname != NULL; flag++) {
size_t flag_length = wcslen(flag->wname);
if (length == flag_length
&& wmemcmp(start, flag->wname, length) == 0) {
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry.h b/Utilities/cmlibarchive/libarchive/archive_entry.h
index a9134f6..0053faa 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry.h
+++ b/Utilities/cmlibarchive/libarchive/archive_entry.h
@@ -30,7 +30,7 @@
#define ARCHIVE_ENTRY_H_INCLUDED
/* Note: Compiler will complain if this does not match archive.h! */
-#define ARCHIVE_VERSION_NUMBER 3003003
+#define ARCHIVE_VERSION_NUMBER 3004002
/*
* Note: archive_entry.h is for use outside of libarchive; the
@@ -188,6 +188,13 @@ struct archive_entry;
#define AE_IFIFO ((__LA_MODE_T)0010000)
/*
+ * Symlink types
+ */
+#define AE_SYMLINK_TYPE_UNDEFINED 0
+#define AE_SYMLINK_TYPE_FILE 1
+#define AE_SYMLINK_TYPE_DIRECTORY 2
+
+/*
* Basic object manipulation
*/
@@ -272,6 +279,7 @@ __LA_DECL int archive_entry_size_is_set(struct archive_entry *);
__LA_DECL const char *archive_entry_strmode(struct archive_entry *);
__LA_DECL const char *archive_entry_symlink(struct archive_entry *);
__LA_DECL const char *archive_entry_symlink_utf8(struct archive_entry *);
+__LA_DECL int archive_entry_symlink_type(struct archive_entry *);
__LA_DECL const wchar_t *archive_entry_symlink_w(struct archive_entry *);
__LA_DECL la_int64_t archive_entry_uid(struct archive_entry *);
__LA_DECL const char *archive_entry_uname(struct archive_entry *);
@@ -347,6 +355,7 @@ __LA_DECL void archive_entry_unset_size(struct archive_entry *);
__LA_DECL void archive_entry_copy_sourcepath(struct archive_entry *, const char *);
__LA_DECL void archive_entry_copy_sourcepath_w(struct archive_entry *, const wchar_t *);
__LA_DECL void archive_entry_set_symlink(struct archive_entry *, const char *);
+__LA_DECL void archive_entry_set_symlink_type(struct archive_entry *, int);
__LA_DECL void archive_entry_set_symlink_utf8(struct archive_entry *, const char *);
__LA_DECL void archive_entry_copy_symlink(struct archive_entry *, const char *);
__LA_DECL void archive_entry_copy_symlink_w(struct archive_entry *, const wchar_t *);
@@ -512,9 +521,6 @@ __LA_DECL int archive_entry_acl_reset(struct archive_entry *, int /* want_type
__LA_DECL int archive_entry_acl_next(struct archive_entry *, int /* want_type */,
int * /* type */, int * /* permset */, int * /* tag */,
int * /* qual */, const char ** /* name */);
-__LA_DECL int archive_entry_acl_next_w(struct archive_entry *, int /* want_type */,
- int * /* type */, int * /* permset */, int * /* tag */,
- int * /* qual */, const wchar_t ** /* name */);
/*
* Construct a text-format ACL. The flags argument is a bitmask that
@@ -689,7 +695,6 @@ __LA_DECL void archive_entry_linkify(struct archive_entry_linkresolver *,
struct archive_entry **, struct archive_entry **);
__LA_DECL struct archive_entry *archive_entry_partial_links(
struct archive_entry_linkresolver *res, unsigned int *links);
-
#ifdef __cplusplus
}
#endif
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry_acl.3 b/Utilities/cmlibarchive/libarchive/archive_entry_acl.3
index 534dbfa..50dd642 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry_acl.3
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_acl.3
@@ -34,7 +34,6 @@
.Nm archive_entry_acl_from_text ,
.Nm archive_entry_acl_from_text_w ,
.Nm archive_entry_acl_next ,
-.Nm archive_entry_acl_next_w ,
.Nm archive_entry_acl_reset ,
.Nm archive_entry_acl_to_text ,
.Nm archive_entry_acl_to_text_w ,
@@ -89,16 +88,6 @@ Streaming Archive Library (libarchive, -larchive)
.Fa "const char **ret_name"
.Fc
.Ft int
-.Fo archive_entry_acl_next_w
-.Fa "struct archive_entry *a"
-.Fa "int type"
-.Fa "int *ret_type"
-.Fa "int *ret_permset"
-.Fa "int *ret_tag"
-.Fa "int *ret_qual"
-.Fa "const wchar_t **ret_name"
-.Fc
-.Ft int
.Fn archive_entry_acl_reset "struct archive_entry *a" "int type"
.Ft char *
.Fo archive_entry_acl_to_text
@@ -118,15 +107,16 @@ Streaming Archive Library (libarchive, -larchive)
.Sh DESCRIPTION
The
.Dq Access Control Lists (ACLs)
-extend the standard Unix perssion model.
+extend the standard Unix permission model.
The ACL interface of
.Nm libarchive
-supports both POSIX.1e and NFSv4 style ACLs. Use of ACLs is restricted by
+supports both POSIX.1e and NFSv4 style ACLs.
+Use of ACLs is restricted by
various levels of ACL support in operating systems, file systems and archive
formats.
.Ss POSIX.1e Access Control Lists
A POSIX.1e ACL consists of a number of independent entries.
-Each entry specifies the permission set as bitmask of basic permissions.
+Each entry specifies the permission set as a bitmask of basic permissions.
Valid permissions in the
.Fa permset
are:
@@ -147,13 +137,13 @@ The user specified by the name field.
.It Dv ARCHIVE_ENTRY_ACL_USER_OBJ
The owner of the file.
.It Dv ARCHIVE_ENTRY_ACL_GROUP
-The group specied by the name field.
+The group specified by the name field.
.It Dv ARCHIVE_ENTRY_ACL_GROUP_OBJ
-The group who owns the file.
+The group which owns the file.
.It Dv ARCHIVE_ENTRY_ACL_MASK
The maximum permissions to be obtained via group permissions.
.It Dv ARCHIVE_ENTRY_ACL_OTHER
-Any principal who is not file owner or a member of the owning group.
+Any principal who is not the file owner or a member of the owning group.
.El
.Pp
The principals
@@ -164,12 +154,12 @@ and
are equivalent to user, group and other in the classic Unix permission
model and specify non-extended ACL entries.
.Pp
-All files with have an access ACL
+All files have an access ACL
.Pq Dv ARCHIVE_ENTRY_ACL_TYPE_ACCESS .
This specifies the permissions required for access to the file itself.
Directories have an additional ACL
.Pq Dv ARCHIVE_ENTRY_ACL_TYPE_DEFAULT ,
-which controls the initial access ACL for newly created directory entries.
+which controls the initial access ACL for newly-created directory entries.
.Ss NFSv4 Access Control Lists
A NFSv4 ACL consists of multiple individual entries called Access Control
Entries (ACEs).
@@ -197,11 +187,11 @@ The user specified by the name field.
.It Dv ARCHIVE_ENTRY_ACL_USER_OBJ
The owner of the file.
.It Dv ARCHIVE_ENTRY_ACL_GROUP
-The group specied by the name field.
+The group specified by the name field.
.It Dv ARCHIVE_ENTRY_ACL_GROUP_OBJ
-The group who owns the file.
+The group which owns the file.
.It Dv ARCHIVE_ENTRY_ACL_EVERYONE
-Any principal who is not file owner or a member of the owning group.
+Any principal who is not the file owner or a member of the owning group.
.El
.Pp
Entries with the
@@ -216,9 +206,10 @@ integer.
.Pp
NFSv4 ACE permissions and flags are stored in the same
.Fa permset
-bitfield. Some permissions share the same constant and permission character but
-have different effect on directories than on files. The following ACE
-permissions are supported:
+bitfield.
+Some permissions share the same constant and permission character
+but have different effect on directories than on files.
+The following ACE permissions are supported:
.Bl -tag -offset indent -compact -width ARCHIV
.It Dv ARCHIVE_ENTRY_ACL_READ_DATA ( Sy r )
Read data (file).
@@ -265,7 +256,8 @@ Inherit parent directory ACE to subdirectories.
.It Dv ARCHIVE_ENTRY_ACL_ENTRY_INHERIT_ONLY ( Sy i )
Only inherit, do not apply the permission on the directory itself.
.It Dv ARCHIVE_ENTRY_ACL_ENTRY_NO_PROPAGATE_INHERIT ( Sy n )
-Do not propagate inherit flags. Only first-level entries inherit ACLs.
+Do not propagate inherit flags.
+Only first-level entries inherit ACLs.
.It Dv ARCHIVE_ENTRY_ACL_ENTRY_SUCCESSFUL_ACCESS ( Sy S )
Trigger alarm or audit on successful access.
.It Dv ARCHIVE_ENTRY_ACL_ENTRY_FAILED_ACCESS ( Sy F )
@@ -279,8 +271,8 @@ and
.Fn archive_entry_acl_add_entry_w
add a single ACL entry.
For the access ACL and non-extended principals, the classic Unix permissions
-are updated. An archive entry cannot contain both POSIX.1e and NFSv4 ACL
-entries.
+are updated.
+An archive entry cannot contain both POSIX.1e and NFSv4 ACL entries.
.Pp
.Fn archive_entry_acl_clear
removes all ACL entries and resets the enumeration pointer.
@@ -300,7 +292,8 @@ for POSIX.1e ACLs and
.It Dv ARCHIVE_ENTRY_ACL_TYPE_AUDIT
.It Dv ARCHIVE_ENTRY_ACL_TYPE_ALARM
.El
-for NFSv4 ACLs. For POSIX.1e ACLs if
+for NFSv4 ACLs.
+For POSIX.1e ACLs if
.Dv ARCHIVE_ENTRY_ACL_TYPE_ACCESS
is included and at least one extended ACL entry is found,
the three non-extended ACLs are added.
@@ -312,7 +305,8 @@ add new
.Pq or merge with existing
ACL entries from
.Pq wide
-text. The argument
+text.
+The argument
.Fa type
may take one of the following values:
.Bl -tag -offset indent -compact -width "ARCHIVE_ENTRY_ACL_TYPE_DEFAULT"
@@ -322,11 +316,13 @@ may take one of the following values:
.El
Supports all formats that can be created with
.Fn archive_entry_acl_to_text
-or respective
+or respectively
.Fn archive_entry_acl_to_text_w .
-Existing ACL entries are preserved. To get a clean new ACL from text
+Existing ACL entries are preserved.
+To get a clean new ACL from text
.Fn archive_entry_acl_clear
-must be called first. Entries prefixed with
+must be called first.
+Entries prefixed with
.Dq default:
are treated as
.Dv ARCHIVE_ENTRY_ACL_TYPE_DEFAULT
@@ -342,8 +338,6 @@ character
are skipped.
.Pp
.Fn archive_entry_acl_next
-and
-.Fn archive_entry_acl_next_w
return the next entry of the ACL list.
This functions may only be called after
.Fn archive_entry_acl_reset
@@ -351,10 +345,8 @@ has indicated the presence of extended ACL entries.
.Pp
.Fn archive_entry_acl_reset
prepare reading the list of ACL entries with
-.Fn archive_entry_acl_next
-or
-.Fn archive_entry_acl_next_w .
-The function returns either 0, if no non-extended ACLs are found.
+.Fn archive_entry_acl_next .
+The function returns 0 if no non-extended ACLs are found.
In this case, the access permissions should be obtained by
.Xr archive_entry_mode 3
or set using
@@ -367,7 +359,8 @@ and
.Fn archive_entry_acl_to_text_w
convert the ACL entries for the given type into a
.Pq wide
-string of ACL entries separated by newline. If the pointer
+string of ACL entries separated by newline.
+If the pointer
.Fa len_p
is not NULL, then the function shall return the length of the string
.Pq not including the NULL terminator
@@ -415,7 +408,8 @@ are prefixed with
.Dq default: .
.Pp
.Fn archive_entry_acl_types
-get ACL entry types contained in an archive entry's ACL. As POSIX.1e and NFSv4
+get ACL entry types contained in an archive entry's ACL.
+As POSIX.1e and NFSv4
ACL entries cannot be mixed, this function is a very efficient way to detect if
an ACL already contains POSIX.1e or NFSv4 ACL entries.
.Sh RETURN VALUES
@@ -438,9 +432,7 @@ if all entries were successfully parsed and
if one or more entries were invalid or non-parseable.
.Pp
.Fn archive_entry_acl_next
-and
-.Fn archive_entry_acl_next_w
-return
+returns
.Dv ARCHIVE_OK
on success,
.Dv ARCHIVE_EOF
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry_locale.h b/Utilities/cmlibarchive/libarchive/archive_entry_locale.h
index 44550c5..803c036 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry_locale.h
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_locale.h
@@ -25,13 +25,13 @@
* $FreeBSD$
*/
+#ifndef ARCHIVE_ENTRY_LOCALE_H_INCLUDED
+#define ARCHIVE_ENTRY_LOCALE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_ENTRY_LOCALE_H_INCLUDED
-#define ARCHIVE_ENTRY_LOCALE_H_INCLUDED
-
struct archive_entry;
struct archive_string_conv;
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry_misc.3 b/Utilities/cmlibarchive/libarchive/archive_entry_misc.3
new file mode 100644
index 0000000..dfab7dd
--- /dev/null
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_misc.3
@@ -0,0 +1,63 @@
+.\" Copyright (c) 2019 Martin Matuska
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd April 15, 2019
+.Dt ARCHIVE_ENTRY_MISC 3
+.Os
+.Sh NAME
+.Nm archive_entry_symlink_type ,
+.Nm archive_entry_set_symlink_type
+.Nd miscellaneous functions for manipulating properties of archive_entry
+.Sh LIBRARY
+Streaming Archive Library (libarchive, -larchive)
+.Sh SYNOPSIS
+.In archive_entry.h
+.Ft int
+.Fn archive_entry_symlink_type "struct archive_entry *a"
+.Ft void
+.Fn archive_entry_set_symlink_type "struct archive_entry *a" "int"
+.Sh DESCRIPTION
+The function
+.Fn archive_entry_symlink_type
+returns and the function
+.Fn archive_entry_set_symlink_type
+sets the type of the symbolic link stored in an archive entry.
+These functions
+have special meaning on operating systems that support multiple symbolic link
+types (e.g. Microsoft Windows).
+.Pp
+Supported values are:
+.Bl -tag -width "AE_SYMLINK_TYPE_DIRECTORY" -compact
+.It AE_SYMLINK_TYPE_UNDEFINED
+Symbolic link target type is not defined (default on unix systems)
+.It AE_SYMLINK_TYPE_FILE
+Symbolic link points to a file
+.It AE_SYMLINK_TYPE_DIRECTORY
+Symbolic link points to a directory
+.El
+.Sh SEE ALSO
+.Xr archive_entry 3 ,
+.Xr archive_entry_paths 3 ,
+.Xr archive_entry_stat 3 ,
+.Xr libarchive 3
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry_paths.3 b/Utilities/cmlibarchive/libarchive/archive_entry_paths.3
index f647212..0f849c9 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry_paths.3
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_paths.3
@@ -133,7 +133,7 @@ The accessor functions are named
.Fn XXX_w .
.It UTF-8
Unicode strings encoded as UTF-8.
-This are convience functions to update both the multibyte and wide
+These are convenience functions to update both the multibyte and wide
character strings at the same time.
.El
.Pp
@@ -141,13 +141,13 @@ The sourcepath is a pure filesystem concept and never stored in an
archive directly.
.Pp
For that reason, it is only available as multibyte string.
-The link path is a convience function for conditionally setting
+The link path is a convenience function for conditionally setting
hardlink or symlink destination.
It doesn't have a corresponding get accessor function.
.Pp
.Fn archive_entry_set_XXX
-is an alias for
+is an alias for
.Fn archive_entry_copy_XXX .
.Sh SEE ALSO
-.Xr archive_entry 3
-.Xr libarchive 3 ,
+.Xr archive_entry 3 ,
+.Xr libarchive 3
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry_perms.3 b/Utilities/cmlibarchive/libarchive/archive_entry_perms.3
index aae3648..0291b7b 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry_perms.3
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_perms.3
@@ -126,7 +126,7 @@ The corresponding functions
and
.Fn archive_entry_set_perm
store the given user id, group id and permission in the entry.
-The permission is also set as side effect of calling
+The permission is also set as a side effect of calling
.Fn archive_entry_set_mode .
.Pp
.Fn archive_entry_strmode
@@ -143,12 +143,12 @@ The accessor functions are named
.Fn XXX_w .
.It UTF-8
Unicode strings encoded as UTF-8.
-This are convience functions to update both the multibyte and wide
+These are convenience functions to update both the multibyte and wide
character strings at the same time.
.El
.Pp
.Fn archive_entry_set_XXX
-is an alias for
+is an alias for
.Fn archive_entry_copy_XXX .
.Ss File Flags
File flags are transparently converted between a bitmap
@@ -182,7 +182,7 @@ The
.Fn archive_entry_copy_fflags_text
and
.Fn archive_entry_copy_fflags_text_w
-functions parse the provided text and sets the internal bitmap values.
+functions parse the provided text and set the internal bitmap values.
This is a platform-specific operation; names that are not meaningful
on the current platform will be ignored.
The function returns a pointer to the start of the first name that was not
@@ -197,8 +197,8 @@ which stops parsing at the first unrecognized name.)
.Xr archive_entry 3 ,
.Xr archive_entry_acl 3 ,
.Xr archive_read_disk 3 ,
-.Xr archive_write_disk 3
-.Xr libarchive 3 ,
+.Xr archive_write_disk 3 ,
+.Xr libarchive 3
.Sh BUGS
The platform types
.Vt uid_t
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry_private.h b/Utilities/cmlibarchive/libarchive/archive_entry_private.h
index c69233e..2b9a084 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_private.h
@@ -25,13 +25,13 @@
* $FreeBSD: head/lib/libarchive/archive_entry_private.h 201096 2009-12-28 02:41:27Z kientzle $
*/
+#ifndef ARCHIVE_ENTRY_PRIVATE_H_INCLUDED
+#define ARCHIVE_ENTRY_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_ENTRY_PRIVATE_H_INCLUDED
-#define ARCHIVE_ENTRY_PRIVATE_H_INCLUDED
-
#include "archive_acl_private.h"
#include "archive_string.h"
@@ -176,6 +176,9 @@ struct archive_entry {
/* Miscellaneous. */
char strmode[12];
+
+ /* Symlink type support */
+ int ae_symlink_type;
};
#endif /* ARCHIVE_ENTRY_PRIVATE_H_INCLUDED */
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry_stat.3 b/Utilities/cmlibarchive/libarchive/archive_entry_stat.3
index 26611e4..aa5c8e0 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry_stat.3
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_stat.3
@@ -54,7 +54,7 @@
.Nm archive_entry_rdevmajor ,
.Nm archive_entry_set_rdevmajor ,
.Nm archive_entry_rdevminor ,
-.Nm archive_entry_set_rdevminor ,
+.Nm archive_entry_set_rdevminor
.Nd accessor functions for manipulating archive entry descriptions
.Sh LIBRARY
Streaming Archive Library (libarchive, -larchive)
@@ -267,8 +267,8 @@ platforms.
Some archive formats use the combined form, while other formats use
the split form.
.Sh SEE ALSO
+.Xr stat 2 ,
.Xr archive_entry_acl 3 ,
.Xr archive_entry_perms 3 ,
.Xr archive_entry_time 3 ,
-.Xr libarchive 3 ,
-.Xr stat 2
+.Xr libarchive 3
diff --git a/Utilities/cmlibarchive/libarchive/archive_entry_time.3 b/Utilities/cmlibarchive/libarchive/archive_entry_time.3
index 1864521..d0563ea 100644
--- a/Utilities/cmlibarchive/libarchive/archive_entry_time.3
+++ b/Utilities/cmlibarchive/libarchive/archive_entry_time.3
@@ -48,7 +48,7 @@
.Nm archive_entry_mtime_nsec ,
.Nm archive_entry_mtime_is_set ,
.Nm archive_entry_set_mtime ,
-.Nm archive_entry_unset_mtime ,
+.Nm archive_entry_unset_mtime
.Nd functions for manipulating times in archive entry descriptions
.Sh LIBRARY
Streaming Archive Library (libarchive, -larchive)
@@ -113,8 +113,8 @@ The current state can be queried using
.Fn XXX_is_set .
Unset time fields have a second and nanosecond field of 0.
.Sh SEE ALSO
-.Xr archive_entry 3
-.Xr libarchive 3 ,
+.Xr archive_entry 3 ,
+.Xr libarchive 3
.Sh HISTORY
The
.Nm libarchive
diff --git a/Utilities/cmlibarchive/libarchive/archive_getdate.c b/Utilities/cmlibarchive/libarchive/archive_getdate.c
index 030c083..6786d35 100644
--- a/Utilities/cmlibarchive/libarchive/archive_getdate.c
+++ b/Utilities/cmlibarchive/libarchive/archive_getdate.c
@@ -27,6 +27,9 @@
** This code is in the public domain and has no copyright.
*/
+#ifndef CM_GET_DATE
+#include "archive_platform.h"
+#endif
#ifdef __FreeBSD__
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
@@ -694,8 +697,16 @@ Convert(time_t Month, time_t Day, time_t Year,
signed char DaysInMonth[12] = {
31, 0, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
};
- time_t Julian;
- int i;
+ time_t Julian;
+ int i;
+ struct tm *ltime;
+#if defined(HAVE_LOCALTIME_R) || defined(HAVE__LOCALTIME64_S)
+ struct tm tmbuf;
+#endif
+#if defined(HAVE__LOCALTIME64_S)
+ errno_t terr;
+ __time64_t tmptime;
+#endif
if (Year < 69)
Year += 2000;
@@ -722,21 +733,64 @@ Convert(time_t Month, time_t Day, time_t Year,
Julian *= DAY;
Julian += Timezone;
Julian += Hours * HOUR + Minutes * MINUTE + Seconds;
+#if defined(HAVE_LOCALTIME_R)
+ ltime = localtime_r(&Julian, &tmbuf);
+#elif defined(HAVE__LOCALTIME64_S)
+ tmptime = Julian;
+ terr = _localtime64_s(&tmbuf, &tmptime);
+ if (terr)
+ ltime = NULL;
+ else
+ ltime = &tmbuf;
+#else
+ ltime = localtime(&Julian);
+#endif
if (DSTmode == DSTon
- || (DSTmode == DSTmaybe && localtime(&Julian)->tm_isdst))
+ || (DSTmode == DSTmaybe && ltime->tm_isdst))
Julian -= HOUR;
return Julian;
}
-
static time_t
DSTcorrect(time_t Start, time_t Future)
{
- time_t StartDay;
- time_t FutureDay;
+ time_t StartDay;
+ time_t FutureDay;
+ struct tm *ltime;
+#if defined(HAVE_LOCALTIME_R) || defined(HAVE__LOCALTIME64_S)
+ struct tm tmbuf;
+#endif
+#if defined(HAVE__LOCALTIME64_S)
+ errno_t terr;
+ __time64_t tmptime;
+#endif
- StartDay = (localtime(&Start)->tm_hour + 1) % 24;
- FutureDay = (localtime(&Future)->tm_hour + 1) % 24;
+#if defined(HAVE_LOCALTIME_R)
+ ltime = localtime_r(&Start, &tmbuf);
+#elif defined(HAVE__LOCALTIME64_S)
+ tmptime = Start;
+ terr = _localtime64_s(&tmbuf, &tmptime);
+ if (terr)
+ ltime = NULL;
+ else
+ ltime = &tmbuf;
+#else
+ ltime = localtime(&Start);
+#endif
+ StartDay = (ltime->tm_hour + 1) % 24;
+#if defined(HAVE_LOCALTIME_R)
+ ltime = localtime_r(&Future, &tmbuf);
+#elif defined(HAVE__LOCALTIME64_S)
+ tmptime = Future;
+ terr = _localtime64_s(&tmbuf, &tmptime);
+ if (terr)
+ ltime = NULL;
+ else
+ ltime = &tmbuf;
+#else
+ ltime = localtime(&Future);
+#endif
+ FutureDay = (ltime->tm_hour + 1) % 24;
return (Future - Start) + (StartDay - FutureDay) * HOUR;
}
@@ -747,9 +801,27 @@ RelativeDate(time_t Start, time_t zone, int dstmode,
{
struct tm *tm;
time_t t, now;
+#if defined(HAVE_GMTIME_R) || defined(HAVE__GMTIME64_S)
+ struct tm tmbuf;
+#endif
+#if defined(HAVE__GMTIME64_S)
+ errno_t terr;
+ __time64_t tmptime;
+#endif
t = Start - zone;
+#if defined(HAVE_GMTIME_R)
+ tm = gmtime_r(&t, &tmbuf);
+#elif defined(HAVE__GMTIME64_S)
+ tmptime = t;
+ terr = _gmtime64_s(&tmbuf, &tmptime);
+ if (terr)
+ tm = NULL;
+ else
+ tm = &tmbuf;
+#else
tm = gmtime(&t);
+#endif
now = Start;
now += DAY * ((DayNumber - tm->tm_wday + 7) % 7);
now += 7 * DAY * (DayOrdinal <= 0 ? DayOrdinal : DayOrdinal - 1);
@@ -765,10 +837,28 @@ RelativeMonth(time_t Start, time_t Timezone, time_t RelMonth)
struct tm *tm;
time_t Month;
time_t Year;
+#if defined(HAVE_LOCALTIME_R) || defined(HAVE__LOCALTIME64_S)
+ struct tm tmbuf;
+#endif
+#if defined(HAVE__LOCALTIME64_S)
+ errno_t terr;
+ __time64_t tmptime;
+#endif
if (RelMonth == 0)
return 0;
+#if defined(HAVE_LOCALTIME_R)
+ tm = localtime_r(&Start, &tmbuf);
+#elif defined(HAVE__LOCALTIME64_S)
+ tmptime = Start;
+ terr = _localtime64_s(&tmbuf, &tmptime);
+ if (terr)
+ tm = NULL;
+ else
+ tm = &tmbuf;
+#else
tm = localtime(&Start);
+#endif
Month = 12 * (tm->tm_year + 1900) + tm->tm_mon + RelMonth;
Year = Month / 12;
Month = Month % 12 + 1;
@@ -905,6 +995,10 @@ __archive_get_date(time_t now, const char *p)
time_t Start;
time_t tod;
long tzone;
+#if defined(HAVE__LOCALTIME64_S) || defined(HAVE__GMTIME64_S)
+ errno_t terr;
+ __time64_t tmptime;
+#endif
/* Clear out the parsed token array. */
memset(tokens, 0, sizeof(tokens));
@@ -913,20 +1007,44 @@ __archive_get_date(time_t now, const char *p)
gds = &_gds;
/* Look up the current time. */
+#if defined(HAVE_LOCALTIME_R)
+ tm = localtime_r(&now, &local);
+#elif defined(HAVE__LOCALTIME64_S)
+ tmptime = now;
+ terr = _localtime64_s(&local, &tmptime);
+ if (terr)
+ tm = NULL;
+ else
+ tm = &local;
+#else
memset(&local, 0, sizeof(local));
- tm = localtime (&now);
+ tm = localtime(&now);
+#endif
if (tm == NULL)
return -1;
+#if !defined(HAVE_LOCALTIME_R) && !defined(HAVE__LOCALTIME64_S)
local = *tm;
+#endif
/* Look up UTC if we can and use that to determine the current
* timezone offset. */
+#if defined(HAVE_GMTIME_R)
+ gmt_ptr = gmtime_r(&now, &gmt);
+#elif defined(HAVE__GMTIME64_S)
+ tmptime = now;
+ terr = _gmtime64_s(&gmt, &tmptime);
+ if (terr)
+ gmt_ptr = NULL;
+ else
+ gmt_ptr = &gmt;
+#else
memset(&gmt, 0, sizeof(gmt));
- gmt_ptr = gmtime (&now);
+ gmt_ptr = gmtime(&now);
if (gmt_ptr != NULL) {
/* Copy, in case localtime and gmtime use the same buffer. */
gmt = *gmt_ptr;
}
+#endif
if (gmt_ptr != NULL)
tzone = difftm (&gmt, &local);
else
@@ -960,7 +1078,18 @@ __archive_get_date(time_t now, const char *p)
* time components instead of the local timezone. */
if (gds->HaveZone && gmt_ptr != NULL) {
now -= gds->Timezone;
- gmt_ptr = gmtime (&now);
+#if defined(HAVE_GMTIME_R)
+ gmt_ptr = gmtime_r(&now, &gmt);
+#elif defined(HAVE__GMTIME64_S)
+ tmptime = now;
+ terr = _gmtime64_s(&gmt, &tmptime);
+ if (terr)
+ gmt_ptr = NULL;
+ else
+ gmt_ptr = &gmt;
+#else
+ gmt_ptr = gmtime(&now);
+#endif
if (gmt_ptr != NULL)
local = *gmt_ptr;
now += gds->Timezone;
diff --git a/Utilities/cmlibarchive/libarchive/archive_getdate.h b/Utilities/cmlibarchive/libarchive/archive_getdate.h
index 666ff5f..900a8f6 100644
--- a/Utilities/cmlibarchive/libarchive/archive_getdate.h
+++ b/Utilities/cmlibarchive/libarchive/archive_getdate.h
@@ -25,13 +25,13 @@
* $FreeBSD$
*/
+#ifndef ARCHIVE_GETDATE_H_INCLUDED
+#define ARCHIVE_GETDATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_GETDATE_H_INCLUDED
-#define ARCHIVE_GETDATE_H_INCLUDED
-
#include <time.h>
time_t __archive_get_date(time_t now, const char *);
diff --git a/Utilities/cmlibarchive/libarchive/archive_hmac.c b/Utilities/cmlibarchive/libarchive/archive_hmac.c
index f299655..2a9d04c 100644
--- a/Utilities/cmlibarchive/libarchive/archive_hmac.c
+++ b/Utilities/cmlibarchive/libarchive/archive_hmac.c
@@ -83,6 +83,9 @@ __hmac_sha1_cleanup(archive_hmac_sha1_ctx *ctx)
static int
__hmac_sha1_init(archive_hmac_sha1_ctx *ctx, const uint8_t *key, size_t key_len)
{
+#ifdef __GNUC__
+#pragma GCC diagnostic ignored "-Wcast-qual"
+#endif
BCRYPT_ALG_HANDLE hAlg;
BCRYPT_HASH_HANDLE hHash;
DWORD hash_len;
@@ -147,6 +150,53 @@ __hmac_sha1_cleanup(archive_hmac_sha1_ctx *ctx)
}
}
+#elif defined(HAVE_LIBMBEDCRYPTO) && defined(HAVE_MBEDTLS_MD_H)
+
+static int
+__hmac_sha1_init(archive_hmac_sha1_ctx *ctx, const uint8_t *key, size_t key_len)
+{
+ const mbedtls_md_info_t *info;
+ int ret;
+
+ mbedtls_md_init(ctx);
+ info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA1);
+ if (info == NULL) {
+ mbedtls_md_free(ctx);
+ return (-1);
+ }
+ ret = mbedtls_md_setup(ctx, info, 1);
+ if (ret != 0) {
+ mbedtls_md_free(ctx);
+ return (-1);
+ }
+ ret = mbedtls_md_hmac_starts(ctx, key, key_len);
+ if (ret != 0) {
+ mbedtls_md_free(ctx);
+ return (-1);
+ }
+ return 0;
+}
+
+static void
+__hmac_sha1_update(archive_hmac_sha1_ctx *ctx, const uint8_t *data,
+ size_t data_len)
+{
+ mbedtls_md_hmac_update(ctx, data, data_len);
+}
+
+static void __hmac_sha1_final(archive_hmac_sha1_ctx *ctx, uint8_t *out, size_t *out_len)
+{
+ (void)out_len; /* UNUSED */
+
+ mbedtls_md_hmac_finish(ctx, out);
+}
+
+static void __hmac_sha1_cleanup(archive_hmac_sha1_ctx *ctx)
+{
+ mbedtls_md_free(ctx);
+ memset(ctx, 0, sizeof(*ctx));
+}
+
#elif defined(HAVE_LIBNETTLE) && defined(HAVE_NETTLE_HMAC_H)
static int
@@ -198,6 +248,7 @@ static void
__hmac_sha1_final(archive_hmac_sha1_ctx *ctx, uint8_t *out, size_t *out_len)
{
unsigned int len = (unsigned int)*out_len;
+
HMAC_Final(*ctx, out, &len);
*out_len = len;
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_hmac_private.h b/Utilities/cmlibarchive/libarchive/archive_hmac_private.h
index eb45c4e..13a67d4 100644
--- a/Utilities/cmlibarchive/libarchive/archive_hmac_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_hmac_private.h
@@ -23,13 +23,12 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __LIBARCHIVE_BUILD
-#error This header is only to be used internally to libarchive.
-#endif
-
#ifndef ARCHIVE_HMAC_PRIVATE_H_INCLUDED
#define ARCHIVE_HMAC_PRIVATE_H_INCLUDED
+#ifndef __LIBARCHIVE_BUILD
+#error This header is only to be used internally to libarchive.
+#endif
/*
* On systems that do not support any recognized crypto libraries,
* the archive_hmac.c file is expected to define no usable symbols.
@@ -64,6 +63,11 @@ typedef struct {
} archive_hmac_sha1_ctx;
+#elif defined(HAVE_LIBMBEDCRYPTO) && defined(HAVE_MBEDTLS_MD_H)
+#include <mbedtls/md.h>
+
+typedef mbedtls_md_context_t archive_hmac_sha1_ctx;
+
#elif defined(HAVE_LIBNETTLE) && defined(HAVE_NETTLE_HMAC_H)
#include <nettle/hmac.h>
diff --git a/Utilities/cmlibarchive/libarchive/archive_match.c b/Utilities/cmlibarchive/libarchive/archive_match.c
index f150e82..04747b1 100644
--- a/Utilities/cmlibarchive/libarchive/archive_match.c
+++ b/Utilities/cmlibarchive/libarchive/archive_match.c
@@ -93,6 +93,9 @@ struct archive_match {
/* exclusion/inclusion set flag. */
int setflag;
+ /* Recursively include directory content? */
+ int recursive_include;
+
/*
* Matching filename patterns.
*/
@@ -223,6 +226,7 @@ archive_match_new(void)
return (NULL);
a->archive.magic = ARCHIVE_MATCH_MAGIC;
a->archive.state = ARCHIVE_STATE_NEW;
+ a->recursive_include = 1;
match_list_init(&(a->inclusions));
match_list_init(&(a->exclusions));
__archive_rb_tree_init(&(a->exclusion_tree), &rb_ops_mbs);
@@ -471,6 +475,28 @@ archive_match_path_excluded(struct archive *_a,
}
/*
+ * When recursive inclusion of directory content is enabled,
+ * an inclusion pattern that matches a directory will also
+ * include everything beneath that directory. Enabled by default.
+ *
+ * For compatibility with GNU tar, exclusion patterns always
+ * match if a subset of the full patch matches (i.e., they are
+ * are not rooted at the beginning of the path) and thus there
+ * is no corresponding non-recursive exclusion mode.
+ */
+int
+archive_match_set_inclusion_recursion(struct archive *_a, int enabled)
+{
+ struct archive_match *a;
+
+ archive_check_magic(_a, ARCHIVE_MATCH_MAGIC,
+ ARCHIVE_STATE_NEW, "archive_match_set_inclusion_recursion");
+ a = (struct archive_match *)_a;
+ a->recursive_include = enabled;
+ return (ARCHIVE_OK);
+}
+
+/*
* Utility functions to get statistic information for inclusion patterns.
*/
int
@@ -781,7 +807,10 @@ static int
match_path_inclusion(struct archive_match *a, struct match *m,
int mbs, const void *pn)
{
- int flag = PATHMATCH_NO_ANCHOR_END;
+ /* Recursive operation requires only a prefix match. */
+ int flag = a->recursive_include ?
+ PATHMATCH_NO_ANCHOR_END :
+ 0;
int r;
if (mbs) {
@@ -1232,7 +1261,7 @@ set_timefilter_pathname_mbs(struct archive_match *a, int timetype,
archive_set_error(&(a->archive), EINVAL, "pathname is empty");
return (ARCHIVE_FAILED);
}
- if (stat(path, &st) != 0) {
+ if (la_stat(path, &st) != 0) {
archive_set_error(&(a->archive), errno, "Failed to stat()");
return (ARCHIVE_FAILED);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_openssl_evp_private.h b/Utilities/cmlibarchive/libarchive/archive_openssl_evp_private.h
index 43a3ccc..ebb0670 100644
--- a/Utilities/cmlibarchive/libarchive/archive_openssl_evp_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_openssl_evp_private.h
@@ -22,9 +22,14 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#ifndef ARCHIVE_OPENSSL_EVP_PRIVATE_H_INCLUDED
#define ARCHIVE_OPENSSL_EVP_PRIVATE_H_INCLUDED
+#ifndef __LIBARCHIVE_BUILD
+#error This header is only to be used internally to libarchive.
+#endif
+
#include <openssl/evp.h>
#include <openssl/opensslv.h>
diff --git a/Utilities/cmlibarchive/libarchive/archive_openssl_hmac_private.h b/Utilities/cmlibarchive/libarchive/archive_openssl_hmac_private.h
index 921249b..25c8dda 100644
--- a/Utilities/cmlibarchive/libarchive/archive_openssl_hmac_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_openssl_hmac_private.h
@@ -22,9 +22,14 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+
#ifndef ARCHIVE_OPENSSL_HMAC_PRIVATE_H_INCLUDED
#define ARCHIVE_OPENSSL_HMAC_PRIVATE_H_INCLUDED
+#ifndef __LIBARCHIVE_BUILD
+#error This header is only to be used internally to libarchive.
+#endif
+
#include <openssl/hmac.h>
#include <openssl/opensslv.h>
diff --git a/Utilities/cmlibarchive/libarchive/archive_options_private.h b/Utilities/cmlibarchive/libarchive/archive_options_private.h
index 6ef0165..9a7f808 100644
--- a/Utilities/cmlibarchive/libarchive/archive_options_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_options_private.h
@@ -23,6 +23,9 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifndef ARCHIVE_OPTIONS_PRIVATE_H_INCLUDED
+#define ARCHIVE_OPTIONS_PRIVATE_H_INCLUDED
+
#include "archive_platform.h"
__FBSDID("$FreeBSD$");
@@ -45,3 +48,4 @@ _archive_set_either_option(struct archive *a,
const char *m, const char *o, const char *v,
option_handler use_format_option, option_handler use_filter_option);
+#endif
diff --git a/Utilities/cmlibarchive/libarchive/archive_pack_dev.h b/Utilities/cmlibarchive/libarchive/archive_pack_dev.h
index 749fd3d..eaf23e3 100644
--- a/Utilities/cmlibarchive/libarchive/archive_pack_dev.h
+++ b/Utilities/cmlibarchive/libarchive/archive_pack_dev.h
@@ -31,8 +31,8 @@
/* Originally from NetBSD's mknod(8) source. */
-#ifndef _PACK_DEV_H
-#define _PACK_DEV_H
+#ifndef ARCHIVE_PACK_DEV_H
+#define ARCHIVE_PACK_DEV_H
typedef dev_t pack_t(int, unsigned long [], const char **);
@@ -46,4 +46,4 @@ pack_t pack_native;
(((y) << 12) & 0xfff00000) | \
(((y) << 0) & 0x000000ff)))
-#endif /* _PACK_DEV_H */
+#endif /* ARCHIVE_PACK_DEV_H */
diff --git a/Utilities/cmlibarchive/libarchive/archive_pathmatch.h b/Utilities/cmlibarchive/libarchive/archive_pathmatch.h
index e690177..9995142 100644
--- a/Utilities/cmlibarchive/libarchive/archive_pathmatch.h
+++ b/Utilities/cmlibarchive/libarchive/archive_pathmatch.h
@@ -26,15 +26,15 @@
* $FreeBSD$
*/
+#ifndef ARCHIVE_PATHMATCH_H
+#define ARCHIVE_PATHMATCH_H
+
#ifndef __LIBARCHIVE_BUILD
#ifndef __LIBARCHIVE_TEST
#error This header is only to be used internally to libarchive.
#endif
#endif
-#ifndef ARCHIVE_PATHMATCH_H
-#define ARCHIVE_PATHMATCH_H
-
/* Don't anchor at beginning unless the pattern starts with "^" */
#define PATHMATCH_NO_ANCHOR_START 1
/* Don't anchor at end unless the pattern ends with "$" */
diff --git a/Utilities/cmlibarchive/libarchive/archive_platform.h b/Utilities/cmlibarchive/libarchive/archive_platform.h
index e161e64..90db31f 100644
--- a/Utilities/cmlibarchive/libarchive/archive_platform.h
+++ b/Utilities/cmlibarchive/libarchive/archive_platform.h
@@ -69,6 +69,8 @@
* either Windows or Posix APIs. */
#if (defined(__WIN32__) || defined(_WIN32) || defined(__WIN32)) && !defined(__CYGWIN__)
#include "archive_windows.h"
+#else
+#define la_stat(path,stref) stat(path,stref)
#endif
/*
diff --git a/Utilities/cmlibarchive/libarchive/archive_platform_acl.h b/Utilities/cmlibarchive/libarchive/archive_platform_acl.h
index 3498f78..264e6de 100644
--- a/Utilities/cmlibarchive/libarchive/archive_platform_acl.h
+++ b/Utilities/cmlibarchive/libarchive/archive_platform_acl.h
@@ -30,6 +30,12 @@
#ifndef ARCHIVE_PLATFORM_ACL_H_INCLUDED
#define ARCHIVE_PLATFORM_ACL_H_INCLUDED
+#ifndef __LIBARCHIVE_BUILD
+#ifndef __LIBARCHIVE_TEST_COMMON
+#error This header is only to be used internally to libarchive.
+#endif
+#endif
+
/*
* Determine what ACL types are supported
*/
diff --git a/Utilities/cmlibarchive/libarchive/archive_platform_xattr.h b/Utilities/cmlibarchive/libarchive/archive_platform_xattr.h
index 4edfecf..ad4b90a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_platform_xattr.h
+++ b/Utilities/cmlibarchive/libarchive/archive_platform_xattr.h
@@ -30,6 +30,12 @@
#ifndef ARCHIVE_PLATFORM_XATTR_H_INCLUDED
#define ARCHIVE_PLATFORM_XATTR_H_INCLUDED
+#ifndef __LIBARCHIVE_BUILD
+#ifndef __LIBARCHIVE_TEST_COMMON
+#error This header is only to be used internally to libarchive.
+#endif
+#endif
+
/*
* Determine if we support extended attributes
*/
diff --git a/Utilities/cmlibarchive/libarchive/archive_ppmd7.c b/Utilities/cmlibarchive/libarchive/archive_ppmd7.c
index d0bacc6..4029395 100644
--- a/Utilities/cmlibarchive/libarchive/archive_ppmd7.c
+++ b/Utilities/cmlibarchive/libarchive/archive_ppmd7.c
@@ -1000,7 +1000,7 @@ static void RangeEnc_ShiftLow(CPpmd7z_RangeEnc *p)
static void RangeEnc_Encode(CPpmd7z_RangeEnc *p, UInt32 start, UInt32 size, UInt32 total)
{
- p->Low += start * (p->Range /= total);
+ p->Low += (UInt64)start * (UInt64)(p->Range /= total);
p->Range *= size;
while (p->Range < kTopValue)
{
diff --git a/Utilities/cmlibarchive/libarchive/archive_ppmd7_private.h b/Utilities/cmlibarchive/libarchive/archive_ppmd7_private.h
index 577d6fb..71b9544 100644
--- a/Utilities/cmlibarchive/libarchive/archive_ppmd7_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_ppmd7_private.h
@@ -6,13 +6,13 @@ This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */
of RangeCoder from 7z, instead of RangeCoder from original PPMd var.H.
If you need the compatibility with original PPMd var.H, you can use external RangeDecoder */
+#ifndef ARCHIVE_PPMD7_PRIVATE_H_INCLUDED
+#define ARCHIVE_PPMD7_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_PPMD7_PRIVATE_H_INCLUDED
-#define ARCHIVE_PPMD7_PRIVATE_H_INCLUDED
-
#include "archive_ppmd_private.h"
#define PPMD7_MIN_ORDER 2
diff --git a/Utilities/cmlibarchive/libarchive/archive_ppmd8.c b/Utilities/cmlibarchive/libarchive/archive_ppmd8.c
new file mode 100644
index 0000000..d177939
--- /dev/null
+++ b/Utilities/cmlibarchive/libarchive/archive_ppmd8.c
@@ -0,0 +1,1287 @@
+/* Ppmd8.c -- PPMdI codec
+2016-05-21 : Igor Pavlov : Public domain
+This code is based on PPMd var.I (2002): Dmitry Shkarin : Public domain */
+
+#include "archive_platform.h"
+
+#include <string.h>
+
+#include "archive_ppmd8_private.h"
+
+const Byte PPMD8_kExpEscape[16] = { 25, 14, 9, 7, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2 };
+static const UInt16 kInitBinEsc[] = { 0x3CDD, 0x1F3F, 0x59BF, 0x48F3, 0x64A1, 0x5ABC, 0x6632, 0x6051};
+
+#define MAX_FREQ 124
+#define UNIT_SIZE 12
+
+#define U2B(nu) ((UInt32)(nu) * UNIT_SIZE)
+#define U2I(nu) (p->Units2Indx[(nu) - 1])
+#define I2U(indx) (p->Indx2Units[indx])
+
+#ifdef PPMD_32BIT
+ #define REF(ptr) (ptr)
+#else
+ #define REF(ptr) ((UInt32)((Byte *)(ptr) - (p)->Base))
+#endif
+
+#define STATS_REF(ptr) ((CPpmd_State_Ref)REF(ptr))
+
+#define CTX(ref) ((CPpmd8_Context *)Ppmd8_GetContext(p, ref))
+#define STATS(ctx) Ppmd8_GetStats(p, ctx)
+#define ONE_STATE(ctx) Ppmd8Context_OneState(ctx)
+#define SUFFIX(ctx) CTX((ctx)->Suffix)
+
+#define kTop (1 << 24)
+#define kBot (1 << 15)
+
+typedef CPpmd8_Context * CTX_PTR;
+
+struct CPpmd8_Node_;
+
+typedef
+ #ifdef PPMD_32BIT
+ struct CPpmd8_Node_ *
+ #else
+ UInt32
+ #endif
+ CPpmd8_Node_Ref;
+
+typedef struct CPpmd8_Node_
+{
+ UInt32 Stamp;
+ CPpmd8_Node_Ref Next;
+ UInt32 NU;
+} CPpmd8_Node;
+
+#ifdef PPMD_32BIT
+ #define NODE(ptr) (ptr)
+#else
+ #define NODE(offs) ((CPpmd8_Node *)(p->Base + (offs)))
+#endif
+
+#define EMPTY_NODE 0xFFFFFFFF
+
+void Ppmd8_Construct(CPpmd8 *p)
+{
+ unsigned i, k, m;
+
+ p->Base = 0;
+
+ for (i = 0, k = 0; i < PPMD_NUM_INDEXES; i++)
+ {
+ unsigned step = (i >= 12 ? 4 : (i >> 2) + 1);
+ do { p->Units2Indx[k++] = (Byte)i; } while (--step);
+ p->Indx2Units[i] = (Byte)k;
+ }
+
+ p->NS2BSIndx[0] = (0 << 1);
+ p->NS2BSIndx[1] = (1 << 1);
+ memset(p->NS2BSIndx + 2, (2 << 1), 9);
+ memset(p->NS2BSIndx + 11, (3 << 1), 256 - 11);
+
+ for (i = 0; i < 5; i++)
+ p->NS2Indx[i] = (Byte)i;
+ for (m = i, k = 1; i < 260; i++)
+ {
+ p->NS2Indx[i] = (Byte)m;
+ if (--k == 0)
+ k = (++m) - 4;
+ }
+}
+
+void Ppmd8_Free(CPpmd8 *p)
+{
+ free(p->Base);
+ p->Size = 0;
+ p->Base = 0;
+}
+
+Bool Ppmd8_Alloc(CPpmd8 *p, UInt32 size)
+{
+ if (p->Base == 0 || p->Size != size)
+ {
+ Ppmd8_Free(p);
+ p->AlignOffset =
+ #ifdef PPMD_32BIT
+ (4 - size) & 3;
+ #else
+ 4 - (size & 3);
+ #endif
+ if ((p->Base = (Byte *)malloc(p->AlignOffset + size)) == 0)
+ return False;
+ p->Size = size;
+ }
+ return True;
+}
+
+static void InsertNode(CPpmd8 *p, void *node, unsigned indx)
+{
+ ((CPpmd8_Node *)node)->Stamp = EMPTY_NODE;
+ ((CPpmd8_Node *)node)->Next = (CPpmd8_Node_Ref)p->FreeList[indx];
+ ((CPpmd8_Node *)node)->NU = I2U(indx);
+ p->FreeList[indx] = REF(node);
+ p->Stamps[indx]++;
+}
+
+static void *RemoveNode(CPpmd8 *p, unsigned indx)
+{
+ CPpmd8_Node *node = NODE((CPpmd8_Node_Ref)p->FreeList[indx]);
+ p->FreeList[indx] = node->Next;
+ p->Stamps[indx]--;
+ return node;
+}
+
+static void SplitBlock(CPpmd8 *p, void *ptr, unsigned oldIndx, unsigned newIndx)
+{
+ unsigned i, nu = I2U(oldIndx) - I2U(newIndx);
+ ptr = (Byte *)ptr + U2B(I2U(newIndx));
+ if (I2U(i = U2I(nu)) != nu)
+ {
+ unsigned k = I2U(--i);
+ InsertNode(p, ((Byte *)ptr) + U2B(k), nu - k - 1);
+ }
+ InsertNode(p, ptr, i);
+}
+
+static void GlueFreeBlocks(CPpmd8 *p)
+{
+ CPpmd8_Node_Ref head = 0;
+ CPpmd8_Node_Ref *prev = &head;
+ unsigned i;
+
+ p->GlueCount = 1 << 13;
+ memset(p->Stamps, 0, sizeof(p->Stamps));
+
+ /* Order-0 context is always at top UNIT, so we don't need guard NODE at the end.
+ All blocks up to p->LoUnit can be free, so we need guard NODE at LoUnit. */
+ if (p->LoUnit != p->HiUnit)
+ ((CPpmd8_Node *)p->LoUnit)->Stamp = 0;
+
+ /* Glue free blocks */
+ for (i = 0; i < PPMD_NUM_INDEXES; i++)
+ {
+ CPpmd8_Node_Ref next = (CPpmd8_Node_Ref)p->FreeList[i];
+ p->FreeList[i] = 0;
+ while (next != 0)
+ {
+ CPpmd8_Node *node = NODE(next);
+ if (node->NU != 0)
+ {
+ CPpmd8_Node *node2;
+ *prev = next;
+ prev = &(node->Next);
+ while ((node2 = node + node->NU)->Stamp == EMPTY_NODE)
+ {
+ node->NU += node2->NU;
+ node2->NU = 0;
+ }
+ }
+ next = node->Next;
+ }
+ }
+ *prev = 0;
+
+ /* Fill lists of free blocks */
+ while (head != 0)
+ {
+ CPpmd8_Node *node = NODE(head);
+ unsigned nu;
+ head = node->Next;
+ nu = node->NU;
+ if (nu == 0)
+ continue;
+ for (; nu > 128; nu -= 128, node += 128)
+ InsertNode(p, node, PPMD_NUM_INDEXES - 1);
+ if (I2U(i = U2I(nu)) != nu)
+ {
+ unsigned k = I2U(--i);
+ InsertNode(p, node + k, nu - k - 1);
+ }
+ InsertNode(p, node, i);
+ }
+}
+
+static void *AllocUnitsRare(CPpmd8 *p, unsigned indx)
+{
+ unsigned i;
+ void *retVal;
+ if (p->GlueCount == 0)
+ {
+ GlueFreeBlocks(p);
+ if (p->FreeList[indx] != 0)
+ return RemoveNode(p, indx);
+ }
+ i = indx;
+ do
+ {
+ if (++i == PPMD_NUM_INDEXES)
+ {
+ UInt32 numBytes = U2B(I2U(indx));
+ p->GlueCount--;
+ return ((UInt32)(p->UnitsStart - p->Text) > numBytes) ? (p->UnitsStart -= numBytes) : (NULL);
+ }
+ }
+ while (p->FreeList[i] == 0);
+ retVal = RemoveNode(p, i);
+ SplitBlock(p, retVal, i, indx);
+ return retVal;
+}
+
+static void *AllocUnits(CPpmd8 *p, unsigned indx)
+{
+ UInt32 numBytes;
+ if (p->FreeList[indx] != 0)
+ return RemoveNode(p, indx);
+ numBytes = U2B(I2U(indx));
+ if (numBytes <= (UInt32)(p->HiUnit - p->LoUnit))
+ {
+ void *retVal = p->LoUnit;
+ p->LoUnit += numBytes;
+ return retVal;
+ }
+ return AllocUnitsRare(p, indx);
+}
+
+#define MyMem12Cpy(dest, src, num) \
+ { UInt32 *d = (UInt32 *)dest; const UInt32 *z = (const UInt32 *)src; UInt32 n = num; \
+ do { d[0] = z[0]; d[1] = z[1]; d[2] = z[2]; z += 3; d += 3; } while (--n); }
+
+static void *ShrinkUnits(CPpmd8 *p, void *oldPtr, unsigned oldNU, unsigned newNU)
+{
+ unsigned i0 = U2I(oldNU);
+ unsigned i1 = U2I(newNU);
+ if (i0 == i1)
+ return oldPtr;
+ if (p->FreeList[i1] != 0)
+ {
+ void *ptr = RemoveNode(p, i1);
+ MyMem12Cpy(ptr, oldPtr, newNU);
+ InsertNode(p, oldPtr, i0);
+ return ptr;
+ }
+ SplitBlock(p, oldPtr, i0, i1);
+ return oldPtr;
+}
+
+static void FreeUnits(CPpmd8 *p, void *ptr, unsigned nu)
+{
+ InsertNode(p, ptr, U2I(nu));
+}
+
+static void SpecialFreeUnit(CPpmd8 *p, void *ptr)
+{
+ if ((Byte *)ptr != p->UnitsStart)
+ InsertNode(p, ptr, 0);
+ else
+ {
+ #ifdef PPMD8_FREEZE_SUPPORT
+ *(UInt32 *)ptr = EMPTY_NODE; /* it's used for (Flags == 0xFF) check in RemoveBinContexts */
+ #endif
+ p->UnitsStart += UNIT_SIZE;
+ }
+}
+
+static void *MoveUnitsUp(CPpmd8 *p, void *oldPtr, unsigned nu)
+{
+ unsigned indx = U2I(nu);
+ void *ptr;
+ if ((Byte *)oldPtr > p->UnitsStart + 16 * 1024 || REF(oldPtr) > p->FreeList[indx])
+ return oldPtr;
+ ptr = RemoveNode(p, indx);
+ MyMem12Cpy(ptr, oldPtr, nu);
+ if ((Byte*)oldPtr != p->UnitsStart)
+ InsertNode(p, oldPtr, indx);
+ else
+ p->UnitsStart += U2B(I2U(indx));
+ return ptr;
+}
+
+static void ExpandTextArea(CPpmd8 *p)
+{
+ UInt32 count[PPMD_NUM_INDEXES];
+ unsigned i;
+ memset(count, 0, sizeof(count));
+ if (p->LoUnit != p->HiUnit)
+ ((CPpmd8_Node *)p->LoUnit)->Stamp = 0;
+
+ {
+ CPpmd8_Node *node = (CPpmd8_Node *)p->UnitsStart;
+ for (; node->Stamp == EMPTY_NODE; node += node->NU)
+ {
+ node->Stamp = 0;
+ count[U2I(node->NU)]++;
+ }
+ p->UnitsStart = (Byte *)node;
+ }
+
+ for (i = 0; i < PPMD_NUM_INDEXES; i++)
+ {
+ CPpmd8_Node_Ref *next = (CPpmd8_Node_Ref *)&p->FreeList[i];
+ while (count[i] != 0)
+ {
+ CPpmd8_Node *node = NODE(*next);
+ while (node->Stamp == 0)
+ {
+ *next = node->Next;
+ node = NODE(*next);
+ p->Stamps[i]--;
+ if (--count[i] == 0)
+ break;
+ }
+ next = &node->Next;
+ }
+ }
+}
+
+#define SUCCESSOR(p) ((CPpmd_Void_Ref)((p)->SuccessorLow | ((UInt32)(p)->SuccessorHigh << 16)))
+
+static void SetSuccessor(CPpmd_State *p, CPpmd_Void_Ref v)
+{
+ (p)->SuccessorLow = (UInt16)((UInt32)(v) & 0xFFFF);
+ (p)->SuccessorHigh = (UInt16)(((UInt32)(v) >> 16) & 0xFFFF);
+}
+
+#define RESET_TEXT(offs) { p->Text = p->Base + p->AlignOffset + (offs); }
+
+static void RestartModel(CPpmd8 *p)
+{
+ unsigned i, k, m, r;
+
+ memset(p->FreeList, 0, sizeof(p->FreeList));
+ memset(p->Stamps, 0, sizeof(p->Stamps));
+ RESET_TEXT(0);
+ p->HiUnit = p->Text + p->Size;
+ p->LoUnit = p->UnitsStart = p->HiUnit - p->Size / 8 / UNIT_SIZE * 7 * UNIT_SIZE;
+ p->GlueCount = 0;
+
+ p->OrderFall = p->MaxOrder;
+ p->RunLength = p->InitRL = -(Int32)((p->MaxOrder < 12) ? p->MaxOrder : 12) - 1;
+ p->PrevSuccess = 0;
+
+ p->MinContext = p->MaxContext = (CTX_PTR)(p->HiUnit -= UNIT_SIZE); /* AllocContext(p); */
+ p->MinContext->Suffix = 0;
+ p->MinContext->NumStats = 255;
+ p->MinContext->Flags = 0;
+ p->MinContext->SummFreq = 256 + 1;
+ p->FoundState = (CPpmd_State *)p->LoUnit; /* AllocUnits(p, PPMD_NUM_INDEXES - 1); */
+ p->LoUnit += U2B(256 / 2);
+ p->MinContext->Stats = REF(p->FoundState);
+ for (i = 0; i < 256; i++)
+ {
+ CPpmd_State *s = &p->FoundState[i];
+ s->Symbol = (Byte)i;
+ s->Freq = 1;
+ SetSuccessor(s, 0);
+ }
+
+ for (i = m = 0; m < 25; m++)
+ {
+ while (p->NS2Indx[i] == m)
+ i++;
+ for (k = 0; k < 8; k++)
+ {
+ UInt16 val = (UInt16)(PPMD_BIN_SCALE - kInitBinEsc[k] / (i + 1));
+ UInt16 *dest = p->BinSumm[m] + k;
+ for (r = 0; r < 64; r += 8)
+ dest[r] = val;
+ }
+ }
+
+ for (i = m = 0; m < 24; m++)
+ {
+ while (p->NS2Indx[i + 3] == m + 3)
+ i++;
+ for (k = 0; k < 32; k++)
+ {
+ CPpmd_See *s = &p->See[m][k];
+ s->Summ = (UInt16)((2 * i + 5) << (s->Shift = PPMD_PERIOD_BITS - 4));
+ s->Count = 7;
+ }
+ }
+}
+
+void Ppmd8_Init(CPpmd8 *p, unsigned maxOrder, unsigned restoreMethod)
+{
+ p->MaxOrder = maxOrder;
+ p->RestoreMethod = restoreMethod;
+ RestartModel(p);
+ p->DummySee.Shift = PPMD_PERIOD_BITS;
+ p->DummySee.Summ = 0; /* unused */
+ p->DummySee.Count = 64; /* unused */
+}
+
+static void Refresh(CPpmd8 *p, CTX_PTR ctx, unsigned oldNU, unsigned scale)
+{
+ unsigned i = ctx->NumStats, escFreq, sumFreq, flags;
+ CPpmd_State *s = (CPpmd_State *)ShrinkUnits(p, STATS(ctx), oldNU, (i + 2) >> 1);
+ ctx->Stats = REF(s);
+ #ifdef PPMD8_FREEZE_SUPPORT
+ /* fixed over Shkarin's code. Fixed code is not compatible with original code for some files in FREEZE mode. */
+ scale |= (ctx->SummFreq >= ((UInt32)1 << 15));
+ #endif
+ flags = (ctx->Flags & (0x10 + 0x04 * scale)) + 0x08 * (s->Symbol >= 0x40);
+ escFreq = ctx->SummFreq - s->Freq;
+ sumFreq = (s->Freq = (Byte)((s->Freq + scale) >> scale));
+ do
+ {
+ escFreq -= (++s)->Freq;
+ sumFreq += (s->Freq = (Byte)((s->Freq + scale) >> scale));
+ flags |= 0x08 * (s->Symbol >= 0x40);
+ }
+ while (--i);
+ ctx->SummFreq = (UInt16)(sumFreq + ((escFreq + scale) >> scale));
+ ctx->Flags = (Byte)flags;
+}
+
+static void SwapStates(CPpmd_State *t1, CPpmd_State *t2)
+{
+ CPpmd_State tmp = *t1;
+ *t1 = *t2;
+ *t2 = tmp;
+}
+
+static CPpmd_Void_Ref CutOff(CPpmd8 *p, CTX_PTR ctx, unsigned order)
+{
+ int i;
+ unsigned tmp;
+ CPpmd_State *s;
+
+ if (!ctx->NumStats)
+ {
+ s = ONE_STATE(ctx);
+ if ((Byte *)Ppmd8_GetPtr(p, SUCCESSOR(s)) >= p->UnitsStart)
+ {
+ if (order < p->MaxOrder)
+ SetSuccessor(s, CutOff(p, CTX(SUCCESSOR(s)), order + 1));
+ else
+ SetSuccessor(s, 0);
+ if (SUCCESSOR(s) || order <= 9) /* O_BOUND */
+ return REF(ctx);
+ }
+ SpecialFreeUnit(p, ctx);
+ return 0;
+ }
+
+ ctx->Stats = STATS_REF(MoveUnitsUp(p, STATS(ctx), tmp = ((unsigned)ctx->NumStats + 2) >> 1));
+
+ for (s = STATS(ctx) + (i = ctx->NumStats); s >= STATS(ctx); s--)
+ if ((Byte *)Ppmd8_GetPtr(p, SUCCESSOR(s)) < p->UnitsStart)
+ {
+ CPpmd_State *s2 = STATS(ctx) + (i--);
+ SetSuccessor(s, 0);
+ SwapStates(s, s2);
+ }
+ else if (order < p->MaxOrder)
+ SetSuccessor(s, CutOff(p, CTX(SUCCESSOR(s)), order + 1));
+ else
+ SetSuccessor(s, 0);
+
+ if (i != ctx->NumStats && order)
+ {
+ ctx->NumStats = (Byte)i;
+ s = STATS(ctx);
+ if (i < 0)
+ {
+ FreeUnits(p, s, tmp);
+ SpecialFreeUnit(p, ctx);
+ return 0;
+ }
+ if (i == 0)
+ {
+ ctx->Flags = (Byte)((ctx->Flags & 0x10) + 0x08 * (s->Symbol >= 0x40));
+ *ONE_STATE(ctx) = *s;
+ FreeUnits(p, s, tmp);
+ /* 9.31: the code was fixed. It's was not BUG, if Freq <= MAX_FREQ = 124 */
+ ONE_STATE(ctx)->Freq = (Byte)(((unsigned)ONE_STATE(ctx)->Freq + 11) >> 3);
+ }
+ else
+ Refresh(p, ctx, tmp, ctx->SummFreq > 16 * i);
+ }
+ return REF(ctx);
+}
+
+#ifdef PPMD8_FREEZE_SUPPORT
+static CPpmd_Void_Ref RemoveBinContexts(CPpmd8 *p, CTX_PTR ctx, unsigned order)
+{
+ CPpmd_State *s;
+ if (!ctx->NumStats)
+ {
+ s = ONE_STATE(ctx);
+ if ((Byte *)Ppmd8_GetPtr(p, SUCCESSOR(s)) >= p->UnitsStart && order < p->MaxOrder)
+ SetSuccessor(s, RemoveBinContexts(p, CTX(SUCCESSOR(s)), order + 1));
+ else
+ SetSuccessor(s, 0);
+ /* Suffix context can be removed already, since different (high-order)
+ Successors may refer to same context. So we check Flags == 0xFF (Stamp == EMPTY_NODE) */
+ if (!SUCCESSOR(s) && (!SUFFIX(ctx)->NumStats || SUFFIX(ctx)->Flags == 0xFF))
+ {
+ FreeUnits(p, ctx, 1);
+ return 0;
+ }
+ else
+ return REF(ctx);
+ }
+
+ for (s = STATS(ctx) + ctx->NumStats; s >= STATS(ctx); s--)
+ if ((Byte *)Ppmd8_GetPtr(p, SUCCESSOR(s)) >= p->UnitsStart && order < p->MaxOrder)
+ SetSuccessor(s, RemoveBinContexts(p, CTX(SUCCESSOR(s)), order + 1));
+ else
+ SetSuccessor(s, 0);
+
+ return REF(ctx);
+}
+#endif
+
+static UInt32 GetUsedMemory(const CPpmd8 *p)
+{
+ UInt32 v = 0;
+ unsigned i;
+ for (i = 0; i < PPMD_NUM_INDEXES; i++)
+ v += p->Stamps[i] * I2U(i);
+ return p->Size - (UInt32)(p->HiUnit - p->LoUnit) - (UInt32)(p->UnitsStart - p->Text) - U2B(v);
+}
+
+#ifdef PPMD8_FREEZE_SUPPORT
+ #define RESTORE_MODEL(c1, fSuccessor) RestoreModel(p, c1, fSuccessor)
+#else
+ #define RESTORE_MODEL(c1, fSuccessor) RestoreModel(p, c1)
+#endif
+
+static void RestoreModel(CPpmd8 *p, CTX_PTR c1
+ #ifdef PPMD8_FREEZE_SUPPORT
+ , CTX_PTR fSuccessor
+ #endif
+ )
+{
+ CTX_PTR c;
+ CPpmd_State *s;
+ RESET_TEXT(0);
+ for (c = p->MaxContext; c != c1; c = SUFFIX(c))
+ if (--(c->NumStats) == 0)
+ {
+ s = STATS(c);
+ c->Flags = (Byte)((c->Flags & 0x10) + 0x08 * (s->Symbol >= 0x40));
+ *ONE_STATE(c) = *s;
+ SpecialFreeUnit(p, s);
+ ONE_STATE(c)->Freq = (Byte)(((unsigned)ONE_STATE(c)->Freq + 11) >> 3);
+ }
+ else
+ Refresh(p, c, (c->NumStats+3) >> 1, 0);
+
+ for (; c != p->MinContext; c = SUFFIX(c))
+ if (!c->NumStats)
+ ONE_STATE(c)->Freq = (Byte)(ONE_STATE(c)->Freq - (ONE_STATE(c)->Freq >> 1));
+ else if ((c->SummFreq += 4) > 128 + 4 * c->NumStats)
+ Refresh(p, c, (c->NumStats + 2) >> 1, 1);
+
+ #ifdef PPMD8_FREEZE_SUPPORT
+ if (p->RestoreMethod > PPMD8_RESTORE_METHOD_FREEZE)
+ {
+ p->MaxContext = fSuccessor;
+ p->GlueCount += !(p->Stamps[1] & 1);
+ }
+ else if (p->RestoreMethod == PPMD8_RESTORE_METHOD_FREEZE)
+ {
+ while (p->MaxContext->Suffix)
+ p->MaxContext = SUFFIX(p->MaxContext);
+ RemoveBinContexts(p, p->MaxContext, 0);
+ p->RestoreMethod++;
+ p->GlueCount = 0;
+ p->OrderFall = p->MaxOrder;
+ }
+ else
+ #endif
+ if (p->RestoreMethod == PPMD8_RESTORE_METHOD_RESTART || GetUsedMemory(p) < (p->Size >> 1))
+ RestartModel(p);
+ else
+ {
+ while (p->MaxContext->Suffix)
+ p->MaxContext = SUFFIX(p->MaxContext);
+ do
+ {
+ CutOff(p, p->MaxContext, 0);
+ ExpandTextArea(p);
+ }
+ while (GetUsedMemory(p) > 3 * (p->Size >> 2));
+ p->GlueCount = 0;
+ p->OrderFall = p->MaxOrder;
+ }
+}
+
+static CTX_PTR CreateSuccessors(CPpmd8 *p, Bool skip, CPpmd_State *s1, CTX_PTR c)
+{
+ CPpmd_State upState;
+ Byte flags;
+ CPpmd_Byte_Ref upBranch = (CPpmd_Byte_Ref)SUCCESSOR(p->FoundState);
+ /* fixed over Shkarin's code. Maybe it could work without + 1 too. */
+ CPpmd_State *ps[PPMD8_MAX_ORDER + 1];
+ unsigned numPs = 0;
+
+ if (!skip)
+ ps[numPs++] = p->FoundState;
+
+ while (c->Suffix)
+ {
+ CPpmd_Void_Ref successor;
+ CPpmd_State *s;
+ c = SUFFIX(c);
+ if (s1)
+ {
+ s = s1;
+ s1 = NULL;
+ }
+ else if (c->NumStats != 0)
+ {
+ for (s = STATS(c); s->Symbol != p->FoundState->Symbol; s++);
+ if (s->Freq < MAX_FREQ - 9)
+ {
+ s->Freq++;
+ c->SummFreq++;
+ }
+ }
+ else
+ {
+ s = ONE_STATE(c);
+ s->Freq = (Byte)(s->Freq + (!SUFFIX(c)->NumStats & (s->Freq < 24)));
+ }
+ successor = SUCCESSOR(s);
+ if (successor != upBranch)
+ {
+ c = CTX(successor);
+ if (numPs == 0)
+ return c;
+ break;
+ }
+ ps[numPs++] = s;
+ }
+
+ upState.Symbol = *(const Byte *)Ppmd8_GetPtr(p, upBranch);
+ SetSuccessor(&upState, upBranch + 1);
+ flags = (Byte)(0x10 * (p->FoundState->Symbol >= 0x40) + 0x08 * (upState.Symbol >= 0x40));
+
+ if (c->NumStats == 0)
+ upState.Freq = ONE_STATE(c)->Freq;
+ else
+ {
+ UInt32 cf, s0;
+ CPpmd_State *s;
+ for (s = STATS(c); s->Symbol != upState.Symbol; s++);
+ cf = s->Freq - 1;
+ s0 = c->SummFreq - c->NumStats - cf;
+ upState.Freq = (Byte)(1 + ((2 * cf <= s0) ? (5 * cf > s0) : ((cf + 2 * s0 - 3) / s0)));
+ }
+
+ do
+ {
+ /* Create Child */
+ CTX_PTR c1; /* = AllocContext(p); */
+ if (p->HiUnit != p->LoUnit)
+ c1 = (CTX_PTR)(p->HiUnit -= UNIT_SIZE);
+ else if (p->FreeList[0] != 0)
+ c1 = (CTX_PTR)RemoveNode(p, 0);
+ else
+ {
+ c1 = (CTX_PTR)AllocUnitsRare(p, 0);
+ if (!c1)
+ return NULL;
+ }
+ c1->NumStats = 0;
+ c1->Flags = flags;
+ *ONE_STATE(c1) = upState;
+ c1->Suffix = REF(c);
+ SetSuccessor(ps[--numPs], REF(c1));
+ c = c1;
+ }
+ while (numPs != 0);
+
+ return c;
+}
+
+static CTX_PTR ReduceOrder(CPpmd8 *p, CPpmd_State *s1, CTX_PTR c)
+{
+ CPpmd_State *s = NULL;
+ CTX_PTR c1 = c;
+ CPpmd_Void_Ref upBranch = REF(p->Text);
+
+ #ifdef PPMD8_FREEZE_SUPPORT
+ /* The BUG in Shkarin's code was fixed: ps could overflow in CUT_OFF mode. */
+ CPpmd_State *ps[PPMD8_MAX_ORDER + 1];
+ unsigned numPs = 0;
+ ps[numPs++] = p->FoundState;
+ #endif
+
+ SetSuccessor(p->FoundState, upBranch);
+ p->OrderFall++;
+
+ for (;;)
+ {
+ if (s1)
+ {
+ c = SUFFIX(c);
+ s = s1;
+ s1 = NULL;
+ }
+ else
+ {
+ if (!c->Suffix)
+ {
+ #ifdef PPMD8_FREEZE_SUPPORT
+ if (p->RestoreMethod > PPMD8_RESTORE_METHOD_FREEZE)
+ {
+ do { SetSuccessor(ps[--numPs], REF(c)); } while (numPs);
+ RESET_TEXT(1);
+ p->OrderFall = 1;
+ }
+ #endif
+ return c;
+ }
+ c = SUFFIX(c);
+ if (c->NumStats)
+ {
+ if ((s = STATS(c))->Symbol != p->FoundState->Symbol)
+ do { s++; } while (s->Symbol != p->FoundState->Symbol);
+ if (s->Freq < MAX_FREQ - 9)
+ {
+ s->Freq += 2;
+ c->SummFreq += 2;
+ }
+ }
+ else
+ {
+ s = ONE_STATE(c);
+ s->Freq = (Byte)(s->Freq + (s->Freq < 32));
+ }
+ }
+ if (SUCCESSOR(s))
+ break;
+ #ifdef PPMD8_FREEZE_SUPPORT
+ ps[numPs++] = s;
+ #endif
+ SetSuccessor(s, upBranch);
+ p->OrderFall++;
+ }
+
+ #ifdef PPMD8_FREEZE_SUPPORT
+ if (p->RestoreMethod > PPMD8_RESTORE_METHOD_FREEZE)
+ {
+ c = CTX(SUCCESSOR(s));
+ do { SetSuccessor(ps[--numPs], REF(c)); } while (numPs);
+ RESET_TEXT(1);
+ p->OrderFall = 1;
+ return c;
+ }
+ else
+ #endif
+ if (SUCCESSOR(s) <= upBranch)
+ {
+ CTX_PTR successor;
+ CPpmd_State *s2 = p->FoundState;
+ p->FoundState = s;
+
+ successor = CreateSuccessors(p, False, NULL, c);
+ if (successor == NULL)
+ SetSuccessor(s, 0);
+ else
+ SetSuccessor(s, REF(successor));
+ p->FoundState = s2;
+ }
+
+ if (p->OrderFall == 1 && c1 == p->MaxContext)
+ {
+ SetSuccessor(p->FoundState, SUCCESSOR(s));
+ p->Text--;
+ }
+ if (SUCCESSOR(s) == 0)
+ return NULL;
+ return CTX(SUCCESSOR(s));
+}
+
+static void UpdateModel(CPpmd8 *p)
+{
+ CPpmd_Void_Ref successor, fSuccessor = SUCCESSOR(p->FoundState);
+ CTX_PTR c;
+ unsigned s0, ns, fFreq = p->FoundState->Freq;
+ Byte flag, fSymbol = p->FoundState->Symbol;
+ CPpmd_State *s = NULL;
+
+ if (p->FoundState->Freq < MAX_FREQ / 4 && p->MinContext->Suffix != 0)
+ {
+ c = SUFFIX(p->MinContext);
+
+ if (c->NumStats == 0)
+ {
+ s = ONE_STATE(c);
+ if (s->Freq < 32)
+ s->Freq++;
+ }
+ else
+ {
+ s = STATS(c);
+ if (s->Symbol != p->FoundState->Symbol)
+ {
+ do { s++; } while (s->Symbol != p->FoundState->Symbol);
+ if (s[0].Freq >= s[-1].Freq)
+ {
+ SwapStates(&s[0], &s[-1]);
+ s--;
+ }
+ }
+ if (s->Freq < MAX_FREQ - 9)
+ {
+ s->Freq += 2;
+ c->SummFreq += 2;
+ }
+ }
+ }
+
+ c = p->MaxContext;
+ if (p->OrderFall == 0 && fSuccessor)
+ {
+ CTX_PTR cs = CreateSuccessors(p, True, s, p->MinContext);
+ if (cs == 0)
+ {
+ SetSuccessor(p->FoundState, 0);
+ RESTORE_MODEL(c, CTX(fSuccessor));
+ }
+ else
+ {
+ SetSuccessor(p->FoundState, REF(cs));
+ p->MaxContext = cs;
+ }
+ return;
+ }
+
+ *p->Text++ = p->FoundState->Symbol;
+ successor = REF(p->Text);
+ if (p->Text >= p->UnitsStart)
+ {
+ RESTORE_MODEL(c, CTX(fSuccessor)); /* check it */
+ return;
+ }
+
+ if (!fSuccessor)
+ {
+ CTX_PTR cs = ReduceOrder(p, s, p->MinContext);
+ if (cs == NULL)
+ {
+ RESTORE_MODEL(c, 0);
+ return;
+ }
+ fSuccessor = REF(cs);
+ }
+ else if ((Byte *)Ppmd8_GetPtr(p, fSuccessor) < p->UnitsStart)
+ {
+ CTX_PTR cs = CreateSuccessors(p, False, s, p->MinContext);
+ if (cs == NULL)
+ {
+ RESTORE_MODEL(c, 0);
+ return;
+ }
+ fSuccessor = REF(cs);
+ }
+
+ if (--p->OrderFall == 0)
+ {
+ successor = fSuccessor;
+ p->Text -= (p->MaxContext != p->MinContext);
+ }
+ #ifdef PPMD8_FREEZE_SUPPORT
+ else if (p->RestoreMethod > PPMD8_RESTORE_METHOD_FREEZE)
+ {
+ successor = fSuccessor;
+ RESET_TEXT(0);
+ p->OrderFall = 0;
+ }
+ #endif
+
+ s0 = p->MinContext->SummFreq - (ns = p->MinContext->NumStats) - fFreq;
+ flag = (Byte)(0x08 * (fSymbol >= 0x40));
+
+ for (; c != p->MinContext; c = SUFFIX(c))
+ {
+ unsigned ns1;
+ UInt32 cf, sf;
+ if ((ns1 = c->NumStats) != 0)
+ {
+ if ((ns1 & 1) != 0)
+ {
+ /* Expand for one UNIT */
+ unsigned oldNU = (ns1 + 1) >> 1;
+ unsigned i = U2I(oldNU);
+ if (i != U2I(oldNU + 1))
+ {
+ void *ptr = AllocUnits(p, i + 1);
+ void *oldPtr;
+ if (!ptr)
+ {
+ RESTORE_MODEL(c, CTX(fSuccessor));
+ return;
+ }
+ oldPtr = STATS(c);
+ MyMem12Cpy(ptr, oldPtr, oldNU);
+ InsertNode(p, oldPtr, i);
+ c->Stats = STATS_REF(ptr);
+ }
+ }
+ c->SummFreq = (UInt16)(c->SummFreq + (3 * ns1 + 1 < ns));
+ }
+ else
+ {
+ CPpmd_State *s2 = (CPpmd_State*)AllocUnits(p, 0);
+ if (!s2)
+ {
+ RESTORE_MODEL(c, CTX(fSuccessor));
+ return;
+ }
+ *s2 = *ONE_STATE(c);
+ c->Stats = REF(s2);
+ if (s2->Freq < MAX_FREQ / 4 - 1)
+ s2->Freq <<= 1;
+ else
+ s2->Freq = MAX_FREQ - 4;
+ c->SummFreq = (UInt16)(s2->Freq + p->InitEsc + (ns > 2));
+ }
+ cf = 2 * fFreq * (c->SummFreq + 6);
+ sf = (UInt32)s0 + c->SummFreq;
+ if (cf < 6 * sf)
+ {
+ cf = 1 + (cf > sf) + (cf >= 4 * sf);
+ c->SummFreq += 4;
+ }
+ else
+ {
+ cf = 4 + (cf > 9 * sf) + (cf > 12 * sf) + (cf > 15 * sf);
+ c->SummFreq = (UInt16)(c->SummFreq + cf);
+ }
+ {
+ CPpmd_State *s2 = STATS(c) + ns1 + 1;
+ SetSuccessor(s2, successor);
+ s2->Symbol = fSymbol;
+ s2->Freq = (Byte)cf;
+ c->Flags |= flag;
+ c->NumStats = (Byte)(ns1 + 1);
+ }
+ }
+ p->MaxContext = p->MinContext = CTX(fSuccessor);
+}
+
+static void Rescale(CPpmd8 *p)
+{
+ unsigned i, adder, sumFreq, escFreq;
+ CPpmd_State *stats = STATS(p->MinContext);
+ CPpmd_State *s = p->FoundState;
+ {
+ CPpmd_State tmp = *s;
+ for (; s != stats; s--)
+ s[0] = s[-1];
+ *s = tmp;
+ }
+ escFreq = p->MinContext->SummFreq - s->Freq;
+ s->Freq += 4;
+ adder = (p->OrderFall != 0
+ #ifdef PPMD8_FREEZE_SUPPORT
+ || p->RestoreMethod > PPMD8_RESTORE_METHOD_FREEZE
+ #endif
+ );
+ s->Freq = (Byte)((s->Freq + adder) >> 1);
+ sumFreq = s->Freq;
+
+ i = p->MinContext->NumStats;
+ do
+ {
+ escFreq -= (++s)->Freq;
+ s->Freq = (Byte)((s->Freq + adder) >> 1);
+ sumFreq += s->Freq;
+ if (s[0].Freq > s[-1].Freq)
+ {
+ CPpmd_State *s1 = s;
+ CPpmd_State tmp = *s1;
+ do
+ s1[0] = s1[-1];
+ while (--s1 != stats && tmp.Freq > s1[-1].Freq);
+ *s1 = tmp;
+ }
+ }
+ while (--i);
+
+ if (s->Freq == 0)
+ {
+ unsigned numStats = p->MinContext->NumStats;
+ unsigned n0, n1;
+ do { i++; } while ((--s)->Freq == 0);
+ escFreq += i;
+ p->MinContext->NumStats = (Byte)(p->MinContext->NumStats - i);
+ if (p->MinContext->NumStats == 0)
+ {
+ CPpmd_State tmp = *stats;
+ tmp.Freq = (Byte)((2 * tmp.Freq + escFreq - 1) / escFreq);
+ if (tmp.Freq > MAX_FREQ / 3)
+ tmp.Freq = MAX_FREQ / 3;
+ InsertNode(p, stats, U2I((numStats + 2) >> 1));
+ p->MinContext->Flags = (Byte)((p->MinContext->Flags & 0x10) + 0x08 * (tmp.Symbol >= 0x40));
+ *(p->FoundState = ONE_STATE(p->MinContext)) = tmp;
+ return;
+ }
+ n0 = (numStats + 2) >> 1;
+ n1 = (p->MinContext->NumStats + 2) >> 1;
+ if (n0 != n1)
+ p->MinContext->Stats = STATS_REF(ShrinkUnits(p, stats, n0, n1));
+ p->MinContext->Flags &= ~0x08;
+ p->MinContext->Flags |= 0x08 * ((s = STATS(p->MinContext))->Symbol >= 0x40);
+ i = p->MinContext->NumStats;
+ do { p->MinContext->Flags |= 0x08*((++s)->Symbol >= 0x40); } while (--i);
+ }
+ p->MinContext->SummFreq = (UInt16)(sumFreq + escFreq - (escFreq >> 1));
+ p->MinContext->Flags |= 0x4;
+ p->FoundState = STATS(p->MinContext);
+}
+
+CPpmd_See *Ppmd8_MakeEscFreq(CPpmd8 *p, unsigned numMasked1, UInt32 *escFreq)
+{
+ CPpmd_See *see;
+ if (p->MinContext->NumStats != 0xFF)
+ {
+ see = p->See[(unsigned)p->NS2Indx[(unsigned)p->MinContext->NumStats + 2] - 3] +
+ (p->MinContext->SummFreq > 11 * ((unsigned)p->MinContext->NumStats + 1)) +
+ 2 * (unsigned)(2 * (unsigned)p->MinContext->NumStats <
+ ((unsigned)SUFFIX(p->MinContext)->NumStats + numMasked1)) +
+ p->MinContext->Flags;
+ {
+ unsigned r = (see->Summ >> see->Shift);
+ see->Summ = (UInt16)(see->Summ - r);
+ *escFreq = r + (r == 0);
+ }
+ }
+ else
+ {
+ see = &p->DummySee;
+ *escFreq = 1;
+ }
+ return see;
+}
+
+static void NextContext(CPpmd8 *p)
+{
+ CTX_PTR c = CTX(SUCCESSOR(p->FoundState));
+ if (p->OrderFall == 0 && (Byte *)c >= p->UnitsStart)
+ p->MinContext = p->MaxContext = c;
+ else
+ {
+ UpdateModel(p);
+ p->MinContext = p->MaxContext;
+ }
+}
+
+void Ppmd8_Update1(CPpmd8 *p)
+{
+ CPpmd_State *s = p->FoundState;
+ s->Freq += 4;
+ p->MinContext->SummFreq += 4;
+ if (s[0].Freq > s[-1].Freq)
+ {
+ SwapStates(&s[0], &s[-1]);
+ p->FoundState = --s;
+ if (s->Freq > MAX_FREQ)
+ Rescale(p);
+ }
+ NextContext(p);
+}
+
+void Ppmd8_Update1_0(CPpmd8 *p)
+{
+ p->PrevSuccess = (2 * p->FoundState->Freq >= p->MinContext->SummFreq);
+ p->RunLength += p->PrevSuccess;
+ p->MinContext->SummFreq += 4;
+ if ((p->FoundState->Freq += 4) > MAX_FREQ)
+ Rescale(p);
+ NextContext(p);
+}
+
+void Ppmd8_UpdateBin(CPpmd8 *p)
+{
+ p->FoundState->Freq = (Byte)(p->FoundState->Freq + (p->FoundState->Freq < 196));
+ p->PrevSuccess = 1;
+ p->RunLength++;
+ NextContext(p);
+}
+
+void Ppmd8_Update2(CPpmd8 *p)
+{
+ p->MinContext->SummFreq += 4;
+ if ((p->FoundState->Freq += 4) > MAX_FREQ)
+ Rescale(p);
+ p->RunLength = p->InitRL;
+ UpdateModel(p);
+ p->MinContext = p->MaxContext;
+}
+
+/* Ppmd8Dec.c -- PPMdI Decoder
+2010-04-16 : Igor Pavlov : Public domain
+This code is based on:
+ PPMd var.I (2002): Dmitry Shkarin : Public domain
+ Carryless rangecoder (1999): Dmitry Subbotin : Public domain */
+
+Bool Ppmd8_RangeDec_Init(CPpmd8 *p)
+{
+ unsigned i;
+ p->Low = 0;
+ p->Range = 0xFFFFFFFF;
+ p->Code = 0;
+ for (i = 0; i < 4; i++)
+ p->Code = (p->Code << 8) | p->Stream.In->Read(p->Stream.In);
+ return (p->Code < 0xFFFFFFFF);
+}
+
+static UInt32 RangeDec_GetThreshold(CPpmd8 *p, UInt32 total)
+{
+ return p->Code / (p->Range /= total);
+}
+
+static void RangeDec_Decode(CPpmd8 *p, UInt32 start, UInt32 size)
+{
+ start *= p->Range;
+ p->Low += start;
+ p->Code -= start;
+ p->Range *= size;
+
+ while ((p->Low ^ (p->Low + p->Range)) < kTop ||
+ (p->Range < kBot && ((p->Range = (0 - p->Low) & (kBot - 1)), 1)))
+ {
+ p->Code = (p->Code << 8) | p->Stream.In->Read(p->Stream.In);
+ p->Range <<= 8;
+ p->Low <<= 8;
+ }
+}
+
+#define MASK(sym) ((signed char *)charMask)[sym]
+
+int Ppmd8_DecodeSymbol(CPpmd8 *p)
+{
+ size_t charMask[256 / sizeof(size_t)];
+ if (p->MinContext->NumStats != 0)
+ {
+ CPpmd_State *s = Ppmd8_GetStats(p, p->MinContext);
+ unsigned i;
+ UInt32 count, hiCnt;
+ if ((count = RangeDec_GetThreshold(p, p->MinContext->SummFreq)) < (hiCnt = s->Freq))
+ {
+ Byte symbol;
+ RangeDec_Decode(p, 0, s->Freq);
+ p->FoundState = s;
+ symbol = s->Symbol;
+ Ppmd8_Update1_0(p);
+ return symbol;
+ }
+ p->PrevSuccess = 0;
+ i = p->MinContext->NumStats;
+ do
+ {
+ if ((hiCnt += (++s)->Freq) > count)
+ {
+ Byte symbol;
+ RangeDec_Decode(p, hiCnt - s->Freq, s->Freq);
+ p->FoundState = s;
+ symbol = s->Symbol;
+ Ppmd8_Update1(p);
+ return symbol;
+ }
+ }
+ while (--i);
+ if (count >= p->MinContext->SummFreq)
+ return -2;
+ RangeDec_Decode(p, hiCnt, p->MinContext->SummFreq - hiCnt);
+ PPMD_SetAllBitsIn256Bytes(charMask);
+ MASK(s->Symbol) = 0;
+ i = p->MinContext->NumStats;
+ do { MASK((--s)->Symbol) = 0; } while (--i);
+ }
+ else
+ {
+ UInt16 *prob = Ppmd8_GetBinSumm(p);
+ if (((p->Code / (p->Range >>= 14)) < *prob))
+ {
+ Byte symbol;
+ RangeDec_Decode(p, 0, *prob);
+ *prob = (UInt16)PPMD_UPDATE_PROB_0(*prob);
+ symbol = (p->FoundState = Ppmd8Context_OneState(p->MinContext))->Symbol;
+ Ppmd8_UpdateBin(p);
+ return symbol;
+ }
+ RangeDec_Decode(p, *prob, (1 << 14) - *prob);
+ *prob = (UInt16)PPMD_UPDATE_PROB_1(*prob);
+ p->InitEsc = PPMD8_kExpEscape[*prob >> 10];
+ PPMD_SetAllBitsIn256Bytes(charMask);
+ MASK(Ppmd8Context_OneState(p->MinContext)->Symbol) = 0;
+ p->PrevSuccess = 0;
+ }
+ for (;;)
+ {
+ CPpmd_State *ps[256], *s;
+ UInt32 freqSum, count, hiCnt;
+ CPpmd_See *see;
+ unsigned i, num, numMasked = p->MinContext->NumStats;
+ do
+ {
+ p->OrderFall++;
+ if (!p->MinContext->Suffix)
+ return -1;
+ p->MinContext = Ppmd8_GetContext(p, p->MinContext->Suffix);
+ }
+ while (p->MinContext->NumStats == numMasked);
+ hiCnt = 0;
+ s = Ppmd8_GetStats(p, p->MinContext);
+ i = 0;
+ num = p->MinContext->NumStats - numMasked;
+ do
+ {
+ int k = (int)(MASK(s->Symbol));
+ hiCnt += (s->Freq & k);
+ ps[i] = s++;
+ i -= k;
+ }
+ while (i != num);
+
+ see = Ppmd8_MakeEscFreq(p, numMasked, &freqSum);
+ freqSum += hiCnt;
+ count = RangeDec_GetThreshold(p, freqSum);
+
+ if (count < hiCnt)
+ {
+ Byte symbol;
+ CPpmd_State **pps = ps;
+ for (hiCnt = 0; (hiCnt += (*pps)->Freq) <= count; pps++);
+ s = *pps;
+ RangeDec_Decode(p, hiCnt - s->Freq, s->Freq);
+ Ppmd_See_Update(see);
+ p->FoundState = s;
+ symbol = s->Symbol;
+ Ppmd8_Update2(p);
+ return symbol;
+ }
+ if (count >= freqSum)
+ return -2;
+ RangeDec_Decode(p, hiCnt, freqSum - hiCnt);
+ see->Summ = (UInt16)(see->Summ + freqSum);
+ do { MASK(ps[--i]->Symbol) = 0; } while (i != 0);
+ }
+}
+
+/* H->I changes:
+ NS2Indx
+ GlewCount, and Glue method
+ BinSum
+ See / EscFreq
+ CreateSuccessors updates more suffix contexts
+ UpdateModel consts.
+ PrevSuccess Update
+*/
+
+const IPpmd8 __archive_ppmd8_functions =
+{
+ &Ppmd8_Construct,
+ &Ppmd8_Alloc,
+ &Ppmd8_Free,
+ &Ppmd8_Init,
+ &Ppmd8_RangeDec_Init,
+ &Ppmd8_DecodeSymbol,
+};
diff --git a/Utilities/cmlibarchive/libarchive/archive_ppmd8_private.h b/Utilities/cmlibarchive/libarchive/archive_ppmd8_private.h
new file mode 100644
index 0000000..454b75f
--- /dev/null
+++ b/Utilities/cmlibarchive/libarchive/archive_ppmd8_private.h
@@ -0,0 +1,148 @@
+/* Ppmd8.h -- PPMdI codec
+2011-01-27 : Igor Pavlov : Public domain
+This code is based on:
+ PPMd var.I (2002): Dmitry Shkarin : Public domain
+ Carryless rangecoder (1999): Dmitry Subbotin : Public domain */
+
+#ifndef ARCHIVE_PPMD8_PRIVATE_H_INCLUDED
+#define ARCHIVE_PPMD8_PRIVATE_H_INCLUDED
+
+#include "archive_ppmd_private.h"
+
+#define PPMD8_MIN_ORDER 2
+#define PPMD8_MAX_ORDER 16
+
+struct CPpmd8_Context_;
+
+typedef
+ #ifdef PPMD_32BIT
+ struct CPpmd8_Context_ *
+ #else
+ UInt32
+ #endif
+ CPpmd8_Context_Ref;
+
+#pragma pack(push, 1)
+
+typedef struct CPpmd8_Context_
+{
+ Byte NumStats;
+ Byte Flags;
+ UInt16 SummFreq;
+ CPpmd_State_Ref Stats;
+ CPpmd8_Context_Ref Suffix;
+} CPpmd8_Context;
+
+#pragma pack(pop)
+
+#define Ppmd8Context_OneState(p) ((CPpmd_State *)&(p)->SummFreq)
+
+/* The BUG in Shkarin's code for FREEZE mode was fixed, but that fixed
+ code is not compatible with original code for some files compressed
+ in FREEZE mode. So we disable FREEZE mode support. */
+
+enum
+{
+ PPMD8_RESTORE_METHOD_RESTART,
+ PPMD8_RESTORE_METHOD_CUT_OFF
+ #ifdef PPMD8_FREEZE_SUPPORT
+ , PPMD8_RESTORE_METHOD_FREEZE
+ #endif
+};
+
+typedef struct
+{
+ CPpmd8_Context *MinContext, *MaxContext;
+ CPpmd_State *FoundState;
+ unsigned OrderFall, InitEsc, PrevSuccess, MaxOrder;
+ Int32 RunLength, InitRL; /* must be 32-bit at least */
+
+ UInt32 Size;
+ UInt32 GlueCount;
+ Byte *Base, *LoUnit, *HiUnit, *Text, *UnitsStart;
+ UInt32 AlignOffset;
+ unsigned RestoreMethod;
+
+ /* Range Coder */
+ UInt32 Range;
+ UInt32 Code;
+ UInt32 Low;
+ union
+ {
+ IByteIn *In;
+ IByteOut *Out;
+ } Stream;
+
+ Byte Indx2Units[PPMD_NUM_INDEXES];
+ Byte Units2Indx[128];
+ CPpmd_Void_Ref FreeList[PPMD_NUM_INDEXES];
+ UInt32 Stamps[PPMD_NUM_INDEXES];
+
+ Byte NS2BSIndx[256], NS2Indx[260];
+ CPpmd_See DummySee, See[24][32];
+ UInt16 BinSumm[25][64];
+} CPpmd8;
+
+void Ppmd8_Construct(CPpmd8 *p);
+Bool Ppmd8_Alloc(CPpmd8 *p, UInt32 size);
+void Ppmd8_Free(CPpmd8 *p);
+void Ppmd8_Init(CPpmd8 *p, unsigned maxOrder, unsigned restoreMethod);
+#define Ppmd8_WasAllocated(p) ((p)->Base != NULL)
+
+
+/* ---------- Internal Functions ---------- */
+
+extern const Byte PPMD8_kExpEscape[16];
+
+#ifdef PPMD_32BIT
+ #define Ppmd8_GetPtr(p, ptr) (ptr)
+ #define Ppmd8_GetContext(p, ptr) (ptr)
+ #define Ppmd8_GetStats(p, ctx) ((ctx)->Stats)
+#else
+ #define Ppmd8_GetPtr(p, offs) ((void *)((p)->Base + (offs)))
+ #define Ppmd8_GetContext(p, offs) ((CPpmd8_Context *)Ppmd8_GetPtr((p), (offs)))
+ #define Ppmd8_GetStats(p, ctx) ((CPpmd_State *)Ppmd8_GetPtr((p), ((ctx)->Stats)))
+#endif
+
+void Ppmd8_Update1(CPpmd8 *p);
+void Ppmd8_Update1_0(CPpmd8 *p);
+void Ppmd8_Update2(CPpmd8 *p);
+void Ppmd8_UpdateBin(CPpmd8 *p);
+
+#define Ppmd8_GetBinSumm(p) \
+ &p->BinSumm[p->NS2Indx[Ppmd8Context_OneState(p->MinContext)->Freq - 1]][ \
+ p->NS2BSIndx[Ppmd8_GetContext(p, p->MinContext->Suffix)->NumStats] + \
+ p->PrevSuccess + p->MinContext->Flags + ((p->RunLength >> 26) & 0x20)]
+
+CPpmd_See *Ppmd8_MakeEscFreq(CPpmd8 *p, unsigned numMasked, UInt32 *scale);
+
+
+/* ---------- Decode ---------- */
+
+Bool Ppmd8_RangeDec_Init(CPpmd8 *p);
+#define Ppmd8_RangeDec_IsFinishedOK(p) ((p)->Code == 0)
+int Ppmd8_DecodeSymbol(CPpmd8 *p); /* returns: -1 as EndMarker, -2 as DataError */
+
+/* ---------- Encode ---------- */
+
+#define Ppmd8_RangeEnc_Init(p) { (p)->Low = 0; (p)->Range = 0xFFFFFFFF; }
+void Ppmd8_RangeEnc_FlushData(CPpmd8 *p);
+void Ppmd8_EncodeSymbol(CPpmd8 *p, int symbol); /* symbol = -1 means EndMarker */
+
+typedef struct
+{
+ /* Base Functions */
+ void (*Ppmd8_Construct)(CPpmd8 *p);
+ Bool (*Ppmd8_Alloc)(CPpmd8 *p, UInt32 size);
+ void (*Ppmd8_Free)(CPpmd8 *p);
+ void (*Ppmd8_Init)(CPpmd8 *p, unsigned max_order, unsigned restore_method);
+ #define Ppmd7_WasAllocated(p) ((p)->Base != NULL)
+
+ /* Decode Functions */
+ int (*Ppmd8_RangeDec_Init)(CPpmd8 *p);
+ int (*Ppmd8_DecodeSymbol)(CPpmd8 *p);
+} IPpmd8;
+
+extern const IPpmd8 __archive_ppmd8_functions;
+
+#endif
diff --git a/Utilities/cmlibarchive/libarchive/archive_ppmd_private.h b/Utilities/cmlibarchive/libarchive/archive_ppmd_private.h
index a83b851..582803e 100644
--- a/Utilities/cmlibarchive/libarchive/archive_ppmd_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_ppmd_private.h
@@ -2,13 +2,13 @@
2010-03-12 : Igor Pavlov : Public domain
This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */
+#ifndef ARCHIVE_PPMD_PRIVATE_H_INCLUDED
+#define ARCHIVE_PPMD_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_PPMD_PRIVATE_H_INCLUDED
-#define ARCHIVE_PPMD_PRIVATE_H_INCLUDED
-
#include <stddef.h>
#include "archive_read_private.h"
diff --git a/Utilities/cmlibarchive/libarchive/archive_private.h b/Utilities/cmlibarchive/libarchive/archive_private.h
index 4b4be97..937a87b 100644
--- a/Utilities/cmlibarchive/libarchive/archive_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_private.h
@@ -25,13 +25,13 @@
* $FreeBSD: head/lib/libarchive/archive_private.h 201098 2009-12-28 02:58:14Z kientzle $
*/
+#ifndef ARCHIVE_PRIVATE_H_INCLUDED
+#define ARCHIVE_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_PRIVATE_H_INCLUDED
-#define ARCHIVE_PRIVATE_H_INCLUDED
-
#if HAVE_ICONV_H
#include <iconv.h>
#endif
@@ -153,6 +153,11 @@ void __archive_errx(int retvalue, const char *msg) __LA_DEAD;
void __archive_ensure_cloexec_flag(int fd);
int __archive_mktemp(const char *tmpdir);
+#if defined(_WIN32) && !defined(__CYGWIN__)
+int __archive_mkstemp(wchar_t *template);
+#else
+int __archive_mkstemp(char *template);
+#endif
int __archive_clean(struct archive *);
diff --git a/Utilities/cmlibarchive/libarchive/archive_random_private.h b/Utilities/cmlibarchive/libarchive/archive_random_private.h
index c414779..08b91b3 100644
--- a/Utilities/cmlibarchive/libarchive/archive_random_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_random_private.h
@@ -23,13 +23,13 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifndef ARCHIVE_RANDOM_PRIVATE_H_INCLUDED
+#define ARCHIVE_RANDOM_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_RANDOM_PRIVATE_H_INCLUDED
-#define ARCHIVE_RANDOM_PRIVATE_H_INCLUDED
-
/* Random number generator. */
int archive_random(void *buf, size_t nbytes);
diff --git a/Utilities/cmlibarchive/libarchive/archive_rb.h b/Utilities/cmlibarchive/libarchive/archive_rb.h
index 4562e9e..8851f10 100644
--- a/Utilities/cmlibarchive/libarchive/archive_rb.h
+++ b/Utilities/cmlibarchive/libarchive/archive_rb.h
@@ -28,8 +28,9 @@
*
* Based on NetBSD: rb.h,v 1.13 2009/08/16 10:57:01 yamt Exp
*/
-#ifndef ARCHIVE_RB_H_
-#define ARCHIVE_RB_H_
+
+#ifndef ARCHIVE_RB_H_INCLUDED
+#define ARCHIVE_RB_H_INCLUDED
struct archive_rb_node {
struct archive_rb_node *rb_nodes[2];
@@ -48,12 +49,24 @@ struct archive_rb_node {
__archive_rb_tree_iterate((T), NULL, ARCHIVE_RB_DIR_LEFT)
#define ARCHIVE_RB_TREE_MAX(T) \
__archive_rb_tree_iterate((T), NULL, ARCHIVE_RB_DIR_RIGHT)
+#define ARCHIVE_RB_TREE_NEXT(T, N) \
+ __archive_rb_tree_iterate((T), (N), ARCHIVE_RB_DIR_RIGHT)
+#define ARCHIVE_RB_TREE_PREV(T, N) \
+ __archive_rb_tree_iterate((T), (N), ARCHIVE_RB_DIR_LEFT)
#define ARCHIVE_RB_TREE_FOREACH(N, T) \
for ((N) = ARCHIVE_RB_TREE_MIN(T); (N); \
- (N) = __archive_rb_tree_iterate((T), (N), ARCHIVE_RB_DIR_RIGHT))
+ (N) = ARCHIVE_RB_TREE_NEXT((T), (N)))
#define ARCHIVE_RB_TREE_FOREACH_REVERSE(N, T) \
for ((N) = ARCHIVE_RB_TREE_MAX(T); (N); \
- (N) = __archive_rb_tree_iterate((T), (N), ARCHIVE_RB_DIR_LEFT))
+ (N) = ARCHIVE_RB_TREE_PREV((T), (N)))
+#define ARCHIVE_RB_TREE_FOREACH_SAFE(N, T, S) \
+ for ((N) = ARCHIVE_RB_TREE_MIN(T); \
+ (N) && ((S) = ARCHIVE_RB_TREE_NEXT((T), (N)), 1); \
+ (N) = (S))
+#define ARCHIVE_RB_TREE_FOREACH_REVERSE_SAFE(N, T, S) \
+ for ((N) = ARCHIVE_RB_TREE_MAX(T); \
+ (N) && ((S) = ARCHIVE_RB_TREE_PREV((T), (N)), 1); \
+ (N) = (S))
/*
* archive_rbto_compare_nodes_fn:
diff --git a/Utilities/cmlibarchive/libarchive/archive_read.3 b/Utilities/cmlibarchive/libarchive/archive_read.3
index d37e732..cbedd0a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read.3
@@ -155,7 +155,7 @@ to close the archive, then call
.Fn archive_read_free
to release all resources, including all memory allocated by the library.
.\"
-.Sh EXAMPLE
+.Sh EXAMPLES
The following illustrates basic usage of the library.
In this example,
the callback functions are simply wrappers around the standard
@@ -217,16 +217,16 @@ myclose(struct archive *a, void *client_data)
.\" .Sh ERRORS
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
-.Xr archive_read_new 3 ,
.Xr archive_read_data 3 ,
.Xr archive_read_extract 3 ,
.Xr archive_read_filter 3 ,
.Xr archive_read_format 3 ,
.Xr archive_read_header 3 ,
+.Xr archive_read_new 3 ,
.Xr archive_read_open 3 ,
.Xr archive_read_set_options 3 ,
.Xr archive_util 3 ,
+.Xr libarchive 3 ,
.Xr tar 5
.Sh HISTORY
The
diff --git a/Utilities/cmlibarchive/libarchive/archive_read.c b/Utilities/cmlibarchive/libarchive/archive_read.c
index 0e56e76..4a933b2 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read.c
@@ -433,7 +433,7 @@ archive_read_add_callback_data(struct archive *_a, void *client_data,
return ARCHIVE_FATAL;
}
a->client.dataset = (struct archive_read_data_node *)p;
- for (i = a->client.nodes - 1; i > iindex && i > 0; i--) {
+ for (i = a->client.nodes - 1; i > iindex; i--) {
a->client.dataset[i].data = a->client.dataset[i-1].data;
a->client.dataset[i].begin_position = -1;
a->client.dataset[i].total_size = -1;
@@ -611,6 +611,15 @@ choose_filters(struct archive_read *a)
return (ARCHIVE_FATAL);
}
+int
+__archive_read_header(struct archive_read *a, struct archive_entry *entry)
+{
+ if (a->filter->read_header)
+ return a->filter->read_header(a->filter, entry);
+ else
+ return (ARCHIVE_OK);
+}
+
/*
* Read header of next entry.
*/
@@ -835,7 +844,8 @@ archive_read_data(struct archive *_a, void *buff, size_t s)
dest = (char *)buff;
while (s > 0) {
- if (a->read_data_remaining == 0) {
+ if (a->read_data_offset == a->read_data_output_offset &&
+ a->read_data_remaining == 0) {
read_buf = a->read_data_block;
a->read_data_is_posix_read = 1;
a->read_data_requested = s;
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_add_passphrase.3 b/Utilities/cmlibarchive/libarchive/archive_read_add_passphrase.3
index 8b242ea..ca60d4f 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_add_passphrase.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_add_passphrase.3
@@ -59,16 +59,16 @@ or empty, this function will do nothing and
will be returned.
Otherwise,
.Cm ARCHIVE_OK
-will be returned.
+will be returned.
.It Fn archive_read_set_passphrase_callback
-Register callback function that will be invoked to get a passphrase
-for decrption after trying all passphrases registered by the
+Register a callback function that will be invoked to get a passphrase
+for decryption after trying all the passphrases registered by the
.Fn archive_read_add_passphrase
function failed.
.El
.\" .Sh ERRORS
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_read 3 ,
-.Xr archive_read_set_options 3
+.Xr archive_read_set_options 3 ,
+.Xr libarchive 3
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_data.3 b/Utilities/cmlibarchive/libarchive/archive_read_data.3
index c1bc15d..78c0c90 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_data.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_data.3
@@ -28,7 +28,7 @@
.Dt ARCHIVE_READ_DATA 3
.Os
.Sh NAME
-.Nm archive_read_data
+.Nm archive_read_data ,
.Nm archive_read_data_block ,
.Nm archive_read_data_skip ,
.Nm archive_read_data_into_fd
@@ -118,7 +118,6 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_read 3 ,
.Xr archive_read_extract 3 ,
.Xr archive_read_filter 3 ,
@@ -127,4 +126,5 @@ functions.
.Xr archive_read_open 3 ,
.Xr archive_read_set_options 3 ,
.Xr archive_util 3 ,
+.Xr libarchive 3 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_disk.3 b/Utilities/cmlibarchive/libarchive/archive_read_disk.3
index 027f63c..82d6a5c 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_disk.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_disk.3
@@ -99,9 +99,10 @@ following values:
.Bl -tag -compact -width "indent"
.It Cm ARCHIVE_READDISK_HONOR_NODUMP
Skip files and directories with the nodump file attribute (file flag) set.
-By default, the nodump file atrribute is ignored.
+By default, the nodump file attribute is ignored.
.It Cm ARCHIVE_READDISK_MAC_COPYFILE
-Mac OS X specific. Read metadata (ACLs and extended attributes) with
+Mac OS X specific.
+Read metadata (ACLs and extended attributes) with
.Xr copyfile 3 .
By default, metadata is read using
.Xr copyfile 3 .
@@ -120,7 +121,7 @@ or
for more information on file attributes.
.It Cm ARCHIVE_READDISK_NO_TRAVERSE_MOUNTS
Do not traverse mount points.
-By defaut, moint points are traversed.
+By default, mount points are traversed.
.It Cm ARCHIVE_READDISK_NO_XATTR
Do not read extended file attributes (xattrs).
By default, extended file attributes are read from disk.
@@ -216,7 +217,7 @@ of some other operation.
(For example, directory traversal libraries often provide this information.)
.Pp
Where necessary, user and group ids are converted to user and group names
-using the currently registered lookup functions above.
+using the currently-registered lookup functions above.
This affects the file ownership fields and ACL values in the
.Tn struct archive_entry
object.
@@ -226,7 +227,7 @@ More information about the
object and the overall design of the library can be found in the
.Xr libarchive 3
overview.
-.Sh EXAMPLE
+.Sh EXAMPLES
The following illustrates basic usage of the library by
showing how to use it to copy an item on disk into an archive.
.Bd -literal -offset indent
@@ -291,11 +292,11 @@ and
functions.
.\"
.Sh SEE ALSO
+.Xr tar 1 ,
.Xr archive_read 3 ,
.Xr archive_util 3 ,
.Xr archive_write 3 ,
.Xr archive_write_disk 3 ,
-.Xr tar 1 ,
.Xr libarchive 3
.Sh HISTORY
The
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_disk_entry_from_file.c b/Utilities/cmlibarchive/libarchive/archive_read_disk_entry_from_file.c
index 1786cff..2a8cec8 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_disk_entry_from_file.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_disk_entry_from_file.c
@@ -163,6 +163,9 @@ archive_read_disk_entry_from_file(struct archive *_a,
int initial_fd = fd;
int r, r1;
+ archive_check_magic(_a, ARCHIVE_READ_DISK_MAGIC, ARCHIVE_STATE_ANY,
+ "archive_read_disk_entry_from_file");
+
archive_clear_error(_a);
path = archive_entry_sourcepath(entry);
if (path == NULL)
@@ -188,7 +191,7 @@ archive_read_disk_entry_from_file(struct archive *_a,
}
} else
#endif
- if (stat(path, &s) != 0) {
+ if (la_stat(path, &s) != 0) {
archive_set_error(&a->archive, errno,
"Can't stat %s", path);
return (ARCHIVE_FAILED);
@@ -246,11 +249,11 @@ archive_read_disk_entry_from_file(struct archive *_a,
#if defined(HAVE_READLINK) || defined(HAVE_READLINKAT)
if (S_ISLNK(st->st_mode)) {
- size_t linkbuffer_len = st->st_size + 1;
+ size_t linkbuffer_len = st->st_size;
char *linkbuffer;
int lnklen;
- linkbuffer = malloc(linkbuffer_len);
+ linkbuffer = malloc(linkbuffer_len + 1);
if (linkbuffer == NULL) {
archive_set_error(&a->archive, ENOMEM,
"Couldn't read link data");
@@ -277,7 +280,7 @@ archive_read_disk_entry_from_file(struct archive *_a,
free(linkbuffer);
return (ARCHIVE_FAILED);
}
- linkbuffer[lnklen] = 0;
+ linkbuffer[lnklen] = '\0';
archive_entry_set_symlink(entry, linkbuffer);
free(linkbuffer);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c b/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c
index cdf7541..52fec7b 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c
@@ -694,6 +694,7 @@ _archive_read_data_block(struct archive *_a, const void **buff,
struct tree *t = a->tree;
int r;
ssize_t bytes;
+ int64_t sparse_bytes;
size_t buffbytes;
int empty_sparse_region = 0;
@@ -728,27 +729,23 @@ _archive_read_data_block(struct archive *_a, const void **buff,
if ((t->flags & needsRestoreTimes) != 0 &&
t->restore_time.noatime == 0)
flags |= O_NOATIME;
- do {
#endif
- t->entry_fd = open_on_current_dir(t,
- tree_current_access_path(t), flags);
- __archive_ensure_cloexec_flag(t->entry_fd);
+ t->entry_fd = open_on_current_dir(t,
+ tree_current_access_path(t), flags);
+ __archive_ensure_cloexec_flag(t->entry_fd);
#if defined(O_NOATIME)
- /*
- * When we did open the file with O_NOATIME flag,
- * if successful, set 1 to t->restore_time.noatime
- * not to restore an atime of the file later.
- * if failed by EPERM, retry it without O_NOATIME flag.
- */
- if (flags & O_NOATIME) {
- if (t->entry_fd >= 0)
- t->restore_time.noatime = 1;
- else if (errno == EPERM) {
- flags &= ~O_NOATIME;
- continue;
- }
- }
- } while (0);
+ /*
+ * When we did open the file with O_NOATIME flag,
+ * if successful, set 1 to t->restore_time.noatime
+ * not to restore an atime of the file later.
+ * if failed by EPERM, retry it without O_NOATIME flag.
+ */
+ if (flags & O_NOATIME) {
+ if (t->entry_fd >= 0)
+ t->restore_time.noatime = 1;
+ else if (errno == EPERM)
+ flags &= ~O_NOATIME;
+ }
#endif
if (t->entry_fd < 0) {
archive_set_error(&a->archive, errno,
@@ -792,9 +789,9 @@ _archive_read_data_block(struct archive *_a, const void **buff,
a->archive.state = ARCHIVE_STATE_FATAL;
goto abort_read_data;
}
- bytes = t->current_sparse->offset - t->entry_total;
- t->entry_remaining_bytes -= bytes;
- t->entry_total += bytes;
+ sparse_bytes = t->current_sparse->offset - t->entry_total;
+ t->entry_remaining_bytes -= sparse_bytes;
+ t->entry_total += sparse_bytes;
}
/*
@@ -856,7 +853,12 @@ next_entry(struct archive_read_disk *a, struct tree *t,
const struct stat *st; /* info to use for this entry */
const struct stat *lst;/* lstat() information */
const char *name;
- int descend, r;
+ int delayed, delayed_errno, descend, r;
+ struct archive_string delayed_str;
+
+ delayed = ARCHIVE_OK;
+ delayed_errno = 0;
+ archive_string_init(&delayed_str);
st = NULL;
lst = NULL;
@@ -885,14 +887,26 @@ next_entry(struct archive_read_disk *a, struct tree *t,
case TREE_REGULAR:
lst = tree_current_lstat(t);
if (lst == NULL) {
+ if (errno == ENOENT && t->depth > 0) {
+ delayed = ARCHIVE_WARN;
+ delayed_errno = errno;
+ if (delayed_str.length == 0) {
+ archive_string_sprintf(&delayed_str,
+ "%s", tree_current_path(t));
+ } else {
+ archive_string_sprintf(&delayed_str,
+ " %s", tree_current_path(t));
+ }
+ } else {
archive_set_error(&a->archive, errno,
"%s: Cannot stat",
tree_current_path(t));
tree_enter_initial_dir(t);
return (ARCHIVE_FAILED);
+ }
}
break;
- }
+ }
} while (lst == NULL);
#ifdef __APPLE__
@@ -1083,6 +1097,17 @@ next_entry(struct archive_read_disk *a, struct tree *t,
r = archive_read_disk_entry_from_file(&(a->archive), entry,
t->entry_fd, st);
+ if (r == ARCHIVE_OK) {
+ r = delayed;
+ if (r != ARCHIVE_OK) {
+ archive_string_sprintf(&delayed_str, ": %s",
+ "File removed before we read it");
+ archive_set_error(&(a->archive), delayed_errno,
+ "%s", delayed_str.s);
+ }
+ }
+ archive_string_free(&delayed_str);
+
return (r);
}
@@ -1114,6 +1139,8 @@ _archive_read_next_header2(struct archive *_a, struct archive_entry *entry)
t->entry_fd = -1;
}
+ archive_entry_clear(entry);
+
for (;;) {
r = next_entry(a, t, entry);
if (t->entry_fd >= 0) {
@@ -1266,10 +1293,23 @@ archive_read_disk_descend(struct archive *_a)
if (t->visit_type != TREE_REGULAR || !t->descend)
return (ARCHIVE_OK);
+ /*
+ * We must not treat the initial specified path as a physical dir,
+ * because if we do then we will try and ascend out of it by opening
+ * ".." which is (a) wrong and (b) causes spurious permissions errors
+ * if ".." is not readable by us. Instead, treat it as if it were a
+ * symlink. (This uses an extra fd, but it can only happen once at the
+ * top level of a traverse.) But we can't necessarily assume t->st is
+ * valid here (though t->lst is), which complicates the logic a
+ * little.
+ */
if (tree_current_is_physical_dir(t)) {
tree_push(t, t->basename, t->current_filesystem_id,
t->lst.st_dev, t->lst.st_ino, &t->restore_time);
- t->stack->flags |= isDir;
+ if (t->stack->parent->parent != NULL)
+ t->stack->flags |= isDir;
+ else
+ t->stack->flags |= isDirLink;
} else if (tree_current_is_dir(t)) {
tree_push(t, t->basename, t->current_filesystem_id,
t->st.st_dev, t->st.st_ino, &t->restore_time);
@@ -2122,6 +2162,17 @@ tree_open(const char *path, int symlink_mode, int restore_time)
static struct tree *
tree_reopen(struct tree *t, const char *path, int restore_time)
{
+#if defined(O_PATH)
+ /* Linux */
+ const int o_flag = O_PATH;
+#elif defined(O_SEARCH)
+ /* SunOS */
+ const int o_flag = O_SEARCH;
+#elif defined(__FreeBSD__) && defined(O_EXEC)
+ /* FreeBSD */
+ const int o_flag = O_EXEC;
+#endif
+
t->flags = (restore_time != 0)?needsRestoreTimes:0;
t->flags |= onInitialDir;
t->visit_type = 0;
@@ -2143,6 +2194,16 @@ tree_reopen(struct tree *t, const char *path, int restore_time)
t->stack->flags = needsFirstVisit;
t->maxOpenCount = t->openCount = 1;
t->initial_dir_fd = open(".", O_RDONLY | O_CLOEXEC);
+#if defined(O_PATH) || defined(O_SEARCH) || \
+ (defined(__FreeBSD__) && defined(O_EXEC))
+ /*
+ * Most likely reason to fail opening "." is that it's not readable,
+ * so try again for execute. The consequences of not opening this are
+ * unhelpful and unnecessary errors later.
+ */
+ if (t->initial_dir_fd < 0)
+ t->initial_dir_fd = open(".", o_flag | O_CLOEXEC);
+#endif
__archive_ensure_cloexec_flag(t->initial_dir_fd);
t->working_dir_fd = tree_dup(t->initial_dir_fd);
return (t);
@@ -2450,7 +2511,7 @@ tree_current_stat(struct tree *t)
#else
if (tree_enter_working_dir(t) != 0)
return NULL;
- if (stat(tree_current_access_path(t), &t->st) != 0)
+ if (la_stat(tree_current_access_path(t), &t->st) != 0)
#endif
return NULL;
t->flags |= hasStat;
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_disk_private.h b/Utilities/cmlibarchive/libarchive/archive_read_disk_private.h
index f03a0a9..bc8abc1 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_disk_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_read_disk_private.h
@@ -26,13 +26,13 @@
* $FreeBSD: head/lib/libarchive/archive_read_disk_private.h 201105 2009-12-28 03:20:54Z kientzle $
*/
+#ifndef ARCHIVE_READ_DISK_PRIVATE_H_INCLUDED
+#define ARCHIVE_READ_DISK_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_READ_DISK_PRIVATE_H_INCLUDED
-#define ARCHIVE_READ_DISK_PRIVATE_H_INCLUDED
-
#include "archive_platform_acl.h"
struct tree;
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c b/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c
index d82048d..fdd376f 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c
@@ -299,8 +299,155 @@ static int close_and_restore_time(HANDLE, struct tree *,
struct restore_time *);
static int setup_sparse_from_disk(struct archive_read_disk *,
struct archive_entry *, HANDLE);
+static int la_linkname_from_handle(HANDLE, wchar_t **, int *);
+static int la_linkname_from_pathw(const wchar_t *, wchar_t **, int *);
+static void entry_symlink_from_pathw(struct archive_entry *,
+ const wchar_t *path);
+
+typedef struct _REPARSE_DATA_BUFFER {
+ ULONG ReparseTag;
+ USHORT ReparseDataLength;
+ USHORT Reserved;
+ union {
+ struct {
+ USHORT SubstituteNameOffset;
+ USHORT SubstituteNameLength;
+ USHORT PrintNameOffset;
+ USHORT PrintNameLength;
+ ULONG Flags;
+ WCHAR PathBuffer[1];
+ } SymbolicLinkReparseBuffer;
+ struct {
+ USHORT SubstituteNameOffset;
+ USHORT SubstituteNameLength;
+ USHORT PrintNameOffset;
+ USHORT PrintNameLength;
+ WCHAR PathBuffer[1];
+ } MountPointReparseBuffer;
+ struct {
+ UCHAR DataBuffer[1];
+ } GenericReparseBuffer;
+ } DUMMYUNIONNAME;
+} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
+/*
+ * Reads the target of a symbolic link
+ *
+ * Returns 0 on success and -1 on failure
+ * outbuf is allocated in the function
+ */
+static int
+la_linkname_from_handle(HANDLE h, wchar_t **linkname, int *linktype)
+{
+ DWORD inbytes;
+ REPARSE_DATA_BUFFER *buf;
+ BY_HANDLE_FILE_INFORMATION st;
+ size_t len;
+ BOOL ret;
+ BYTE *indata;
+ wchar_t *tbuf;
+
+ ret = GetFileInformationByHandle(h, &st);
+ if (ret == 0 ||
+ (st.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) == 0) {
+ return (-1);
+ }
+
+ indata = malloc(MAXIMUM_REPARSE_DATA_BUFFER_SIZE);
+ ret = DeviceIoControl(h, FSCTL_GET_REPARSE_POINT, NULL, 0, indata,
+ 1024, &inbytes, NULL);
+ if (ret == 0) {
+ la_dosmaperr(GetLastError());
+ free(indata);
+ return (-1);
+ }
+
+ buf = (REPARSE_DATA_BUFFER *) indata;
+ if (buf->ReparseTag != IO_REPARSE_TAG_SYMLINK) {
+ free(indata);
+ /* File is not a symbolic link */
+ errno = EINVAL;
+ return (-1);
+ }
+
+ len = buf->SymbolicLinkReparseBuffer.SubstituteNameLength;
+ if (len <= 0) {
+ free(indata);
+ return (-1);
+ }
+
+ tbuf = malloc(len + 1 * sizeof(wchar_t));
+ if (tbuf == NULL) {
+ free(indata);
+ return (-1);
+ }
+
+ memcpy(tbuf, &((BYTE *)buf->SymbolicLinkReparseBuffer.PathBuffer)
+ [buf->SymbolicLinkReparseBuffer.SubstituteNameOffset], len);
+ free(indata);
+
+ tbuf[len / sizeof(wchar_t)] = L'\0';
+
+ *linkname = tbuf;
+
+ /*
+ * Translate backslashes to slashes for libarchive internal use
+ */
+ while(*tbuf != L'\0') {
+ if (*tbuf == L'\\')
+ *tbuf = L'/';
+ tbuf++;
+ }
+
+ if ((st.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
+ *linktype = AE_SYMLINK_TYPE_FILE;
+ else
+ *linktype = AE_SYMLINK_TYPE_DIRECTORY;
+
+ return (0);
+}
+/*
+ * Returns AE_SYMLINK_TYPE_FILE, AE_SYMLINK_TYPE_DIRECTORY or -1 on error
+ */
+static int
+la_linkname_from_pathw(const wchar_t *path, wchar_t **outbuf, int *linktype)
+{
+ HANDLE h;
+ const DWORD flag = FILE_FLAG_BACKUP_SEMANTICS |
+ FILE_FLAG_OPEN_REPARSE_POINT;
+ int ret;
+
+ h = CreateFileW(path, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, flag,
+ NULL);
+ if (h == INVALID_HANDLE_VALUE) {
+ la_dosmaperr(GetLastError());
+ return (-1);
+ }
+
+ ret = la_linkname_from_handle(h, outbuf, linktype);
+ CloseHandle(h);
+
+ return (ret);
+}
+
+static void
+entry_symlink_from_pathw(struct archive_entry *entry, const wchar_t *path)
+{
+ wchar_t *linkname = NULL;
+ int ret, linktype;
+
+ ret = la_linkname_from_pathw(path, &linkname, &linktype);
+ if (ret != 0)
+ return;
+ if (linktype >= 0) {
+ archive_entry_copy_symlink_w(entry, linkname);
+ archive_entry_set_symlink_type(entry, linktype);
+ }
+ free(linkname);
+
+ return;
+}
static struct archive_vtable *
archive_read_disk_vtable(void)
@@ -900,6 +1047,19 @@ next_entry(struct archive_read_disk *a, struct tree *t,
}
/*
+ * File attributes
+ */
+ if ((a->flags & ARCHIVE_READDISK_NO_FFLAGS) == 0) {
+ const int supported_attrs =
+ FILE_ATTRIBUTE_READONLY |
+ FILE_ATTRIBUTE_HIDDEN |
+ FILE_ATTRIBUTE_SYSTEM;
+ DWORD file_attrs = st->dwFileAttributes & supported_attrs;
+ if (file_attrs != 0)
+ archive_entry_set_fflags(entry, file_attrs, 0);
+ }
+
+ /*
* Invoke a meta data filter callback.
*/
if (a->metadata_filter_func) {
@@ -966,6 +1126,8 @@ _archive_read_next_header2(struct archive *_a, struct archive_entry *entry)
t->entry_fh = INVALID_HANDLE_VALUE;
}
+ archive_entry_clear(entry);
+
while ((r = next_entry(a, t, entry)) == ARCHIVE_RETRY)
archive_entry_clear(entry);
@@ -1838,9 +2000,10 @@ entry_copy_bhfi(struct archive_entry *entry, const wchar_t *path,
mode |= S_IWUSR | S_IWGRP | S_IWOTH;
if ((bhfi->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) &&
findData != NULL &&
- findData->dwReserved0 == IO_REPARSE_TAG_SYMLINK)
+ findData->dwReserved0 == IO_REPARSE_TAG_SYMLINK) {
mode |= S_IFLNK;
- else if (bhfi->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ entry_symlink_from_pathw(entry, path);
+ } else if (bhfi->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
mode |= S_IFDIR | S_IXUSR | S_IXGRP | S_IXOTH;
else {
const wchar_t *p;
@@ -2139,6 +2302,8 @@ archive_read_disk_entry_from_file(struct archive *_a,
fileAttributes = bhfi.dwFileAttributes;
} else {
archive_entry_copy_stat(entry, st);
+ if (st->st_mode & S_IFLNK)
+ entry_symlink_from_pathw(entry, path);
h = INVALID_HANDLE_VALUE;
}
@@ -2151,6 +2316,19 @@ archive_read_disk_entry_from_file(struct archive *_a,
archive_entry_copy_gname(entry, name);
/*
+ * File attributes
+ */
+ if ((a->flags & ARCHIVE_READDISK_NO_FFLAGS) == 0) {
+ const int supported_attrs =
+ FILE_ATTRIBUTE_READONLY |
+ FILE_ATTRIBUTE_HIDDEN |
+ FILE_ATTRIBUTE_SYSTEM;
+ DWORD file_attrs = fileAttributes & supported_attrs;
+ if (file_attrs != 0)
+ archive_entry_set_fflags(entry, file_attrs, 0);
+ }
+
+ /*
* Can this file be sparse file ?
*/
if (archive_entry_filetype(entry) != AE_IFREG
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_extract.3 b/Utilities/cmlibarchive/libarchive/archive_read_extract.3
index 6ec0ced..858f397 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_extract.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_extract.3
@@ -126,7 +126,6 @@ and
functions.
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_read 3 ,
.Xr archive_read_data 3 ,
.Xr archive_read_filter 3 ,
@@ -134,4 +133,5 @@ functions.
.Xr archive_read_open 3 ,
.Xr archive_read_set_options 3 ,
.Xr archive_util 3 ,
+.Xr libarchive 3 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_filter.3 b/Utilities/cmlibarchive/libarchive/archive_read_filter.3
index ef0a701..1ba5fcb 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_filter.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_filter.3
@@ -147,8 +147,8 @@ and
functions.
.\"
.Sh SEE ALSO
-.Xr libarchive 3 ,
.Xr archive_read 3 ,
.Xr archive_read_data 3 ,
.Xr archive_read_format 3 ,
-.Xr archive_read_format 3
+.Xr archive_read_format 3 ,
+.Xr libarchive 3
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_format.3 b/Utilities/cmlibarchive/libarchive/archive_read_format.3
index 91c5d2c..f3804ce 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_format.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_format.3
@@ -102,7 +102,7 @@ For example,
.Fn archive_read_support_format_tar
enables support for a variety of standard tar formats, old-style tar,
ustar, pax interchange format, and many common variants.
-.It Fn archive_read_support_format_all
+.It Fn archive_read_support_format_all
Enables support for all available formats except the
.Dq raw
format (see below).
@@ -125,7 +125,7 @@ it is not possible to accurately determine a format for
an empty file based purely on contents.
So empty files are treated by libarchive as a distinct
format.
-.It Fn archive_read_support_format_raw
+.It Fn archive_read_support_format_raw
The
.Dq raw
format handler allows libarchive to be used to read arbitrary data.
@@ -153,11 +153,11 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_read_data 3 ,
.Xr archive_read_filter 3 ,
.Xr archive_read_set_options 3 ,
.Xr archive_util 3 ,
+.Xr libarchive 3 ,
.Xr tar 5
.Sh BUGS
Many traditional archiver programs treat
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_free.3 b/Utilities/cmlibarchive/libarchive/archive_read_free.3
index 5b21822..8371c3a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_free.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_free.3
@@ -83,11 +83,11 @@ and
functions.
.\"
.Sh SEE ALSO
-.Xr libarchive 3 ,
-.Xr archive_read_new 3 ,
.Xr archive_read_data 3 ,
.Xr archive_read_filter 3 ,
.Xr archive_read_format 3 ,
+.Xr archive_read_new 3 ,
.Xr archive_read_open 3 ,
.Xr archive_read_set_options 3 ,
-.Xr archive_util 3
+.Xr archive_util 3 ,
+.Xr libarchive 3
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_header.3 b/Utilities/cmlibarchive/libarchive/archive_read_header.3
index 480a666..1e97f3a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_header.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_header.3
@@ -79,7 +79,6 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_read 3 ,
.Xr archive_read_data 3 ,
.Xr archive_read_extract 3 ,
@@ -88,4 +87,5 @@ functions.
.Xr archive_read_open 3 ,
.Xr archive_read_set_options 3 ,
.Xr archive_util 3 ,
+.Xr libarchive 3 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_new.3 b/Utilities/cmlibarchive/libarchive/archive_read_new.3
index 0c9d1a7..8bb6b84 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_new.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_new.3
@@ -50,10 +50,10 @@ object can be found in the overview manual page for
.\" .Sh ERRORS
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_read_data 3 ,
.Xr archive_read_filter 3 ,
.Xr archive_read_format 3 ,
.Xr archive_read_set_options 3 ,
.Xr archive_util 3 ,
+.Xr libarchive 3 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_open.3 b/Utilities/cmlibarchive/libarchive/archive_read_open.3
index 2278ebc..f676778 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_open.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_open.3
@@ -205,7 +205,7 @@ On failure, the callback should invoke
.Fn archive_set_error
to register an error code and message and
return
-.Cm ARCHIVE_FATAL.
+.Cm ARCHIVE_FATAL .
.\" .Sh EXAMPLE
.\"
.Sh RETURN VALUES
@@ -223,11 +223,11 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_read 3 ,
.Xr archive_read_data 3 ,
.Xr archive_read_filter 3 ,
.Xr archive_read_format 3 ,
.Xr archive_read_set_options 3 ,
.Xr archive_util 3 ,
+.Xr libarchive 3 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_open_file.c b/Utilities/cmlibarchive/libarchive/archive_read_open_file.c
index bfe933b..101dae6 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_open_file.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_open_file.c
@@ -174,8 +174,7 @@ file_close(struct archive *a, void *client_data)
struct read_FILE_data *mine = (struct read_FILE_data *)client_data;
(void)a; /* UNUSED */
- if (mine->buffer != NULL)
- free(mine->buffer);
+ free(mine->buffer);
free(mine);
return (ARCHIVE_OK);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_private.h b/Utilities/cmlibarchive/libarchive/archive_read_private.h
index 78546dc..c842e6f 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_read_private.h
@@ -25,15 +25,15 @@
* $FreeBSD: head/lib/libarchive/archive_read_private.h 201088 2009-12-28 02:18:55Z kientzle $
*/
+#ifndef ARCHIVE_READ_PRIVATE_H_INCLUDED
+#define ARCHIVE_READ_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#ifndef __LIBARCHIVE_TEST
#error This header is only to be used internally to libarchive.
#endif
#endif
-#ifndef ARCHIVE_READ_PRIVATE_H_INCLUDED
-#define ARCHIVE_READ_PRIVATE_H_INCLUDED
-
#include "archive.h"
#include "archive_string.h"
#include "archive_private.h"
@@ -98,6 +98,8 @@ struct archive_read_filter {
int (*close)(struct archive_read_filter *self);
/* Function that handles switching from reading one block to the next/prev */
int (*sswitch)(struct archive_read_filter *self, unsigned int iindex);
+ /* Read any header metadata if available. */
+ int (*read_header)(struct archive_read_filter *self, struct archive_entry *entry);
/* My private data. */
void *data;
@@ -250,6 +252,7 @@ int64_t __archive_read_seek(struct archive_read*, int64_t, int);
int64_t __archive_read_filter_seek(struct archive_read_filter *, int64_t, int);
int64_t __archive_read_consume(struct archive_read *, int64_t);
int64_t __archive_read_filter_consume(struct archive_read_filter *, int64_t);
+int __archive_read_header(struct archive_read *, struct archive_entry *);
int __archive_read_program(struct archive_read_filter *, const char *);
void __archive_read_free_filters(struct archive_read *);
struct archive_read_extract *__archive_read_get_extract(struct archive_read *);
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_set_format.c b/Utilities/cmlibarchive/libarchive/archive_read_set_format.c
index 190f436..1d3e49d 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_set_format.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_set_format.c
@@ -73,6 +73,9 @@ archive_read_set_format(struct archive *_a, int code)
case ARCHIVE_FORMAT_RAR:
strcpy(str, "rar");
break;
+ case ARCHIVE_FORMAT_RAR_V5:
+ strcpy(str, "rar5");
+ break;
case ARCHIVE_FORMAT_TAR:
strcpy(str, "tar");
break;
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_set_options.3 b/Utilities/cmlibarchive/libarchive/archive_read_set_options.3
index 1a251ce..78d9999 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_set_options.3
+++ b/Utilities/cmlibarchive/libarchive/archive_read_set_options.3
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 2, 2012
+.Dd January 31, 2020
.Dt ARCHIVE_READ_OPTIONS 3
.Os
.Sh NAME
@@ -180,6 +180,18 @@ only to modules whose name matches
.\"
.Sh OPTIONS
.Bl -tag -compact -width indent
+.It Format cab
+.Bl -tag -compact -width indent
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file names.
+.El
+.It Format cpio
+.Bl -tag -compact -width indent
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file names.
+.El
.It Format iso9660
.Bl -tag -compact -width indent
.It Cm joliet
@@ -193,6 +205,24 @@ Defaults to enabled, use
.Cm !rockridge
to disable.
.El
+.It Format lha
+.Bl -tag -compact -width indent
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file names.
+.El
+.It Format mtree
+.Bl -tag -compact -width indent
+.It Cm checkfs
+Allow reading information missing from the mtree from the file system.
+Disabled by default.
+.El
+.It Format rar
+.Bl -tag -compact -width indent
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file names.
+.El
.It Format tar
.Bl -tag -compact -width indent
.It Cm compat-2x
@@ -202,7 +232,7 @@ This option mimics the libarchive 2.x filename handling
so that such archives can be read correctly.
.It Cm hdrcharset
The value is used as a character set name that will be
-used when translating filenames.
+used when translating file names.
.It Cm mac-ext
Support Mac OS metadata extension that records data in special
files beginning with a period and underscore.
@@ -212,7 +242,8 @@ Use
to disable.
.It Cm read_concatenated_archives
Ignore zeroed blocks in the archive, which occurs when multiple tar archives
-have been concatenated together. Without this option, only the contents of
+have been concatenated together.
+Without this option, only the contents of
the first concatenated archive would be read.
.El
.El
@@ -226,6 +257,6 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
+.Xr archive_read 3 ,
.Xr archive_write_set_options 3 ,
-.Xr archive_read 3
+.Xr libarchive 3
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_gzip.c b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_gzip.c
index e9f59f1..95cfd54 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_gzip.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_gzip.c
@@ -37,6 +37,9 @@ __FBSDID("$FreeBSD$");
#ifdef HAVE_STRING_H
#include <string.h>
#endif
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
@@ -45,6 +48,8 @@ __FBSDID("$FreeBSD$");
#endif
#include "archive.h"
+#include "archive_entry.h"
+#include "archive_endian.h"
#include "archive_private.h"
#include "archive_read_private.h"
@@ -56,6 +61,8 @@ struct private_data {
size_t out_block_size;
int64_t total_out;
unsigned long crc;
+ uint32_t mtime;
+ char *name;
char eof; /* True = found end of compressed data. */
};
@@ -123,12 +130,21 @@ archive_read_support_filter_gzip(struct archive *_a)
* count of bits verified, suitable for use by bidder.
*/
static ssize_t
-peek_at_header(struct archive_read_filter *filter, int *pbits)
+peek_at_header(struct archive_read_filter *filter, int *pbits,
+#ifdef HAVE_ZLIB_H
+ struct private_data *state
+#else
+ void *state
+#endif
+ )
{
const unsigned char *p;
ssize_t avail, len;
int bits = 0;
int header_flags;
+#ifndef HAVE_ZLIB_H
+ (void)state; /* UNUSED */
+#endif
/* Start by looking at the first ten bytes of the header, which
* is all fixed layout. */
@@ -144,7 +160,11 @@ peek_at_header(struct archive_read_filter *filter, int *pbits)
return (0);
bits += 3;
header_flags = p[3];
- /* Bytes 4-7 are mod time. */
+ /* Bytes 4-7 are mod time in little endian. */
+#ifdef HAVE_ZLIB_H
+ if (state)
+ state->mtime = archive_le32dec(p + 4);
+#endif
/* Byte 8 is deflate flags. */
/* XXXX TODO: return deflate flags back to consume_header for use
in initializing the decompressor. */
@@ -161,6 +181,9 @@ peek_at_header(struct archive_read_filter *filter, int *pbits)
/* Null-terminated optional filename. */
if (header_flags & 8) {
+#ifdef HAVE_ZLIB_H
+ ssize_t file_start = len;
+#endif
do {
++len;
if (avail < len)
@@ -169,6 +192,14 @@ peek_at_header(struct archive_read_filter *filter, int *pbits)
if (p == NULL)
return (0);
} while (p[len - 1] != 0);
+
+#ifdef HAVE_ZLIB_H
+ if (state) {
+ /* Reset the name in case of repeat header reads. */
+ free(state->name);
+ state->name = strdup((const char *)&p[file_start]);
+ }
+#endif
}
/* Null-terminated optional comment. */
@@ -214,12 +245,11 @@ gzip_bidder_bid(struct archive_read_filter_bidder *self,
(void)self; /* UNUSED */
- if (peek_at_header(filter, &bits_checked))
+ if (peek_at_header(filter, &bits_checked, NULL))
return (bits_checked);
return (0);
}
-
#ifndef HAVE_ZLIB_H
/*
@@ -243,6 +273,24 @@ gzip_bidder_init(struct archive_read_filter *self)
#else
+static int
+gzip_read_header(struct archive_read_filter *self, struct archive_entry *entry)
+{
+ struct private_data *state;
+
+ state = (struct private_data *)self->data;
+
+ /* A mtime of 0 is considered invalid/missing. */
+ if (state->mtime != 0)
+ archive_entry_set_mtime(entry, state->mtime, 0);
+
+ /* If the name is available, extract it. */
+ if (state->name)
+ archive_entry_set_pathname(entry, state->name);
+
+ return (ARCHIVE_OK);
+}
+
/*
* Initialize the filter object.
*/
@@ -272,6 +320,9 @@ gzip_bidder_init(struct archive_read_filter *self)
self->read = gzip_filter_read;
self->skip = NULL; /* not supported */
self->close = gzip_filter_close;
+#ifdef HAVE_ZLIB_H
+ self->read_header = gzip_read_header;
+#endif
state->in_stream = 0; /* We're not actually within a stream yet. */
@@ -289,7 +340,7 @@ consume_header(struct archive_read_filter *self)
state = (struct private_data *)self->data;
/* If this is a real header, consume it. */
- len = peek_at_header(self->upstream, NULL);
+ len = peek_at_header(self->upstream, NULL, state);
if (len == 0)
return (ARCHIVE_EOF);
__archive_read_filter_consume(self->upstream, len);
@@ -374,7 +425,7 @@ gzip_filter_read(struct archive_read_filter *self, const void **p)
{
struct private_data *state;
size_t decompressed;
- ssize_t avail_in;
+ ssize_t avail_in, max_in;
int ret;
state = (struct private_data *)self->data;
@@ -408,6 +459,12 @@ gzip_filter_read(struct archive_read_filter *self, const void **p)
"truncated gzip input");
return (ARCHIVE_FATAL);
}
+ if (UINT_MAX >= SSIZE_MAX)
+ max_in = SSIZE_MAX;
+ else
+ max_in = UINT_MAX;
+ if (avail_in > max_in)
+ avail_in = max_in;
state->stream.avail_in = (uInt)avail_in;
/* Decompress and consume some of that data. */
@@ -469,6 +526,7 @@ gzip_filter_close(struct archive_read_filter *self)
}
}
+ free(state->name);
free(state->out_block);
free(state);
return (ret);
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_lz4.c b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_lz4.c
index 147f502..43ee6c2 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_lz4.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_lz4.c
@@ -460,7 +460,7 @@ lz4_filter_read_descriptor(struct archive_read_filter *self)
__archive_read_filter_consume(self->upstream, descriptor_bytes);
- /* Make sure we have an enough buffer for uncompressed data. */
+ /* Make sure we have a large enough buffer for uncompressed data. */
if (lz4_allocate_out_block(self) != ARCHIVE_OK)
return (ARCHIVE_FATAL);
if (state->flags.stream_checksum)
@@ -520,7 +520,7 @@ lz4_filter_read_data_block(struct archive_read_filter *self, const void **p)
if (read_buf == NULL)
goto truncated_error;
- /* Optional process, checking a block sum. */
+ /* Optional processing, checking a block sum. */
if (checksum_size) {
unsigned int chsum = __archive_xxhash.XXH32(
read_buf + 4, (int)compressed_size, 0);
@@ -640,7 +640,7 @@ lz4_filter_read_default_stream(struct archive_read_filter *self, const void **p)
if (ret == 0 && *p == NULL)
state->stage = SELECT_STREAM;
- /* Optional process, checking a stream sum. */
+ /* Optional processing, checking a stream sum. */
if (state->flags.stream_checksum) {
if (state->stage == SELECT_STREAM) {
unsigned int checksum;
@@ -660,7 +660,7 @@ lz4_filter_read_default_stream(struct archive_read_filter *self, const void **p)
if (checksum != checksum_stream) {
archive_set_error(&self->archive->archive,
ARCHIVE_ERRNO_MISC,
- "lz4 stream cheksum error");
+ "lz4 stream checksum error");
return (ARCHIVE_FATAL);
}
} else if (ret > 0)
@@ -674,7 +674,7 @@ static ssize_t
lz4_filter_read_legacy_stream(struct archive_read_filter *self, const void **p)
{
struct private_data *state = (struct private_data *)self->data;
- int compressed;
+ uint32_t compressed;
const char *read_buf;
ssize_t ret;
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_uu.c b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_uu.c
index 6412979..67ddffb 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_filter_uu.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_filter_uu.c
@@ -574,14 +574,13 @@ read_more:
while (l > 0) {
int n = 0;
- if (l > 0) {
- if (!uuchar[b[0]] || !uuchar[b[1]])
- break;
- n = UUDECODE(*b++) << 18;
- n |= UUDECODE(*b++) << 12;
- *out++ = n >> 16; total++;
- --l;
- }
+ if (!uuchar[b[0]] || !uuchar[b[1]])
+ break;
+ n = UUDECODE(*b++) << 18;
+ n |= UUDECODE(*b++) << 12;
+ *out++ = n >> 16; total++;
+ --l;
+
if (l > 0) {
if (!uuchar[b[0]])
break;
@@ -626,14 +625,13 @@ read_more:
while (l > 0) {
int n = 0;
- if (l > 0) {
- if (!base64[b[0]] || !base64[b[1]])
- break;
- n = base64num[*b++] << 18;
- n |= base64num[*b++] << 12;
- *out++ = n >> 16; total++;
- l -= 2;
- }
+ if (!base64[b[0]] || !base64[b[1]])
+ break;
+ n = base64num[*b++] << 18;
+ n |= base64num[*b++] << 12;
+ *out++ = n >> 16; total++;
+ l -= 2;
+
if (l > 0) {
if (*b == '=')
break;
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c
index a885a4c..c9f3527 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_7zip.c
@@ -1086,10 +1086,17 @@ init_decompression(struct archive_read *a, struct _7zip *zip,
zip->bcj_state = 0;
break;
case _7Z_DELTA:
+ if (coder2->propertiesSize != 1) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_MISC,
+ "Invalid Delta parameter");
+ return (ARCHIVE_FAILED);
+ }
filters[fi].id = LZMA_FILTER_DELTA;
memset(&delta_opt, 0, sizeof(delta_opt));
delta_opt.type = LZMA_DELTA_TYPE_BYTE;
- delta_opt.dist = 1;
+ delta_opt.dist =
+ (uint32_t)coder2->properties[0] + 1;
filters[fi].options = &delta_opt;
fi++;
break;
@@ -1787,7 +1794,7 @@ read_PackInfo(struct archive_read *a, struct _7z_pack_info *pi)
return (0);
}
- if (*p != kSize)
+ if (*p != kCRC)
return (-1);
if (read_Digests(a, &(pi->digest), (size_t)pi->numPackStreams) < 0)
@@ -2964,13 +2971,7 @@ get_uncompressed_data(struct archive_read *a, const void **buff, size_t size,
if (zip->codec == _7Z_COPY && zip->codec2 == (unsigned long)-1) {
/* Copy mode. */
- /*
- * Note: '1' here is a performance optimization.
- * Recall that the decompression layer returns a count of
- * available bytes; asking for more than that forces the
- * decompressor to combine reads by copying data.
- */
- *buff = __archive_read_ahead(a, 1, &bytes_avail);
+ *buff = __archive_read_ahead(a, minimum, &bytes_avail);
if (bytes_avail <= 0) {
archive_set_error(&a->archive,
ARCHIVE_ERRNO_FILE_FORMAT,
@@ -3323,8 +3324,7 @@ setup_decode_folder(struct archive_read *a, struct _7z_folder *folder,
* Release the memory which the previous folder used for BCJ2.
*/
for (i = 0; i < 3; i++) {
- if (zip->sub_stream_buff[i] != NULL)
- free(zip->sub_stream_buff[i]);
+ free(zip->sub_stream_buff[i]);
zip->sub_stream_buff[i] = NULL;
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_all.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_all.c
index 2127ebd3..dea558b 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_all.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_all.c
@@ -72,6 +72,7 @@ archive_read_support_format_all(struct archive *a)
archive_read_support_format_7zip(a);
archive_read_support_format_cab(a);
archive_read_support_format_rar(a);
+ archive_read_support_format_rar5(a);
archive_read_support_format_iso9660(a);
/* Seek is really bad, since it forces the read-ahead
* logic to discard buffered data. */
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_ar.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_ar.c
index b6b9fc3..296b7db 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_ar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_ar.c
@@ -138,8 +138,7 @@ archive_read_format_ar_cleanup(struct archive_read *a)
struct ar *ar;
ar = (struct ar *)(a->format->data);
- if (ar->strtab)
- free(ar->strtab);
+ free(ar->strtab);
free(ar);
(a->format->data) = NULL;
return (ARCHIVE_OK);
@@ -388,9 +387,10 @@ _ar_read_header(struct archive_read *a, struct archive_entry *entry,
/*
* "/" is the SVR4/GNU archive symbol table.
+ * "/SYM64/" is the SVR4/GNU 64-bit variant archive symbol table.
*/
- if (strcmp(filename, "/") == 0) {
- archive_entry_copy_pathname(entry, "/");
+ if (strcmp(filename, "/") == 0 || strcmp(filename, "/SYM64/") == 0) {
+ archive_entry_copy_pathname(entry, filename);
/* Parse the time, owner, mode, size fields. */
r = ar_parse_common_header(ar, entry, h);
/* Force the file type to a regular file. */
@@ -459,6 +459,7 @@ ar_parse_common_header(struct ar *ar, struct archive_entry *entry,
uint64_t n;
/* Copy remaining header */
+ archive_entry_set_filetype(entry, AE_IFREG);
archive_entry_set_mtime(entry,
(time_t)ar_atol10(h + AR_date_offset, AR_date_size), 0L);
archive_entry_set_uid(entry,
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_by_code.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_by_code.c
index 084563f..034353d 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_by_code.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_by_code.c
@@ -60,6 +60,9 @@ archive_read_support_format_by_code(struct archive *a, int format_code)
case ARCHIVE_FORMAT_RAR:
return archive_read_support_format_rar(a);
break;
+ case ARCHIVE_FORMAT_RAR_V5:
+ return archive_read_support_format_rar5(a);
+ break;
case ARCHIVE_FORMAT_TAR:
return archive_read_support_format_tar(a);
break;
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c
index 51f79fa..c789d13 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_cab.c
@@ -1509,8 +1509,8 @@ cab_read_ahead_cfdata_deflate(struct archive_read *a, ssize_t *avail)
}
if (mszip == 1 && cab->stream.next_in[0] != 0x4b)
goto nomszip;
- else if (cab->stream.next_in[0] != 0x43 ||
- cab->stream.next_in[1] != 0x4b)
+ else if (mszip == 2 && (cab->stream.next_in[0] != 0x43 ||
+ cab->stream.next_in[1] != 0x4b))
goto nomszip;
cab->stream.next_in += mszip;
cab->stream.avail_in -= mszip;
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_cpio.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_cpio.c
index 67d5b21..1c96e6a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_cpio.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_cpio.c
@@ -955,8 +955,7 @@ archive_read_format_cpio_cleanup(struct archive_read *a)
while (cpio->links_head != NULL) {
struct links_entry *lp = cpio->links_head->next;
- if (cpio->links_head->name)
- free(cpio->links_head->name);
+ free(cpio->links_head->name);
free(cpio->links_head);
cpio->links_head = lp;
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c
index 93649f8..cf1419a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_iso9660.c
@@ -1724,8 +1724,7 @@ archive_read_format_iso9660_cleanup(struct archive_read *a)
free(iso9660->read_ce_req.reqs);
archive_string_free(&iso9660->pathname);
archive_string_free(&iso9660->previous_pathname);
- if (iso9660->pending_files.files)
- free(iso9660->pending_files.files);
+ free(iso9660->pending_files.files);
#ifdef HAVE_ZLIB_H
free(iso9660->entry_zisofs.uncompressed_buffer);
free(iso9660->entry_zisofs.block_pointers);
@@ -2102,6 +2101,7 @@ parse_rockridge(struct archive_read *a, struct file_info *file,
const unsigned char *p, const unsigned char *end)
{
struct iso9660 *iso9660;
+ int entry_seen = 0;
iso9660 = (struct iso9660 *)(a->format->data);
@@ -2257,8 +2257,16 @@ parse_rockridge(struct archive_read *a, struct file_info *file,
}
p += p[2];
+ entry_seen = 1;
+ }
+
+ if (entry_seen)
+ return (ARCHIVE_OK);
+ else {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Tried to parse Rockridge extensions, but none found");
+ return (ARCHIVE_WARN);
}
- return (ARCHIVE_OK);
}
static int
@@ -3029,8 +3037,7 @@ heap_add_entry(struct archive_read *a, struct heap_queue *heap,
if (heap->allocated)
memcpy(new_pending_files, heap->files,
heap->allocated * sizeof(new_pending_files[0]));
- if (heap->files != NULL)
- free(heap->files);
+ free(heap->files);
heap->files = new_pending_files;
heap->allocated = new_size;
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_lha.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_lha.c
index 98d02c6..1357f9a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_lha.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_lha.c
@@ -175,7 +175,9 @@ struct lha {
struct archive_string gname;
uint16_t header_crc;
uint16_t crc;
- struct archive_string_conv *sconv;
+ /* dirname and filename could be in different codepages */
+ struct archive_string_conv *sconv_dir;
+ struct archive_string_conv *sconv_fname;
struct archive_string_conv *opt_sconv;
struct archive_string dirname;
@@ -232,8 +234,8 @@ static time_t lha_dos_time(const unsigned char *);
static time_t lha_win_time(uint64_t, long *);
static unsigned char lha_calcsum(unsigned char, const void *,
int, size_t);
-static int lha_parse_linkname(struct archive_string *,
- struct archive_string *);
+static int lha_parse_linkname(struct archive_wstring *,
+ struct archive_wstring *);
static int lha_read_data_none(struct archive_read *, const void **,
size_t *, int64_t *);
static int lha_read_data_lzh(struct archive_read *, const void **,
@@ -473,13 +475,15 @@ static int
archive_read_format_lha_read_header(struct archive_read *a,
struct archive_entry *entry)
{
- struct archive_string linkname;
- struct archive_string pathname;
+ struct archive_wstring linkname;
+ struct archive_wstring pathname;
struct lha *lha;
const unsigned char *p;
const char *signature;
int err;
-
+ struct archive_mstring conv_buffer;
+ const wchar_t *conv_buffer_p;
+
lha_crc16_init();
a->archive.archive_format = ARCHIVE_FORMAT_LHA;
@@ -561,10 +565,13 @@ archive_read_format_lha_read_header(struct archive_read *a,
archive_string_empty(&lha->dirname);
archive_string_empty(&lha->filename);
lha->dos_attr = 0;
- if (lha->opt_sconv != NULL)
- lha->sconv = lha->opt_sconv;
- else
- lha->sconv = NULL;
+ if (lha->opt_sconv != NULL) {
+ lha->sconv_dir = lha->opt_sconv;
+ lha->sconv_fname = lha->opt_sconv;
+ } else {
+ lha->sconv_dir = NULL;
+ lha->sconv_fname = NULL;
+ }
switch (p[H_LEVEL_OFFSET]) {
case 0:
@@ -594,12 +601,54 @@ archive_read_format_lha_read_header(struct archive_read *a,
return (truncated_error(a));
/*
- * Make a pathname from a dirname and a filename.
- */
- archive_string_concat(&lha->dirname, &lha->filename);
+ * Make a pathname from a dirname and a filename, after converting to Unicode.
+ * This is because codepages might differ between dirname and filename.
+ */
archive_string_init(&pathname);
archive_string_init(&linkname);
- archive_string_copy(&pathname, &lha->dirname);
+ archive_string_init(&conv_buffer.aes_mbs);
+ archive_string_init(&conv_buffer.aes_mbs_in_locale);
+ archive_string_init(&conv_buffer.aes_utf8);
+ archive_string_init(&conv_buffer.aes_wcs);
+ if (0 != archive_mstring_copy_mbs_len_l(&conv_buffer, lha->dirname.s, lha->dirname.length, lha->sconv_dir)) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Pathname cannot be converted "
+ "from %s to Unicode.",
+ archive_string_conversion_charset_name(lha->sconv_dir));
+ err = ARCHIVE_FATAL;
+ } else if (0 != archive_mstring_get_wcs(&a->archive, &conv_buffer, &conv_buffer_p))
+ err = ARCHIVE_FATAL;
+ if (err == ARCHIVE_FATAL) {
+ archive_mstring_clean(&conv_buffer);
+ archive_wstring_free(&pathname);
+ archive_wstring_free(&linkname);
+ return (err);
+ }
+ archive_wstring_copy(&pathname, &conv_buffer.aes_wcs);
+
+ archive_string_empty(&conv_buffer.aes_mbs);
+ archive_string_empty(&conv_buffer.aes_mbs_in_locale);
+ archive_string_empty(&conv_buffer.aes_utf8);
+ archive_wstring_empty(&conv_buffer.aes_wcs);
+ if (0 != archive_mstring_copy_mbs_len_l(&conv_buffer, lha->filename.s, lha->filename.length, lha->sconv_fname)) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Pathname cannot be converted "
+ "from %s to Unicode.",
+ archive_string_conversion_charset_name(lha->sconv_fname));
+ err = ARCHIVE_FATAL;
+ }
+ else if (0 != archive_mstring_get_wcs(&a->archive, &conv_buffer, &conv_buffer_p))
+ err = ARCHIVE_FATAL;
+ if (err == ARCHIVE_FATAL) {
+ archive_mstring_clean(&conv_buffer);
+ archive_wstring_free(&pathname);
+ archive_wstring_free(&linkname);
+ return (err);
+ }
+ archive_wstring_concat(&pathname, &conv_buffer.aes_wcs);
+ archive_mstring_clean(&conv_buffer);
if ((lha->mode & AE_IFMT) == AE_IFLNK) {
/*
@@ -610,8 +659,8 @@ archive_read_format_lha_read_header(struct archive_read *a,
archive_set_error(&a->archive,
ARCHIVE_ERRNO_FILE_FORMAT,
"Unknown symlink-name");
- archive_string_free(&pathname);
- archive_string_free(&linkname);
+ archive_wstring_free(&pathname);
+ archive_wstring_free(&linkname);
return (ARCHIVE_FAILED);
}
} else {
@@ -629,39 +678,13 @@ archive_read_format_lha_read_header(struct archive_read *a,
/*
* Set basic file parameters.
*/
- if (archive_entry_copy_pathname_l(entry, pathname.s,
- pathname.length, lha->sconv) != 0) {
- if (errno == ENOMEM) {
- archive_set_error(&a->archive, ENOMEM,
- "Can't allocate memory for Pathname");
- return (ARCHIVE_FATAL);
- }
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "Pathname cannot be converted "
- "from %s to current locale.",
- archive_string_conversion_charset_name(lha->sconv));
- err = ARCHIVE_WARN;
- }
- archive_string_free(&pathname);
+ archive_entry_copy_pathname_w(entry, pathname.s);
+ archive_wstring_free(&pathname);
if (archive_strlen(&linkname) > 0) {
- if (archive_entry_copy_symlink_l(entry, linkname.s,
- linkname.length, lha->sconv) != 0) {
- if (errno == ENOMEM) {
- archive_set_error(&a->archive, ENOMEM,
- "Can't allocate memory for Linkname");
- return (ARCHIVE_FATAL);
- }
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "Linkname cannot be converted "
- "from %s to current locale.",
- archive_string_conversion_charset_name(lha->sconv));
- err = ARCHIVE_WARN;
- }
+ archive_entry_copy_symlink_w(entry, linkname.s);
} else
archive_entry_set_symlink(entry, NULL);
- archive_string_free(&linkname);
+ archive_wstring_free(&linkname);
/*
* When a header level is 0, there is a possibility that
* a pathname and a symlink has '\' character, a directory
@@ -1208,6 +1231,27 @@ lha_read_file_extended_header(struct archive_read *a, struct lha *lha,
archive_strncpy(&lha->filename,
(const char *)extdheader, datasize);
break;
+ case EXT_UTF16_FILENAME:
+ if (datasize == 0) {
+ /* maybe directory header */
+ archive_string_empty(&lha->filename);
+ break;
+ } else if (datasize & 1) {
+ /* UTF-16 characters take always 2 or 4 bytes */
+ goto invalid;
+ }
+ if (extdheader[0] == '\0')
+ goto invalid;
+ archive_string_empty(&lha->filename);
+ archive_array_append(&lha->filename,
+ (const char *)extdheader, datasize);
+ /* Setup a string conversion for a filename. */
+ lha->sconv_fname =
+ archive_string_conversion_from_charset(&a->archive,
+ "UTF-16LE", 1);
+ if (lha->sconv_fname == NULL)
+ return (ARCHIVE_FATAL);
+ break;
case EXT_DIRECTORY:
if (datasize == 0 || extdheader[0] == '\0')
/* no directory name data. exit this case. */
@@ -1228,6 +1272,50 @@ lha_read_file_extended_header(struct archive_read *a, struct lha *lha,
/* invalid directory data */
goto invalid;
break;
+ case EXT_UTF16_DIRECTORY:
+ /* UTF-16 characters take always 2 or 4 bytes */
+ if (datasize == 0 || (datasize & 1) ||
+ extdheader[0] == '\0') {
+ /* no directory name data. exit this case. */
+ goto invalid;
+ }
+
+ archive_string_empty(&lha->dirname);
+ archive_array_append(&lha->dirname,
+ (const char *)extdheader, datasize);
+ lha->sconv_dir =
+ archive_string_conversion_from_charset(&a->archive,
+ "UTF-16LE", 1);
+ if (lha->sconv_dir == NULL)
+ return (ARCHIVE_FATAL);
+ else {
+ /*
+ * Convert directory delimiter from 0xFFFF
+ * to '/' for local system.
+ */
+ uint16_t dirSep;
+ uint16_t d = 1;
+ if (archive_be16dec(&d) == 1)
+ dirSep = 0x2F00;
+ else
+ dirSep = 0x002F;
+
+ /* UTF-16LE character */
+ uint16_t *utf16name =
+ (uint16_t *)lha->dirname.s;
+ for (i = 0; i < lha->dirname.length / 2; i++) {
+ if (utf16name[i] == 0xFFFF) {
+ utf16name[i] = dirSep;
+ }
+ }
+ /* Is last character directory separator? */
+ if (utf16name[lha->dirname.length / 2 - 1] !=
+ dirSep) {
+ /* invalid directory data */
+ goto invalid;
+ }
+ }
+ break;
case EXT_DOS_ATTR:
if (datasize == 2)
lha->dos_attr = (unsigned char)
@@ -1276,11 +1364,16 @@ lha_read_file_extended_header(struct archive_read *a, struct lha *lha,
charset = cp.s;
break;
}
- lha->sconv =
+ lha->sconv_dir =
+ archive_string_conversion_from_charset(
+ &(a->archive), charset, 1);
+ lha->sconv_fname =
archive_string_conversion_from_charset(
&(a->archive), charset, 1);
archive_string_free(&cp);
- if (lha->sconv == NULL)
+ if (lha->sconv_dir == NULL)
+ return (ARCHIVE_FATAL);
+ if (lha->sconv_fname == NULL)
return (ARCHIVE_FATAL);
}
break;
@@ -1336,8 +1429,7 @@ lha_read_file_extended_header(struct archive_read *a, struct lha *lha,
}
break;
case EXT_TIMEZONE: /* Not supported */
- case EXT_UTF16_FILENAME: /* Not supported */
- case EXT_UTF16_DIRECTORY: /* Not supported */
+ break;
default:
break;
}
@@ -1600,19 +1692,19 @@ archive_read_format_lha_cleanup(struct archive_read *a)
* then a archived pathname is 'xxx/bbb|aaa/bb/cc'
*/
static int
-lha_parse_linkname(struct archive_string *linkname,
- struct archive_string *pathname)
+lha_parse_linkname(struct archive_wstring *linkname,
+ struct archive_wstring *pathname)
{
- char * linkptr;
+ wchar_t * linkptr;
size_t symlen;
- linkptr = strchr(pathname->s, '|');
+ linkptr = wcschr(pathname->s, L'|');
if (linkptr != NULL) {
- symlen = strlen(linkptr + 1);
- archive_strncpy(linkname, linkptr+1, symlen);
+ symlen = wcslen(linkptr + 1);
+ archive_wstrncpy(linkname, linkptr+1, symlen);
*linkptr = 0;
- pathname->length = strlen(pathname->s);
+ pathname->length = wcslen(pathname->s);
return (1);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_mtree.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_mtree.c
index 5b0eadc..332944a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_mtree.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_mtree.c
@@ -45,6 +45,9 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_format_mtree.c 2011
#ifdef HAVE_STRING_H
#include <string.h>
#endif
+#ifdef HAVE_CTYPE_H
+#include <ctype.h>
+#endif
#include "archive.h"
#include "archive_entry.h"
@@ -255,6 +258,7 @@ archive_read_support_format_mtree(struct archive *_a)
"Can't allocate mtree data");
return (ARCHIVE_FATAL);
}
+ mtree->checkfs = 0;
mtree->fd = -1;
__archive_rb_tree_init(&mtree->rbtree, &rb_ops);
@@ -1011,7 +1015,7 @@ read_mtree(struct archive_read *a, struct mtree *mtree)
{
ssize_t len;
uintmax_t counter;
- char *p;
+ char *p, *s;
struct mtree_option *global;
struct mtree_entry *last_entry;
int r, is_form_d;
@@ -1025,6 +1029,7 @@ read_mtree(struct archive_read *a, struct mtree *mtree)
(void)detect_form(a, &is_form_d);
for (counter = 1; ; ++counter) {
+ r = ARCHIVE_OK;
len = readline(a, mtree, &p, 65536);
if (len == 0) {
mtree->this_entry = mtree->entries;
@@ -1045,6 +1050,15 @@ read_mtree(struct archive_read *a, struct mtree *mtree)
continue;
if (*p == '\r' || *p == '\n' || *p == '\0')
continue;
+ /* Non-printable characters are not allowed */
+ for (s = p;s < p + len - 1; s++) {
+ if (!isprint(*s)) {
+ r = ARCHIVE_FATAL;
+ break;
+ }
+ }
+ if (r != ARCHIVE_OK)
+ break;
if (*p != '/') {
r = process_add_entry(a, mtree, &global, p, len,
&last_entry, is_form_d);
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar.c
index c68d77b..1261191 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar.c
@@ -148,6 +148,9 @@
#define FILE_ATTRIBUTE_DIRECTORY 0x10
#endif
+#undef minimum
+#define minimum(a, b) ((a)<(b)?(a):(b))
+
/* Fields common to all headers */
struct rar_header
{
@@ -258,6 +261,7 @@ struct rar
struct data_block_offsets *dbo;
unsigned int cursor;
unsigned int nodes;
+ char filename_must_match;
/* LZSS members */
struct huffman_code maincode;
@@ -1023,8 +1027,11 @@ archive_read_format_rar_read_data(struct archive_read *a, const void **buff,
case COMPRESS_METHOD_GOOD:
case COMPRESS_METHOD_BEST:
ret = read_data_compressed(a, buff, size, offset);
- if (ret != ARCHIVE_OK && ret != ARCHIVE_WARN)
+ if (ret != ARCHIVE_OK && ret != ARCHIVE_WARN) {
__archive_ppmd7_functions.Ppmd7_Free(&rar->ppmd7_context);
+ rar->start_new_table = 1;
+ rar->ppmd_valid = 0;
+ }
break;
default:
@@ -1560,6 +1567,12 @@ read_header(struct archive_read *a, struct archive_entry *entry,
}
return ret;
}
+ else if (rar->filename_must_match)
+ {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Mismatch of file parts split across multi-volume archive");
+ return (ARCHIVE_FATAL);
+ }
rar->filename_save = (char*)realloc(rar->filename_save,
filename_size + 1);
@@ -1712,6 +1725,13 @@ read_exttime(const char *p, struct rar *rar, const char *endp)
struct tm *tm;
time_t t;
long nsec;
+#if defined(HAVE_LOCALTIME_R) || defined(HAVE__LOCALTIME64_S)
+ struct tm tmbuf;
+#endif
+#if defined(HAVE__LOCALTIME64_S)
+ errno_t terr;
+ __time64_t tmptime;
+#endif
if (p + 2 > endp)
return (-1);
@@ -1743,7 +1763,18 @@ read_exttime(const char *p, struct rar *rar, const char *endp)
rem = (((unsigned)(unsigned char)*p) << 16) | (rem >> 8);
p++;
}
+#if defined(HAVE_LOCALTIME_R)
+ tm = localtime_r(&t, &tmbuf);
+#elif defined(HAVE__LOCALTIME64_S)
+ tmptime = t;
+ terr = _localtime64_s(&tmbuf, &tmptime);
+ if (terr)
+ tm = NULL;
+ else
+ tm = &tmbuf;
+#else
tm = localtime(&t);
+#endif
nsec = tm->tm_sec + rem / NS_UNIT;
if (rmode & 4)
{
@@ -2300,6 +2331,11 @@ parse_codes(struct archive_read *a)
new_size = DICTIONARY_MAX_SIZE;
else
new_size = rar_fls((unsigned int)rar->unp_size) << 1;
+ if (new_size == 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Zero window size is invalid.");
+ return (ARCHIVE_FATAL);
+ }
new_window = realloc(rar->lzss.window, new_size);
if (new_window == NULL) {
archive_set_error(&a->archive, ENOMEM,
@@ -2437,8 +2473,11 @@ create_code(struct archive_read *a, struct huffman_code *code,
if (add_value(a, code, j, codebits, i) != ARCHIVE_OK)
return (ARCHIVE_FATAL);
codebits++;
- if (--symbolsleft <= 0) { break; break; }
+ if (--symbolsleft <= 0)
+ break;
}
+ if (symbolsleft <= 0)
+ break;
codebits <<= 1;
}
return (ARCHIVE_OK);
@@ -2448,7 +2487,8 @@ static int
add_value(struct archive_read *a, struct huffman_code *code, int value,
int codebits, int length)
{
- int repeatpos, lastnode, bitpos, bit, repeatnode, nextnode;
+ int lastnode, bitpos, bit;
+ /* int repeatpos, repeatnode, nextnode; */
free(code->table);
code->table = NULL;
@@ -2458,6 +2498,9 @@ add_value(struct archive_read *a, struct huffman_code *code, int value,
if(length < code->minlength)
code->minlength = length;
+ /*
+ * Dead code, repeatpos was is -1
+ *
repeatpos = -1;
if (repeatpos == 0 || (repeatpos >= 0
&& (((codebits >> (repeatpos - 1)) & 3) == 0
@@ -2467,6 +2510,7 @@ add_value(struct archive_read *a, struct huffman_code *code, int value,
"Invalid repeat position");
return (ARCHIVE_FATAL);
}
+ */
lastnode = 0;
for (bitpos = length - 1; bitpos >= 0; bitpos--)
@@ -2482,9 +2526,12 @@ add_value(struct archive_read *a, struct huffman_code *code, int value,
return (ARCHIVE_FATAL);
}
+ /*
+ * Dead code, repeatpos was -1, bitpos >=0
+ *
if (bitpos == repeatpos)
{
- /* Open branch check */
+ * Open branch check *
if (!(code->tree[lastnode].branches[bit] < 0))
{
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
@@ -2503,16 +2550,17 @@ add_value(struct archive_read *a, struct huffman_code *code, int value,
return (ARCHIVE_FATAL);
}
- /* Set branches */
+ * Set branches *
code->tree[lastnode].branches[bit] = repeatnode;
code->tree[repeatnode].branches[bit] = repeatnode;
code->tree[repeatnode].branches[bit^1] = nextnode;
lastnode = nextnode;
- bitpos++; /* terminating bit already handled, skip it */
+ bitpos++; * terminating bit already handled, skip it *
}
else
{
+ */
/* Open branch check */
if (code->tree[lastnode].branches[bit] < 0)
{
@@ -2526,7 +2574,7 @@ add_value(struct archive_read *a, struct huffman_code *code, int value,
/* set to branch */
lastnode = code->tree[lastnode].branches[bit];
- }
+ /* } */
}
if (!(code->tree[lastnode].branches[0] == -1
@@ -2610,11 +2658,15 @@ make_table_recurse(struct archive_read *a, struct huffman_code *code, int node,
table[i].value = code->tree[node].branches[0];
}
}
+ /*
+ * Dead code, node >= 0
+ *
else if (node < 0)
{
for(i = 0; i < currtablesize; i++)
table[i].length = -1;
}
+ */
else
{
if(depth == maxdepth)
@@ -2646,6 +2698,10 @@ expand(struct archive_read *a, int64_t end)
0, 1, 1, 1, 1, 2, 2,
2, 2, 3, 3, 3, 3, 4,
4, 4, 4, 5, 5, 5, 5 };
+ static const int lengthb_min = minimum(
+ (int)(sizeof(lengthbases)/sizeof(lengthbases[0])),
+ (int)(sizeof(lengthbits)/sizeof(lengthbits[0]))
+ );
static const unsigned int offsetbases[] =
{ 0, 1, 2, 3, 4, 6,
8, 12, 16, 24, 32, 48,
@@ -2663,6 +2719,10 @@ expand(struct archive_read *a, int64_t end)
11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 };
+ static const int offsetb_min = minimum(
+ (int)(sizeof(offsetbases)/sizeof(offsetbases[0])),
+ (int)(sizeof(offsetbits)/sizeof(offsetbits[0]))
+ );
static const unsigned char shortbases[] =
{ 0, 4, 8, 16, 32, 64, 128, 192 };
static const unsigned char shortbits[] =
@@ -2742,9 +2802,7 @@ expand(struct archive_read *a, int64_t end)
if ((lensymbol = read_next_symbol(a, &rar->lengthcode)) < 0)
goto bad_data;
- if (lensymbol > (int)(sizeof(lengthbases)/sizeof(lengthbases[0])))
- goto bad_data;
- if (lensymbol > (int)(sizeof(lengthbits)/sizeof(lengthbits[0])))
+ if (lensymbol > lengthb_min)
goto bad_data;
len = lengthbases[lensymbol] + 2;
if (lengthbits[lensymbol] > 0) {
@@ -2776,9 +2834,7 @@ expand(struct archive_read *a, int64_t end)
}
else
{
- if (symbol-271 > (int)(sizeof(lengthbases)/sizeof(lengthbases[0])))
- goto bad_data;
- if (symbol-271 > (int)(sizeof(lengthbits)/sizeof(lengthbits[0])))
+ if (symbol-271 > lengthb_min)
goto bad_data;
len = lengthbases[symbol-271]+3;
if(lengthbits[symbol-271] > 0) {
@@ -2790,9 +2846,7 @@ expand(struct archive_read *a, int64_t end)
if ((offssymbol = read_next_symbol(a, &rar->offsetcode)) < 0)
goto bad_data;
- if (offssymbol > (int)(sizeof(offsetbases)/sizeof(offsetbases[0])))
- goto bad_data;
- if (offssymbol > (int)(sizeof(offsetbits)/sizeof(offsetbits[0])))
+ if (offssymbol > offsetb_min)
goto bad_data;
offs = offsetbases[offssymbol]+1;
if(offsetbits[offssymbol] > 0)
@@ -2928,12 +2982,14 @@ rar_read_ahead(struct archive_read *a, size_t min, ssize_t *avail)
else if (*avail == 0 && rar->main_flags & MHD_VOLUME &&
rar->file_flags & FHD_SPLIT_AFTER)
{
+ rar->filename_must_match = 1;
ret = archive_read_format_rar_read_header(a, a->entry);
if (ret == (ARCHIVE_EOF))
{
rar->has_endarc_header = 1;
ret = archive_read_format_rar_read_header(a, a->entry);
}
+ rar->filename_must_match = 0;
if (ret != (ARCHIVE_OK))
return NULL;
return rar_read_ahead(a, min, avail);
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar5.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar5.c
new file mode 100644
index 0000000..ec40cce
--- /dev/null
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_rar5.c
@@ -0,0 +1,4103 @@
+/*-
+* Copyright (c) 2018 Grzegorz Antoniak (http://antoniak.org)
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+* 1. Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* 2. Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+*
+* THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
+* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+* IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include "archive_platform.h"
+#include "archive_endian.h"
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <time.h>
+#ifdef HAVE_ZLIB_H
+#include <cm_zlib.h> /* crc32 */
+#endif
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+
+#include "archive.h"
+#ifndef HAVE_ZLIB_H
+#include "archive_crc32.h"
+#endif
+
+#include "archive_entry.h"
+#include "archive_entry_locale.h"
+#include "archive_ppmd7_private.h"
+#include "archive_entry_private.h"
+
+#ifdef HAVE_BLAKE2_H
+#include <blake2.h>
+#else
+#include "archive_blake2.h"
+#endif
+
+/*#define CHECK_CRC_ON_SOLID_SKIP*/
+/*#define DONT_FAIL_ON_CRC_ERROR*/
+/*#define DEBUG*/
+
+#define rar5_min(a, b) (((a) > (b)) ? (b) : (a))
+#define rar5_max(a, b) (((a) > (b)) ? (a) : (b))
+#define rar5_countof(X) ((const ssize_t) (sizeof(X) / sizeof(*X)))
+
+#if defined DEBUG
+#define DEBUG_CODE if(1)
+#define LOG(...) do { printf("rar5: " __VA_ARGS__); puts(""); } while(0)
+#else
+#define DEBUG_CODE if(0)
+#endif
+
+/* Real RAR5 magic number is:
+ *
+ * 0x52, 0x61, 0x72, 0x21, 0x1a, 0x07, 0x01, 0x00
+ * "Rar!→•☺·\x00"
+ *
+ * Retrieved with `rar5_signature()` by XOR'ing it with 0xA1, because I don't
+ * want to put this magic sequence in each binary that uses libarchive, so
+ * applications that scan through the file for this marker won't trigger on
+ * this "false" one.
+ *
+ * The array itself is decrypted in `rar5_init` function. */
+
+static unsigned char rar5_signature_xor[] = { 243, 192, 211, 128, 187, 166, 160, 161 };
+static const size_t g_unpack_window_size = 0x20000;
+
+/* These could have been static const's, but they aren't, because of
+ * Visual Studio. */
+#define MAX_NAME_IN_CHARS 2048
+#define MAX_NAME_IN_BYTES (4 * MAX_NAME_IN_CHARS)
+
+struct file_header {
+ ssize_t bytes_remaining;
+ ssize_t unpacked_size;
+ int64_t last_offset; /* Used in sanity checks. */
+ int64_t last_size; /* Used in sanity checks. */
+
+ uint8_t solid : 1; /* Is this a solid stream? */
+ uint8_t service : 1; /* Is this file a service data? */
+ uint8_t eof : 1; /* Did we finish unpacking the file? */
+ uint8_t dir : 1; /* Is this file entry a directory? */
+
+ /* Optional time fields. */
+ uint64_t e_mtime;
+ uint64_t e_ctime;
+ uint64_t e_atime;
+ uint32_t e_unix_ns;
+
+ /* Optional hash fields. */
+ uint32_t stored_crc32;
+ uint32_t calculated_crc32;
+ uint8_t blake2sp[32];
+ blake2sp_state b2state;
+ char has_blake2;
+
+ /* Optional redir fields */
+ uint64_t redir_type;
+ uint64_t redir_flags;
+
+ ssize_t solid_window_size; /* Used in file format check. */
+};
+
+enum EXTRA {
+ EX_CRYPT = 0x01,
+ EX_HASH = 0x02,
+ EX_HTIME = 0x03,
+ EX_VERSION = 0x04,
+ EX_REDIR = 0x05,
+ EX_UOWNER = 0x06,
+ EX_SUBDATA = 0x07
+};
+
+#define REDIR_SYMLINK_IS_DIR 1
+
+enum REDIR_TYPE {
+ REDIR_TYPE_NONE = 0,
+ REDIR_TYPE_UNIXSYMLINK = 1,
+ REDIR_TYPE_WINSYMLINK = 2,
+ REDIR_TYPE_JUNCTION = 3,
+ REDIR_TYPE_HARDLINK = 4,
+ REDIR_TYPE_FILECOPY = 5,
+};
+
+#define OWNER_USER_NAME 0x01
+#define OWNER_GROUP_NAME 0x02
+#define OWNER_USER_UID 0x04
+#define OWNER_GROUP_GID 0x08
+#define OWNER_MAXNAMELEN 256
+
+enum FILTER_TYPE {
+ FILTER_DELTA = 0, /* Generic pattern. */
+ FILTER_E8 = 1, /* Intel x86 code. */
+ FILTER_E8E9 = 2, /* Intel x86 code. */
+ FILTER_ARM = 3, /* ARM code. */
+ FILTER_AUDIO = 4, /* Audio filter, not used in RARv5. */
+ FILTER_RGB = 5, /* Color palette, not used in RARv5. */
+ FILTER_ITANIUM = 6, /* Intel's Itanium, not used in RARv5. */
+ FILTER_PPM = 7, /* Predictive pattern matching, not used in
+ RARv5. */
+ FILTER_NONE = 8,
+};
+
+struct filter_info {
+ int type;
+ int channels;
+ int pos_r;
+
+ int64_t block_start;
+ ssize_t block_length;
+ uint16_t width;
+};
+
+struct data_ready {
+ char used;
+ const uint8_t* buf;
+ size_t size;
+ int64_t offset;
+};
+
+struct cdeque {
+ uint16_t beg_pos;
+ uint16_t end_pos;
+ uint16_t cap_mask;
+ uint16_t size;
+ size_t* arr;
+};
+
+struct decode_table {
+ uint32_t size;
+ int32_t decode_len[16];
+ uint32_t decode_pos[16];
+ uint32_t quick_bits;
+ uint8_t quick_len[1 << 10];
+ uint16_t quick_num[1 << 10];
+ uint16_t decode_num[306];
+};
+
+struct comp_state {
+ /* Flag used to specify if unpacker needs to reinitialize the
+ uncompression context. */
+ uint8_t initialized : 1;
+
+ /* Flag used when applying filters. */
+ uint8_t all_filters_applied : 1;
+
+ /* Flag used to skip file context reinitialization, used when unpacker
+ is skipping through different multivolume archives. */
+ uint8_t switch_multivolume : 1;
+
+ /* Flag used to specify if unpacker has processed the whole data block
+ or just a part of it. */
+ uint8_t block_parsing_finished : 1;
+
+ signed int notused : 4;
+
+ int flags; /* Uncompression flags. */
+ int method; /* Uncompression algorithm method. */
+ int version; /* Uncompression algorithm version. */
+ ssize_t window_size; /* Size of window_buf. */
+ uint8_t* window_buf; /* Circular buffer used during
+ decompression. */
+ uint8_t* filtered_buf; /* Buffer used when applying filters. */
+ const uint8_t* block_buf; /* Buffer used when merging blocks. */
+ size_t window_mask; /* Convenience field; window_size - 1. */
+ int64_t write_ptr; /* This amount of data has been unpacked
+ in the window buffer. */
+ int64_t last_write_ptr; /* This amount of data has been stored in
+ the output file. */
+ int64_t last_unstore_ptr; /* Counter of bytes extracted during
+ unstoring. This is separate from
+ last_write_ptr because of how SERVICE
+ base blocks are handled during skipping
+ in solid multiarchive archives. */
+ int64_t solid_offset; /* Additional offset inside the window
+ buffer, used in unpacking solid
+ archives. */
+ ssize_t cur_block_size; /* Size of current data block. */
+ int last_len; /* Flag used in lzss decompression. */
+
+ /* Decode tables used during lzss uncompression. */
+
+#define HUFF_BC 20
+ struct decode_table bd; /* huffman bit lengths */
+#define HUFF_NC 306
+ struct decode_table ld; /* literals */
+#define HUFF_DC 64
+ struct decode_table dd; /* distances */
+#define HUFF_LDC 16
+ struct decode_table ldd; /* lower bits of distances */
+#define HUFF_RC 44
+ struct decode_table rd; /* repeating distances */
+#define HUFF_TABLE_SIZE (HUFF_NC + HUFF_DC + HUFF_RC + HUFF_LDC)
+
+ /* Circular deque for storing filters. */
+ struct cdeque filters;
+ int64_t last_block_start; /* Used for sanity checking. */
+ ssize_t last_block_length; /* Used for sanity checking. */
+
+ /* Distance cache used during lzss uncompression. */
+ int dist_cache[4];
+
+ /* Data buffer stack. */
+ struct data_ready dready[2];
+};
+
+/* Bit reader state. */
+struct bit_reader {
+ int8_t bit_addr; /* Current bit pointer inside current byte. */
+ int in_addr; /* Current byte pointer. */
+};
+
+/* RARv5 block header structure. Use bf_* functions to get values from
+ * block_flags_u8 field. I.e. bf_byte_count, etc. */
+struct compressed_block_header {
+ /* block_flags_u8 contain fields encoded in little-endian bitfield:
+ *
+ * - table present flag (shr 7, and 1),
+ * - last block flag (shr 6, and 1),
+ * - byte_count (shr 3, and 7),
+ * - bit_size (shr 0, and 7).
+ */
+ uint8_t block_flags_u8;
+ uint8_t block_cksum;
+};
+
+/* RARv5 main header structure. */
+struct main_header {
+ /* Does the archive contain solid streams? */
+ uint8_t solid : 1;
+
+ /* If this a multi-file archive? */
+ uint8_t volume : 1;
+ uint8_t endarc : 1;
+ uint8_t notused : 5;
+
+ unsigned int vol_no;
+};
+
+struct generic_header {
+ uint8_t split_after : 1;
+ uint8_t split_before : 1;
+ uint8_t padding : 6;
+ int size;
+ int last_header_id;
+};
+
+struct multivolume {
+ unsigned int expected_vol_no;
+ uint8_t* push_buf;
+};
+
+/* Main context structure. */
+struct rar5 {
+ int header_initialized;
+
+ /* Set to 1 if current file is positioned AFTER the magic value
+ * of the archive file. This is used in header reading functions. */
+ int skipped_magic;
+
+ /* Set to not zero if we're in skip mode (either by calling
+ * rar5_data_skip function or when skipping over solid streams).
+ * Set to 0 when in * extraction mode. This is used during checksum
+ * calculation functions. */
+ int skip_mode;
+
+ /* Set to not zero if we're in block merging mode (i.e. when switching
+ * to another file in multivolume archive, last block from 1st archive
+ * needs to be merged with 1st block from 2nd archive). This flag
+ * guards against recursive use of the merging function, which doesn't
+ * support recursive calls. */
+ int merge_mode;
+
+ /* An offset to QuickOpen list. This is not supported by this unpacker,
+ * because we're focusing on streaming interface. QuickOpen is designed
+ * to make things quicker for non-stream interfaces, so it's not our
+ * use case. */
+ uint64_t qlist_offset;
+
+ /* An offset to additional Recovery data. This is not supported by this
+ * unpacker. Recovery data are additional Reed-Solomon codes that could
+ * be used to calculate bytes that are missing in archive or are
+ * corrupted. */
+ uint64_t rr_offset;
+
+ /* Various context variables grouped to different structures. */
+ struct generic_header generic;
+ struct main_header main;
+ struct comp_state cstate;
+ struct file_header file;
+ struct bit_reader bits;
+ struct multivolume vol;
+
+ /* The header of currently processed RARv5 block. Used in main
+ * decompression logic loop. */
+ struct compressed_block_header last_block_hdr;
+};
+
+/* Forward function declarations. */
+
+static void rar5_signature(char *buf);
+static int verify_global_checksums(struct archive_read* a);
+static int rar5_read_data_skip(struct archive_read *a);
+static int push_data_ready(struct archive_read* a, struct rar5* rar,
+ const uint8_t* buf, size_t size, int64_t offset);
+
+/* CDE_xxx = Circular Double Ended (Queue) return values. */
+enum CDE_RETURN_VALUES {
+ CDE_OK, CDE_ALLOC, CDE_PARAM, CDE_OUT_OF_BOUNDS,
+};
+
+/* Clears the contents of this circular deque. */
+static void cdeque_clear(struct cdeque* d) {
+ d->size = 0;
+ d->beg_pos = 0;
+ d->end_pos = 0;
+}
+
+/* Creates a new circular deque object. Capacity must be power of 2: 8, 16, 32,
+ * 64, 256, etc. When the user will add another item above current capacity,
+ * the circular deque will overwrite the oldest entry. */
+static int cdeque_init(struct cdeque* d, int max_capacity_power_of_2) {
+ if(d == NULL || max_capacity_power_of_2 == 0)
+ return CDE_PARAM;
+
+ d->cap_mask = max_capacity_power_of_2 - 1;
+ d->arr = NULL;
+
+ if((max_capacity_power_of_2 & d->cap_mask) != 0)
+ return CDE_PARAM;
+
+ cdeque_clear(d);
+ d->arr = malloc(sizeof(void*) * max_capacity_power_of_2);
+
+ return d->arr ? CDE_OK : CDE_ALLOC;
+}
+
+/* Return the current size (not capacity) of circular deque `d`. */
+static size_t cdeque_size(struct cdeque* d) {
+ return d->size;
+}
+
+/* Returns the first element of current circular deque. Note that this function
+ * doesn't perform any bounds checking. If you need bounds checking, use
+ * `cdeque_front()` function instead. */
+static void cdeque_front_fast(struct cdeque* d, void** value) {
+ *value = (void*) d->arr[d->beg_pos];
+}
+
+/* Returns the first element of current circular deque. This function
+ * performs bounds checking. */
+static int cdeque_front(struct cdeque* d, void** value) {
+ if(d->size > 0) {
+ cdeque_front_fast(d, value);
+ return CDE_OK;
+ } else
+ return CDE_OUT_OF_BOUNDS;
+}
+
+/* Pushes a new element into the end of this circular deque object. If current
+ * size will exceed capacity, the oldest element will be overwritten. */
+static int cdeque_push_back(struct cdeque* d, void* item) {
+ if(d == NULL)
+ return CDE_PARAM;
+
+ if(d->size == d->cap_mask + 1)
+ return CDE_OUT_OF_BOUNDS;
+
+ d->arr[d->end_pos] = (size_t) item;
+ d->end_pos = (d->end_pos + 1) & d->cap_mask;
+ d->size++;
+
+ return CDE_OK;
+}
+
+/* Pops a front element of this circular deque object and returns its value.
+ * This function doesn't perform any bounds checking. */
+static void cdeque_pop_front_fast(struct cdeque* d, void** value) {
+ *value = (void*) d->arr[d->beg_pos];
+ d->beg_pos = (d->beg_pos + 1) & d->cap_mask;
+ d->size--;
+}
+
+/* Pops a front element of this circular deque object and returns its value.
+ * This function performs bounds checking. */
+static int cdeque_pop_front(struct cdeque* d, void** value) {
+ if(!d || !value)
+ return CDE_PARAM;
+
+ if(d->size == 0)
+ return CDE_OUT_OF_BOUNDS;
+
+ cdeque_pop_front_fast(d, value);
+ return CDE_OK;
+}
+
+/* Convenience function to cast filter_info** to void **. */
+static void** cdeque_filter_p(struct filter_info** f) {
+ return (void**) (size_t) f;
+}
+
+/* Convenience function to cast filter_info* to void *. */
+static void* cdeque_filter(struct filter_info* f) {
+ return (void**) (size_t) f;
+}
+
+/* Destroys this circular deque object. Deallocates the memory of the
+ * collection buffer, but doesn't deallocate the memory of any pointer passed
+ * to this deque as a value. */
+static void cdeque_free(struct cdeque* d) {
+ if(!d)
+ return;
+
+ if(!d->arr)
+ return;
+
+ free(d->arr);
+
+ d->arr = NULL;
+ d->beg_pos = -1;
+ d->end_pos = -1;
+ d->cap_mask = 0;
+}
+
+static inline
+uint8_t bf_bit_size(const struct compressed_block_header* hdr) {
+ return hdr->block_flags_u8 & 7;
+}
+
+static inline
+uint8_t bf_byte_count(const struct compressed_block_header* hdr) {
+ return (hdr->block_flags_u8 >> 3) & 7;
+}
+
+static inline
+uint8_t bf_is_table_present(const struct compressed_block_header* hdr) {
+ return (hdr->block_flags_u8 >> 7) & 1;
+}
+
+static inline struct rar5* get_context(struct archive_read* a) {
+ return (struct rar5*) a->format->data;
+}
+
+/* Convenience functions used by filter implementations. */
+static void circular_memcpy(uint8_t* dst, uint8_t* window, const uint64_t mask,
+ int64_t start, int64_t end)
+{
+ if((start & mask) > (end & mask)) {
+ ssize_t len1 = mask + 1 - (start & mask);
+ ssize_t len2 = end & mask;
+
+ memcpy(dst, &window[start & mask], len1);
+ memcpy(dst + len1, window, len2);
+ } else {
+ memcpy(dst, &window[start & mask], (size_t) (end - start));
+ }
+}
+
+static uint32_t read_filter_data(struct rar5* rar, uint32_t offset) {
+ uint8_t linear_buf[4];
+ circular_memcpy(linear_buf, rar->cstate.window_buf,
+ rar->cstate.window_mask, offset, offset + 4);
+ return archive_le32dec(linear_buf);
+}
+
+static void write_filter_data(struct rar5* rar, uint32_t offset,
+ uint32_t value)
+{
+ archive_le32enc(&rar->cstate.filtered_buf[offset], value);
+}
+
+/* Allocates a new filter descriptor and adds it to the filter array. */
+static struct filter_info* add_new_filter(struct rar5* rar) {
+ struct filter_info* f =
+ (struct filter_info*) calloc(1, sizeof(struct filter_info));
+
+ if(!f) {
+ return NULL;
+ }
+
+ cdeque_push_back(&rar->cstate.filters, cdeque_filter(f));
+ return f;
+}
+
+static int run_delta_filter(struct rar5* rar, struct filter_info* flt) {
+ int i;
+ ssize_t dest_pos, src_pos = 0;
+
+ for(i = 0; i < flt->channels; i++) {
+ uint8_t prev_byte = 0;
+ for(dest_pos = i;
+ dest_pos < flt->block_length;
+ dest_pos += flt->channels)
+ {
+ uint8_t byte;
+
+ byte = rar->cstate.window_buf[
+ (rar->cstate.solid_offset + flt->block_start +
+ src_pos) & rar->cstate.window_mask];
+
+ prev_byte -= byte;
+ rar->cstate.filtered_buf[dest_pos] = prev_byte;
+ src_pos++;
+ }
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int run_e8e9_filter(struct rar5* rar, struct filter_info* flt,
+ int extended)
+{
+ const uint32_t file_size = 0x1000000;
+ ssize_t i;
+
+ circular_memcpy(rar->cstate.filtered_buf,
+ rar->cstate.window_buf, rar->cstate.window_mask,
+ rar->cstate.solid_offset + flt->block_start,
+ rar->cstate.solid_offset + flt->block_start + flt->block_length);
+
+ for(i = 0; i < flt->block_length - 4;) {
+ uint8_t b = rar->cstate.window_buf[
+ (rar->cstate.solid_offset + flt->block_start +
+ i++) & rar->cstate.window_mask];
+
+ /*
+ * 0xE8 = x86's call <relative_addr_uint32> (function call)
+ * 0xE9 = x86's jmp <relative_addr_uint32> (unconditional jump)
+ */
+ if(b == 0xE8 || (extended && b == 0xE9)) {
+
+ uint32_t addr;
+ uint32_t offset = (i + flt->block_start) % file_size;
+
+ addr = read_filter_data(rar,
+ (uint32_t)(rar->cstate.solid_offset +
+ flt->block_start + i) & rar->cstate.window_mask);
+
+ if(addr & 0x80000000) {
+ if(((addr + offset) & 0x80000000) == 0) {
+ write_filter_data(rar, (uint32_t)i,
+ addr + file_size);
+ }
+ } else {
+ if((addr - file_size) & 0x80000000) {
+ uint32_t naddr = addr - offset;
+ write_filter_data(rar, (uint32_t)i,
+ naddr);
+ }
+ }
+
+ i += 4;
+ }
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int run_arm_filter(struct rar5* rar, struct filter_info* flt) {
+ ssize_t i = 0;
+ uint32_t offset;
+
+ circular_memcpy(rar->cstate.filtered_buf,
+ rar->cstate.window_buf, rar->cstate.window_mask,
+ rar->cstate.solid_offset + flt->block_start,
+ rar->cstate.solid_offset + flt->block_start + flt->block_length);
+
+ for(i = 0; i < flt->block_length - 3; i += 4) {
+ uint8_t* b = &rar->cstate.window_buf[
+ (rar->cstate.solid_offset +
+ flt->block_start + i + 3) & rar->cstate.window_mask];
+
+ if(*b == 0xEB) {
+ /* 0xEB = ARM's BL (branch + link) instruction. */
+ offset = read_filter_data(rar,
+ (rar->cstate.solid_offset + flt->block_start + i) &
+ rar->cstate.window_mask) & 0x00ffffff;
+
+ offset -= (uint32_t) ((i + flt->block_start) / 4);
+ offset = (offset & 0x00ffffff) | 0xeb000000;
+ write_filter_data(rar, (uint32_t)i, offset);
+ }
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int run_filter(struct archive_read* a, struct filter_info* flt) {
+ int ret;
+ struct rar5* rar = get_context(a);
+
+ free(rar->cstate.filtered_buf);
+
+ rar->cstate.filtered_buf = malloc(flt->block_length);
+ if(!rar->cstate.filtered_buf) {
+ archive_set_error(&a->archive, ENOMEM,
+ "Can't allocate memory for filter data.");
+ return ARCHIVE_FATAL;
+ }
+
+ switch(flt->type) {
+ case FILTER_DELTA:
+ ret = run_delta_filter(rar, flt);
+ break;
+
+ case FILTER_E8:
+ /* fallthrough */
+ case FILTER_E8E9:
+ ret = run_e8e9_filter(rar, flt,
+ flt->type == FILTER_E8E9);
+ break;
+
+ case FILTER_ARM:
+ ret = run_arm_filter(rar, flt);
+ break;
+
+ default:
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Unsupported filter type: 0x%x", flt->type);
+ return ARCHIVE_FATAL;
+ }
+
+ if(ret != ARCHIVE_OK) {
+ /* Filter has failed. */
+ return ret;
+ }
+
+ if(ARCHIVE_OK != push_data_ready(a, rar, rar->cstate.filtered_buf,
+ flt->block_length, rar->cstate.last_write_ptr))
+ {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "Stack overflow when submitting unpacked data");
+
+ return ARCHIVE_FATAL;
+ }
+
+ rar->cstate.last_write_ptr += flt->block_length;
+ return ARCHIVE_OK;
+}
+
+/* The `push_data` function submits the selected data range to the user.
+ * Next call of `use_data` will use the pointer, size and offset arguments
+ * that are specified here. These arguments are pushed to the FIFO stack here,
+ * and popped from the stack by the `use_data` function. */
+static void push_data(struct archive_read* a, struct rar5* rar,
+ const uint8_t* buf, int64_t idx_begin, int64_t idx_end)
+{
+ const uint64_t wmask = rar->cstate.window_mask;
+ const ssize_t solid_write_ptr = (rar->cstate.solid_offset +
+ rar->cstate.last_write_ptr) & wmask;
+
+ idx_begin += rar->cstate.solid_offset;
+ idx_end += rar->cstate.solid_offset;
+
+ /* Check if our unpacked data is wrapped inside the window circular
+ * buffer. If it's not wrapped, it can be copied out by using
+ * a single memcpy, but when it's wrapped, we need to copy the first
+ * part with one memcpy, and the second part with another memcpy. */
+
+ if((idx_begin & wmask) > (idx_end & wmask)) {
+ /* The data is wrapped (begin offset sis bigger than end
+ * offset). */
+ const ssize_t frag1_size = rar->cstate.window_size -
+ (idx_begin & wmask);
+ const ssize_t frag2_size = idx_end & wmask;
+
+ /* Copy the first part of the buffer first. */
+ push_data_ready(a, rar, buf + solid_write_ptr, frag1_size,
+ rar->cstate.last_write_ptr);
+
+ /* Copy the second part of the buffer. */
+ push_data_ready(a, rar, buf, frag2_size,
+ rar->cstate.last_write_ptr + frag1_size);
+
+ rar->cstate.last_write_ptr += frag1_size + frag2_size;
+ } else {
+ /* Data is not wrapped, so we can just use one call to copy the
+ * data. */
+ push_data_ready(a, rar,
+ buf + solid_write_ptr, (idx_end - idx_begin) & wmask,
+ rar->cstate.last_write_ptr);
+
+ rar->cstate.last_write_ptr += idx_end - idx_begin;
+ }
+}
+
+/* Convenience function that submits the data to the user. It uses the
+ * unpack window buffer as a source location. */
+static void push_window_data(struct archive_read* a, struct rar5* rar,
+ int64_t idx_begin, int64_t idx_end)
+{
+ push_data(a, rar, rar->cstate.window_buf, idx_begin, idx_end);
+}
+
+static int apply_filters(struct archive_read* a) {
+ struct filter_info* flt;
+ struct rar5* rar = get_context(a);
+ int ret;
+
+ rar->cstate.all_filters_applied = 0;
+
+ /* Get the first filter that can be applied to our data. The data
+ * needs to be fully unpacked before the filter can be run. */
+ if(CDE_OK == cdeque_front(&rar->cstate.filters,
+ cdeque_filter_p(&flt))) {
+ /* Check if our unpacked data fully covers this filter's
+ * range. */
+ if(rar->cstate.write_ptr > flt->block_start &&
+ rar->cstate.write_ptr >= flt->block_start +
+ flt->block_length) {
+ /* Check if we have some data pending to be written
+ * right before the filter's start offset. */
+ if(rar->cstate.last_write_ptr == flt->block_start) {
+ /* Run the filter specified by descriptor
+ * `flt`. */
+ ret = run_filter(a, flt);
+ if(ret != ARCHIVE_OK) {
+ /* Filter failure, return error. */
+ return ret;
+ }
+
+ /* Filter descriptor won't be needed anymore
+ * after it's used, * so remove it from the
+ * filter list and free its memory. */
+ (void) cdeque_pop_front(&rar->cstate.filters,
+ cdeque_filter_p(&flt));
+
+ free(flt);
+ } else {
+ /* We can't run filters yet, dump the memory
+ * right before the filter. */
+ push_window_data(a, rar,
+ rar->cstate.last_write_ptr,
+ flt->block_start);
+ }
+
+ /* Return 'filter applied or not needed' state to the
+ * caller. */
+ return ARCHIVE_RETRY;
+ }
+ }
+
+ rar->cstate.all_filters_applied = 1;
+ return ARCHIVE_OK;
+}
+
+static void dist_cache_push(struct rar5* rar, int value) {
+ int* q = rar->cstate.dist_cache;
+
+ q[3] = q[2];
+ q[2] = q[1];
+ q[1] = q[0];
+ q[0] = value;
+}
+
+static int dist_cache_touch(struct rar5* rar, int idx) {
+ int* q = rar->cstate.dist_cache;
+ int i, dist = q[idx];
+
+ for(i = idx; i > 0; i--)
+ q[i] = q[i - 1];
+
+ q[0] = dist;
+ return dist;
+}
+
+static void free_filters(struct rar5* rar) {
+ struct cdeque* d = &rar->cstate.filters;
+
+ /* Free any remaining filters. All filters should be naturally
+ * consumed by the unpacking function, so remaining filters after
+ * unpacking normally mean that unpacking wasn't successful.
+ * But still of course we shouldn't leak memory in such case. */
+
+ /* cdeque_size() is a fast operation, so we can use it as a loop
+ * expression. */
+ while(cdeque_size(d) > 0) {
+ struct filter_info* f = NULL;
+
+ /* Pop_front will also decrease the collection's size. */
+ if (CDE_OK == cdeque_pop_front(d, cdeque_filter_p(&f)))
+ free(f);
+ }
+
+ cdeque_clear(d);
+
+ /* Also clear out the variables needed for sanity checking. */
+ rar->cstate.last_block_start = 0;
+ rar->cstate.last_block_length = 0;
+}
+
+static void reset_file_context(struct rar5* rar) {
+ memset(&rar->file, 0, sizeof(rar->file));
+ blake2sp_init(&rar->file.b2state, 32);
+
+ if(rar->main.solid) {
+ rar->cstate.solid_offset += rar->cstate.write_ptr;
+ } else {
+ rar->cstate.solid_offset = 0;
+ }
+
+ rar->cstate.write_ptr = 0;
+ rar->cstate.last_write_ptr = 0;
+ rar->cstate.last_unstore_ptr = 0;
+
+ rar->file.redir_type = REDIR_TYPE_NONE;
+ rar->file.redir_flags = 0;
+
+ free_filters(rar);
+}
+
+static inline int get_archive_read(struct archive* a,
+ struct archive_read** ar)
+{
+ *ar = (struct archive_read*) a;
+ archive_check_magic(a, ARCHIVE_READ_MAGIC, ARCHIVE_STATE_NEW,
+ "archive_read_support_format_rar5");
+
+ return ARCHIVE_OK;
+}
+
+static int read_ahead(struct archive_read* a, size_t how_many,
+ const uint8_t** ptr)
+{
+ ssize_t avail = -1;
+ if(!ptr)
+ return 0;
+
+ *ptr = __archive_read_ahead(a, how_many, &avail);
+ if(*ptr == NULL) {
+ return 0;
+ }
+
+ return 1;
+}
+
+static int consume(struct archive_read* a, int64_t how_many) {
+ int ret;
+
+ ret = how_many == __archive_read_consume(a, how_many)
+ ? ARCHIVE_OK
+ : ARCHIVE_FATAL;
+
+ return ret;
+}
+
+/**
+ * Read a RAR5 variable sized numeric value. This value will be stored in
+ * `pvalue`. The `pvalue_len` argument points to a variable that will receive
+ * the byte count that was consumed in order to decode the `pvalue` value, plus
+ * one.
+ *
+ * pvalue_len is optional and can be NULL.
+ *
+ * NOTE: if `pvalue_len` is NOT NULL, the caller needs to manually consume
+ * the number of bytes that `pvalue_len` value contains. If the `pvalue_len`
+ * is NULL, this consuming operation is done automatically.
+ *
+ * Returns 1 if *pvalue was successfully read.
+ * Returns 0 if there was an error. In this case, *pvalue contains an
+ * invalid value.
+ */
+
+static int read_var(struct archive_read* a, uint64_t* pvalue,
+ uint64_t* pvalue_len)
+{
+ uint64_t result = 0;
+ size_t shift, i;
+ const uint8_t* p;
+ uint8_t b;
+
+ /* We will read maximum of 8 bytes. We don't have to handle the
+ * situation to read the RAR5 variable-sized value stored at the end of
+ * the file, because such situation will never happen. */
+ if(!read_ahead(a, 8, &p))
+ return 0;
+
+ for(shift = 0, i = 0; i < 8; i++, shift += 7) {
+ b = p[i];
+
+ /* Strip the MSB from the input byte and add the resulting
+ * number to the `result`. */
+ result += (b & (uint64_t)0x7F) << shift;
+
+ /* MSB set to 1 means we need to continue decoding process.
+ * MSB set to 0 means we're done.
+ *
+ * This conditional checks for the second case. */
+ if((b & 0x80) == 0) {
+ if(pvalue) {
+ *pvalue = result;
+ }
+
+ /* If the caller has passed the `pvalue_len` pointer,
+ * store the number of consumed bytes in it and do NOT
+ * consume those bytes, since the caller has all the
+ * information it needs to perform */
+ if(pvalue_len) {
+ *pvalue_len = 1 + i;
+ } else {
+ /* If the caller did not provide the
+ * `pvalue_len` pointer, it will not have the
+ * possibility to advance the file pointer,
+ * because it will not know how many bytes it
+ * needs to consume. This is why we handle
+ * such situation here automatically. */
+ if(ARCHIVE_OK != consume(a, 1 + i)) {
+ return 0;
+ }
+ }
+
+ /* End of decoding process, return success. */
+ return 1;
+ }
+ }
+
+ /* The decoded value takes the maximum number of 8 bytes.
+ * It's a maximum number of bytes, so end decoding process here
+ * even if the first bit of last byte is 1. */
+ if(pvalue) {
+ *pvalue = result;
+ }
+
+ if(pvalue_len) {
+ *pvalue_len = 9;
+ } else {
+ if(ARCHIVE_OK != consume(a, 9)) {
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+static int read_var_sized(struct archive_read* a, size_t* pvalue,
+ size_t* pvalue_len)
+{
+ uint64_t v;
+ uint64_t v_size = 0;
+
+ const int ret = pvalue_len ? read_var(a, &v, &v_size)
+ : read_var(a, &v, NULL);
+
+ if(ret == 1 && pvalue) {
+ *pvalue = (size_t) v;
+ }
+
+ if(pvalue_len) {
+ /* Possible data truncation should be safe. */
+ *pvalue_len = (size_t) v_size;
+ }
+
+ return ret;
+}
+
+static int read_bits_32(struct rar5* rar, const uint8_t* p, uint32_t* value) {
+ uint32_t bits = ((uint32_t) p[rar->bits.in_addr]) << 24;
+ bits |= p[rar->bits.in_addr + 1] << 16;
+ bits |= p[rar->bits.in_addr + 2] << 8;
+ bits |= p[rar->bits.in_addr + 3];
+ bits <<= rar->bits.bit_addr;
+ bits |= p[rar->bits.in_addr + 4] >> (8 - rar->bits.bit_addr);
+ *value = bits;
+ return ARCHIVE_OK;
+}
+
+static int read_bits_16(struct rar5* rar, const uint8_t* p, uint16_t* value) {
+ int bits = (int) ((uint32_t) p[rar->bits.in_addr]) << 16;
+ bits |= (int) p[rar->bits.in_addr + 1] << 8;
+ bits |= (int) p[rar->bits.in_addr + 2];
+ bits >>= (8 - rar->bits.bit_addr);
+ *value = bits & 0xffff;
+ return ARCHIVE_OK;
+}
+
+static void skip_bits(struct rar5* rar, int bits) {
+ const int new_bits = rar->bits.bit_addr + bits;
+ rar->bits.in_addr += new_bits >> 3;
+ rar->bits.bit_addr = new_bits & 7;
+}
+
+/* n = up to 16 */
+static int read_consume_bits(struct rar5* rar, const uint8_t* p, int n,
+ int* value)
+{
+ uint16_t v;
+ int ret, num;
+
+ if(n == 0 || n > 16) {
+ /* This is a programmer error and should never happen
+ * in runtime. */
+ return ARCHIVE_FATAL;
+ }
+
+ ret = read_bits_16(rar, p, &v);
+ if(ret != ARCHIVE_OK)
+ return ret;
+
+ num = (int) v;
+ num >>= 16 - n;
+
+ skip_bits(rar, n);
+
+ if(value)
+ *value = num;
+
+ return ARCHIVE_OK;
+}
+
+static int read_u32(struct archive_read* a, uint32_t* pvalue) {
+ const uint8_t* p;
+ if(!read_ahead(a, 4, &p))
+ return 0;
+
+ *pvalue = archive_le32dec(p);
+ return ARCHIVE_OK == consume(a, 4) ? 1 : 0;
+}
+
+static int read_u64(struct archive_read* a, uint64_t* pvalue) {
+ const uint8_t* p;
+ if(!read_ahead(a, 8, &p))
+ return 0;
+
+ *pvalue = archive_le64dec(p);
+ return ARCHIVE_OK == consume(a, 8) ? 1 : 0;
+}
+
+static int bid_standard(struct archive_read* a) {
+ const uint8_t* p;
+ char signature[sizeof(rar5_signature_xor)];
+
+ rar5_signature(signature);
+
+ if(!read_ahead(a, sizeof(rar5_signature_xor), &p))
+ return -1;
+
+ if(!memcmp(signature, p, sizeof(rar5_signature_xor)))
+ return 30;
+
+ return -1;
+}
+
+static int rar5_bid(struct archive_read* a, int best_bid) {
+ int my_bid;
+
+ if(best_bid > 30)
+ return -1;
+
+ my_bid = bid_standard(a);
+ if(my_bid > -1) {
+ return my_bid;
+ }
+
+ return -1;
+}
+
+static int rar5_options(struct archive_read *a, const char *key,
+ const char *val) {
+ (void) a;
+ (void) key;
+ (void) val;
+
+ /* No options supported in this version. Return the ARCHIVE_WARN code
+ * to signal the options supervisor that the unpacker didn't handle
+ * setting this option. */
+
+ return ARCHIVE_WARN;
+}
+
+static void init_header(struct archive_read* a) {
+ a->archive.archive_format = ARCHIVE_FORMAT_RAR_V5;
+ a->archive.archive_format_name = "RAR5";
+}
+
+static void init_window_mask(struct rar5* rar) {
+ if (rar->cstate.window_size)
+ rar->cstate.window_mask = rar->cstate.window_size - 1;
+ else
+ rar->cstate.window_mask = 0;
+}
+
+enum HEADER_FLAGS {
+ HFL_EXTRA_DATA = 0x0001,
+ HFL_DATA = 0x0002,
+ HFL_SKIP_IF_UNKNOWN = 0x0004,
+ HFL_SPLIT_BEFORE = 0x0008,
+ HFL_SPLIT_AFTER = 0x0010,
+ HFL_CHILD = 0x0020,
+ HFL_INHERITED = 0x0040
+};
+
+static int process_main_locator_extra_block(struct archive_read* a,
+ struct rar5* rar)
+{
+ uint64_t locator_flags;
+
+ enum LOCATOR_FLAGS {
+ QLIST = 0x01, RECOVERY = 0x02,
+ };
+
+ if(!read_var(a, &locator_flags, NULL)) {
+ return ARCHIVE_EOF;
+ }
+
+ if(locator_flags & QLIST) {
+ if(!read_var(a, &rar->qlist_offset, NULL)) {
+ return ARCHIVE_EOF;
+ }
+
+ /* qlist is not used */
+ }
+
+ if(locator_flags & RECOVERY) {
+ if(!read_var(a, &rar->rr_offset, NULL)) {
+ return ARCHIVE_EOF;
+ }
+
+ /* rr is not used */
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int parse_file_extra_hash(struct archive_read* a, struct rar5* rar,
+ ssize_t* extra_data_size)
+{
+ size_t hash_type = 0;
+ size_t value_len;
+
+ enum HASH_TYPE {
+ BLAKE2sp = 0x00
+ };
+
+ if(!read_var_sized(a, &hash_type, &value_len))
+ return ARCHIVE_EOF;
+
+ *extra_data_size -= value_len;
+ if(ARCHIVE_OK != consume(a, value_len)) {
+ return ARCHIVE_EOF;
+ }
+
+ /* The file uses BLAKE2sp checksum algorithm instead of plain old
+ * CRC32. */
+ if(hash_type == BLAKE2sp) {
+ const uint8_t* p;
+ const int hash_size = sizeof(rar->file.blake2sp);
+
+ if(!read_ahead(a, hash_size, &p))
+ return ARCHIVE_EOF;
+
+ rar->file.has_blake2 = 1;
+ memcpy(&rar->file.blake2sp, p, hash_size);
+
+ if(ARCHIVE_OK != consume(a, hash_size)) {
+ return ARCHIVE_EOF;
+ }
+
+ *extra_data_size -= hash_size;
+ } else {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Unsupported hash type (0x%x)", (int) hash_type);
+ return ARCHIVE_FATAL;
+ }
+
+ return ARCHIVE_OK;
+}
+
+static uint64_t time_win_to_unix(uint64_t win_time) {
+ const size_t ns_in_sec = 10000000;
+ const uint64_t sec_to_unix = 11644473600LL;
+ return win_time / ns_in_sec - sec_to_unix;
+}
+
+static int parse_htime_item(struct archive_read* a, char unix_time,
+ uint64_t* where, ssize_t* extra_data_size)
+{
+ if(unix_time) {
+ uint32_t time_val;
+ if(!read_u32(a, &time_val))
+ return ARCHIVE_EOF;
+
+ *extra_data_size -= 4;
+ *where = (uint64_t) time_val;
+ } else {
+ uint64_t windows_time;
+ if(!read_u64(a, &windows_time))
+ return ARCHIVE_EOF;
+
+ *where = time_win_to_unix(windows_time);
+ *extra_data_size -= 8;
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int parse_file_extra_version(struct archive_read* a,
+ struct archive_entry* e, ssize_t* extra_data_size)
+{
+ size_t flags = 0;
+ size_t version = 0;
+ size_t value_len = 0;
+ struct archive_string version_string;
+ struct archive_string name_utf8_string;
+ const char* cur_filename;
+
+ /* Flags are ignored. */
+ if(!read_var_sized(a, &flags, &value_len))
+ return ARCHIVE_EOF;
+
+ *extra_data_size -= value_len;
+ if(ARCHIVE_OK != consume(a, value_len))
+ return ARCHIVE_EOF;
+
+ if(!read_var_sized(a, &version, &value_len))
+ return ARCHIVE_EOF;
+
+ *extra_data_size -= value_len;
+ if(ARCHIVE_OK != consume(a, value_len))
+ return ARCHIVE_EOF;
+
+ /* extra_data_size should be zero here. */
+
+ cur_filename = archive_entry_pathname_utf8(e);
+ if(cur_filename == NULL) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "Version entry without file name");
+ return ARCHIVE_FATAL;
+ }
+
+ archive_string_init(&version_string);
+ archive_string_init(&name_utf8_string);
+
+ /* Prepare a ;123 suffix for the filename, where '123' is the version
+ * value of this file. */
+ archive_string_sprintf(&version_string, ";%zu", version);
+
+ /* Build the new filename. */
+ archive_strcat(&name_utf8_string, cur_filename);
+ archive_strcat(&name_utf8_string, version_string.s);
+
+ /* Apply the new filename into this file's context. */
+ archive_entry_update_pathname_utf8(e, name_utf8_string.s);
+
+ /* Free buffers. */
+ archive_string_free(&version_string);
+ archive_string_free(&name_utf8_string);
+ return ARCHIVE_OK;
+}
+
+static int parse_file_extra_htime(struct archive_read* a,
+ struct archive_entry* e, struct rar5* rar, ssize_t* extra_data_size)
+{
+ char unix_time = 0;
+ size_t flags = 0;
+ size_t value_len;
+
+ enum HTIME_FLAGS {
+ IS_UNIX = 0x01,
+ HAS_MTIME = 0x02,
+ HAS_CTIME = 0x04,
+ HAS_ATIME = 0x08,
+ HAS_UNIX_NS = 0x10,
+ };
+
+ if(!read_var_sized(a, &flags, &value_len))
+ return ARCHIVE_EOF;
+
+ *extra_data_size -= value_len;
+ if(ARCHIVE_OK != consume(a, value_len)) {
+ return ARCHIVE_EOF;
+ }
+
+ unix_time = flags & IS_UNIX;
+
+ if(flags & HAS_MTIME) {
+ parse_htime_item(a, unix_time, &rar->file.e_mtime,
+ extra_data_size);
+ archive_entry_set_mtime(e, rar->file.e_mtime, 0);
+ }
+
+ if(flags & HAS_CTIME) {
+ parse_htime_item(a, unix_time, &rar->file.e_ctime,
+ extra_data_size);
+ archive_entry_set_ctime(e, rar->file.e_ctime, 0);
+ }
+
+ if(flags & HAS_ATIME) {
+ parse_htime_item(a, unix_time, &rar->file.e_atime,
+ extra_data_size);
+ archive_entry_set_atime(e, rar->file.e_atime, 0);
+ }
+
+ if(flags & HAS_UNIX_NS) {
+ if(!read_u32(a, &rar->file.e_unix_ns))
+ return ARCHIVE_EOF;
+
+ *extra_data_size -= 4;
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int parse_file_extra_redir(struct archive_read* a,
+ struct archive_entry* e, struct rar5* rar, ssize_t* extra_data_size)
+{
+ uint64_t value_size = 0;
+ size_t target_size = 0;
+ char target_utf8_buf[MAX_NAME_IN_BYTES];
+ const uint8_t* p;
+
+ if(!read_var(a, &rar->file.redir_type, &value_size))
+ return ARCHIVE_EOF;
+ if(ARCHIVE_OK != consume(a, (int64_t)value_size))
+ return ARCHIVE_EOF;
+ *extra_data_size -= value_size;
+
+ if(!read_var(a, &rar->file.redir_flags, &value_size))
+ return ARCHIVE_EOF;
+ if(ARCHIVE_OK != consume(a, (int64_t)value_size))
+ return ARCHIVE_EOF;
+ *extra_data_size -= value_size;
+
+ if(!read_var_sized(a, &target_size, NULL))
+ return ARCHIVE_EOF;
+ *extra_data_size -= target_size + 1;
+
+ if(!read_ahead(a, target_size, &p))
+ return ARCHIVE_EOF;
+
+ if(target_size > (MAX_NAME_IN_CHARS - 1)) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Link target is too long");
+ return ARCHIVE_FATAL;
+ }
+
+ if(target_size == 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "No link target specified");
+ return ARCHIVE_FATAL;
+ }
+
+ memcpy(target_utf8_buf, p, target_size);
+ target_utf8_buf[target_size] = 0;
+
+ if(ARCHIVE_OK != consume(a, (int64_t)target_size))
+ return ARCHIVE_EOF;
+
+ switch(rar->file.redir_type) {
+ case REDIR_TYPE_UNIXSYMLINK:
+ case REDIR_TYPE_WINSYMLINK:
+ archive_entry_set_filetype(e, AE_IFLNK);
+ archive_entry_update_symlink_utf8(e, target_utf8_buf);
+ if (rar->file.redir_flags & REDIR_SYMLINK_IS_DIR) {
+ archive_entry_set_symlink_type(e,
+ AE_SYMLINK_TYPE_DIRECTORY);
+ } else {
+ archive_entry_set_symlink_type(e,
+ AE_SYMLINK_TYPE_FILE);
+ }
+ break;
+
+ case REDIR_TYPE_HARDLINK:
+ archive_entry_set_filetype(e, AE_IFREG);
+ archive_entry_update_hardlink_utf8(e, target_utf8_buf);
+ break;
+
+ default:
+ /* Unknown redir type, skip it. */
+ break;
+ }
+ return ARCHIVE_OK;
+}
+
+static int parse_file_extra_owner(struct archive_read* a,
+ struct archive_entry* e, ssize_t* extra_data_size)
+{
+ uint64_t flags = 0;
+ uint64_t value_size = 0;
+ uint64_t id = 0;
+ size_t name_len = 0;
+ size_t name_size = 0;
+ char namebuf[OWNER_MAXNAMELEN];
+ const uint8_t* p;
+
+ if(!read_var(a, &flags, &value_size))
+ return ARCHIVE_EOF;
+ if(ARCHIVE_OK != consume(a, (int64_t)value_size))
+ return ARCHIVE_EOF;
+ *extra_data_size -= value_size;
+
+ if ((flags & OWNER_USER_NAME) != 0) {
+ if(!read_var_sized(a, &name_size, NULL))
+ return ARCHIVE_EOF;
+ *extra_data_size -= name_size + 1;
+
+ if(!read_ahead(a, name_size, &p))
+ return ARCHIVE_EOF;
+
+ if (name_size >= OWNER_MAXNAMELEN) {
+ name_len = OWNER_MAXNAMELEN - 1;
+ } else {
+ name_len = name_size;
+ }
+
+ memcpy(namebuf, p, name_len);
+ namebuf[name_len] = 0;
+ if(ARCHIVE_OK != consume(a, (int64_t)name_size))
+ return ARCHIVE_EOF;
+
+ archive_entry_set_uname(e, namebuf);
+ }
+ if ((flags & OWNER_GROUP_NAME) != 0) {
+ if(!read_var_sized(a, &name_size, NULL))
+ return ARCHIVE_EOF;
+ *extra_data_size -= name_size + 1;
+
+ if(!read_ahead(a, name_size, &p))
+ return ARCHIVE_EOF;
+
+ if (name_size >= OWNER_MAXNAMELEN) {
+ name_len = OWNER_MAXNAMELEN - 1;
+ } else {
+ name_len = name_size;
+ }
+
+ memcpy(namebuf, p, name_len);
+ namebuf[name_len] = 0;
+ if(ARCHIVE_OK != consume(a, (int64_t)name_size))
+ return ARCHIVE_EOF;
+
+ archive_entry_set_gname(e, namebuf);
+ }
+ if ((flags & OWNER_USER_UID) != 0) {
+ if(!read_var(a, &id, &value_size))
+ return ARCHIVE_EOF;
+ if(ARCHIVE_OK != consume(a, (int64_t)value_size))
+ return ARCHIVE_EOF;
+ *extra_data_size -= value_size;
+
+ archive_entry_set_uid(e, (la_int64_t)id);
+ }
+ if ((flags & OWNER_GROUP_GID) != 0) {
+ if(!read_var(a, &id, &value_size))
+ return ARCHIVE_EOF;
+ if(ARCHIVE_OK != consume(a, (int64_t)value_size))
+ return ARCHIVE_EOF;
+ *extra_data_size -= value_size;
+
+ archive_entry_set_gid(e, (la_int64_t)id);
+ }
+ return ARCHIVE_OK;
+}
+
+static int process_head_file_extra(struct archive_read* a,
+ struct archive_entry* e, struct rar5* rar, ssize_t extra_data_size)
+{
+ size_t extra_field_size;
+ size_t extra_field_id = 0;
+ int ret = ARCHIVE_FATAL;
+ size_t var_size;
+
+ while(extra_data_size > 0) {
+ if(!read_var_sized(a, &extra_field_size, &var_size))
+ return ARCHIVE_EOF;
+
+ extra_data_size -= var_size;
+ if(ARCHIVE_OK != consume(a, var_size)) {
+ return ARCHIVE_EOF;
+ }
+
+ if(!read_var_sized(a, &extra_field_id, &var_size))
+ return ARCHIVE_EOF;
+
+ extra_data_size -= var_size;
+ if(ARCHIVE_OK != consume(a, var_size)) {
+ return ARCHIVE_EOF;
+ }
+
+ switch(extra_field_id) {
+ case EX_HASH:
+ ret = parse_file_extra_hash(a, rar,
+ &extra_data_size);
+ break;
+ case EX_HTIME:
+ ret = parse_file_extra_htime(a, e, rar,
+ &extra_data_size);
+ break;
+ case EX_REDIR:
+ ret = parse_file_extra_redir(a, e, rar,
+ &extra_data_size);
+ break;
+ case EX_UOWNER:
+ ret = parse_file_extra_owner(a, e,
+ &extra_data_size);
+ break;
+ case EX_VERSION:
+ ret = parse_file_extra_version(a, e,
+ &extra_data_size);
+ break;
+ case EX_CRYPT:
+ /* fallthrough */
+ case EX_SUBDATA:
+ /* fallthrough */
+ default:
+ /* Skip unsupported entry. */
+ return consume(a, extra_data_size);
+ }
+ }
+
+ if(ret != ARCHIVE_OK) {
+ /* Attribute not implemented. */
+ return ret;
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int process_head_file(struct archive_read* a, struct rar5* rar,
+ struct archive_entry* entry, size_t block_flags)
+{
+ ssize_t extra_data_size = 0;
+ size_t data_size = 0;
+ size_t file_flags = 0;
+ size_t file_attr = 0;
+ size_t compression_info = 0;
+ size_t host_os = 0;
+ size_t name_size = 0;
+ uint64_t unpacked_size, window_size;
+ uint32_t mtime = 0, crc = 0;
+ int c_method = 0, c_version = 0;
+ char name_utf8_buf[MAX_NAME_IN_BYTES];
+ const uint8_t* p;
+
+ enum FILE_FLAGS {
+ DIRECTORY = 0x0001, UTIME = 0x0002, CRC32 = 0x0004,
+ UNKNOWN_UNPACKED_SIZE = 0x0008,
+ };
+
+ enum FILE_ATTRS {
+ ATTR_READONLY = 0x1, ATTR_HIDDEN = 0x2, ATTR_SYSTEM = 0x4,
+ ATTR_DIRECTORY = 0x10,
+ };
+
+ enum COMP_INFO_FLAGS {
+ SOLID = 0x0040,
+ };
+
+ enum HOST_OS {
+ HOST_WINDOWS = 0,
+ HOST_UNIX = 1,
+ };
+
+ archive_entry_clear(entry);
+
+ /* Do not reset file context if we're switching archives. */
+ if(!rar->cstate.switch_multivolume) {
+ reset_file_context(rar);
+ }
+
+ if(block_flags & HFL_EXTRA_DATA) {
+ size_t edata_size = 0;
+ if(!read_var_sized(a, &edata_size, NULL))
+ return ARCHIVE_EOF;
+
+ /* Intentional type cast from unsigned to signed. */
+ extra_data_size = (ssize_t) edata_size;
+ }
+
+ if(block_flags & HFL_DATA) {
+ if(!read_var_sized(a, &data_size, NULL))
+ return ARCHIVE_EOF;
+
+ rar->file.bytes_remaining = data_size;
+ } else {
+ rar->file.bytes_remaining = 0;
+
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "no data found in file/service block");
+ return ARCHIVE_FATAL;
+ }
+
+ if(!read_var_sized(a, &file_flags, NULL))
+ return ARCHIVE_EOF;
+
+ if(!read_var(a, &unpacked_size, NULL))
+ return ARCHIVE_EOF;
+
+ if(file_flags & UNKNOWN_UNPACKED_SIZE) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "Files with unknown unpacked size are not supported");
+ return ARCHIVE_FATAL;
+ }
+
+ rar->file.dir = (uint8_t) ((file_flags & DIRECTORY) > 0);
+
+ if(!read_var_sized(a, &file_attr, NULL))
+ return ARCHIVE_EOF;
+
+ if(file_flags & UTIME) {
+ if(!read_u32(a, &mtime))
+ return ARCHIVE_EOF;
+ }
+
+ if(file_flags & CRC32) {
+ if(!read_u32(a, &crc))
+ return ARCHIVE_EOF;
+ }
+
+ if(!read_var_sized(a, &compression_info, NULL))
+ return ARCHIVE_EOF;
+
+ c_method = (int) (compression_info >> 7) & 0x7;
+ c_version = (int) (compression_info & 0x3f);
+
+ /* RAR5 seems to limit the dictionary size to 64MB. */
+ window_size = (rar->file.dir > 0) ?
+ 0 :
+ g_unpack_window_size << ((compression_info >> 10) & 15);
+ rar->cstate.method = c_method;
+ rar->cstate.version = c_version + 50;
+ rar->file.solid = (compression_info & SOLID) > 0;
+
+ /* Archives which declare solid files without initializing the window
+ * buffer first are invalid. */
+
+ if(rar->file.solid > 0 && rar->cstate.window_buf == NULL) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Declared solid file, but no window buffer "
+ "initialized yet.");
+ return ARCHIVE_FATAL;
+ }
+
+ /* Check if window_size is a sane value. Also, if the file is not
+ * declared as a directory, disallow window_size == 0. */
+ if(window_size > (64 * 1024 * 1024) ||
+ (rar->file.dir == 0 && window_size == 0))
+ {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Declared dictionary size is not supported.");
+ return ARCHIVE_FATAL;
+ }
+
+ if(rar->file.solid > 0) {
+ /* Re-check if current window size is the same as previous
+ * window size (for solid files only). */
+ if(rar->file.solid_window_size > 0 &&
+ rar->file.solid_window_size != (ssize_t) window_size)
+ {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Window size for this solid file doesn't match "
+ "the window size used in previous solid file. ");
+ return ARCHIVE_FATAL;
+ }
+ }
+
+ /* If we're currently switching volumes, ignore the new definition of
+ * window_size. */
+ if(rar->cstate.switch_multivolume == 0) {
+ /* Values up to 64M should fit into ssize_t on every
+ * architecture. */
+ rar->cstate.window_size = (ssize_t) window_size;
+ }
+
+ if(rar->file.solid > 0 && rar->file.solid_window_size == 0) {
+ /* Solid files have to have the same window_size across
+ whole archive. Remember the window_size parameter
+ for first solid file found. */
+ rar->file.solid_window_size = rar->cstate.window_size;
+ }
+
+ init_window_mask(rar);
+
+ rar->file.service = 0;
+
+ if(!read_var_sized(a, &host_os, NULL))
+ return ARCHIVE_EOF;
+
+ if(host_os == HOST_WINDOWS) {
+ /* Host OS is Windows */
+
+ __LA_MODE_T mode;
+
+ if(file_attr & ATTR_DIRECTORY) {
+ if (file_attr & ATTR_READONLY) {
+ mode = 0555 | AE_IFDIR;
+ } else {
+ mode = 0755 | AE_IFDIR;
+ }
+ } else {
+ if (file_attr & ATTR_READONLY) {
+ mode = 0444 | AE_IFREG;
+ } else {
+ mode = 0644 | AE_IFREG;
+ }
+ }
+
+ archive_entry_set_mode(entry, mode);
+
+ if (file_attr & (ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM)) {
+ char *fflags_text, *ptr;
+ /* allocate for "rdonly,hidden,system," */
+ fflags_text = malloc(22 * sizeof(char));
+ if (fflags_text != NULL) {
+ ptr = fflags_text;
+ if (file_attr & ATTR_READONLY) {
+ strcpy(ptr, "rdonly,");
+ ptr = ptr + 7;
+ }
+ if (file_attr & ATTR_HIDDEN) {
+ strcpy(ptr, "hidden,");
+ ptr = ptr + 7;
+ }
+ if (file_attr & ATTR_SYSTEM) {
+ strcpy(ptr, "system,");
+ ptr = ptr + 7;
+ }
+ if (ptr > fflags_text) {
+ /* Delete trailing comma */
+ *(ptr - 1) = '\0';
+ archive_entry_copy_fflags_text(entry,
+ fflags_text);
+ }
+ free(fflags_text);
+ }
+ }
+ } else if(host_os == HOST_UNIX) {
+ /* Host OS is Unix */
+ archive_entry_set_mode(entry, (__LA_MODE_T) file_attr);
+ } else {
+ /* Unknown host OS */
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Unsupported Host OS: 0x%x", (int) host_os);
+
+ return ARCHIVE_FATAL;
+ }
+
+ if(!read_var_sized(a, &name_size, NULL))
+ return ARCHIVE_EOF;
+
+ if(!read_ahead(a, name_size, &p))
+ return ARCHIVE_EOF;
+
+ if(name_size > (MAX_NAME_IN_CHARS - 1)) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Filename is too long");
+
+ return ARCHIVE_FATAL;
+ }
+
+ if(name_size == 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "No filename specified");
+
+ return ARCHIVE_FATAL;
+ }
+
+ memcpy(name_utf8_buf, p, name_size);
+ name_utf8_buf[name_size] = 0;
+ if(ARCHIVE_OK != consume(a, name_size)) {
+ return ARCHIVE_EOF;
+ }
+
+ archive_entry_update_pathname_utf8(entry, name_utf8_buf);
+
+ if(extra_data_size > 0) {
+ int ret = process_head_file_extra(a, entry, rar,
+ extra_data_size);
+
+ /*
+ * TODO: rewrite or remove useless sanity check
+ * as extra_data_size is not passed as a pointer
+ *
+ if(extra_data_size < 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "File extra data size is not zero");
+ return ARCHIVE_FATAL;
+ }
+ */
+
+ if(ret != ARCHIVE_OK)
+ return ret;
+ }
+
+ if((file_flags & UNKNOWN_UNPACKED_SIZE) == 0) {
+ rar->file.unpacked_size = (ssize_t) unpacked_size;
+ if(rar->file.redir_type == REDIR_TYPE_NONE)
+ archive_entry_set_size(entry, unpacked_size);
+ }
+
+ if(file_flags & UTIME) {
+ archive_entry_set_mtime(entry, (time_t) mtime, 0);
+ }
+
+ if(file_flags & CRC32) {
+ rar->file.stored_crc32 = crc;
+ }
+
+ if(!rar->cstate.switch_multivolume) {
+ /* Do not reinitialize unpacking state if we're switching
+ * archives. */
+ rar->cstate.block_parsing_finished = 1;
+ rar->cstate.all_filters_applied = 1;
+ rar->cstate.initialized = 0;
+ }
+
+ if(rar->generic.split_before > 0) {
+ /* If now we're standing on a header that has a 'split before'
+ * mark, it means we're standing on a 'continuation' file
+ * header. Signal the caller that if it wants to move to
+ * another file, it must call rar5_read_header() function
+ * again. */
+
+ return ARCHIVE_RETRY;
+ } else {
+ return ARCHIVE_OK;
+ }
+}
+
+static int process_head_service(struct archive_read* a, struct rar5* rar,
+ struct archive_entry* entry, size_t block_flags)
+{
+ /* Process this SERVICE block the same way as FILE blocks. */
+ int ret = process_head_file(a, rar, entry, block_flags);
+ if(ret != ARCHIVE_OK)
+ return ret;
+
+ rar->file.service = 1;
+
+ /* But skip the data part automatically. It's no use for the user
+ * anyway. It contains only service data, not even needed to
+ * properly unpack the file. */
+ ret = rar5_read_data_skip(a);
+ if(ret != ARCHIVE_OK)
+ return ret;
+
+ /* After skipping, try parsing another block automatically. */
+ return ARCHIVE_RETRY;
+}
+
+static int process_head_main(struct archive_read* a, struct rar5* rar,
+ struct archive_entry* entry, size_t block_flags)
+{
+ int ret;
+ size_t extra_data_size = 0;
+ size_t extra_field_size = 0;
+ size_t extra_field_id = 0;
+ size_t archive_flags = 0;
+
+ enum MAIN_FLAGS {
+ VOLUME = 0x0001, /* multi-volume archive */
+ VOLUME_NUMBER = 0x0002, /* volume number, first vol doesn't
+ * have it */
+ SOLID = 0x0004, /* solid archive */
+ PROTECT = 0x0008, /* contains Recovery info */
+ LOCK = 0x0010, /* readonly flag, not used */
+ };
+
+ enum MAIN_EXTRA {
+ // Just one attribute here.
+ LOCATOR = 0x01,
+ };
+
+ (void) entry;
+
+ if(block_flags & HFL_EXTRA_DATA) {
+ if(!read_var_sized(a, &extra_data_size, NULL))
+ return ARCHIVE_EOF;
+ } else {
+ extra_data_size = 0;
+ }
+
+ if(!read_var_sized(a, &archive_flags, NULL)) {
+ return ARCHIVE_EOF;
+ }
+
+ rar->main.volume = (archive_flags & VOLUME) > 0;
+ rar->main.solid = (archive_flags & SOLID) > 0;
+
+ if(archive_flags & VOLUME_NUMBER) {
+ size_t v = 0;
+ if(!read_var_sized(a, &v, NULL)) {
+ return ARCHIVE_EOF;
+ }
+
+ if (v > UINT_MAX) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Invalid volume number");
+ return ARCHIVE_FATAL;
+ }
+
+ rar->main.vol_no = (unsigned int) v;
+ } else {
+ rar->main.vol_no = 0;
+ }
+
+ if(rar->vol.expected_vol_no > 0 &&
+ rar->main.vol_no != rar->vol.expected_vol_no)
+ {
+ /* Returning EOF instead of FATAL because of strange
+ * libarchive behavior. When opening multiple files via
+ * archive_read_open_filenames(), after reading up the whole
+ * last file, the __archive_read_ahead function wraps up to
+ * the first archive instead of returning EOF. */
+ return ARCHIVE_EOF;
+ }
+
+ if(extra_data_size == 0) {
+ /* Early return. */
+ return ARCHIVE_OK;
+ }
+
+ if(!read_var_sized(a, &extra_field_size, NULL)) {
+ return ARCHIVE_EOF;
+ }
+
+ if(!read_var_sized(a, &extra_field_id, NULL)) {
+ return ARCHIVE_EOF;
+ }
+
+ if(extra_field_size == 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Invalid extra field size");
+ return ARCHIVE_FATAL;
+ }
+
+ switch(extra_field_id) {
+ case LOCATOR:
+ ret = process_main_locator_extra_block(a, rar);
+ if(ret != ARCHIVE_OK) {
+ /* Error while parsing main locator extra
+ * block. */
+ return ret;
+ }
+
+ break;
+ default:
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Unsupported extra type (0x%x)",
+ (int) extra_field_id);
+ return ARCHIVE_FATAL;
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int skip_unprocessed_bytes(struct archive_read* a) {
+ struct rar5* rar = get_context(a);
+ int ret;
+
+ if(rar->file.bytes_remaining) {
+ /* Use different skipping method in block merging mode than in
+ * normal mode. If merge mode is active, rar5_read_data_skip
+ * can't be used, because it could allow recursive use of
+ * merge_block() * function, and this function doesn't support
+ * recursive use. */
+ if(rar->merge_mode) {
+ /* Discard whole merged block. This is valid in solid
+ * mode as well, because the code will discard blocks
+ * only if those blocks are safe to discard (i.e.
+ * they're not FILE blocks). */
+ ret = consume(a, rar->file.bytes_remaining);
+ if(ret != ARCHIVE_OK) {
+ return ret;
+ }
+ rar->file.bytes_remaining = 0;
+ } else {
+ /* If we're not in merge mode, use safe skipping code.
+ * This will ensure we'll handle solid archives
+ * properly. */
+ ret = rar5_read_data_skip(a);
+ if(ret != ARCHIVE_OK) {
+ return ret;
+ }
+ }
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int scan_for_signature(struct archive_read* a);
+
+/* Base block processing function. A 'base block' is a RARv5 header block
+ * that tells the reader what kind of data is stored inside the block.
+ *
+ * From the birds-eye view a RAR file looks file this:
+ *
+ * <magic><base_block_1><base_block_2>...<base_block_n>
+ *
+ * There are a few types of base blocks. Those types are specified inside
+ * the 'switch' statement in this function. For example purposes, I'll write
+ * how a standard RARv5 file could look like here:
+ *
+ * <magic><MAIN><FILE><FILE><FILE><SERVICE><ENDARC>
+ *
+ * The structure above could describe an archive file with 3 files in it,
+ * one service "QuickOpen" block (that is ignored by this parser), and an
+ * end of file base block marker.
+ *
+ * If the file is stored in multiple archive files ("multiarchive"), it might
+ * look like this:
+ *
+ * .part01.rar: <magic><MAIN><FILE><ENDARC>
+ * .part02.rar: <magic><MAIN><FILE><ENDARC>
+ * .part03.rar: <magic><MAIN><FILE><ENDARC>
+ *
+ * This example could describe 3 RAR files that contain ONE archived file.
+ * Or it could describe 3 RAR files that contain 3 different files. Or 3
+ * RAR files than contain 2 files. It all depends what metadata is stored in
+ * the headers of <FILE> blocks.
+ *
+ * Each <FILE> block contains info about its size, the name of the file it's
+ * storing inside, and whether this FILE block is a continuation block of
+ * previous archive ('split before'), and is this FILE block should be
+ * continued in another archive ('split after'). By parsing the 'split before'
+ * and 'split after' flags, we're able to tell if multiple <FILE> base blocks
+ * are describing one file, or multiple files (with the same filename, for
+ * example).
+ *
+ * One thing to note is that if we're parsing the first <FILE> block, and
+ * we see 'split after' flag, then we need to jump over to another <FILE>
+ * block to be able to decompress rest of the data. To do this, we need
+ * to skip the <ENDARC> block, then switch to another file, then skip the
+ * <magic> block, <MAIN> block, and then we're standing on the proper
+ * <FILE> block.
+ */
+
+static int process_base_block(struct archive_read* a,
+ struct archive_entry* entry)
+{
+ const size_t SMALLEST_RAR5_BLOCK_SIZE = 3;
+
+ struct rar5* rar = get_context(a);
+ uint32_t hdr_crc, computed_crc;
+ size_t raw_hdr_size = 0, hdr_size_len, hdr_size;
+ size_t header_id = 0;
+ size_t header_flags = 0;
+ const uint8_t* p;
+ int ret;
+
+ enum HEADER_TYPE {
+ HEAD_MARK = 0x00, HEAD_MAIN = 0x01, HEAD_FILE = 0x02,
+ HEAD_SERVICE = 0x03, HEAD_CRYPT = 0x04, HEAD_ENDARC = 0x05,
+ HEAD_UNKNOWN = 0xff,
+ };
+
+ /* Skip any unprocessed data for this file. */
+ ret = skip_unprocessed_bytes(a);
+ if(ret != ARCHIVE_OK)
+ return ret;
+
+ /* Read the expected CRC32 checksum. */
+ if(!read_u32(a, &hdr_crc)) {
+ return ARCHIVE_EOF;
+ }
+
+ /* Read header size. */
+ if(!read_var_sized(a, &raw_hdr_size, &hdr_size_len)) {
+ return ARCHIVE_EOF;
+ }
+
+ hdr_size = raw_hdr_size + hdr_size_len;
+
+ /* Sanity check, maximum header size for RAR5 is 2MB. */
+ if(hdr_size > (2 * 1024 * 1024)) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Base block header is too large");
+
+ return ARCHIVE_FATAL;
+ }
+
+ /* Additional sanity checks to weed out invalid files. */
+ if(raw_hdr_size == 0 || hdr_size_len == 0 ||
+ hdr_size < SMALLEST_RAR5_BLOCK_SIZE)
+ {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Too small block encountered (%zu bytes)",
+ raw_hdr_size);
+
+ return ARCHIVE_FATAL;
+ }
+
+ /* Read the whole header data into memory, maximum memory use here is
+ * 2MB. */
+ if(!read_ahead(a, hdr_size, &p)) {
+ return ARCHIVE_EOF;
+ }
+
+ /* Verify the CRC32 of the header data. */
+ computed_crc = (uint32_t) crc32(0, p, (int) hdr_size);
+ if(computed_crc != hdr_crc) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Header CRC error");
+
+ return ARCHIVE_FATAL;
+ }
+
+ /* If the checksum is OK, we proceed with parsing. */
+ if(ARCHIVE_OK != consume(a, hdr_size_len)) {
+ return ARCHIVE_EOF;
+ }
+
+ if(!read_var_sized(a, &header_id, NULL))
+ return ARCHIVE_EOF;
+
+ if(!read_var_sized(a, &header_flags, NULL))
+ return ARCHIVE_EOF;
+
+ rar->generic.split_after = (header_flags & HFL_SPLIT_AFTER) > 0;
+ rar->generic.split_before = (header_flags & HFL_SPLIT_BEFORE) > 0;
+ rar->generic.size = (int)hdr_size;
+ rar->generic.last_header_id = (int)header_id;
+ rar->main.endarc = 0;
+
+ /* Those are possible header ids in RARv5. */
+ switch(header_id) {
+ case HEAD_MAIN:
+ ret = process_head_main(a, rar, entry, header_flags);
+
+ /* Main header doesn't have any files in it, so it's
+ * pointless to return to the caller. Retry to next
+ * header, which should be HEAD_FILE/HEAD_SERVICE. */
+ if(ret == ARCHIVE_OK)
+ return ARCHIVE_RETRY;
+
+ return ret;
+ case HEAD_SERVICE:
+ ret = process_head_service(a, rar, entry, header_flags);
+ return ret;
+ case HEAD_FILE:
+ ret = process_head_file(a, rar, entry, header_flags);
+ return ret;
+ case HEAD_CRYPT:
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Encryption is not supported");
+ return ARCHIVE_FATAL;
+ case HEAD_ENDARC:
+ rar->main.endarc = 1;
+
+ /* After encountering an end of file marker, we need
+ * to take into consideration if this archive is
+ * continued in another file (i.e. is it part01.rar:
+ * is there a part02.rar?) */
+ if(rar->main.volume) {
+ /* In case there is part02.rar, position the
+ * read pointer in a proper place, so we can
+ * resume parsing. */
+ ret = scan_for_signature(a);
+ if(ret == ARCHIVE_FATAL) {
+ return ARCHIVE_EOF;
+ } else {
+ if(rar->vol.expected_vol_no ==
+ UINT_MAX) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Header error");
+ return ARCHIVE_FATAL;
+ }
+
+ rar->vol.expected_vol_no =
+ rar->main.vol_no + 1;
+ return ARCHIVE_OK;
+ }
+ } else {
+ return ARCHIVE_EOF;
+ }
+ case HEAD_MARK:
+ return ARCHIVE_EOF;
+ default:
+ if((header_flags & HFL_SKIP_IF_UNKNOWN) == 0) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Header type error");
+ return ARCHIVE_FATAL;
+ } else {
+ /* If the block is marked as 'skip if unknown',
+ * do as the flag says: skip the block
+ * instead on failing on it. */
+ return ARCHIVE_RETRY;
+ }
+ }
+
+#if !defined WIN32
+ // Not reached.
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "Internal unpacker error");
+ return ARCHIVE_FATAL;
+#endif
+}
+
+static int skip_base_block(struct archive_read* a) {
+ int ret;
+ struct rar5* rar = get_context(a);
+
+ /* Create a new local archive_entry structure that will be operated on
+ * by header reader; operations on this archive_entry will be discarded.
+ */
+ struct archive_entry* entry = archive_entry_new();
+ ret = process_base_block(a, entry);
+
+ /* Discard operations on this archive_entry structure. */
+ archive_entry_free(entry);
+ if(ret == ARCHIVE_FATAL)
+ return ret;
+
+ if(rar->generic.last_header_id == 2 && rar->generic.split_before > 0)
+ return ARCHIVE_OK;
+
+ if(ret == ARCHIVE_OK)
+ return ARCHIVE_RETRY;
+ else
+ return ret;
+}
+
+static int rar5_read_header(struct archive_read *a,
+ struct archive_entry *entry)
+{
+ struct rar5* rar = get_context(a);
+ int ret;
+
+ if(rar->header_initialized == 0) {
+ init_header(a);
+ rar->header_initialized = 1;
+ }
+
+ if(rar->skipped_magic == 0) {
+ if(ARCHIVE_OK != consume(a, sizeof(rar5_signature_xor))) {
+ return ARCHIVE_EOF;
+ }
+
+ rar->skipped_magic = 1;
+ }
+
+ do {
+ ret = process_base_block(a, entry);
+ } while(ret == ARCHIVE_RETRY ||
+ (rar->main.endarc > 0 && ret == ARCHIVE_OK));
+
+ return ret;
+}
+
+static void init_unpack(struct rar5* rar) {
+ rar->file.calculated_crc32 = 0;
+ init_window_mask(rar);
+
+ free(rar->cstate.window_buf);
+ free(rar->cstate.filtered_buf);
+
+ if(rar->cstate.window_size > 0) {
+ rar->cstate.window_buf = calloc(1, rar->cstate.window_size);
+ rar->cstate.filtered_buf = calloc(1, rar->cstate.window_size);
+ } else {
+ rar->cstate.window_buf = NULL;
+ rar->cstate.filtered_buf = NULL;
+ }
+
+ rar->cstate.write_ptr = 0;
+ rar->cstate.last_write_ptr = 0;
+
+ memset(&rar->cstate.bd, 0, sizeof(rar->cstate.bd));
+ memset(&rar->cstate.ld, 0, sizeof(rar->cstate.ld));
+ memset(&rar->cstate.dd, 0, sizeof(rar->cstate.dd));
+ memset(&rar->cstate.ldd, 0, sizeof(rar->cstate.ldd));
+ memset(&rar->cstate.rd, 0, sizeof(rar->cstate.rd));
+}
+
+static void update_crc(struct rar5* rar, const uint8_t* p, size_t to_read) {
+ int verify_crc;
+
+ if(rar->skip_mode) {
+#if defined CHECK_CRC_ON_SOLID_SKIP
+ verify_crc = 1;
+#else
+ verify_crc = 0;
+#endif
+ } else
+ verify_crc = 1;
+
+ if(verify_crc) {
+ /* Don't update CRC32 if the file doesn't have the
+ * `stored_crc32` info filled in. */
+ if(rar->file.stored_crc32 > 0) {
+ rar->file.calculated_crc32 =
+ crc32(rar->file.calculated_crc32, p, to_read);
+ }
+
+ /* Check if the file uses an optional BLAKE2sp checksum
+ * algorithm. */
+ if(rar->file.has_blake2 > 0) {
+ /* Return value of the `update` function is always 0,
+ * so we can explicitly ignore it here. */
+ (void) blake2sp_update(&rar->file.b2state, p, to_read);
+ }
+ }
+}
+
+static int create_decode_tables(uint8_t* bit_length,
+ struct decode_table* table, int size)
+{
+ int code, upper_limit = 0, i, lc[16];
+ uint32_t decode_pos_clone[rar5_countof(table->decode_pos)];
+ ssize_t cur_len, quick_data_size;
+
+ memset(&lc, 0, sizeof(lc));
+ memset(table->decode_num, 0, sizeof(table->decode_num));
+ table->size = size;
+ table->quick_bits = size == HUFF_NC ? 10 : 7;
+
+ for(i = 0; i < size; i++) {
+ lc[bit_length[i] & 15]++;
+ }
+
+ lc[0] = 0;
+ table->decode_pos[0] = 0;
+ table->decode_len[0] = 0;
+
+ for(i = 1; i < 16; i++) {
+ upper_limit += lc[i];
+
+ table->decode_len[i] = upper_limit << (16 - i);
+ table->decode_pos[i] = table->decode_pos[i - 1] + lc[i - 1];
+
+ upper_limit <<= 1;
+ }
+
+ memcpy(decode_pos_clone, table->decode_pos, sizeof(decode_pos_clone));
+
+ for(i = 0; i < size; i++) {
+ uint8_t clen = bit_length[i] & 15;
+ if(clen > 0) {
+ int last_pos = decode_pos_clone[clen];
+ table->decode_num[last_pos] = i;
+ decode_pos_clone[clen]++;
+ }
+ }
+
+ quick_data_size = (int64_t)1 << table->quick_bits;
+ cur_len = 1;
+ for(code = 0; code < quick_data_size; code++) {
+ int bit_field = code << (16 - table->quick_bits);
+ int dist, pos;
+
+ while(cur_len < rar5_countof(table->decode_len) &&
+ bit_field >= table->decode_len[cur_len]) {
+ cur_len++;
+ }
+
+ table->quick_len[code] = (uint8_t) cur_len;
+
+ dist = bit_field - table->decode_len[cur_len - 1];
+ dist >>= (16 - cur_len);
+
+ pos = table->decode_pos[cur_len & 15] + dist;
+ if(cur_len < rar5_countof(table->decode_pos) && pos < size) {
+ table->quick_num[code] = table->decode_num[pos];
+ } else {
+ table->quick_num[code] = 0;
+ }
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int decode_number(struct archive_read* a, struct decode_table* table,
+ const uint8_t* p, uint16_t* num)
+{
+ int i, bits, dist;
+ uint16_t bitfield;
+ uint32_t pos;
+ struct rar5* rar = get_context(a);
+
+ if(ARCHIVE_OK != read_bits_16(rar, p, &bitfield)) {
+ return ARCHIVE_EOF;
+ }
+
+ bitfield &= 0xfffe;
+
+ if(bitfield < table->decode_len[table->quick_bits]) {
+ int code = bitfield >> (16 - table->quick_bits);
+ skip_bits(rar, table->quick_len[code]);
+ *num = table->quick_num[code];
+ return ARCHIVE_OK;
+ }
+
+ bits = 15;
+
+ for(i = table->quick_bits + 1; i < 15; i++) {
+ if(bitfield < table->decode_len[i]) {
+ bits = i;
+ break;
+ }
+ }
+
+ skip_bits(rar, bits);
+
+ dist = bitfield - table->decode_len[bits - 1];
+ dist >>= (16 - bits);
+ pos = table->decode_pos[bits] + dist;
+
+ if(pos >= table->size)
+ pos = 0;
+
+ *num = table->decode_num[pos];
+ return ARCHIVE_OK;
+}
+
+/* Reads and parses Huffman tables from the beginning of the block. */
+static int parse_tables(struct archive_read* a, struct rar5* rar,
+ const uint8_t* p)
+{
+ int ret, value, i, w, idx = 0;
+ uint8_t bit_length[HUFF_BC],
+ table[HUFF_TABLE_SIZE],
+ nibble_mask = 0xF0,
+ nibble_shift = 4;
+
+ enum { ESCAPE = 15 };
+
+ /* The data for table generation is compressed using a simple RLE-like
+ * algorithm when storing zeroes, so we need to unpack it first. */
+ for(w = 0, i = 0; w < HUFF_BC;) {
+ if(i >= rar->cstate.cur_block_size) {
+ /* Truncated data, can't continue. */
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated data in huffman tables");
+ return ARCHIVE_FATAL;
+ }
+
+ value = (p[i] & nibble_mask) >> nibble_shift;
+
+ if(nibble_mask == 0x0F)
+ ++i;
+
+ nibble_mask ^= 0xFF;
+ nibble_shift ^= 4;
+
+ /* Values smaller than 15 is data, so we write it directly.
+ * Value 15 is a flag telling us that we need to unpack more
+ * bytes. */
+ if(value == ESCAPE) {
+ value = (p[i] & nibble_mask) >> nibble_shift;
+ if(nibble_mask == 0x0F)
+ ++i;
+ nibble_mask ^= 0xFF;
+ nibble_shift ^= 4;
+
+ if(value == 0) {
+ /* We sometimes need to write the actual value
+ * of 15, so this case handles that. */
+ bit_length[w++] = ESCAPE;
+ } else {
+ int k;
+
+ /* Fill zeroes. */
+ for(k = 0; (k < value + 2) && (w < HUFF_BC);
+ k++) {
+ bit_length[w++] = 0;
+ }
+ }
+ } else {
+ bit_length[w++] = value;
+ }
+ }
+
+ rar->bits.in_addr = i;
+ rar->bits.bit_addr = nibble_shift ^ 4;
+
+ ret = create_decode_tables(bit_length, &rar->cstate.bd, HUFF_BC);
+ if(ret != ARCHIVE_OK) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Decoding huffman tables failed");
+ return ARCHIVE_FATAL;
+ }
+
+ for(i = 0; i < HUFF_TABLE_SIZE;) {
+ uint16_t num;
+
+ if((rar->bits.in_addr + 6) >= rar->cstate.cur_block_size) {
+ /* Truncated data, can't continue. */
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated data in huffman tables (#2)");
+ return ARCHIVE_FATAL;
+ }
+
+ ret = decode_number(a, &rar->cstate.bd, p, &num);
+ if(ret != ARCHIVE_OK) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Decoding huffman tables failed");
+ return ARCHIVE_FATAL;
+ }
+
+ if(num < 16) {
+ /* 0..15: store directly */
+ table[i] = (uint8_t) num;
+ i++;
+ } else if(num < 18) {
+ /* 16..17: repeat previous code */
+ uint16_t n;
+
+ if(ARCHIVE_OK != read_bits_16(rar, p, &n))
+ return ARCHIVE_EOF;
+
+ if(num == 16) {
+ n >>= 13;
+ n += 3;
+ skip_bits(rar, 3);
+ } else {
+ n >>= 9;
+ n += 11;
+ skip_bits(rar, 7);
+ }
+
+ if(i > 0) {
+ while(n-- > 0 && i < HUFF_TABLE_SIZE) {
+ table[i] = table[i - 1];
+ i++;
+ }
+ } else {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Unexpected error when decoding "
+ "huffman tables");
+ return ARCHIVE_FATAL;
+ }
+ } else {
+ /* other codes: fill with zeroes `n` times */
+ uint16_t n;
+
+ if(ARCHIVE_OK != read_bits_16(rar, p, &n))
+ return ARCHIVE_EOF;
+
+ if(num == 18) {
+ n >>= 13;
+ n += 3;
+ skip_bits(rar, 3);
+ } else {
+ n >>= 9;
+ n += 11;
+ skip_bits(rar, 7);
+ }
+
+ while(n-- > 0 && i < HUFF_TABLE_SIZE)
+ table[i++] = 0;
+ }
+ }
+
+ ret = create_decode_tables(&table[idx], &rar->cstate.ld, HUFF_NC);
+ if(ret != ARCHIVE_OK) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Failed to create literal table");
+ return ARCHIVE_FATAL;
+ }
+
+ idx += HUFF_NC;
+
+ ret = create_decode_tables(&table[idx], &rar->cstate.dd, HUFF_DC);
+ if(ret != ARCHIVE_OK) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Failed to create distance table");
+ return ARCHIVE_FATAL;
+ }
+
+ idx += HUFF_DC;
+
+ ret = create_decode_tables(&table[idx], &rar->cstate.ldd, HUFF_LDC);
+ if(ret != ARCHIVE_OK) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Failed to create lower bits of distances table");
+ return ARCHIVE_FATAL;
+ }
+
+ idx += HUFF_LDC;
+
+ ret = create_decode_tables(&table[idx], &rar->cstate.rd, HUFF_RC);
+ if(ret != ARCHIVE_OK) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Failed to create repeating distances table");
+ return ARCHIVE_FATAL;
+ }
+
+ return ARCHIVE_OK;
+}
+
+/* Parses the block header, verifies its CRC byte, and saves the header
+ * fields inside the `hdr` pointer. */
+static int parse_block_header(struct archive_read* a, const uint8_t* p,
+ ssize_t* block_size, struct compressed_block_header* hdr)
+{
+ uint8_t calculated_cksum;
+ memcpy(hdr, p, sizeof(struct compressed_block_header));
+
+ if(bf_byte_count(hdr) > 2) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Unsupported block header size (was %d, max is 2)",
+ bf_byte_count(hdr));
+ return ARCHIVE_FATAL;
+ }
+
+ /* This should probably use bit reader interface in order to be more
+ * future-proof. */
+ *block_size = 0;
+ switch(bf_byte_count(hdr)) {
+ /* 1-byte block size */
+ case 0:
+ *block_size = *(const uint8_t*) &p[2];
+ break;
+
+ /* 2-byte block size */
+ case 1:
+ *block_size = archive_le16dec(&p[2]);
+ break;
+
+ /* 3-byte block size */
+ case 2:
+ *block_size = archive_le32dec(&p[2]);
+ *block_size &= 0x00FFFFFF;
+ break;
+
+ /* Other block sizes are not supported. This case is not
+ * reached, because we have an 'if' guard before the switch
+ * that makes sure of it. */
+ default:
+ return ARCHIVE_FATAL;
+ }
+
+ /* Verify the block header checksum. 0x5A is a magic value and is
+ * always * constant. */
+ calculated_cksum = 0x5A
+ ^ (uint8_t) hdr->block_flags_u8
+ ^ (uint8_t) *block_size
+ ^ (uint8_t) (*block_size >> 8)
+ ^ (uint8_t) (*block_size >> 16);
+
+ if(calculated_cksum != hdr->block_cksum) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Block checksum error: got 0x%x, expected 0x%x",
+ hdr->block_cksum, calculated_cksum);
+
+ return ARCHIVE_FATAL;
+ }
+
+ return ARCHIVE_OK;
+}
+
+/* Convenience function used during filter processing. */
+static int parse_filter_data(struct rar5* rar, const uint8_t* p,
+ uint32_t* filter_data)
+{
+ int i, bytes;
+ uint32_t data = 0;
+
+ if(ARCHIVE_OK != read_consume_bits(rar, p, 2, &bytes))
+ return ARCHIVE_EOF;
+
+ bytes++;
+
+ for(i = 0; i < bytes; i++) {
+ uint16_t byte;
+
+ if(ARCHIVE_OK != read_bits_16(rar, p, &byte)) {
+ return ARCHIVE_EOF;
+ }
+
+ /* Cast to uint32_t will ensure the shift operation will not
+ * produce undefined result. */
+ data += ((uint32_t) byte >> 8) << (i * 8);
+ skip_bits(rar, 8);
+ }
+
+ *filter_data = data;
+ return ARCHIVE_OK;
+}
+
+/* Function is used during sanity checking. */
+static int is_valid_filter_block_start(struct rar5* rar,
+ uint32_t start)
+{
+ const int64_t block_start = (ssize_t) start + rar->cstate.write_ptr;
+ const int64_t last_bs = rar->cstate.last_block_start;
+ const ssize_t last_bl = rar->cstate.last_block_length;
+
+ if(last_bs == 0 || last_bl == 0) {
+ /* We didn't have any filters yet, so accept this offset. */
+ return 1;
+ }
+
+ if(block_start >= last_bs + last_bl) {
+ /* Current offset is bigger than last block's end offset, so
+ * accept current offset. */
+ return 1;
+ }
+
+ /* Any other case is not a normal situation and we should fail. */
+ return 0;
+}
+
+/* The function will create a new filter, read its parameters from the input
+ * stream and add it to the filter collection. */
+static int parse_filter(struct archive_read* ar, const uint8_t* p) {
+ uint32_t block_start, block_length;
+ uint16_t filter_type;
+ struct filter_info* filt = NULL;
+ struct rar5* rar = get_context(ar);
+
+ /* Read the parameters from the input stream. */
+ if(ARCHIVE_OK != parse_filter_data(rar, p, &block_start))
+ return ARCHIVE_EOF;
+
+ if(ARCHIVE_OK != parse_filter_data(rar, p, &block_length))
+ return ARCHIVE_EOF;
+
+ if(ARCHIVE_OK != read_bits_16(rar, p, &filter_type))
+ return ARCHIVE_EOF;
+
+ filter_type >>= 13;
+ skip_bits(rar, 3);
+
+ /* Perform some sanity checks on this filter parameters. Note that we
+ * allow only DELTA, E8/E9 and ARM filters here, because rest of
+ * filters are not used in RARv5. */
+
+ if(block_length < 4 ||
+ block_length > 0x400000 ||
+ filter_type > FILTER_ARM ||
+ !is_valid_filter_block_start(rar, block_start))
+ {
+ archive_set_error(&ar->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Invalid filter encountered");
+ return ARCHIVE_FATAL;
+ }
+
+ /* Allocate a new filter. */
+ filt = add_new_filter(rar);
+ if(filt == NULL) {
+ archive_set_error(&ar->archive, ENOMEM,
+ "Can't allocate memory for a filter descriptor.");
+ return ARCHIVE_FATAL;
+ }
+
+ filt->type = filter_type;
+ filt->block_start = rar->cstate.write_ptr + block_start;
+ filt->block_length = block_length;
+
+ rar->cstate.last_block_start = filt->block_start;
+ rar->cstate.last_block_length = filt->block_length;
+
+ /* Read some more data in case this is a DELTA filter. Other filter
+ * types don't require any additional data over what was already
+ * read. */
+ if(filter_type == FILTER_DELTA) {
+ int channels;
+
+ if(ARCHIVE_OK != read_consume_bits(rar, p, 5, &channels))
+ return ARCHIVE_EOF;
+
+ filt->channels = channels + 1;
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int decode_code_length(struct rar5* rar, const uint8_t* p,
+ uint16_t code)
+{
+ int lbits, length = 2;
+ if(code < 8) {
+ lbits = 0;
+ length += code;
+ } else {
+ lbits = code / 4 - 1;
+ length += (4 | (code & 3)) << lbits;
+ }
+
+ if(lbits > 0) {
+ int add;
+
+ if(ARCHIVE_OK != read_consume_bits(rar, p, lbits, &add))
+ return -1;
+
+ length += add;
+ }
+
+ return length;
+}
+
+static int copy_string(struct archive_read* a, int len, int dist) {
+ struct rar5* rar = get_context(a);
+ const uint64_t cmask = rar->cstate.window_mask;
+ const uint64_t write_ptr = rar->cstate.write_ptr +
+ rar->cstate.solid_offset;
+ int i;
+
+ if (rar->cstate.window_buf == NULL)
+ return ARCHIVE_FATAL;
+
+ /* The unpacker spends most of the time in this function. It would be
+ * a good idea to introduce some optimizations here.
+ *
+ * Just remember that this loop treats buffers that overlap differently
+ * than buffers that do not overlap. This is why a simple memcpy(3)
+ * call will not be enough. */
+
+ for(i = 0; i < len; i++) {
+ const ssize_t write_idx = (write_ptr + i) & cmask;
+ const ssize_t read_idx = (write_ptr + i - dist) & cmask;
+ rar->cstate.window_buf[write_idx] =
+ rar->cstate.window_buf[read_idx];
+ }
+
+ rar->cstate.write_ptr += len;
+ return ARCHIVE_OK;
+}
+
+static int do_uncompress_block(struct archive_read* a, const uint8_t* p) {
+ struct rar5* rar = get_context(a);
+ uint16_t num;
+ int ret;
+
+ const uint64_t cmask = rar->cstate.window_mask;
+ const struct compressed_block_header* hdr = &rar->last_block_hdr;
+ const uint8_t bit_size = 1 + bf_bit_size(hdr);
+
+ while(1) {
+ if(rar->cstate.write_ptr - rar->cstate.last_write_ptr >
+ (rar->cstate.window_size >> 1)) {
+ /* Don't allow growing data by more than half of the
+ * window size at a time. In such case, break the loop;
+ * next call to this function will continue processing
+ * from this moment. */
+ break;
+ }
+
+ if(rar->bits.in_addr > rar->cstate.cur_block_size - 1 ||
+ (rar->bits.in_addr == rar->cstate.cur_block_size - 1 &&
+ rar->bits.bit_addr >= bit_size))
+ {
+ /* If the program counter is here, it means the
+ * function has finished processing the block. */
+ rar->cstate.block_parsing_finished = 1;
+ break;
+ }
+
+ /* Decode the next literal. */
+ if(ARCHIVE_OK != decode_number(a, &rar->cstate.ld, p, &num)) {
+ return ARCHIVE_EOF;
+ }
+
+ /* Num holds a decompression literal, or 'command code'.
+ *
+ * - Values lower than 256 are just bytes. Those codes
+ * can be stored in the output buffer directly.
+ *
+ * - Code 256 defines a new filter, which is later used to
+ * ransform the data block accordingly to the filter type.
+ * The data block needs to be fully uncompressed first.
+ *
+ * - Code bigger than 257 and smaller than 262 define
+ * a repetition pattern that should be copied from
+ * an already uncompressed chunk of data.
+ */
+
+ if(num < 256) {
+ /* Directly store the byte. */
+ int64_t write_idx = rar->cstate.solid_offset +
+ rar->cstate.write_ptr++;
+
+ rar->cstate.window_buf[write_idx & cmask] =
+ (uint8_t) num;
+ continue;
+ } else if(num >= 262) {
+ uint16_t dist_slot;
+ int len = decode_code_length(rar, p, num - 262),
+ dbits,
+ dist = 1;
+
+ if(len == -1) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_PROGRAMMER,
+ "Failed to decode the code length");
+
+ return ARCHIVE_FATAL;
+ }
+
+ if(ARCHIVE_OK != decode_number(a, &rar->cstate.dd, p,
+ &dist_slot))
+ {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_PROGRAMMER,
+ "Failed to decode the distance slot");
+
+ return ARCHIVE_FATAL;
+ }
+
+ if(dist_slot < 4) {
+ dbits = 0;
+ dist += dist_slot;
+ } else {
+ dbits = dist_slot / 2 - 1;
+
+ /* Cast to uint32_t will make sure the shift
+ * left operation won't produce undefined
+ * result. Then, the uint32_t type will
+ * be implicitly casted to int. */
+ dist += (uint32_t) (2 |
+ (dist_slot & 1)) << dbits;
+ }
+
+ if(dbits > 0) {
+ if(dbits >= 4) {
+ uint32_t add = 0;
+ uint16_t low_dist;
+
+ if(dbits > 4) {
+ if(ARCHIVE_OK != read_bits_32(
+ rar, p, &add)) {
+ /* Return EOF if we
+ * can't read more
+ * data. */
+ return ARCHIVE_EOF;
+ }
+
+ skip_bits(rar, dbits - 4);
+ add = (add >> (
+ 36 - dbits)) << 4;
+ dist += add;
+ }
+
+ if(ARCHIVE_OK != decode_number(a,
+ &rar->cstate.ldd, p, &low_dist))
+ {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_PROGRAMMER,
+ "Failed to decode the "
+ "distance slot");
+
+ return ARCHIVE_FATAL;
+ }
+
+ if(dist >= INT_MAX - low_dist - 1) {
+ /* This only happens in
+ * invalid archives. */
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Distance pointer "
+ "overflow");
+ return ARCHIVE_FATAL;
+ }
+
+ dist += low_dist;
+ } else {
+ /* dbits is one of [0,1,2,3] */
+ int add;
+
+ if(ARCHIVE_OK != read_consume_bits(rar,
+ p, dbits, &add)) {
+ /* Return EOF if we can't read
+ * more data. */
+ return ARCHIVE_EOF;
+ }
+
+ dist += add;
+ }
+ }
+
+ if(dist > 0x100) {
+ len++;
+
+ if(dist > 0x2000) {
+ len++;
+
+ if(dist > 0x40000) {
+ len++;
+ }
+ }
+ }
+
+ dist_cache_push(rar, dist);
+ rar->cstate.last_len = len;
+
+ if(ARCHIVE_OK != copy_string(a, len, dist))
+ return ARCHIVE_FATAL;
+
+ continue;
+ } else if(num == 256) {
+ /* Create a filter. */
+ ret = parse_filter(a, p);
+ if(ret != ARCHIVE_OK)
+ return ret;
+
+ continue;
+ } else if(num == 257) {
+ if(rar->cstate.last_len != 0) {
+ if(ARCHIVE_OK != copy_string(a,
+ rar->cstate.last_len,
+ rar->cstate.dist_cache[0]))
+ {
+ return ARCHIVE_FATAL;
+ }
+ }
+
+ continue;
+ } else {
+ /* num < 262 */
+ const int idx = num - 258;
+ const int dist = dist_cache_touch(rar, idx);
+
+ uint16_t len_slot;
+ int len;
+
+ if(ARCHIVE_OK != decode_number(a, &rar->cstate.rd, p,
+ &len_slot)) {
+ return ARCHIVE_FATAL;
+ }
+
+ len = decode_code_length(rar, p, len_slot);
+ rar->cstate.last_len = len;
+
+ if(ARCHIVE_OK != copy_string(a, len, dist))
+ return ARCHIVE_FATAL;
+
+ continue;
+ }
+
+ /* The program counter shouldn't reach here. */
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Unsupported block code: 0x%x", num);
+
+ return ARCHIVE_FATAL;
+ }
+
+ return ARCHIVE_OK;
+}
+
+/* Binary search for the RARv5 signature. */
+static int scan_for_signature(struct archive_read* a) {
+ const uint8_t* p;
+ const int chunk_size = 512;
+ ssize_t i;
+ char signature[sizeof(rar5_signature_xor)];
+
+ /* If we're here, it means we're on an 'unknown territory' data.
+ * There's no indication what kind of data we're reading here.
+ * It could be some text comment, any kind of binary data,
+ * digital sign, dragons, etc.
+ *
+ * We want to find a valid RARv5 magic header inside this unknown
+ * data. */
+
+ /* Is it possible in libarchive to just skip everything until the
+ * end of the file? If so, it would be a better approach than the
+ * current implementation of this function. */
+
+ rar5_signature(signature);
+
+ while(1) {
+ if(!read_ahead(a, chunk_size, &p))
+ return ARCHIVE_EOF;
+
+ for(i = 0; i < chunk_size - (int)sizeof(rar5_signature_xor);
+ i++) {
+ if(memcmp(&p[i], signature,
+ sizeof(rar5_signature_xor)) == 0) {
+ /* Consume the number of bytes we've used to
+ * search for the signature, as well as the
+ * number of bytes used by the signature
+ * itself. After this we should be standing
+ * on a valid base block header. */
+ (void) consume(a,
+ i + sizeof(rar5_signature_xor));
+ return ARCHIVE_OK;
+ }
+ }
+
+ consume(a, chunk_size);
+ }
+
+ return ARCHIVE_FATAL;
+}
+
+/* This function will switch the multivolume archive file to another file,
+ * i.e. from part03 to part 04. */
+static int advance_multivolume(struct archive_read* a) {
+ int lret;
+ struct rar5* rar = get_context(a);
+
+ /* A small state machine that will skip unnecessary data, needed to
+ * switch from one multivolume to another. Such skipping is needed if
+ * we want to be an stream-oriented (instead of file-oriented)
+ * unpacker.
+ *
+ * The state machine starts with `rar->main.endarc` == 0. It also
+ * assumes that current stream pointer points to some base block
+ * header.
+ *
+ * The `endarc` field is being set when the base block parsing
+ * function encounters the 'end of archive' marker.
+ */
+
+ while(1) {
+ if(rar->main.endarc == 1) {
+ int looping = 1;
+
+ rar->main.endarc = 0;
+
+ while(looping) {
+ lret = skip_base_block(a);
+ switch(lret) {
+ case ARCHIVE_RETRY:
+ /* Continue looping. */
+ break;
+ case ARCHIVE_OK:
+ /* Break loop. */
+ looping = 0;
+ break;
+ default:
+ /* Forward any errors to the
+ * caller. */
+ return lret;
+ }
+ }
+
+ break;
+ } else {
+ /* Skip current base block. In order to properly skip
+ * it, we really need to simply parse it and discard
+ * the results. */
+
+ lret = skip_base_block(a);
+ if(lret == ARCHIVE_FATAL || lret == ARCHIVE_FAILED)
+ return lret;
+
+ /* The `skip_base_block` function tells us if we
+ * should continue with skipping, or we should stop
+ * skipping. We're trying to skip everything up to
+ * a base FILE block. */
+
+ if(lret != ARCHIVE_RETRY) {
+ /* If there was an error during skipping, or we
+ * have just skipped a FILE base block... */
+
+ if(rar->main.endarc == 0) {
+ return lret;
+ } else {
+ continue;
+ }
+ }
+ }
+ }
+
+ return ARCHIVE_OK;
+}
+
+/* Merges the partial block from the first multivolume archive file, and
+ * partial block from the second multivolume archive file. The result is
+ * a chunk of memory containing the whole block, and the stream pointer
+ * is advanced to the next block in the second multivolume archive file. */
+static int merge_block(struct archive_read* a, ssize_t block_size,
+ const uint8_t** p)
+{
+ struct rar5* rar = get_context(a);
+ ssize_t cur_block_size, partial_offset = 0;
+ const uint8_t* lp;
+ int ret;
+
+ if(rar->merge_mode) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "Recursive merge is not allowed");
+
+ return ARCHIVE_FATAL;
+ }
+
+ /* Set a flag that we're in the switching mode. */
+ rar->cstate.switch_multivolume = 1;
+
+ /* Reallocate the memory which will hold the whole block. */
+ if(rar->vol.push_buf)
+ free((void*) rar->vol.push_buf);
+
+ /* Increasing the allocation block by 8 is due to bit reading functions,
+ * which are using additional 2 or 4 bytes. Allocating the block size
+ * by exact value would make bit reader perform reads from invalid
+ * memory block when reading the last byte from the buffer. */
+ rar->vol.push_buf = malloc(block_size + 8);
+ if(!rar->vol.push_buf) {
+ archive_set_error(&a->archive, ENOMEM,
+ "Can't allocate memory for a merge block buffer.");
+ return ARCHIVE_FATAL;
+ }
+
+ /* Valgrind complains if the extension block for bit reader is not
+ * initialized, so initialize it. */
+ memset(&rar->vol.push_buf[block_size], 0, 8);
+
+ /* A single block can span across multiple multivolume archive files,
+ * so we use a loop here. This loop will consume enough multivolume
+ * archive files until the whole block is read. */
+
+ while(1) {
+ /* Get the size of current block chunk in this multivolume
+ * archive file and read it. */
+ cur_block_size = rar5_min(rar->file.bytes_remaining,
+ block_size - partial_offset);
+
+ if(cur_block_size == 0) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Encountered block size == 0 during block merge");
+ return ARCHIVE_FATAL;
+ }
+
+ if(!read_ahead(a, cur_block_size, &lp))
+ return ARCHIVE_EOF;
+
+ /* Sanity check; there should never be a situation where this
+ * function reads more data than the block's size. */
+ if(partial_offset + cur_block_size > block_size) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_PROGRAMMER,
+ "Consumed too much data when merging blocks.");
+ return ARCHIVE_FATAL;
+ }
+
+ /* Merge previous block chunk with current block chunk,
+ * or create first block chunk if this is our first
+ * iteration. */
+ memcpy(&rar->vol.push_buf[partial_offset], lp, cur_block_size);
+
+ /* Advance the stream read pointer by this block chunk size. */
+ if(ARCHIVE_OK != consume(a, cur_block_size))
+ return ARCHIVE_EOF;
+
+ /* Update the pointers. `partial_offset` contains information
+ * about the sum of merged block chunks. */
+ partial_offset += cur_block_size;
+ rar->file.bytes_remaining -= cur_block_size;
+
+ /* If `partial_offset` is the same as `block_size`, this means
+ * we've merged all block chunks and we have a valid full
+ * block. */
+ if(partial_offset == block_size) {
+ break;
+ }
+
+ /* If we don't have any bytes to read, this means we should
+ * switch to another multivolume archive file. */
+ if(rar->file.bytes_remaining == 0) {
+ rar->merge_mode++;
+ ret = advance_multivolume(a);
+ rar->merge_mode--;
+ if(ret != ARCHIVE_OK) {
+ return ret;
+ }
+ }
+ }
+
+ *p = rar->vol.push_buf;
+
+ /* If we're here, we can resume unpacking by processing the block
+ * pointed to by the `*p` memory pointer. */
+
+ return ARCHIVE_OK;
+}
+
+static int process_block(struct archive_read* a) {
+ const uint8_t* p;
+ struct rar5* rar = get_context(a);
+ int ret;
+
+ /* If we don't have any data to be processed, this most probably means
+ * we need to switch to the next volume. */
+ if(rar->main.volume && rar->file.bytes_remaining == 0) {
+ ret = advance_multivolume(a);
+ if(ret != ARCHIVE_OK)
+ return ret;
+ }
+
+ if(rar->cstate.block_parsing_finished) {
+ ssize_t block_size;
+ ssize_t to_skip;
+ ssize_t cur_block_size;
+
+ /* The header size won't be bigger than 6 bytes. */
+ if(!read_ahead(a, 6, &p)) {
+ /* Failed to prefetch data block header. */
+ return ARCHIVE_EOF;
+ }
+
+ /*
+ * Read block_size by parsing block header. Validate the header
+ * by calculating CRC byte stored inside the header. Size of
+ * the header is not constant (block size can be stored either
+ * in 1 or 2 bytes), that's why block size is left out from the
+ * `compressed_block_header` structure and returned by
+ * `parse_block_header` as the second argument. */
+
+ ret = parse_block_header(a, p, &block_size,
+ &rar->last_block_hdr);
+ if(ret != ARCHIVE_OK) {
+ return ret;
+ }
+
+ /* Skip block header. Next data is huffman tables,
+ * if present. */
+ to_skip = sizeof(struct compressed_block_header) +
+ bf_byte_count(&rar->last_block_hdr) + 1;
+
+ if(ARCHIVE_OK != consume(a, to_skip))
+ return ARCHIVE_EOF;
+
+ rar->file.bytes_remaining -= to_skip;
+
+ /* The block size gives information about the whole block size,
+ * but the block could be stored in split form when using
+ * multi-volume archives. In this case, the block size will be
+ * bigger than the actual data stored in this file. Remaining
+ * part of the data will be in another file. */
+
+ cur_block_size =
+ rar5_min(rar->file.bytes_remaining, block_size);
+
+ if(block_size > rar->file.bytes_remaining) {
+ /* If current blocks' size is bigger than our data
+ * size, this means we have a multivolume archive.
+ * In this case, skip all base headers until the end
+ * of the file, proceed to next "partXXX.rar" volume,
+ * find its signature, skip all headers up to the first
+ * FILE base header, and continue from there.
+ *
+ * Note that `merge_block` will update the `rar`
+ * context structure quite extensively. */
+
+ ret = merge_block(a, block_size, &p);
+ if(ret != ARCHIVE_OK) {
+ return ret;
+ }
+
+ cur_block_size = block_size;
+
+ /* Current stream pointer should be now directly
+ * *after* the block that spanned through multiple
+ * archive files. `p` pointer should have the data of
+ * the *whole* block (merged from partial blocks
+ * stored in multiple archives files). */
+ } else {
+ rar->cstate.switch_multivolume = 0;
+
+ /* Read the whole block size into memory. This can take
+ * up to 8 megabytes of memory in theoretical cases.
+ * Might be worth to optimize this and use a standard
+ * chunk of 4kb's. */
+ if(!read_ahead(a, 4 + cur_block_size, &p)) {
+ /* Failed to prefetch block data. */
+ return ARCHIVE_EOF;
+ }
+ }
+
+ rar->cstate.block_buf = p;
+ rar->cstate.cur_block_size = cur_block_size;
+ rar->cstate.block_parsing_finished = 0;
+
+ rar->bits.in_addr = 0;
+ rar->bits.bit_addr = 0;
+
+ if(bf_is_table_present(&rar->last_block_hdr)) {
+ /* Load Huffman tables. */
+ ret = parse_tables(a, rar, p);
+ if(ret != ARCHIVE_OK) {
+ /* Error during decompression of Huffman
+ * tables. */
+ return ret;
+ }
+ }
+ } else {
+ /* Block parsing not finished, reuse previous memory buffer. */
+ p = rar->cstate.block_buf;
+ }
+
+ /* Uncompress the block, or a part of it, depending on how many bytes
+ * will be generated by uncompressing the block.
+ *
+ * In case too many bytes will be generated, calling this function
+ * again will resume the uncompression operation. */
+ ret = do_uncompress_block(a, p);
+ if(ret != ARCHIVE_OK) {
+ return ret;
+ }
+
+ if(rar->cstate.block_parsing_finished &&
+ rar->cstate.switch_multivolume == 0 &&
+ rar->cstate.cur_block_size > 0)
+ {
+ /* If we're processing a normal block, consume the whole
+ * block. We can do this because we've already read the whole
+ * block to memory. */
+ if(ARCHIVE_OK != consume(a, rar->cstate.cur_block_size))
+ return ARCHIVE_FATAL;
+
+ rar->file.bytes_remaining -= rar->cstate.cur_block_size;
+ } else if(rar->cstate.switch_multivolume) {
+ /* Don't consume the block if we're doing multivolume
+ * processing. The volume switching function will consume
+ * the proper count of bytes instead. */
+ rar->cstate.switch_multivolume = 0;
+ }
+
+ return ARCHIVE_OK;
+}
+
+/* Pops the `buf`, `size` and `offset` from the "data ready" stack.
+ *
+ * Returns ARCHIVE_OK when those arguments can be used, ARCHIVE_RETRY
+ * when there is no data on the stack. */
+static int use_data(struct rar5* rar, const void** buf, size_t* size,
+ int64_t* offset)
+{
+ int i;
+
+ for(i = 0; i < rar5_countof(rar->cstate.dready); i++) {
+ struct data_ready *d = &rar->cstate.dready[i];
+
+ if(d->used) {
+ if(buf) *buf = d->buf;
+ if(size) *size = d->size;
+ if(offset) *offset = d->offset;
+
+ d->used = 0;
+ return ARCHIVE_OK;
+ }
+ }
+
+ return ARCHIVE_RETRY;
+}
+
+/* Pushes the `buf`, `size` and `offset` arguments to the rar->cstate.dready
+ * FIFO stack. Those values will be popped from this stack by the `use_data`
+ * function. */
+static int push_data_ready(struct archive_read* a, struct rar5* rar,
+ const uint8_t* buf, size_t size, int64_t offset)
+{
+ int i;
+
+ /* Don't push if we're in skip mode. This is needed because solid
+ * streams need full processing even if we're skipping data. After
+ * fully processing the stream, we need to discard the generated bytes,
+ * because we're interested only in the side effect: building up the
+ * internal window circular buffer. This window buffer will be used
+ * later during unpacking of requested data. */
+ if(rar->skip_mode)
+ return ARCHIVE_OK;
+
+ /* Sanity check. */
+ if(offset != rar->file.last_offset + rar->file.last_size) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "Sanity check error: output stream is not continuous");
+ return ARCHIVE_FATAL;
+ }
+
+ for(i = 0; i < rar5_countof(rar->cstate.dready); i++) {
+ struct data_ready* d = &rar->cstate.dready[i];
+ if(!d->used) {
+ d->used = 1;
+ d->buf = buf;
+ d->size = size;
+ d->offset = offset;
+
+ /* These fields are used only in sanity checking. */
+ rar->file.last_offset = offset;
+ rar->file.last_size = size;
+
+ /* Calculate the checksum of this new block before
+ * submitting data to libarchive's engine. */
+ update_crc(rar, d->buf, d->size);
+
+ return ARCHIVE_OK;
+ }
+ }
+
+ /* Program counter will reach this code if the `rar->cstate.data_ready`
+ * stack will be filled up so that no new entries will be allowed. The
+ * code shouldn't allow such situation to occur. So we treat this case
+ * as an internal error. */
+
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "Error: premature end of data_ready stack");
+ return ARCHIVE_FATAL;
+}
+
+/* This function uncompresses the data that is stored in the <FILE> base
+ * block.
+ *
+ * The FILE base block looks like this:
+ *
+ * <header><huffman tables><block_1><block_2>...<block_n>
+ *
+ * The <header> is a block header, that is parsed in parse_block_header().
+ * It's a "compressed_block_header" structure, containing metadata needed
+ * to know when we should stop looking for more <block_n> blocks.
+ *
+ * <huffman tables> contain data needed to set up the huffman tables, needed
+ * for the actual decompression.
+ *
+ * Each <block_n> consists of series of literals:
+ *
+ * <literal><literal><literal>...<literal>
+ *
+ * Those literals generate the uncompression data. They operate on a circular
+ * buffer, sometimes writing raw data into it, sometimes referencing
+ * some previous data inside this buffer, and sometimes declaring a filter
+ * that will need to be executed on the data stored in the circular buffer.
+ * It all depends on the literal that is used.
+ *
+ * Sometimes blocks produce output data, sometimes they don't. For example, for
+ * some huge files that use lots of filters, sometimes a block is filled with
+ * only filter declaration literals. Such blocks won't produce any data in the
+ * circular buffer.
+ *
+ * Sometimes blocks will produce 4 bytes of data, and sometimes 1 megabyte,
+ * because a literal can reference previously decompressed data. For example,
+ * there can be a literal that says: 'append a byte 0xFE here', and after
+ * it another literal can say 'append 1 megabyte of data from circular buffer
+ * offset 0x12345'. This is how RAR format handles compressing repeated
+ * patterns.
+ *
+ * The RAR compressor creates those literals and the actual efficiency of
+ * compression depends on what those literals are. The literals can also
+ * be seen as a kind of a non-turing-complete virtual machine that simply
+ * tells the decompressor what it should do.
+ * */
+
+static int do_uncompress_file(struct archive_read* a) {
+ struct rar5* rar = get_context(a);
+ int ret;
+ int64_t max_end_pos;
+
+ if(!rar->cstate.initialized) {
+ /* Don't perform full context reinitialization if we're
+ * processing a solid archive. */
+ if(!rar->main.solid || !rar->cstate.window_buf) {
+ init_unpack(rar);
+ }
+
+ rar->cstate.initialized = 1;
+ }
+
+ if(rar->cstate.all_filters_applied == 1) {
+ /* We use while(1) here, but standard case allows for just 1
+ * iteration. The loop will iterate if process_block() didn't
+ * generate any data at all. This can happen if the block
+ * contains only filter definitions (this is common in big
+ * files). */
+ while(1) {
+ ret = process_block(a);
+ if(ret == ARCHIVE_EOF || ret == ARCHIVE_FATAL)
+ return ret;
+
+ if(rar->cstate.last_write_ptr ==
+ rar->cstate.write_ptr) {
+ /* The block didn't generate any new data,
+ * so just process a new block. */
+ continue;
+ }
+
+ /* The block has generated some new data, so break
+ * the loop. */
+ break;
+ }
+ }
+
+ /* Try to run filters. If filters won't be applied, it means that
+ * insufficient data was generated. */
+ ret = apply_filters(a);
+ if(ret == ARCHIVE_RETRY) {
+ return ARCHIVE_OK;
+ } else if(ret == ARCHIVE_FATAL) {
+ return ARCHIVE_FATAL;
+ }
+
+ /* If apply_filters() will return ARCHIVE_OK, we can continue here. */
+
+ if(cdeque_size(&rar->cstate.filters) > 0) {
+ /* Check if we can write something before hitting first
+ * filter. */
+ struct filter_info* flt;
+
+ /* Get the block_start offset from the first filter. */
+ if(CDE_OK != cdeque_front(&rar->cstate.filters,
+ cdeque_filter_p(&flt)))
+ {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_PROGRAMMER,
+ "Can't read first filter");
+ return ARCHIVE_FATAL;
+ }
+
+ max_end_pos = rar5_min(flt->block_start,
+ rar->cstate.write_ptr);
+ } else {
+ /* There are no filters defined, or all filters were applied.
+ * This means we can just store the data without any
+ * postprocessing. */
+ max_end_pos = rar->cstate.write_ptr;
+ }
+
+ if(max_end_pos == rar->cstate.last_write_ptr) {
+ /* We can't write anything yet. The block uncompression
+ * function did not generate enough data, and no filter can be
+ * applied. At the same time we don't have any data that can be
+ * stored without filter postprocessing. This means we need to
+ * wait for more data to be generated, so we can apply the
+ * filters.
+ *
+ * Signal the caller that we need more data to be able to do
+ * anything.
+ */
+ return ARCHIVE_RETRY;
+ } else {
+ /* We can write the data before hitting the first filter.
+ * So let's do it. The push_window_data() function will
+ * effectively return the selected data block to the user
+ * application. */
+ push_window_data(a, rar, rar->cstate.last_write_ptr,
+ max_end_pos);
+ rar->cstate.last_write_ptr = max_end_pos;
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int uncompress_file(struct archive_read* a) {
+ int ret;
+
+ while(1) {
+ /* Sometimes the uncompression function will return a
+ * 'retry' signal. If this will happen, we have to retry
+ * the function. */
+ ret = do_uncompress_file(a);
+ if(ret != ARCHIVE_RETRY)
+ return ret;
+ }
+}
+
+
+static int do_unstore_file(struct archive_read* a,
+ struct rar5* rar, const void** buf, size_t* size, int64_t* offset)
+{
+ size_t to_read;
+ const uint8_t* p;
+
+ if(rar->file.bytes_remaining == 0 && rar->main.volume > 0 &&
+ rar->generic.split_after > 0)
+ {
+ int ret;
+
+ rar->cstate.switch_multivolume = 1;
+ ret = advance_multivolume(a);
+ rar->cstate.switch_multivolume = 0;
+
+ if(ret != ARCHIVE_OK) {
+ /* Failed to advance to next multivolume archive
+ * file. */
+ return ret;
+ }
+ }
+
+ to_read = rar5_min(rar->file.bytes_remaining, 64 * 1024);
+ if(to_read == 0) {
+ return ARCHIVE_EOF;
+ }
+
+ if(!read_ahead(a, to_read, &p)) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "I/O error when unstoring file");
+ return ARCHIVE_FATAL;
+ }
+
+ if(ARCHIVE_OK != consume(a, to_read)) {
+ return ARCHIVE_EOF;
+ }
+
+ if(buf) *buf = p;
+ if(size) *size = to_read;
+ if(offset) *offset = rar->cstate.last_unstore_ptr;
+
+ rar->file.bytes_remaining -= to_read;
+ rar->cstate.last_unstore_ptr += to_read;
+
+ update_crc(rar, p, to_read);
+ return ARCHIVE_OK;
+}
+
+static int do_unpack(struct archive_read* a, struct rar5* rar,
+ const void** buf, size_t* size, int64_t* offset)
+{
+ enum COMPRESSION_METHOD {
+ STORE = 0, FASTEST = 1, FAST = 2, NORMAL = 3, GOOD = 4,
+ BEST = 5
+ };
+
+ if(rar->file.service > 0) {
+ return do_unstore_file(a, rar, buf, size, offset);
+ } else {
+ switch(rar->cstate.method) {
+ case STORE:
+ return do_unstore_file(a, rar, buf, size,
+ offset);
+ case FASTEST:
+ /* fallthrough */
+ case FAST:
+ /* fallthrough */
+ case NORMAL:
+ /* fallthrough */
+ case GOOD:
+ /* fallthrough */
+ case BEST:
+ return uncompress_file(a);
+ default:
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Compression method not supported: 0x%x",
+ rar->cstate.method);
+
+ return ARCHIVE_FATAL;
+ }
+ }
+
+#if !defined WIN32
+ /* Not reached. */
+ return ARCHIVE_OK;
+#endif
+}
+
+static int verify_checksums(struct archive_read* a) {
+ int verify_crc;
+ struct rar5* rar = get_context(a);
+
+ /* Check checksums only when actually unpacking the data. There's no
+ * need to calculate checksum when we're skipping data in solid archives
+ * (skipping in solid archives is the same thing as unpacking compressed
+ * data and discarding the result). */
+
+ if(!rar->skip_mode) {
+ /* Always check checksums if we're not in skip mode */
+ verify_crc = 1;
+ } else {
+ /* We can override the logic above with a compile-time option
+ * NO_CRC_ON_SOLID_SKIP. This option is used during debugging,
+ * and it will check checksums of unpacked data even when
+ * we're skipping it. */
+
+#if defined CHECK_CRC_ON_SOLID_SKIP
+ /* Debug case */
+ verify_crc = 1;
+#else
+ /* Normal case */
+ verify_crc = 0;
+#endif
+ }
+
+ if(verify_crc) {
+ /* During unpacking, on each unpacked block we're calling the
+ * update_crc() function. Since we are here, the unpacking
+ * process is already over and we can check if calculated
+ * checksum (CRC32 or BLAKE2sp) is the same as what is stored
+ * in the archive. */
+ if(rar->file.stored_crc32 > 0) {
+ /* Check CRC32 only when the file contains a CRC32
+ * value for this file. */
+
+ if(rar->file.calculated_crc32 !=
+ rar->file.stored_crc32) {
+ /* Checksums do not match; the unpacked file
+ * is corrupted. */
+
+ DEBUG_CODE {
+ printf("Checksum error: CRC32 "
+ "(was: %08x, expected: %08x)\n",
+ rar->file.calculated_crc32,
+ rar->file.stored_crc32);
+ }
+
+#ifndef DONT_FAIL_ON_CRC_ERROR
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Checksum error: CRC32");
+ return ARCHIVE_FATAL;
+#endif
+ } else {
+ DEBUG_CODE {
+ printf("Checksum OK: CRC32 "
+ "(%08x/%08x)\n",
+ rar->file.stored_crc32,
+ rar->file.calculated_crc32);
+ }
+ }
+ }
+
+ if(rar->file.has_blake2 > 0) {
+ /* BLAKE2sp is an optional checksum algorithm that is
+ * added to RARv5 archives when using the `-htb` switch
+ * during creation of archive.
+ *
+ * We now finalize the hash calculation by calling the
+ * `final` function. This will generate the final hash
+ * value we can use to compare it with the BLAKE2sp
+ * checksum that is stored in the archive.
+ *
+ * The return value of this `final` function is not
+ * very helpful, as it guards only against improper use.
+ * This is why we're explicitly ignoring it. */
+
+ uint8_t b2_buf[32];
+ (void) blake2sp_final(&rar->file.b2state, b2_buf, 32);
+
+ if(memcmp(&rar->file.blake2sp, b2_buf, 32) != 0) {
+#ifndef DONT_FAIL_ON_CRC_ERROR
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Checksum error: BLAKE2");
+
+ return ARCHIVE_FATAL;
+#endif
+ }
+ }
+ }
+
+ /* Finalization for this file has been successfully completed. */
+ return ARCHIVE_OK;
+}
+
+static int verify_global_checksums(struct archive_read* a) {
+ return verify_checksums(a);
+}
+
+/*
+ * Decryption function for the magic signature pattern. Check the comment near
+ * the `rar5_signature_xor` symbol to read the rationale behind this.
+ */
+static void rar5_signature(char *buf) {
+ size_t i;
+
+ for(i = 0; i < sizeof(rar5_signature_xor); i++) {
+ buf[i] = rar5_signature_xor[i] ^ 0xA1;
+ }
+}
+
+static int rar5_read_data(struct archive_read *a, const void **buff,
+ size_t *size, int64_t *offset) {
+ int ret;
+ struct rar5* rar = get_context(a);
+
+ if(rar->file.dir > 0) {
+ /* Don't process any data if this file entry was declared
+ * as a directory. This is needed, because entries marked as
+ * directory doesn't have any dictionary buffer allocated, so
+ * it's impossible to perform any decompression. */
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Can't decompress an entry marked as a directory");
+ return ARCHIVE_FAILED;
+ }
+
+ if(!rar->skip_mode && (rar->cstate.last_write_ptr > rar->file.unpacked_size)) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "Unpacker has written too many bytes");
+ return ARCHIVE_FATAL;
+ }
+
+ ret = use_data(rar, buff, size, offset);
+ if(ret == ARCHIVE_OK) {
+ return ret;
+ }
+
+ if(rar->file.eof == 1) {
+ return ARCHIVE_EOF;
+ }
+
+ ret = do_unpack(a, rar, buff, size, offset);
+ if(ret != ARCHIVE_OK) {
+ return ret;
+ }
+
+ if(rar->file.bytes_remaining == 0 &&
+ rar->cstate.last_write_ptr == rar->file.unpacked_size)
+ {
+ /* If all bytes of current file were processed, run
+ * finalization.
+ *
+ * Finalization will check checksum against proper values. If
+ * some of the checksums will not match, we'll return an error
+ * value in the last `archive_read_data` call to signal an error
+ * to the user. */
+
+ rar->file.eof = 1;
+ return verify_global_checksums(a);
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int rar5_read_data_skip(struct archive_read *a) {
+ struct rar5* rar = get_context(a);
+
+ if(rar->main.solid) {
+ /* In solid archives, instead of skipping the data, we need to
+ * extract it, and dispose the result. The side effect of this
+ * operation will be setting up the initial window buffer state
+ * needed to be able to extract the selected file. */
+
+ int ret;
+
+ /* Make sure to process all blocks in the compressed stream. */
+ while(rar->file.bytes_remaining > 0) {
+ /* Setting the "skip mode" will allow us to skip
+ * checksum checks during data skipping. Checking the
+ * checksum of skipped data isn't really necessary and
+ * it's only slowing things down.
+ *
+ * This is incremented instead of setting to 1 because
+ * this data skipping function can be called
+ * recursively. */
+ rar->skip_mode++;
+
+ /* We're disposing 1 block of data, so we use triple
+ * NULLs in arguments. */
+ ret = rar5_read_data(a, NULL, NULL, NULL);
+
+ /* Turn off "skip mode". */
+ rar->skip_mode--;
+
+ if(ret < 0 || ret == ARCHIVE_EOF) {
+ /* Propagate any potential error conditions
+ * to the caller. */
+ return ret;
+ }
+ }
+ } else {
+ /* In standard archives, we can just jump over the compressed
+ * stream. Each file in non-solid archives starts from an empty
+ * window buffer. */
+
+ if(ARCHIVE_OK != consume(a, rar->file.bytes_remaining)) {
+ return ARCHIVE_FATAL;
+ }
+
+ rar->file.bytes_remaining = 0;
+ }
+
+ return ARCHIVE_OK;
+}
+
+static int64_t rar5_seek_data(struct archive_read *a, int64_t offset,
+ int whence)
+{
+ (void) a;
+ (void) offset;
+ (void) whence;
+
+ /* We're a streaming unpacker, and we don't support seeking. */
+
+ return ARCHIVE_FATAL;
+}
+
+static int rar5_cleanup(struct archive_read *a) {
+ struct rar5* rar = get_context(a);
+
+ free(rar->cstate.window_buf);
+ free(rar->cstate.filtered_buf);
+
+ free(rar->vol.push_buf);
+
+ free_filters(rar);
+ cdeque_free(&rar->cstate.filters);
+
+ free(rar);
+ a->format->data = NULL;
+
+ return ARCHIVE_OK;
+}
+
+static int rar5_capabilities(struct archive_read * a) {
+ (void) a;
+ return 0;
+}
+
+static int rar5_has_encrypted_entries(struct archive_read *_a) {
+ (void) _a;
+
+ /* Unsupported for now. */
+ return ARCHIVE_READ_FORMAT_ENCRYPTION_UNSUPPORTED;
+}
+
+static int rar5_init(struct rar5* rar) {
+ memset(rar, 0, sizeof(struct rar5));
+
+ if(CDE_OK != cdeque_init(&rar->cstate.filters, 8192))
+ return ARCHIVE_FATAL;
+
+ return ARCHIVE_OK;
+}
+
+int archive_read_support_format_rar5(struct archive *_a) {
+ struct archive_read* ar;
+ int ret;
+ struct rar5* rar;
+
+ if(ARCHIVE_OK != (ret = get_archive_read(_a, &ar)))
+ return ret;
+
+ rar = malloc(sizeof(*rar));
+ if(rar == NULL) {
+ archive_set_error(&ar->archive, ENOMEM,
+ "Can't allocate rar5 data");
+ return ARCHIVE_FATAL;
+ }
+
+ if(ARCHIVE_OK != rar5_init(rar)) {
+ archive_set_error(&ar->archive, ENOMEM,
+ "Can't allocate rar5 filter buffer");
+ return ARCHIVE_FATAL;
+ }
+
+ ret = __archive_read_register_format(ar,
+ rar,
+ "rar5",
+ rar5_bid,
+ rar5_options,
+ rar5_read_header,
+ rar5_read_data,
+ rar5_read_data_skip,
+ rar5_seek_data,
+ rar5_cleanup,
+ rar5_capabilities,
+ rar5_has_encrypted_entries);
+
+ if(ret != ARCHIVE_OK) {
+ (void) rar5_cleanup(ar);
+ }
+
+ return ret;
+}
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_raw.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_raw.c
index efa2c6a..ec0520b 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_raw.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_raw.c
@@ -120,7 +120,9 @@ archive_read_format_raw_read_header(struct archive_read *a,
archive_entry_set_filetype(entry, AE_IFREG);
archive_entry_set_perm(entry, 0644);
/* I'm deliberately leaving most fields unset here. */
- return (ARCHIVE_OK);
+
+ /* Let the filter fill out any fields it might have. */
+ return __archive_read_header(a, entry);
}
static int
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c
index 60800bb..c63d46f 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c
@@ -694,11 +694,13 @@ tar_read_header(struct archive_read *a, struct tar *tar,
struct archive_entry *entry, size_t *unconsumed)
{
ssize_t bytes;
- int err;
+ int err, eof_vol_header;
const char *h;
const struct archive_entry_header_ustar *header;
const struct archive_entry_header_gnutar *gnuheader;
+ eof_vol_header = 0;
+
/* Loop until we find a workable header record. */
for (;;) {
tar_flush_unconsumed(a, unconsumed);
@@ -788,6 +790,8 @@ tar_read_header(struct archive_read *a, struct tar *tar,
break;
case 'V': /* GNU volume header */
err = header_volume(a, tar, entry, h, unconsumed);
+ if (err == ARCHIVE_EOF)
+ eof_vol_header = 1;
break;
case 'X': /* Used by SUN tar; same as 'x'. */
a->archive.archive_format = ARCHIVE_FORMAT_TAR_PAX_INTERCHANGE;
@@ -862,9 +866,17 @@ tar_read_header(struct archive_read *a, struct tar *tar,
}
return (err);
}
- if (err == ARCHIVE_EOF)
- /* EOF when recursively reading a header is bad. */
- archive_set_error(&a->archive, EINVAL, "Damaged tar archive");
+ if (err == ARCHIVE_EOF) {
+ if (!eof_vol_header) {
+ /* EOF when recursively reading a header is bad. */
+ archive_set_error(&a->archive, EINVAL,
+ "Damaged tar archive");
+ } else {
+ /* If we encounter just a GNU volume header treat
+ * this situation as an empty archive */
+ return (ARCHIVE_EOF);
+ }
+ }
return (ARCHIVE_FATAL);
}
@@ -1942,6 +1954,15 @@ pax_attribute(struct archive_read *a, struct tar *tar,
pax_time(value, &s, &n);
archive_entry_set_birthtime(entry, s, n);
}
+ if (strcmp(key, "LIBARCHIVE.symlinktype") == 0) {
+ if (strcmp(value, "file") == 0) {
+ archive_entry_set_symlink_type(entry,
+ AE_SYMLINK_TYPE_FILE);
+ } else if (strcmp(value, "dir") == 0) {
+ archive_entry_set_symlink_type(entry,
+ AE_SYMLINK_TYPE_DIRECTORY);
+ }
+ }
if (memcmp(key, "LIBARCHIVE.xattr.", 17) == 0)
pax_attribute_xattr(entry, key, value);
break;
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_warc.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_warc.c
index e875385..72977b8 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_warc.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_warc.c
@@ -386,6 +386,11 @@ _warc_read(struct archive_read *a, const void **buf, size_t *bsz, int64_t *off)
return (ARCHIVE_EOF);
}
+ if (w->unconsumed) {
+ __archive_read_consume(a, w->unconsumed);
+ w->unconsumed = 0U;
+ }
+
rab = __archive_read_ahead(a, 1U, &nrd);
if (nrd < 0) {
*bsz = 0U;
@@ -621,7 +626,8 @@ _warc_rdver(const char *buf, size_t bsz)
if (ver >= 1200U) {
if (memcmp(c, "\r\n", 2U) != 0)
ver = 0U;
- } else if (ver < 1200U) {
+ } else {
+ /* ver < 1200U */
if (*c != ' ' && *c != '\t')
ver = 0U;
}
@@ -739,8 +745,9 @@ _warc_rdlen(const char *buf, size_t bsz)
/* there must be at least one digit */
if (!isdigit((unsigned char)*val))
return -1;
+ errno = 0;
len = strtol(val, &on, 10);
- if (on != eol) {
+ if (errno != 0 || on != eol) {
/* line must end here */
return -1;
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_xar.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_xar.c
index 9292ed7..2bc5c7b 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_xar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_xar.c
@@ -167,6 +167,9 @@ struct xar_file {
#define HAS_FFLAGS 0x01000
#define HAS_XATTR 0x02000
#define HAS_ACL 0x04000
+#define HAS_CTIME 0x08000
+#define HAS_MTIME 0x10000
+#define HAS_ATIME 0x20000
uint64_t id;
uint64_t length;
@@ -695,9 +698,15 @@ xar_read_header(struct archive_read *a, struct archive_entry *entry)
*/
file_free(file);
}
- archive_entry_set_atime(entry, file->atime, 0);
- archive_entry_set_ctime(entry, file->ctime, 0);
- archive_entry_set_mtime(entry, file->mtime, 0);
+ if (file->has & HAS_ATIME) {
+ archive_entry_set_atime(entry, file->atime, 0);
+ }
+ if (file->has & HAS_CTIME) {
+ archive_entry_set_ctime(entry, file->ctime, 0);
+ }
+ if (file->has & HAS_MTIME) {
+ archive_entry_set_mtime(entry, file->mtime, 0);
+ }
archive_entry_set_gid(entry, file->gid);
if (file->gname.length > 0 &&
archive_entry_copy_gname_l(entry, file->gname.s,
@@ -789,7 +798,8 @@ xar_read_header(struct archive_read *a, struct archive_entry *entry)
xattr = file->xattr_list;
while (xattr != NULL) {
const void *d;
- size_t outbytes, used;
+ size_t outbytes = 0;
+ size_t used = 0;
r = move_reading_point(a, xattr->offset);
if (r != ARCHIVE_OK)
@@ -811,8 +821,18 @@ xar_read_header(struct archive_read *a, struct archive_entry *entry)
r = checksum_final(a,
xattr->a_sum.val, xattr->a_sum.len,
xattr->e_sum.val, xattr->e_sum.len);
- if (r != ARCHIVE_OK)
+ if (r != ARCHIVE_OK) {
+ archive_set_error(&(a->archive), ARCHIVE_ERRNO_MISC,
+ "Xattr checksum error");
+ r = ARCHIVE_WARN;
break;
+ }
+ if (xattr->name.s == NULL) {
+ archive_set_error(&(a->archive), ARCHIVE_ERRNO_MISC,
+ "Xattr name error");
+ r = ARCHIVE_WARN;
+ break;
+ }
archive_entry_xattr_add_entry(entry,
xattr->name.s, d, outbytes);
xattr = xattr->next;
@@ -838,7 +858,7 @@ xar_read_data(struct archive_read *a,
const void **buff, size_t *size, int64_t *offset)
{
struct xar *xar;
- size_t used;
+ size_t used = 0;
int r;
xar = (struct xar *)(a->format->data);
@@ -967,7 +987,7 @@ move_reading_point(struct archive_read *a, uint64_t offset)
return ((int)step);
xar->offset += step;
} else {
- int64_t pos = __archive_read_seek(a, offset, SEEK_SET);
+ int64_t pos = __archive_read_seek(a, xar->h_base + offset, SEEK_SET);
if (pos == ARCHIVE_FAILED) {
archive_set_error(&(a->archive),
ARCHIVE_ERRNO_MISC,
@@ -1220,8 +1240,7 @@ heap_add_entry(struct archive_read *a,
}
memcpy(new_pending_files, heap->files,
heap->allocated * sizeof(new_pending_files[0]));
- if (heap->files != NULL)
- free(heap->files);
+ free(heap->files);
heap->files = new_pending_files;
heap->allocated = new_size;
}
@@ -1767,8 +1786,8 @@ file_new(struct archive_read *a, struct xar *xar, struct xmlattr_list *list)
}
file->parent = xar->file;
file->mode = 0777 | AE_IFREG;
- file->atime = time(NULL);
- file->mtime = time(NULL);
+ file->atime = 0;
+ file->mtime = 0;
xar->file = file;
xar->xattr = NULL;
for (attr = list->first; attr != NULL; attr = attr->next) {
@@ -2594,15 +2613,14 @@ strappend_base64(struct xar *xar,
while (l > 0) {
int n = 0;
- if (l > 0) {
- if (base64[b[0]] < 0 || base64[b[1]] < 0)
- break;
- n = base64[*b++] << 18;
- n |= base64[*b++] << 12;
- *out++ = n >> 16;
- len++;
- l -= 2;
- }
+ if (base64[b[0]] < 0 || base64[b[1]] < 0)
+ break;
+ n = base64[*b++] << 18;
+ n |= base64[*b++] << 12;
+ *out++ = n >> 16;
+ len++;
+ l -= 2;
+
if (l > 0) {
if (base64[*b] < 0)
break;
@@ -2751,15 +2769,15 @@ xml_data(void *userData, const char *s, int len)
xar->file->uid = atol10(s, len);
break;
case FILE_CTIME:
- xar->file->has |= HAS_TIME;
+ xar->file->has |= HAS_TIME | HAS_CTIME;
xar->file->ctime = parse_time(s, len);
break;
case FILE_MTIME:
- xar->file->has |= HAS_TIME;
+ xar->file->has |= HAS_TIME | HAS_MTIME;
xar->file->mtime = parse_time(s, len);
break;
case FILE_ATIME:
- xar->file->has |= HAS_TIME;
+ xar->file->has |= HAS_TIME | HAS_ATIME;
xar->file->atime = parse_time(s, len);
break;
case FILE_DATA_LENGTH:
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c
index 7e99b12..36831f7 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_zip.c
@@ -52,6 +52,12 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_format_zip.c 201102
#ifdef HAVE_ZLIB_H
#include <cm_zlib.h>
#endif
+#ifdef HAVE_BZLIB_H
+#include <bzlib.h>
+#endif
+#ifdef HAVE_LZMA_H
+#include <lzma.h>
+#endif
#include "archive.h"
#include "archive_digest_private.h"
@@ -63,6 +69,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_read_support_format_zip.c 201102
#include "archive_private.h"
#include "archive_rb.h"
#include "archive_read_private.h"
+#include "archive_ppmd8_private.h"
#ifndef HAVE_ZLIB_H
#include "archive_crc32.h"
@@ -165,13 +172,30 @@ struct zip {
char decompress_init;
char end_of_entry;
-#ifdef HAVE_ZLIB_H
unsigned char *uncompressed_buffer;
size_t uncompressed_buffer_size;
+
+#ifdef HAVE_ZLIB_H
z_stream stream;
char stream_valid;
#endif
+#if HAVE_LZMA_H && HAVE_LIBLZMA
+ lzma_stream zipx_lzma_stream;
+ char zipx_lzma_valid;
+#endif
+
+#ifdef HAVE_BZLIB_H
+ bz_stream bzstream;
+ char bzstream_valid;
+#endif
+
+ IByteIn zipx_ppmd_stream;
+ ssize_t zipx_ppmd_read_compressed;
+ CPpmd8 ppmd8;
+ char ppmd8_valid;
+ char ppmd8_stream_failed;
+
struct archive_string_conv *sconv;
struct archive_string_conv *sconv_default;
struct archive_string_conv *sconv_utf8;
@@ -222,6 +246,33 @@ struct zip {
/* Many systems define min or MIN, but not all. */
#define zipmin(a,b) ((a) < (b) ? (a) : (b))
+/* This function is used by Ppmd8_DecodeSymbol during decompression of Ppmd8
+ * streams inside ZIP files. It has 2 purposes: one is to fetch the next
+ * compressed byte from the stream, second one is to increase the counter how
+ * many compressed bytes were read. */
+static Byte
+ppmd_read(void* p) {
+ /* Get the handle to current decompression context. */
+ struct archive_read *a = ((IByteIn*)p)->a;
+ struct zip *zip = (struct zip*) a->format->data;
+ ssize_t bytes_avail = 0;
+
+ /* Fetch next byte. */
+ const uint8_t* data = __archive_read_ahead(a, 1, &bytes_avail);
+ if(bytes_avail < 1) {
+ zip->ppmd8_stream_failed = 1;
+ return 0;
+ }
+
+ __archive_read_consume(a, 1);
+
+ /* Increment the counter. */
+ ++zip->zipx_ppmd_read_compressed;
+
+ /* Return the next compressed byte. */
+ return data[0];
+}
+
/* ------------------------------------------------------------------------ */
/*
@@ -372,6 +423,8 @@ static const struct {
{17, "reserved"}, /* Reserved by PKWARE */
{18, "ibm-terse-new"}, /* File is compressed using IBM TERSE (new) */
{19, "ibm-lz777"},/* IBM LZ77 z Architecture (PFS) */
+ {95, "xz"}, /* XZ compressed data */
+ {96, "jpeg"}, /* JPEG compressed data */
{97, "wav-pack"}, /* WavPack compressed data */
{98, "ppmd-1"}, /* PPMd version I, Rev 1 */
{99, "aes"} /* WinZip AES encryption */
@@ -419,27 +472,49 @@ zip_time(const char *p)
* triplets. id and size are 2 bytes each.
*/
static int
-process_extra(struct archive_read *a, const char *p, size_t extra_length, struct zip_entry* zip_entry)
+process_extra(struct archive_read *a, struct archive_entry *entry,
+ const char *p, size_t extra_length, struct zip_entry* zip_entry)
{
unsigned offset = 0;
+ struct zip *zip = (struct zip *)(a->format->data);
if (extra_length == 0) {
return ARCHIVE_OK;
}
if (extra_length < 4) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
- "Too-small extra data: Need at least 4 bytes, but only found %d bytes", (int)extra_length);
- return ARCHIVE_FAILED;
+ size_t i = 0;
+ /* Some ZIP files may have trailing 0 bytes. Let's check they
+ * are all 0 and ignore them instead of returning an error.
+ *
+ * This is not technically correct, but some ZIP files look
+ * like this and other tools support those files - so let's
+ * also support them.
+ */
+ for (; i < extra_length; i++) {
+ if (p[i] != 0) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Too-small extra data: "
+ "Need at least 4 bytes, "
+ "but only found %d bytes",
+ (int)extra_length);
+ return ARCHIVE_FAILED;
+ }
+ }
+
+ return ARCHIVE_OK;
}
+
while (offset <= extra_length - 4) {
unsigned short headerid = archive_le16dec(p + offset);
unsigned short datasize = archive_le16dec(p + offset + 2);
offset += 4;
if (offset + datasize > extra_length) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
- "Extra data overflow: Need %d bytes but only found %d bytes",
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT, "Extra data overflow: "
+ "Need %d bytes but only found %d bytes",
(int)datasize, (int)(extra_length - offset));
return ARCHIVE_FAILED;
}
@@ -454,9 +529,12 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
if (zip_entry->uncompressed_size == 0xffffffff) {
uint64_t t = 0;
if (datasize < 8
- || (t = archive_le64dec(p + offset)) > INT64_MAX) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
- "Malformed 64-bit uncompressed size");
+ || (t = archive_le64dec(p + offset)) >
+ INT64_MAX) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Malformed 64-bit "
+ "uncompressed size");
return ARCHIVE_FAILED;
}
zip_entry->uncompressed_size = t;
@@ -466,9 +544,12 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
if (zip_entry->compressed_size == 0xffffffff) {
uint64_t t = 0;
if (datasize < 8
- || (t = archive_le64dec(p + offset)) > INT64_MAX) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
- "Malformed 64-bit compressed size");
+ || (t = archive_le64dec(p + offset)) >
+ INT64_MAX) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Malformed 64-bit "
+ "compressed size");
return ARCHIVE_FAILED;
}
zip_entry->compressed_size = t;
@@ -478,9 +559,12 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
if (zip_entry->local_header_offset == 0xffffffff) {
uint64_t t = 0;
if (datasize < 8
- || (t = archive_le64dec(p + offset)) > INT64_MAX) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
- "Malformed 64-bit local header offset");
+ || (t = archive_le64dec(p + offset)) >
+ INT64_MAX) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Malformed 64-bit "
+ "local header offset");
return ARCHIVE_FAILED;
}
zip_entry->local_header_offset = t;
@@ -513,7 +597,8 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
/* Extended time field "UT". */
int flags;
if (datasize == 0) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
"Incomplete extended time field");
return ARCHIVE_FAILED;
}
@@ -595,7 +680,8 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
* if bitmap & 1, 2 byte "version made by"
* if bitmap & 2, 2 byte "internal file attributes"
* if bitmap & 4, 4 byte "external file attributes"
- * if bitmap & 8, 2 byte comment length + n byte comment
+ * if bitmap & 8, 2 byte comment length + n byte
+ * comment
*/
int bitmap, bitmap_last;
@@ -646,13 +732,18 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
= external_attributes >> 16;
} else if (zip_entry->system == 0) {
// Interpret MSDOS directory bit
- if (0x10 == (external_attributes & 0x10)) {
- zip_entry->mode = AE_IFDIR | 0775;
+ if (0x10 == (external_attributes &
+ 0x10)) {
+ zip_entry->mode =
+ AE_IFDIR | 0775;
} else {
- zip_entry->mode = AE_IFREG | 0664;
+ zip_entry->mode =
+ AE_IFREG | 0664;
}
- if (0x01 == (external_attributes & 0x01)) {
- // Read-only bit; strip write permissions
+ if (0x01 == (external_attributes &
+ 0x01)) {
+ /* Read-only bit;
+ * strip write permissions */
zip_entry->mode &= 0555;
}
} else {
@@ -679,6 +770,59 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
}
break;
}
+ case 0x7075:
+ {
+ /* Info-ZIP Unicode Path Extra Field. */
+ if (datasize < 5 || entry == NULL)
+ break;
+ offset += 5;
+ datasize -= 5;
+
+ /* The path name in this field is always encoded
+ * in UTF-8. */
+ if (zip->sconv_utf8 == NULL) {
+ zip->sconv_utf8 =
+ archive_string_conversion_from_charset(
+ &a->archive, "UTF-8", 1);
+ /* If the converter from UTF-8 is not
+ * available, then the path name from the main
+ * field will more likely be correct. */
+ if (zip->sconv_utf8 == NULL)
+ break;
+ }
+
+ /* Make sure the CRC32 of the filename matches. */
+ if (!zip->ignore_crc32) {
+ const char *cp = archive_entry_pathname(entry);
+ if (cp) {
+ unsigned long file_crc =
+ zip->crc32func(0, cp, strlen(cp));
+ unsigned long utf_crc =
+ archive_le32dec(p + offset - 4);
+ if (file_crc != utf_crc) {
+#ifdef DEBUG
+ fprintf(stderr,
+ "CRC filename mismatch; "
+ "CDE is %lx, but UTF8 "
+ "is outdated with %lx\n",
+ file_crc, utf_crc);
+#endif
+ break;
+ }
+ }
+ }
+
+ if (archive_entry_copy_pathname_l(entry,
+ p + offset, datasize, zip->sconv_utf8) != 0) {
+ /* Ignore the error, and fallback to the path
+ * name from the main field. */
+#ifdef DEBUG
+ fprintf(stderr, "Failed to read the ZIP "
+ "0x7075 extra field path.\n");
+#endif
+ }
+ break;
+ }
case 0x7855:
/* Info-ZIP Unix Extra Field (type 2) "Ux". */
#ifdef DEBUG
@@ -713,7 +857,8 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
}
if (datasize >= (2 + uidsize + 3)) {
/* get a gid size. */
- gidsize = 0xff & (int)p[offset+2+uidsize];
+ gidsize = 0xff &
+ (int)p[offset+2+uidsize];
if (gidsize == 2)
zip_entry->gid =
archive_le16dec(
@@ -730,7 +875,8 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
case 0x9901:
/* WinZip AES extra data field. */
if (datasize < 6) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
"Incomplete AES field");
return ARCHIVE_FAILED;
}
@@ -750,12 +896,6 @@ process_extra(struct archive_read *a, const char *p, size_t extra_length, struct
}
offset += datasize;
}
- if (offset != extra_length) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
- "Malformed extra data: Consumed %d bytes of %d bytes",
- (int)offset, (int)extra_length);
- return ARCHIVE_FAILED;
- }
return ARCHIVE_OK;
}
@@ -875,7 +1015,8 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry,
return (ARCHIVE_FATAL);
}
- if (ARCHIVE_OK != process_extra(a, h, extra_length, zip_entry)) {
+ if (ARCHIVE_OK != process_extra(a, entry, h, extra_length,
+ zip_entry)) {
return ARCHIVE_FATAL;
}
__archive_read_consume(a, extra_length);
@@ -892,8 +1033,8 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry,
zip_entry->mode |= 0664;
}
- /* Windows archivers sometimes use backslash as the directory separator.
- Normalize to slash. */
+ /* Windows archivers sometimes use backslash as the directory
+ * separator. Normalize to slash. */
if (zip_entry->system == 0 &&
(wp = archive_entry_pathname_w(entry)) != NULL) {
if (wcschr(wp, L'/') == NULL && wcschr(wp, L'\\') != NULL) {
@@ -912,7 +1053,7 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry,
/* Make sure that entries with a trailing '/' are marked as directories
* even if the External File Attributes contains bogus values. If this
- * is not a directory and there is no type, assume regularfile. */
+ * is not a directory and there is no type, assume a regular file. */
if ((zip_entry->mode & AE_IFMT) != AE_IFDIR) {
int has_slash;
@@ -963,7 +1104,7 @@ zip_read_local_file_header(struct archive_read *a, struct archive_entry *entry,
}
if (zip_entry->flags & LA_FROM_CENTRAL_DIRECTORY) {
- /* If this came from the central dir, it's size info
+ /* If this came from the central dir, its size info
* is definitive, so ignore the length-at-end flag. */
zip_entry->zip_flags &= ~ZIP_LENGTH_AT_END;
/* If local header is missing a value, use the one from
@@ -1202,7 +1343,8 @@ zip_read_data_none(struct archive_read *a, const void **_buff,
zip->entry->crc32 = archive_le32dec(p + 4);
compressed = archive_le64dec(p + 8);
uncompressed = archive_le64dec(p + 16);
- if (compressed > INT64_MAX || uncompressed > INT64_MAX) {
+ if (compressed > INT64_MAX || uncompressed >
+ INT64_MAX) {
archive_set_error(&a->archive,
ARCHIVE_ERRNO_FILE_FORMAT,
"Overflow of 64-bit file sizes");
@@ -1296,6 +1438,745 @@ zip_read_data_none(struct archive_read *a, const void **_buff,
return (ARCHIVE_OK);
}
+static int
+consume_optional_marker(struct archive_read *a, struct zip *zip)
+{
+ if (zip->end_of_entry && (zip->entry->zip_flags & ZIP_LENGTH_AT_END)) {
+ const char *p;
+
+ if (NULL == (p = __archive_read_ahead(a, 24, NULL))) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated ZIP end-of-file record");
+ return (ARCHIVE_FATAL);
+ }
+ /* Consume the optional PK\007\010 marker. */
+ if (p[0] == 'P' && p[1] == 'K' &&
+ p[2] == '\007' && p[3] == '\010') {
+ p += 4;
+ zip->unconsumed = 4;
+ }
+ if (zip->entry->flags & LA_USED_ZIP64) {
+ uint64_t compressed, uncompressed;
+ zip->entry->crc32 = archive_le32dec(p);
+ compressed = archive_le64dec(p + 4);
+ uncompressed = archive_le64dec(p + 12);
+ if (compressed > INT64_MAX ||
+ uncompressed > INT64_MAX) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Overflow of 64-bit file sizes");
+ return ARCHIVE_FAILED;
+ }
+ zip->entry->compressed_size = compressed;
+ zip->entry->uncompressed_size = uncompressed;
+ zip->unconsumed += 20;
+ } else {
+ zip->entry->crc32 = archive_le32dec(p);
+ zip->entry->compressed_size = archive_le32dec(p + 4);
+ zip->entry->uncompressed_size = archive_le32dec(p + 8);
+ zip->unconsumed += 12;
+ }
+ }
+
+ return (ARCHIVE_OK);
+}
+
+#if HAVE_LZMA_H && HAVE_LIBLZMA
+static int
+zipx_xz_init(struct archive_read *a, struct zip *zip)
+{
+ lzma_ret r;
+
+ if(zip->zipx_lzma_valid) {
+ lzma_end(&zip->zipx_lzma_stream);
+ zip->zipx_lzma_valid = 0;
+ }
+
+ memset(&zip->zipx_lzma_stream, 0, sizeof(zip->zipx_lzma_stream));
+ r = lzma_stream_decoder(&zip->zipx_lzma_stream, UINT64_MAX, 0);
+ if (r != LZMA_OK) {
+ archive_set_error(&(a->archive), ARCHIVE_ERRNO_MISC,
+ "xz initialization failed(%d)",
+ r);
+
+ return (ARCHIVE_FAILED);
+ }
+
+ zip->zipx_lzma_valid = 1;
+
+ free(zip->uncompressed_buffer);
+
+ zip->uncompressed_buffer_size = 256 * 1024;
+ zip->uncompressed_buffer =
+ (uint8_t*) malloc(zip->uncompressed_buffer_size);
+ if (zip->uncompressed_buffer == NULL) {
+ archive_set_error(&a->archive, ENOMEM,
+ "No memory for xz decompression");
+ return (ARCHIVE_FATAL);
+ }
+
+ zip->decompress_init = 1;
+ return (ARCHIVE_OK);
+}
+
+static int
+zipx_lzma_alone_init(struct archive_read *a, struct zip *zip)
+{
+ lzma_ret r;
+ const uint8_t* p;
+
+#pragma pack(push)
+#pragma pack(1)
+ struct _alone_header {
+ uint8_t bytes[5];
+ uint64_t uncompressed_size;
+ } alone_header;
+#pragma pack(pop)
+
+ if(zip->zipx_lzma_valid) {
+ lzma_end(&zip->zipx_lzma_stream);
+ zip->zipx_lzma_valid = 0;
+ }
+
+ /* To unpack ZIPX's "LZMA" (id 14) stream we can use standard liblzma
+ * that is a part of XZ Utils. The stream format stored inside ZIPX
+ * file is a modified "lzma alone" file format, that was used by the
+ * `lzma` utility which was later deprecated in favour of `xz` utility. * Since those formats are nearly the same, we can use a standard
+ * "lzma alone" decoder from XZ Utils. */
+
+ memset(&zip->zipx_lzma_stream, 0, sizeof(zip->zipx_lzma_stream));
+ r = lzma_alone_decoder(&zip->zipx_lzma_stream, UINT64_MAX);
+ if (r != LZMA_OK) {
+ archive_set_error(&(a->archive), ARCHIVE_ERRNO_MISC,
+ "lzma initialization failed(%d)", r);
+
+ return (ARCHIVE_FAILED);
+ }
+
+ /* Flag the cleanup function that we want our lzma-related structures
+ * to be freed later. */
+ zip->zipx_lzma_valid = 1;
+
+ /* The "lzma alone" file format and the stream format inside ZIPx are
+ * almost the same. Here's an example of a structure of "lzma alone"
+ * format:
+ *
+ * $ cat /bin/ls | lzma | xxd | head -n 1
+ * 00000000: 5d00 0080 00ff ffff ffff ffff ff00 2814
+ *
+ * 5 bytes 8 bytes n bytes
+ * <lzma_params><uncompressed_size><data...>
+ *
+ * lzma_params is a 5-byte blob that has to be decoded to extract
+ * parameters of this LZMA stream. The uncompressed_size field is an
+ * uint64_t value that contains information about the size of the
+ * uncompressed file, or UINT64_MAX if this value is unknown.
+ * The <data...> part is the actual lzma-compressed data stream.
+ *
+ * Now here's the structure of the stream inside the ZIPX file:
+ *
+ * $ cat stream_inside_zipx | xxd | head -n 1
+ * 00000000: 0914 0500 5d00 8000 0000 2814 .... ....
+ *
+ * 2byte 2byte 5 bytes n bytes
+ * <magic1><magic2><lzma_params><data...>
+ *
+ * This means that the ZIPX file contains an additional magic1 and
+ * magic2 headers, the lzma_params field contains the same parameter
+ * set as in the "lzma alone" format, and the <data...> field is the
+ * same as in the "lzma alone" format as well. Note that also the zipx
+ * format is missing the uncompressed_size field.
+ *
+ * So, in order to use the "lzma alone" decoder for the zipx lzma
+ * stream, we simply need to shuffle around some fields, prepare a new
+ * lzma alone header, feed it into lzma alone decoder so it will
+ * initialize itself properly, and then we can start feeding normal
+ * zipx lzma stream into the decoder.
+ */
+
+ /* Read magic1,magic2,lzma_params from the ZIPX stream. */
+ if((p = __archive_read_ahead(a, 9, NULL)) == NULL) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated lzma data");
+ return (ARCHIVE_FATAL);
+ }
+
+ if(p[2] != 0x05 || p[3] != 0x00) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Invalid lzma data");
+ return (ARCHIVE_FATAL);
+ }
+
+ /* Prepare an lzma alone header: copy the lzma_params blob into
+ * a proper place into the lzma alone header. */
+ memcpy(&alone_header.bytes[0], p + 4, 5);
+
+ /* Initialize the 'uncompressed size' field to unknown; we'll manually
+ * monitor how many bytes there are still to be uncompressed. */
+ alone_header.uncompressed_size = UINT64_MAX;
+
+ if(!zip->uncompressed_buffer) {
+ zip->uncompressed_buffer_size = 256 * 1024;
+ zip->uncompressed_buffer =
+ (uint8_t*) malloc(zip->uncompressed_buffer_size);
+
+ if (zip->uncompressed_buffer == NULL) {
+ archive_set_error(&a->archive, ENOMEM,
+ "No memory for lzma decompression");
+ return (ARCHIVE_FATAL);
+ }
+ }
+
+ zip->zipx_lzma_stream.next_in = (void*) &alone_header;
+ zip->zipx_lzma_stream.avail_in = sizeof(alone_header);
+ zip->zipx_lzma_stream.total_in = 0;
+ zip->zipx_lzma_stream.next_out = zip->uncompressed_buffer;
+ zip->zipx_lzma_stream.avail_out = zip->uncompressed_buffer_size;
+ zip->zipx_lzma_stream.total_out = 0;
+
+ /* Feed only the header into the lzma alone decoder. This will
+ * effectively initialize the decoder, and will not produce any
+ * output bytes yet. */
+ r = lzma_code(&zip->zipx_lzma_stream, LZMA_RUN);
+ if (r != LZMA_OK) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "lzma stream initialization error");
+ return ARCHIVE_FATAL;
+ }
+
+ /* We've already consumed some bytes, so take this into account. */
+ __archive_read_consume(a, 9);
+ zip->entry_bytes_remaining -= 9;
+ zip->entry_compressed_bytes_read += 9;
+
+ zip->decompress_init = 1;
+ return (ARCHIVE_OK);
+}
+
+static int
+zip_read_data_zipx_xz(struct archive_read *a, const void **buff,
+ size_t *size, int64_t *offset)
+{
+ struct zip* zip = (struct zip *)(a->format->data);
+ int ret;
+ lzma_ret lz_ret;
+ const void* compressed_buf;
+ ssize_t bytes_avail, in_bytes, to_consume = 0;
+
+ (void) offset; /* UNUSED */
+
+ /* Initialize decompressor if not yet initialized. */
+ if (!zip->decompress_init) {
+ ret = zipx_xz_init(a, zip);
+ if (ret != ARCHIVE_OK)
+ return (ret);
+ }
+
+ compressed_buf = __archive_read_ahead(a, 1, &bytes_avail);
+ if (bytes_avail < 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated xz file body");
+ return (ARCHIVE_FATAL);
+ }
+
+ in_bytes = zipmin(zip->entry_bytes_remaining, bytes_avail);
+ zip->zipx_lzma_stream.next_in = compressed_buf;
+ zip->zipx_lzma_stream.avail_in = in_bytes;
+ zip->zipx_lzma_stream.total_in = 0;
+ zip->zipx_lzma_stream.next_out = zip->uncompressed_buffer;
+ zip->zipx_lzma_stream.avail_out = zip->uncompressed_buffer_size;
+ zip->zipx_lzma_stream.total_out = 0;
+
+ /* Perform the decompression. */
+ lz_ret = lzma_code(&zip->zipx_lzma_stream, LZMA_RUN);
+ switch(lz_ret) {
+ case LZMA_DATA_ERROR:
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+ "xz data error (error %d)", (int) lz_ret);
+ return (ARCHIVE_FATAL);
+
+ case LZMA_NO_CHECK:
+ case LZMA_OK:
+ break;
+
+ default:
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+ "xz unknown error %d", (int) lz_ret);
+ return (ARCHIVE_FATAL);
+
+ case LZMA_STREAM_END:
+ lzma_end(&zip->zipx_lzma_stream);
+ zip->zipx_lzma_valid = 0;
+
+ if((int64_t) zip->zipx_lzma_stream.total_in !=
+ zip->entry_bytes_remaining)
+ {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_MISC,
+ "xz premature end of stream");
+ return (ARCHIVE_FATAL);
+ }
+
+ zip->end_of_entry = 1;
+ break;
+ }
+
+ to_consume = zip->zipx_lzma_stream.total_in;
+
+ __archive_read_consume(a, to_consume);
+ zip->entry_bytes_remaining -= to_consume;
+ zip->entry_compressed_bytes_read += to_consume;
+ zip->entry_uncompressed_bytes_read += zip->zipx_lzma_stream.total_out;
+
+ *size = zip->zipx_lzma_stream.total_out;
+ *buff = zip->uncompressed_buffer;
+
+ ret = consume_optional_marker(a, zip);
+ if (ret != ARCHIVE_OK)
+ return (ret);
+
+ return (ARCHIVE_OK);
+}
+
+static int
+zip_read_data_zipx_lzma_alone(struct archive_read *a, const void **buff,
+ size_t *size, int64_t *offset)
+{
+ struct zip* zip = (struct zip *)(a->format->data);
+ int ret;
+ lzma_ret lz_ret;
+ const void* compressed_buf;
+ ssize_t bytes_avail, in_bytes, to_consume;
+
+ (void) offset; /* UNUSED */
+
+ /* Initialize decompressor if not yet initialized. */
+ if (!zip->decompress_init) {
+ ret = zipx_lzma_alone_init(a, zip);
+ if (ret != ARCHIVE_OK)
+ return (ret);
+ }
+
+ /* Fetch more compressed data. The same note as in deflate handler
+ * applies here as well:
+ *
+ * Note: '1' here is a performance optimization. Recall that the
+ * decompression layer returns a count of available bytes; asking for
+ * more than that forces the decompressor to combine reads by copying
+ * data.
+ */
+ compressed_buf = __archive_read_ahead(a, 1, &bytes_avail);
+ if (bytes_avail < 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated lzma file body");
+ return (ARCHIVE_FATAL);
+ }
+
+ /* Set decompressor parameters. */
+ in_bytes = zipmin(zip->entry_bytes_remaining, bytes_avail);
+
+ zip->zipx_lzma_stream.next_in = compressed_buf;
+ zip->zipx_lzma_stream.avail_in = in_bytes;
+ zip->zipx_lzma_stream.total_in = 0;
+ zip->zipx_lzma_stream.next_out = zip->uncompressed_buffer;
+ zip->zipx_lzma_stream.avail_out =
+ /* These lzma_alone streams lack end of stream marker, so let's
+ * make sure the unpacker won't try to unpack more than it's
+ * supposed to. */
+ zipmin((int64_t) zip->uncompressed_buffer_size,
+ zip->entry->uncompressed_size -
+ zip->entry_uncompressed_bytes_read);
+ zip->zipx_lzma_stream.total_out = 0;
+
+ /* Perform the decompression. */
+ lz_ret = lzma_code(&zip->zipx_lzma_stream, LZMA_RUN);
+ switch(lz_ret) {
+ case LZMA_DATA_ERROR:
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+ "lzma data error (error %d)", (int) lz_ret);
+ return (ARCHIVE_FATAL);
+
+ /* This case is optional in lzma alone format. It can happen,
+ * but most of the files don't have it. (GitHub #1257) */
+ case LZMA_STREAM_END:
+ lzma_end(&zip->zipx_lzma_stream);
+ zip->zipx_lzma_valid = 0;
+ if((int64_t) zip->zipx_lzma_stream.total_in !=
+ zip->entry_bytes_remaining)
+ {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_MISC,
+ "lzma alone premature end of stream");
+ return (ARCHIVE_FATAL);
+ }
+
+ zip->end_of_entry = 1;
+ break;
+
+ case LZMA_OK:
+ break;
+
+ default:
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+ "lzma unknown error %d", (int) lz_ret);
+ return (ARCHIVE_FATAL);
+ }
+
+ to_consume = zip->zipx_lzma_stream.total_in;
+
+ /* Update pointers. */
+ __archive_read_consume(a, to_consume);
+ zip->entry_bytes_remaining -= to_consume;
+ zip->entry_compressed_bytes_read += to_consume;
+ zip->entry_uncompressed_bytes_read += zip->zipx_lzma_stream.total_out;
+
+ if(zip->entry_bytes_remaining == 0) {
+ zip->end_of_entry = 1;
+ }
+
+ /* Return values. */
+ *size = zip->zipx_lzma_stream.total_out;
+ *buff = zip->uncompressed_buffer;
+
+ /* Behave the same way as during deflate decompression. */
+ ret = consume_optional_marker(a, zip);
+ if (ret != ARCHIVE_OK)
+ return (ret);
+
+ /* Free lzma decoder handle because we'll no longer need it. */
+ if(zip->end_of_entry) {
+ lzma_end(&zip->zipx_lzma_stream);
+ zip->zipx_lzma_valid = 0;
+ }
+
+ /* If we're here, then we're good! */
+ return (ARCHIVE_OK);
+}
+#endif /* HAVE_LZMA_H && HAVE_LIBLZMA */
+
+static int
+zipx_ppmd8_init(struct archive_read *a, struct zip *zip)
+{
+ const void* p;
+ uint32_t val;
+ uint32_t order;
+ uint32_t mem;
+ uint32_t restore_method;
+
+ /* Remove previous decompression context if it exists. */
+ if(zip->ppmd8_valid) {
+ __archive_ppmd8_functions.Ppmd8_Free(&zip->ppmd8);
+ zip->ppmd8_valid = 0;
+ }
+
+ /* Create a new decompression context. */
+ __archive_ppmd8_functions.Ppmd8_Construct(&zip->ppmd8);
+ zip->ppmd8_stream_failed = 0;
+
+ /* Setup function pointers required by Ppmd8 decompressor. The
+ * 'ppmd_read' function will feed new bytes to the decompressor,
+ * and will increment the 'zip->zipx_ppmd_read_compressed' counter. */
+ zip->ppmd8.Stream.In = &zip->zipx_ppmd_stream;
+ zip->zipx_ppmd_stream.a = a;
+ zip->zipx_ppmd_stream.Read = &ppmd_read;
+
+ /* Reset number of read bytes to 0. */
+ zip->zipx_ppmd_read_compressed = 0;
+
+ /* Read Ppmd8 header (2 bytes). */
+ p = __archive_read_ahead(a, 2, NULL);
+ if(!p) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated file data in PPMd8 stream");
+ return (ARCHIVE_FATAL);
+ }
+ __archive_read_consume(a, 2);
+
+ /* Decode the stream's compression parameters. */
+ val = archive_le16dec(p);
+ order = (val & 15) + 1;
+ mem = ((val >> 4) & 0xff) + 1;
+ restore_method = (val >> 12);
+
+ if(order < 2 || restore_method > 2) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Invalid parameter set in PPMd8 stream (order=%d, "
+ "restore=%d)", order, restore_method);
+ return (ARCHIVE_FAILED);
+ }
+
+ /* Allocate the memory needed to properly decompress the file. */
+ if(!__archive_ppmd8_functions.Ppmd8_Alloc(&zip->ppmd8, mem << 20)) {
+ archive_set_error(&a->archive, ENOMEM,
+ "Unable to allocate memory for PPMd8 stream: %d bytes",
+ mem << 20);
+ return (ARCHIVE_FATAL);
+ }
+
+ /* Signal the cleanup function to release Ppmd8 context in the
+ * cleanup phase. */
+ zip->ppmd8_valid = 1;
+
+ /* Perform further Ppmd8 initialization. */
+ if(!__archive_ppmd8_functions.Ppmd8_RangeDec_Init(&zip->ppmd8)) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_PROGRAMMER,
+ "PPMd8 stream range decoder initialization error");
+ return (ARCHIVE_FATAL);
+ }
+
+ __archive_ppmd8_functions.Ppmd8_Init(&zip->ppmd8, order,
+ restore_method);
+
+ /* Allocate the buffer that will hold uncompressed data. */
+ free(zip->uncompressed_buffer);
+
+ zip->uncompressed_buffer_size = 256 * 1024;
+ zip->uncompressed_buffer =
+ (uint8_t*) malloc(zip->uncompressed_buffer_size);
+
+ if(zip->uncompressed_buffer == NULL) {
+ archive_set_error(&a->archive, ENOMEM,
+ "No memory for PPMd8 decompression");
+ return ARCHIVE_FATAL;
+ }
+
+ /* Ppmd8 initialization is done. */
+ zip->decompress_init = 1;
+
+ /* We've already read 2 bytes in the output stream. Additionally,
+ * Ppmd8 initialization code could read some data as well. So we
+ * are advancing the stream by 2 bytes plus whatever number of
+ * bytes Ppmd8 init function used. */
+ zip->entry_compressed_bytes_read += 2 + zip->zipx_ppmd_read_compressed;
+
+ return ARCHIVE_OK;
+}
+
+static int
+zip_read_data_zipx_ppmd(struct archive_read *a, const void **buff,
+ size_t *size, int64_t *offset)
+{
+ struct zip* zip = (struct zip *)(a->format->data);
+ int ret;
+ size_t consumed_bytes = 0;
+ ssize_t bytes_avail = 0;
+
+ (void) offset; /* UNUSED */
+
+ /* If we're here for the first time, initialize Ppmd8 decompression
+ * context first. */
+ if(!zip->decompress_init) {
+ ret = zipx_ppmd8_init(a, zip);
+ if(ret != ARCHIVE_OK)
+ return ret;
+ }
+
+ /* Fetch for more data. We're reading 1 byte here, but libarchive
+ * should prefetch more bytes. */
+ (void) __archive_read_ahead(a, 1, &bytes_avail);
+ if(bytes_avail < 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated PPMd8 file body");
+ return (ARCHIVE_FATAL);
+ }
+
+ /* This counter will be updated inside ppmd_read(), which at one
+ * point will be called by Ppmd8_DecodeSymbol. */
+ zip->zipx_ppmd_read_compressed = 0;
+
+ /* Decompression loop. */
+ do {
+ int sym = __archive_ppmd8_functions.Ppmd8_DecodeSymbol(
+ &zip->ppmd8);
+ if(sym < 0) {
+ zip->end_of_entry = 1;
+ break;
+ }
+
+ /* This field is set by ppmd_read() when there was no more data
+ * to be read. */
+ if(zip->ppmd8_stream_failed) {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated PPMd8 file body");
+ return (ARCHIVE_FATAL);
+ }
+
+ zip->uncompressed_buffer[consumed_bytes] = (uint8_t) sym;
+ ++consumed_bytes;
+ } while(consumed_bytes < zip->uncompressed_buffer_size);
+
+ /* Update pointers for libarchive. */
+ *buff = zip->uncompressed_buffer;
+ *size = consumed_bytes;
+
+ /* Update pointers so we can continue decompression in another call. */
+ zip->entry_bytes_remaining -= zip->zipx_ppmd_read_compressed;
+ zip->entry_compressed_bytes_read += zip->zipx_ppmd_read_compressed;
+ zip->entry_uncompressed_bytes_read += consumed_bytes;
+
+ /* If we're at the end of stream, deinitialize Ppmd8 context. */
+ if(zip->end_of_entry) {
+ __archive_ppmd8_functions.Ppmd8_Free(&zip->ppmd8);
+ zip->ppmd8_valid = 0;
+ }
+
+ /* Seek for optional marker, same way as in each zip entry. */
+ ret = consume_optional_marker(a, zip);
+ if (ret != ARCHIVE_OK)
+ return ret;
+
+ return ARCHIVE_OK;
+}
+
+#ifdef HAVE_BZLIB_H
+static int
+zipx_bzip2_init(struct archive_read *a, struct zip *zip)
+{
+ int r;
+
+ /* Deallocate already existing BZ2 decompression context if it
+ * exists. */
+ if(zip->bzstream_valid) {
+ BZ2_bzDecompressEnd(&zip->bzstream);
+ zip->bzstream_valid = 0;
+ }
+
+ /* Allocate a new BZ2 decompression context. */
+ memset(&zip->bzstream, 0, sizeof(bz_stream));
+ r = BZ2_bzDecompressInit(&zip->bzstream, 0, 1);
+ if(r != BZ_OK) {
+ archive_set_error(&(a->archive), ARCHIVE_ERRNO_MISC,
+ "bzip2 initialization failed(%d)",
+ r);
+
+ return ARCHIVE_FAILED;
+ }
+
+ /* Mark the bzstream field to be released in cleanup phase. */
+ zip->bzstream_valid = 1;
+
+ /* (Re)allocate the buffer that will contain decompressed bytes. */
+ free(zip->uncompressed_buffer);
+
+ zip->uncompressed_buffer_size = 256 * 1024;
+ zip->uncompressed_buffer =
+ (uint8_t*) malloc(zip->uncompressed_buffer_size);
+ if (zip->uncompressed_buffer == NULL) {
+ archive_set_error(&a->archive, ENOMEM,
+ "No memory for bzip2 decompression");
+ return ARCHIVE_FATAL;
+ }
+
+ /* Initialization done. */
+ zip->decompress_init = 1;
+ return ARCHIVE_OK;
+}
+
+static int
+zip_read_data_zipx_bzip2(struct archive_read *a, const void **buff,
+ size_t *size, int64_t *offset)
+{
+ struct zip *zip = (struct zip *)(a->format->data);
+ ssize_t bytes_avail = 0, in_bytes, to_consume;
+ const void *compressed_buff;
+ int r;
+ uint64_t total_out;
+
+ (void) offset; /* UNUSED */
+
+ /* Initialize decompression context if we're here for the first time. */
+ if(!zip->decompress_init) {
+ r = zipx_bzip2_init(a, zip);
+ if(r != ARCHIVE_OK)
+ return r;
+ }
+
+ /* Fetch more compressed bytes. */
+ compressed_buff = __archive_read_ahead(a, 1, &bytes_avail);
+ if(bytes_avail < 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated bzip2 file body");
+ return (ARCHIVE_FATAL);
+ }
+
+ in_bytes = zipmin(zip->entry_bytes_remaining, bytes_avail);
+ if(in_bytes < 1) {
+ /* libbz2 doesn't complain when caller feeds avail_in == 0.
+ * It will actually return success in this case, which is
+ * undesirable. This is why we need to make this check
+ * manually. */
+
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Truncated bzip2 file body");
+ return (ARCHIVE_FATAL);
+ }
+
+ /* Setup buffer boundaries. */
+ zip->bzstream.next_in = (char*)(uintptr_t) compressed_buff;
+ zip->bzstream.avail_in = in_bytes;
+ zip->bzstream.total_in_hi32 = 0;
+ zip->bzstream.total_in_lo32 = 0;
+ zip->bzstream.next_out = (char*) zip->uncompressed_buffer;
+ zip->bzstream.avail_out = zip->uncompressed_buffer_size;
+ zip->bzstream.total_out_hi32 = 0;
+ zip->bzstream.total_out_lo32 = 0;
+
+ /* Perform the decompression. */
+ r = BZ2_bzDecompress(&zip->bzstream);
+ switch(r) {
+ case BZ_STREAM_END:
+ /* If we're at the end of the stream, deinitialize the
+ * decompression context now. */
+ switch(BZ2_bzDecompressEnd(&zip->bzstream)) {
+ case BZ_OK:
+ break;
+ default:
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_MISC,
+ "Failed to clean up bzip2 "
+ "decompressor");
+ return ARCHIVE_FATAL;
+ }
+
+ zip->end_of_entry = 1;
+ break;
+ case BZ_OK:
+ /* The decompressor has successfully decoded this
+ * chunk of data, but more data is still in queue. */
+ break;
+ default:
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+ "bzip2 decompression failed");
+ return ARCHIVE_FATAL;
+ }
+
+ /* Update the pointers so decompressor can continue decoding. */
+ to_consume = zip->bzstream.total_in_lo32;
+ __archive_read_consume(a, to_consume);
+
+ total_out = ((uint64_t) zip->bzstream.total_out_hi32 << 32) +
+ zip->bzstream.total_out_lo32;
+
+ zip->entry_bytes_remaining -= to_consume;
+ zip->entry_compressed_bytes_read += to_consume;
+ zip->entry_uncompressed_bytes_read += total_out;
+
+ /* Give libarchive its due. */
+ *size = total_out;
+ *buff = zip->uncompressed_buffer;
+
+ /* Seek for optional marker, like in other entries. */
+ r = consume_optional_marker(a, zip);
+ if(r != ARCHIVE_OK)
+ return r;
+
+ return ARCHIVE_OK;
+}
+
+#endif
+
#ifdef HAVE_ZLIB_H
static int
zip_deflate_init(struct archive_read *a, struct zip *zip)
@@ -1371,8 +2252,10 @@ zip_read_data_deflate(struct archive_read *a, const void **buff,
if (zip->tctx_valid || zip->cctx_valid) {
if (zip->decrypted_bytes_remaining < (size_t)bytes_avail) {
size_t buff_remaining =
- (zip->decrypted_buffer + zip->decrypted_buffer_size)
- - (zip->decrypted_ptr + zip->decrypted_bytes_remaining);
+ (zip->decrypted_buffer +
+ zip->decrypted_buffer_size)
+ - (zip->decrypted_ptr +
+ zip->decrypted_bytes_remaining);
if (buff_remaining > (size_t)bytes_avail)
buff_remaining = (size_t)bytes_avail;
@@ -1383,12 +2266,12 @@ zip_read_data_deflate(struct archive_read *a, const void **buff,
+ buff_remaining)
> zip->entry_bytes_remaining) {
if (zip->entry_bytes_remaining <
- (int64_t)zip->decrypted_bytes_remaining)
+ (int64_t)zip->decrypted_bytes_remaining)
buff_remaining = 0;
else
buff_remaining =
(size_t)zip->entry_bytes_remaining
- - zip->decrypted_bytes_remaining;
+ - zip->decrypted_bytes_remaining;
}
}
if (buff_remaining > 0) {
@@ -1407,7 +2290,8 @@ zip_read_data_deflate(struct archive_read *a, const void **buff,
+ zip->decrypted_bytes_remaining,
&dsize);
}
- zip->decrypted_bytes_remaining += buff_remaining;
+ zip->decrypted_bytes_remaining +=
+ buff_remaining;
}
}
bytes_avail = zip->decrypted_bytes_remaining;
@@ -1470,42 +2354,9 @@ zip_read_data_deflate(struct archive_read *a, const void **buff,
return (r);
}
- if (zip->end_of_entry && (zip->entry->zip_flags & ZIP_LENGTH_AT_END)) {
- const char *p;
-
- if (NULL == (p = __archive_read_ahead(a, 24, NULL))) {
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "Truncated ZIP end-of-file record");
- return (ARCHIVE_FATAL);
- }
- /* Consume the optional PK\007\010 marker. */
- if (p[0] == 'P' && p[1] == 'K' &&
- p[2] == '\007' && p[3] == '\010') {
- p += 4;
- zip->unconsumed = 4;
- }
- if (zip->entry->flags & LA_USED_ZIP64) {
- uint64_t compressed, uncompressed;
- zip->entry->crc32 = archive_le32dec(p);
- compressed = archive_le64dec(p + 4);
- uncompressed = archive_le64dec(p + 12);
- if (compressed > INT64_MAX || uncompressed > INT64_MAX) {
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "Overflow of 64-bit file sizes");
- return ARCHIVE_FAILED;
- }
- zip->entry->compressed_size = compressed;
- zip->entry->uncompressed_size = uncompressed;
- zip->unconsumed += 20;
- } else {
- zip->entry->crc32 = archive_le32dec(p);
- zip->entry->compressed_size = archive_le32dec(p + 4);
- zip->entry->uncompressed_size = archive_le32dec(p + 8);
- zip->unconsumed += 12;
- }
- }
+ r = consume_optional_marker(a, zip);
+ if (r != ARCHIVE_OK)
+ return (r);
return (ARCHIVE_OK);
}
@@ -1933,6 +2784,24 @@ archive_read_format_zip_read_data(struct archive_read *a,
case 0: /* No compression. */
r = zip_read_data_none(a, buff, size, offset);
break;
+#ifdef HAVE_BZLIB_H
+ case 12: /* ZIPx bzip2 compression. */
+ r = zip_read_data_zipx_bzip2(a, buff, size, offset);
+ break;
+#endif
+#if HAVE_LZMA_H && HAVE_LIBLZMA
+ case 14: /* ZIPx LZMA compression. */
+ r = zip_read_data_zipx_lzma_alone(a, buff, size, offset);
+ break;
+ case 95: /* ZIPx XZ compression. */
+ r = zip_read_data_zipx_xz(a, buff, size, offset);
+ break;
+#endif
+ /* PPMd support is built-in, so we don't need any #if guards. */
+ case 98: /* ZIPx PPMd compression. */
+ r = zip_read_data_zipx_ppmd(a, buff, size, offset);
+ break;
+
#ifdef HAVE_ZLIB_H
case 8: /* Deflate compression. */
r = zip_read_data_deflate(a, buff, size, offset);
@@ -1941,8 +2810,8 @@ archive_read_format_zip_read_data(struct archive_read *a,
default: /* Unsupported compression. */
/* Return a warning. */
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
- "Unsupported ZIP compression method (%s)",
- compression_name(zip->entry->compression));
+ "Unsupported ZIP compression method (%d: %s)",
+ zip->entry->compression, compression_name(zip->entry->compression));
/* We can't decompress this entry, but we will
* be able to skip() it and try the next entry. */
return (ARCHIVE_FAILED);
@@ -2000,11 +2869,29 @@ archive_read_format_zip_cleanup(struct archive_read *a)
struct zip_entry *zip_entry, *next_zip_entry;
zip = (struct zip *)(a->format->data);
+
#ifdef HAVE_ZLIB_H
if (zip->stream_valid)
inflateEnd(&zip->stream);
- free(zip->uncompressed_buffer);
#endif
+
+#if HAVE_LZMA_H && HAVE_LIBLZMA
+ if (zip->zipx_lzma_valid) {
+ lzma_end(&zip->zipx_lzma_stream);
+ }
+#endif
+
+#ifdef HAVE_BZLIB_H
+ if (zip->bzstream_valid) {
+ BZ2_bzDecompressEnd(&zip->bzstream);
+ }
+#endif
+
+ free(zip->uncompressed_buffer);
+
+ if (zip->ppmd8_valid)
+ __archive_ppmd8_functions.Ppmd8_Free(&zip->ppmd8);
+
if (zip->zip_entries) {
zip_entry = zip->zip_entries;
while (zip_entry != NULL) {
@@ -2628,7 +3515,8 @@ expose_parent_dirs(struct zip *zip, const char *name, size_t name_length)
}
static int
-slurp_central_directory(struct archive_read *a, struct zip *zip)
+slurp_central_directory(struct archive_read *a, struct archive_entry* entry,
+ struct zip *zip)
{
ssize_t i;
unsigned found;
@@ -2708,6 +3596,11 @@ slurp_central_directory(struct archive_read *a, struct zip *zip)
return ARCHIVE_FATAL;
zip_entry = calloc(1, sizeof(struct zip_entry));
+ if (zip_entry == NULL) {
+ archive_set_error(&a->archive, ENOMEM,
+ "Can't allocate zip entry");
+ return ARCHIVE_FATAL;
+ }
zip_entry->next = zip->zip_entries;
zip_entry->flags |= LA_FROM_CENTRAL_DIRECTORY;
zip->zip_entries = zip_entry;
@@ -2733,8 +3626,10 @@ slurp_central_directory(struct archive_read *a, struct zip *zip)
filename_length = archive_le16dec(p + 28);
extra_length = archive_le16dec(p + 30);
comment_length = archive_le16dec(p + 32);
- /* disk_start = archive_le16dec(p + 34); */ /* Better be zero. */
- /* internal_attributes = archive_le16dec(p + 36); */ /* text bit */
+ /* disk_start = archive_le16dec(p + 34);
+ * Better be zero.
+ * internal_attributes = archive_le16dec(p + 36);
+ * text bit */
external_attributes = archive_le32dec(p + 38);
zip_entry->local_header_offset =
archive_le32dec(p + 42) + correction;
@@ -2770,7 +3665,8 @@ slurp_central_directory(struct archive_read *a, struct zip *zip)
"Truncated ZIP file header");
return ARCHIVE_FATAL;
}
- if (ARCHIVE_OK != process_extra(a, p + filename_length, extra_length, zip_entry)) {
+ if (ARCHIVE_OK != process_extra(a, entry, p + filename_length,
+ extra_length, zip_entry)) {
return ARCHIVE_FATAL;
}
@@ -2792,7 +3688,8 @@ slurp_central_directory(struct archive_read *a, struct zip *zip)
* a directory. We should treat it as a non
* resource fork file to expose it. */
if (name[filename_length-1] != '/' &&
- (r - name < 3 || r[0] != '.' || r[1] != '_')) {
+ (r - name < 3 || r[0] != '.' ||
+ r[1] != '_')) {
__archive_rb_tree_insert_node(
&zip->tree, &zip_entry->node);
/* Expose its parent directories. */
@@ -2869,8 +3766,10 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
switch(rsrc->compression) {
case 0: /* No compression. */
if (rsrc->uncompressed_size != rsrc->compressed_size) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
- "Malformed OS X metadata entry: inconsistent size");
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_FILE_FORMAT,
+ "Malformed OS X metadata entry: "
+ "inconsistent size");
return (ARCHIVE_FATAL);
}
#ifdef HAVE_ZLIB_H
@@ -3029,7 +3928,7 @@ archive_read_format_zip_seekable_read_header(struct archive_read *a,
a->archive.archive_format_name = "ZIP";
if (zip->zip_entries == NULL) {
- r = slurp_central_directory(a, zip);
+ r = slurp_central_directory(a, entry, zip);
if (r != ARCHIVE_OK)
return r;
/* Get first entry whose local header offset is lower than
@@ -3059,8 +3958,8 @@ archive_read_format_zip_seekable_read_header(struct archive_read *a,
__archive_read_reset_passphrase(a);
/* File entries are sorted by the header offset, we should mostly
- * use __archive_read_consume to advance a read point to avoid redundant
- * data reading. */
+ * use __archive_read_consume to advance a read point to avoid
+ * redundant data reading. */
offset = archive_filter_bytes(&a->archive, 0);
if (offset < zip->entry->local_header_offset)
__archive_read_consume(a,
@@ -3141,3 +4040,5 @@ archive_read_support_format_zip_seekable(struct archive *_a)
free(zip);
return (ARCHIVE_OK);
}
+
+/*# vim:set noet:*/
diff --git a/Utilities/cmlibarchive/libarchive/archive_string.c b/Utilities/cmlibarchive/libarchive/archive_string.c
index 85594cc..c77dcf5 100644
--- a/Utilities/cmlibarchive/libarchive/archive_string.c
+++ b/Utilities/cmlibarchive/libarchive/archive_string.c
@@ -75,6 +75,9 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_string.c 201095 2009-12-28 02:33
#define wmemmove(a,b,i) (wchar_t *)memmove((a), (b), (i) * sizeof(wchar_t))
#endif
+#undef max
+#define max(a, b) ((a)>(b)?(a):(b))
+
struct archive_string_conv {
struct archive_string_conv *next;
char *from_charset;
@@ -458,7 +461,7 @@ archive_wstring_append_from_mbs_in_codepage(struct archive_wstring *dest,
if (from_cp == CP_C_LOCALE) {
/*
- * "C" locale special process.
+ * "C" locale special processing.
*/
wchar_t *ws;
const unsigned char *mp;
@@ -591,7 +594,7 @@ archive_wstring_append_from_mbs(struct archive_wstring *dest,
* No single byte will be more than one wide character,
* so this length estimate will always be big enough.
*/
- size_t wcs_length = len;
+ // size_t wcs_length = len;
size_t mbs_length = len;
const char *mbs = p;
wchar_t *wcs;
@@ -600,7 +603,11 @@ archive_wstring_append_from_mbs(struct archive_wstring *dest,
memset(&shift_state, 0, sizeof(shift_state));
#endif
- if (NULL == archive_wstring_ensure(dest, dest->length + wcs_length + 1))
+ /*
+ * As we decided to have wcs_length == mbs_length == len
+ * we can use len here instead of wcs_length
+ */
+ if (NULL == archive_wstring_ensure(dest, dest->length + len + 1))
return (-1);
wcs = dest->s + dest->length;
/*
@@ -609,6 +616,12 @@ archive_wstring_append_from_mbs(struct archive_wstring *dest,
* multi bytes.
*/
while (*mbs && mbs_length > 0) {
+ /*
+ * The buffer we allocated is always big enough.
+ * Keep this code path in a comment if we decide to choose
+ * smaller wcs_length in the future
+ */
+/*
if (wcs_length == 0) {
dest->length = wcs - dest->s;
dest->s[dest->length] = L'\0';
@@ -618,24 +631,20 @@ archive_wstring_append_from_mbs(struct archive_wstring *dest,
return (-1);
wcs = dest->s + dest->length;
}
+*/
#if HAVE_MBRTOWC
- r = mbrtowc(wcs, mbs, wcs_length, &shift_state);
+ r = mbrtowc(wcs, mbs, mbs_length, &shift_state);
#else
- r = mbtowc(wcs, mbs, wcs_length);
+ r = mbtowc(wcs, mbs, mbs_length);
#endif
if (r == (size_t)-1 || r == (size_t)-2) {
ret_val = -1;
- if (errno == EILSEQ) {
- ++mbs;
- --mbs_length;
- continue;
- } else
- break;
+ break;
}
if (r == 0 || r > mbs_length)
break;
wcs++;
- wcs_length--;
+ // wcs_length--;
mbs += r;
mbs_length -= r;
}
@@ -680,7 +689,7 @@ archive_string_append_from_wcs_in_codepage(struct archive_string *as,
if (to_cp == CP_C_LOCALE) {
/*
- * "C" locale special process.
+ * "C" locale special processing.
*/
const wchar_t *wp = ws;
char *p;
@@ -799,7 +808,8 @@ archive_string_append_from_wcs(struct archive_string *as,
as->s[as->length] = '\0';
/* Re-allocate buffer for MBS. */
if (archive_string_ensure(as,
- as->length + len * 2 + 1) == NULL)
+ as->length + max(len * 2,
+ (size_t)MB_CUR_MAX) + 1) == NULL)
return (-1);
p = as->s + as->length;
end = as->s + as->buffer_length - MB_CUR_MAX -1;
@@ -890,7 +900,7 @@ add_converter(struct archive_string_conv *sc, int (*converter)
struct archive_string_conv *))
{
if (sc == NULL || sc->nconverter >= 2)
- __archive_errx(1, "Programing error");
+ __archive_errx(1, "Programming error");
sc->converter[sc->nconverter++] = converter;
}
@@ -3441,7 +3451,8 @@ strncat_from_utf8_libarchive2(struct archive_string *as,
as->length = p - as->s;
/* Re-allocate buffer for MBS. */
if (archive_string_ensure(as,
- as->length + len * 2 + 1) == NULL)
+ as->length + max(len * 2,
+ (size_t)MB_CUR_MAX) + 1) == NULL)
return (-1);
p = as->s + as->length;
end = as->s + as->buffer_length - MB_CUR_MAX -1;
@@ -4053,6 +4064,7 @@ archive_mstring_copy_utf8(struct archive_mstring *aes, const char *utf8)
{
if (utf8 == NULL) {
aes->aes_set = 0;
+ return (0);
}
aes->aes_set = AES_SET_UTF8;
archive_string_empty(&(aes->aes_mbs));
@@ -4067,6 +4079,7 @@ archive_mstring_copy_wcs_len(struct archive_mstring *aes, const wchar_t *wcs,
{
if (wcs == NULL) {
aes->aes_set = 0;
+ return (0);
}
aes->aes_set = AES_SET_WCS; /* Only WCS form set. */
archive_string_empty(&(aes->aes_mbs));
diff --git a/Utilities/cmlibarchive/libarchive/archive_string.h b/Utilities/cmlibarchive/libarchive/archive_string.h
index 56dfbb2..27e1ad6 100644
--- a/Utilities/cmlibarchive/libarchive/archive_string.h
+++ b/Utilities/cmlibarchive/libarchive/archive_string.h
@@ -26,15 +26,15 @@
*
*/
+#ifndef ARCHIVE_STRING_H_INCLUDED
+#define ARCHIVE_STRING_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#ifndef __LIBARCHIVE_TEST
#error This header is only to be used internally to libarchive.
#endif
#endif
-#ifndef ARCHIVE_STRING_H_INCLUDED
-#define ARCHIVE_STRING_H_INCLUDED
-
#include <stdarg.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h> /* required for wchar_t on some systems */
diff --git a/Utilities/cmlibarchive/libarchive/archive_string_composition.h b/Utilities/cmlibarchive/libarchive/archive_string_composition.h
index 8902ac1..d0ac340 100644
--- a/Utilities/cmlibarchive/libarchive/archive_string_composition.h
+++ b/Utilities/cmlibarchive/libarchive/archive_string_composition.h
@@ -34,13 +34,13 @@
* See also http://unicode.org/report/tr15/
*/
+#ifndef ARCHIVE_STRING_COMPOSITION_H_INCLUDED
+#define ARCHIVE_STRING_COMPOSITION_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_STRING_COMPOSITION_H_INCLUDED
-#define ARCHIVE_STRING_COMPOSITION_H_INCLUDED
-
struct unicode_composition_table {
uint32_t cp1;
uint32_t cp2;
diff --git a/Utilities/cmlibarchive/libarchive/archive_util.3 b/Utilities/cmlibarchive/libarchive/archive_util.3
index 99ab842..d5d4e7d 100644
--- a/Utilities/cmlibarchive/libarchive/archive_util.3
+++ b/Utilities/cmlibarchive/libarchive/archive_util.3
@@ -92,10 +92,10 @@ Clears any error information left over from a previous call.
Not generally used in client code.
.It Fn archive_compression
Synonym for
-.Fn archive_filter_code(a, 0) .
+.Fn archive_filter_code a 0 .
.It Fn archive_compression_name
Synonym for
-.Fn archive_filter_name(a, 0) .
+.Fn archive_filter_name a 0 .
.It Fn archive_copy_error
Copies error information from one archive to another.
.It Fn archive_errno
@@ -142,13 +142,13 @@ filter 0 is the gunzip filter,
filter 1 is the uudecode filter,
and filter 2 is the pseudo-filter that wraps the archive read functions.
In this case, requesting
-.Fn archive_position(a, -1)
+.Fn archive_position a -1
would be a synonym for
-.Fn archive_position(a, 2)
+.Fn archive_position a 2
which would return the number of bytes currently read from the archive, while
-.Fn archive_position(a, 1)
+.Fn archive_position a 1
would return the number of bytes after uudecoding, and
-.Fn archive_position(a, 0)
+.Fn archive_position a 0
would return the number of bytes after decompression.
.It Fn archive_filter_name
Returns a textual name identifying the indicated filter.
@@ -170,9 +170,9 @@ A textual description of the format of the current entry.
.It Fn archive_position
Returns the number of bytes read from or written to the indicated filter.
In particular,
-.Fn archive_position(a, 0)
+.Fn archive_position a 0
returns the number of bytes read or written by the format handler, while
-.Fn archive_position(a, -1)
+.Fn archive_position a -1
returns the number of bytes read or written to the archive.
See
.Fn archive_filter_count
diff --git a/Utilities/cmlibarchive/libarchive/archive_util.c b/Utilities/cmlibarchive/libarchive/archive_util.c
index e5c6e3b..e4cb051 100644
--- a/Utilities/cmlibarchive/libarchive/archive_util.c
+++ b/Utilities/cmlibarchive/libarchive/archive_util.c
@@ -218,8 +218,8 @@ __archive_errx(int retvalue, const char *msg)
* Also Windows version of mktemp family including _mktemp_s
* are not secure.
*/
-int
-__archive_mktemp(const char *tmpdir)
+static int
+__archive_mktempx(const char *tmpdir, wchar_t *template)
{
static const wchar_t prefix[] = L"libarchive_";
static const wchar_t suffix[] = L"XXXXXXXXXX";
@@ -243,64 +243,76 @@ __archive_mktemp(const char *tmpdir)
hProv = (HCRYPTPROV)NULL;
fd = -1;
ws = NULL;
- archive_string_init(&temp_name);
- /* Get a temporary directory. */
- if (tmpdir == NULL) {
- size_t l;
- wchar_t *tmp;
+ if (template == NULL) {
+ archive_string_init(&temp_name);
- l = GetTempPathW(0, NULL);
- if (l == 0) {
- la_dosmaperr(GetLastError());
- goto exit_tmpfile;
- }
- tmp = malloc(l*sizeof(wchar_t));
- if (tmp == NULL) {
- errno = ENOMEM;
- goto exit_tmpfile;
- }
- GetTempPathW((DWORD)l, tmp);
- archive_wstrcpy(&temp_name, tmp);
- free(tmp);
- } else {
- if (archive_wstring_append_from_mbs(&temp_name, tmpdir,
- strlen(tmpdir)) < 0)
- goto exit_tmpfile;
- if (temp_name.s[temp_name.length-1] != L'/')
- archive_wstrappend_wchar(&temp_name, L'/');
- }
+ /* Get a temporary directory. */
+ if (tmpdir == NULL) {
+ size_t l;
+ wchar_t *tmp;
- /* Check if temp_name is a directory. */
- attr = GetFileAttributesW(temp_name.s);
- if (attr == (DWORD)-1) {
- if (GetLastError() != ERROR_FILE_NOT_FOUND) {
- la_dosmaperr(GetLastError());
- goto exit_tmpfile;
- }
- ws = __la_win_permissive_name_w(temp_name.s);
- if (ws == NULL) {
- errno = EINVAL;
- goto exit_tmpfile;
+ l = GetTempPathW(0, NULL);
+ if (l == 0) {
+ la_dosmaperr(GetLastError());
+ goto exit_tmpfile;
+ }
+ tmp = malloc(l*sizeof(wchar_t));
+ if (tmp == NULL) {
+ errno = ENOMEM;
+ goto exit_tmpfile;
+ }
+ GetTempPathW((DWORD)l, tmp);
+ archive_wstrcpy(&temp_name, tmp);
+ free(tmp);
+ } else {
+ if (archive_wstring_append_from_mbs(&temp_name, tmpdir,
+ strlen(tmpdir)) < 0)
+ goto exit_tmpfile;
+ if (temp_name.s[temp_name.length-1] != L'/')
+ archive_wstrappend_wchar(&temp_name, L'/');
}
- attr = GetFileAttributesW(ws);
+
+ /* Check if temp_name is a directory. */
+ attr = GetFileAttributesW(temp_name.s);
if (attr == (DWORD)-1) {
- la_dosmaperr(GetLastError());
+ if (GetLastError() != ERROR_FILE_NOT_FOUND) {
+ la_dosmaperr(GetLastError());
+ goto exit_tmpfile;
+ }
+ ws = __la_win_permissive_name_w(temp_name.s);
+ if (ws == NULL) {
+ errno = EINVAL;
+ goto exit_tmpfile;
+ }
+ attr = GetFileAttributesW(ws);
+ if (attr == (DWORD)-1) {
+ la_dosmaperr(GetLastError());
+ goto exit_tmpfile;
+ }
+ }
+ if (!(attr & FILE_ATTRIBUTE_DIRECTORY)) {
+ errno = ENOTDIR;
goto exit_tmpfile;
}
- }
- if (!(attr & FILE_ATTRIBUTE_DIRECTORY)) {
- errno = ENOTDIR;
- goto exit_tmpfile;
- }
- /*
- * Create a temporary file.
- */
- archive_wstrcat(&temp_name, prefix);
- archive_wstrcat(&temp_name, suffix);
- ep = temp_name.s + archive_strlen(&temp_name);
- xp = ep - wcslen(suffix);
+ /*
+ * Create a temporary file.
+ */
+ archive_wstrcat(&temp_name, prefix);
+ archive_wstrcat(&temp_name, suffix);
+ ep = temp_name.s + archive_strlen(&temp_name);
+ xp = ep - wcslen(suffix);
+ template = temp_name.s;
+ } else {
+ xp = wcschr(template, L'X');
+ if (xp == NULL) /* No X, programming error */
+ abort();
+ for (ep = xp; *ep == L'X'; ep++)
+ continue;
+ if (*ep) /* X followed by non X, programming error */
+ abort();
+ }
if (!CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL,
CRYPT_VERIFYCONTEXT)) {
@@ -323,20 +335,24 @@ __archive_mktemp(const char *tmpdir)
*p = num[((DWORD)*p) % (sizeof(num)/sizeof(num[0]))];
free(ws);
- ws = __la_win_permissive_name_w(temp_name.s);
+ ws = __la_win_permissive_name_w(template);
if (ws == NULL) {
errno = EINVAL;
goto exit_tmpfile;
}
- /* Specifies FILE_FLAG_DELETE_ON_CLOSE flag is to
- * delete this temporary file immediately when this
- * file closed. */
+ if (template == temp_name.s) {
+ attr = FILE_ATTRIBUTE_TEMPORARY |
+ FILE_FLAG_DELETE_ON_CLOSE;
+ } else {
+ /* mkstemp */
+ attr = FILE_ATTRIBUTE_NORMAL;
+ }
h = CreateFileW(ws,
GENERIC_READ | GENERIC_WRITE | DELETE,
0,/* Not share */
NULL,
CREATE_NEW,/* Create a new file only */
- FILE_ATTRIBUTE_TEMPORARY | FILE_FLAG_DELETE_ON_CLOSE,
+ attr,
NULL);
if (h == INVALID_HANDLE_VALUE) {
/* The same file already exists. retry with
@@ -358,10 +374,23 @@ exit_tmpfile:
if (hProv != (HCRYPTPROV)NULL)
CryptReleaseContext(hProv, 0);
free(ws);
- archive_wstring_free(&temp_name);
+ if (template == temp_name.s)
+ archive_wstring_free(&temp_name);
return (fd);
}
+int
+__archive_mktemp(const char *tmpdir)
+{
+ return __archive_mktempx(tmpdir, NULL);
+}
+
+int
+__archive_mkstemp(wchar_t *template)
+{
+ return __archive_mktempx(NULL, template);
+}
+
#else
static int
@@ -414,14 +443,24 @@ exit_tmpfile:
return (fd);
}
-#else
+int
+__archive_mkstemp(char *template)
+{
+ int fd = -1;
+ fd = mkstemp(template);
+ if (fd >= 0)
+ __archive_ensure_cloexec_flag(fd);
+ return (fd);
+}
+
+#else /* !HAVE_MKSTEMP */
/*
* We use a private routine.
*/
-int
-__archive_mktemp(const char *tmpdir)
+static int
+__archive_mktempx(const char *tmpdir, char *template)
{
static const char num[] = {
'0', '1', '2', '3', '4', '5', '6', '7',
@@ -439,26 +478,37 @@ __archive_mktemp(const char *tmpdir)
char *tp, *ep;
fd = -1;
- archive_string_init(&temp_name);
- if (tmpdir == NULL) {
- if (get_tempdir(&temp_name) != ARCHIVE_OK)
+ if (template == NULL) {
+ archive_string_init(&temp_name);
+ if (tmpdir == NULL) {
+ if (get_tempdir(&temp_name) != ARCHIVE_OK)
+ goto exit_tmpfile;
+ } else
+ archive_strcpy(&temp_name, tmpdir);
+ if (temp_name.s[temp_name.length-1] == '/') {
+ temp_name.s[temp_name.length-1] = '\0';
+ temp_name.length --;
+ }
+ if (la_stat(temp_name.s, &st) < 0)
goto exit_tmpfile;
- } else
- archive_strcpy(&temp_name, tmpdir);
- if (temp_name.s[temp_name.length-1] == '/') {
- temp_name.s[temp_name.length-1] = '\0';
- temp_name.length --;
- }
- if (stat(temp_name.s, &st) < 0)
- goto exit_tmpfile;
- if (!S_ISDIR(st.st_mode)) {
- errno = ENOTDIR;
- goto exit_tmpfile;
+ if (!S_ISDIR(st.st_mode)) {
+ errno = ENOTDIR;
+ goto exit_tmpfile;
+ }
+ archive_strcat(&temp_name, "/libarchive_");
+ tp = temp_name.s + archive_strlen(&temp_name);
+ archive_strcat(&temp_name, "XXXXXXXXXX");
+ ep = temp_name.s + archive_strlen(&temp_name);
+ template = temp_name.s;
+ } else {
+ tp = strchr(template, 'X');
+ if (tp == NULL) /* No X, programming error */
+ abort();
+ for (ep = tp; *ep == 'X'; ep++)
+ continue;
+ if (*ep) /* X followed by non X, programming error */
+ abort();
}
- archive_strcat(&temp_name, "/libarchive_");
- tp = temp_name.s + archive_strlen(&temp_name);
- archive_strcat(&temp_name, "XXXXXXXXXX");
- ep = temp_name.s + archive_strlen(&temp_name);
do {
char *p;
@@ -469,19 +519,33 @@ __archive_mktemp(const char *tmpdir)
int d = *((unsigned char *)p) % sizeof(num);
*p++ = num[d];
}
- fd = open(temp_name.s, O_CREAT | O_EXCL | O_RDWR | O_CLOEXEC,
+ fd = open(template, O_CREAT | O_EXCL | O_RDWR | O_CLOEXEC,
0600);
} while (fd < 0 && errno == EEXIST);
if (fd < 0)
goto exit_tmpfile;
__archive_ensure_cloexec_flag(fd);
- unlink(temp_name.s);
+ if (template == temp_name.s)
+ unlink(temp_name.s);
exit_tmpfile:
- archive_string_free(&temp_name);
+ if (template == temp_name.s)
+ archive_string_free(&temp_name);
return (fd);
}
-#endif /* HAVE_MKSTEMP */
+int
+__archive_mktemp(const char *tmpdir)
+{
+ return __archive_mktempx(tmpdir, NULL);
+}
+
+int
+__archive_mkstemp(char *template)
+{
+ return __archive_mktempx(NULL, template);
+}
+
+#endif /* !HAVE_MKSTEMP */
#endif /* !_WIN32 || __CYGWIN__ */
/*
diff --git a/Utilities/cmlibarchive/libarchive/archive_windows.c b/Utilities/cmlibarchive/libarchive/archive_windows.c
index 6ff8749..624e270 100644
--- a/Utilities/cmlibarchive/libarchive/archive_windows.c
+++ b/Utilities/cmlibarchive/libarchive/archive_windows.c
@@ -445,7 +445,8 @@ fileTimeToUTC(const FILETIME *filetime, time_t *t, long *ns)
* Windows' stat() does not accept the path added "\\?\" especially "?"
* character.
* It means we cannot access the long name path longer than MAX_PATH.
- * So I've implemented simular Windows' stat() to access the long name path.
+ * So I've implemented a function similar to Windows' stat() to access the
+ * long name path.
* And I've added some feature.
* 1. set st_ino by nFileIndexHigh and nFileIndexLow of
* BY_HANDLE_FILE_INFORMATION.
diff --git a/Utilities/cmlibarchive/libarchive/archive_windows.h b/Utilities/cmlibarchive/libarchive/archive_windows.h
index c3aed0c..dda63b8 100644
--- a/Utilities/cmlibarchive/libarchive/archive_windows.h
+++ b/Utilities/cmlibarchive/libarchive/archive_windows.h
@@ -27,10 +27,6 @@
* $FreeBSD$
*/
-#ifndef __LIBARCHIVE_BUILD
-#error This header is only to be used internally to libarchive.
-#endif
-
/*
* TODO: A lot of stuff in here isn't actually used by libarchive and
* can be trimmed out. Note that this file is used by libarchive and
@@ -48,6 +44,10 @@
#ifndef LIBARCHIVE_ARCHIVE_WINDOWS_H_INCLUDED
#define LIBARCHIVE_ARCHIVE_WINDOWS_H_INCLUDED
+#ifndef __LIBARCHIVE_BUILD
+#error This header is only to be used internally to libarchive.
+#endif
+
/* Start of configuration for native Win32 */
#ifndef MINGW_HAS_SECURE_API
#define MINGW_HAS_SECURE_API 1
@@ -117,10 +117,7 @@
#if !defined(__BORLANDC__) && !defined(__WATCOMC__)
#define setmode _setmode
#endif
-#ifdef stat
-#undef stat
-#endif
-#define stat(path,stref) __la_stat(path,stref)
+#define la_stat(path,stref) __la_stat(path,stref)
#if !defined(__WATCOMC__)
#if !defined(__BORLANDC__)
#define strdup _strdup
diff --git a/Utilities/cmlibarchive/libarchive/archive_write.3 b/Utilities/cmlibarchive/libarchive/archive_write.3
index c1164f5..e7f7f13 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write.3
@@ -118,7 +118,7 @@ After all entries have been written, use the
.Fn archive_write_free
function to release all resources.
.\"
-.Sh EXAMPLE
+.Sh EXAMPLES
The following sketch illustrates basic usage of the library.
In this example,
the callback functions are simply wrappers around the standard
@@ -192,7 +192,7 @@ write_archive(const char *outname, const char **filename)
if (archive_write_set_format_filter_by_ext(a, outname) != ARCHIVE_OK) {
archive_write_add_filter_gzip(a);
archive_write_set_format_ustar(a);
- }
+ }
archive_write_open(a, mydata, myopen, mywrite, myclose);
while (*filename) {
stat(*filename, &st);
@@ -225,8 +225,8 @@ int main(int argc, const char **argv)
.Ed
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr mtree 5 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_write.c b/Utilities/cmlibarchive/libarchive/archive_write.c
index e8daf53..98a55fb 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write.c
@@ -212,6 +212,7 @@ __archive_write_allocate_filter(struct archive *_a)
f = calloc(1, sizeof(*f));
f->archive = _a;
+ f->state = ARCHIVE_WRITE_FILTER_STATE_NEW;
if (a->filter_first == NULL)
a->filter_first = f;
else
@@ -228,6 +229,9 @@ __archive_write_filter(struct archive_write_filter *f,
const void *buff, size_t length)
{
int r;
+ /* Never write to non-open filters */
+ if (f->state != ARCHIVE_WRITE_FILTER_STATE_OPEN)
+ return(ARCHIVE_FATAL);
if (length == 0)
return(ARCHIVE_OK);
if (f->write == NULL)
@@ -240,27 +244,70 @@ __archive_write_filter(struct archive_write_filter *f,
}
/*
- * Open a filter.
+ * Recursive function for opening the filter chain
+ * Last filter is opened first
*/
-int
+static int
__archive_write_open_filter(struct archive_write_filter *f)
{
- if (f->open == NULL)
+ int ret;
+
+ ret = ARCHIVE_OK;
+ if (f->next_filter != NULL)
+ ret = __archive_write_open_filter(f->next_filter);
+ if (ret != ARCHIVE_OK)
+ return (ret);
+ if (f->state != ARCHIVE_WRITE_FILTER_STATE_NEW)
+ return (ARCHIVE_FATAL);
+ if (f->open == NULL) {
+ f->state = ARCHIVE_WRITE_FILTER_STATE_OPEN;
return (ARCHIVE_OK);
- return (f->open)(f);
+ }
+ ret = (f->open)(f);
+ if (ret == ARCHIVE_OK)
+ f->state = ARCHIVE_WRITE_FILTER_STATE_OPEN;
+ else
+ f->state = ARCHIVE_WRITE_FILTER_STATE_FATAL;
+ return (ret);
}
/*
- * Close a filter.
+ * Open all filters
*/
-int
-__archive_write_close_filter(struct archive_write_filter *f)
+static int
+__archive_write_filters_open(struct archive_write *a)
{
- if (f->close != NULL)
- return (f->close)(f);
- if (f->next_filter != NULL)
- return (__archive_write_close_filter(f->next_filter));
- return (ARCHIVE_OK);
+ return (__archive_write_open_filter(a->filter_first));
+}
+
+/*
+ * Close all filtes
+ */
+static int
+__archive_write_filters_close(struct archive_write *a)
+{
+ struct archive_write_filter *f;
+ int ret, ret1;
+ ret = ARCHIVE_OK;
+ for (f = a->filter_first; f != NULL; f = f->next_filter) {
+ /* Do not close filters that are not open */
+ if (f->state == ARCHIVE_WRITE_FILTER_STATE_OPEN) {
+ if (f->close != NULL) {
+ ret1 = (f->close)(f);
+ if (ret1 < ret)
+ ret = ret1;
+ if (ret1 == ARCHIVE_OK) {
+ f->state =
+ ARCHIVE_WRITE_FILTER_STATE_CLOSED;
+ } else {
+ f->state =
+ ARCHIVE_WRITE_FILTER_STATE_FATAL;
+ }
+ } else
+ f->state = ARCHIVE_WRITE_FILTER_STATE_CLOSED;
+ }
+ }
+ return (ret);
}
int
@@ -292,6 +339,7 @@ archive_write_client_open(struct archive_write_filter *f)
struct archive_none *state;
void *buffer;
size_t buffer_size;
+ int ret;
f->bytes_per_block = archive_write_get_bytes_per_block(f->archive);
f->bytes_in_last_block =
@@ -316,7 +364,13 @@ archive_write_client_open(struct archive_write_filter *f)
if (a->client_opener == NULL)
return (ARCHIVE_OK);
- return (a->client_opener(f->archive, a->client_data));
+ ret = a->client_opener(f->archive, a->client_data);
+ if (ret != ARCHIVE_OK) {
+ free(state->buffer);
+ free(state);
+ f->data = NULL;
+ }
+ return (ret);
}
static int
@@ -439,8 +493,6 @@ archive_write_client_close(struct archive_write_filter *f)
(*a->client_closer)(&a->archive, a->client_data);
free(state->buffer);
free(state);
- /* Clear the close handler myself not to be called again. */
- f->close = NULL;
a->client_data = NULL;
/* Clear passphrase. */
if (a->passphrase != NULL) {
@@ -448,6 +500,8 @@ archive_write_client_close(struct archive_write_filter *f)
free(a->passphrase);
a->passphrase = NULL;
}
+ /* Clear the close handler myself not to be called again. */
+ f->state = ARCHIVE_WRITE_FILTER_STATE_CLOSED;
return (ret);
}
@@ -477,9 +531,10 @@ archive_write_open(struct archive *_a, void *client_data,
client_filter->write = archive_write_client_write;
client_filter->close = archive_write_client_close;
- ret = __archive_write_open_filter(a->filter_first);
+ ret = __archive_write_filters_open(a);
if (ret < ARCHIVE_WARN) {
- r1 = __archive_write_close_filter(a->filter_first);
+ r1 = __archive_write_filters_close(a);
+ __archive_write_filters_free(_a);
return (r1 < ret ? r1 : ret);
}
@@ -521,7 +576,7 @@ _archive_write_close(struct archive *_a)
}
/* Finish the compression and close the stream. */
- r1 = __archive_write_close_filter(a->filter_first);
+ r1 = __archive_write_filters_close(a);
if (r1 < r)
r = r1;
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_b64encode.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_b64encode.c
index b46b19a..87fdb73 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_b64encode.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_b64encode.c
@@ -149,11 +149,6 @@ archive_filter_b64encode_open(struct archive_write_filter *f)
{
struct private_b64encode *state = (struct private_b64encode *)f->data;
size_t bs = 65536, bpb;
- int ret;
-
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != ARCHIVE_OK)
- return (ret);
if (f->archive->magic == ARCHIVE_WRITE_MAGIC) {
/* Buffer size should be a multiple number of the of bytes
@@ -266,7 +261,6 @@ static int
archive_filter_b64encode_close(struct archive_write_filter *f)
{
struct private_b64encode *state = (struct private_b64encode *)f->data;
- int ret, ret2;
/* Flush remaining bytes. */
if (state->hold_len != 0)
@@ -274,12 +268,8 @@ archive_filter_b64encode_close(struct archive_write_filter *f)
archive_string_sprintf(&state->encoded_buff, "====\n");
/* Write the last block */
archive_write_set_bytes_in_last_block(f->archive, 1);
- ret = __archive_write_filter(f->next_filter,
+ return __archive_write_filter(f->next_filter,
state->encoded_buff.s, archive_strlen(&state->encoded_buff));
- ret2 = __archive_write_close_filter(f->next_filter);
- if (ret > ret2)
- ret = ret2;
- return (ret);
}
static int
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_bzip2.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_bzip2.c
index 6bd0d1d..535ef17 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_bzip2.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_bzip2.c
@@ -167,10 +167,6 @@ archive_compressor_bzip2_open(struct archive_write_filter *f)
struct private_data *data = (struct private_data *)f->data;
int ret;
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != 0)
- return (ret);
-
if (data->compressed == NULL) {
size_t bs = 65536, bpb;
if (f->archive->magic == ARCHIVE_WRITE_MAGIC) {
@@ -262,7 +258,7 @@ static int
archive_compressor_bzip2_close(struct archive_write_filter *f)
{
struct private_data *data = (struct private_data *)f->data;
- int ret, r1;
+ int ret;
/* Finish compression cycle. */
ret = drive_compressor(f, data, 1);
@@ -281,9 +277,7 @@ archive_compressor_bzip2_close(struct archive_write_filter *f)
"Failed to clean up compressor");
ret = ARCHIVE_FATAL;
}
-
- r1 = __archive_write_close_filter(f->next_filter);
- return (r1 < ret ? r1 : ret);
+ return ret;
}
static int
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_compress.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_compress.c
index 26fcef4..d404fae 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_compress.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_compress.c
@@ -146,17 +146,12 @@ archive_write_add_filter_compress(struct archive *_a)
static int
archive_compressor_compress_open(struct archive_write_filter *f)
{
- int ret;
struct private_data *state;
size_t bs = 65536, bpb;
f->code = ARCHIVE_FILTER_COMPRESS;
f->name = "compress";
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != ARCHIVE_OK)
- return (ret);
-
state = (struct private_data *)calloc(1, sizeof(*state));
if (state == NULL) {
archive_set_error(f->archive, ENOMEM,
@@ -426,30 +421,27 @@ static int
archive_compressor_compress_close(struct archive_write_filter *f)
{
struct private_data *state = (struct private_data *)f->data;
- int ret, ret2;
+ int ret;
ret = output_code(f, state->cur_code);
if (ret != ARCHIVE_OK)
- goto cleanup;
+ return ret;
ret = output_flush(f);
if (ret != ARCHIVE_OK)
- goto cleanup;
+ return ret;
/* Write the last block */
ret = __archive_write_filter(f->next_filter,
state->compressed, state->compressed_offset);
-cleanup:
- ret2 = __archive_write_close_filter(f->next_filter);
- if (ret > ret2)
- ret = ret2;
- free(state->compressed);
- free(state);
return (ret);
}
static int
archive_compressor_compress_free(struct archive_write_filter *f)
{
- (void)f; /* UNUSED */
+ struct private_data *state = (struct private_data *)f->data;
+
+ free(state->compressed);
+ free(state);
return (ARCHIVE_OK);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_gzip.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_gzip.c
index 986123a..8d6838b 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_gzip.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_gzip.c
@@ -184,10 +184,6 @@ archive_compressor_gzip_open(struct archive_write_filter *f)
struct private_data *data = (struct private_data *)f->data;
int ret;
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != ARCHIVE_OK)
- return (ret);
-
if (data->compressed == NULL) {
size_t bs = 65536, bpb;
if (f->archive->magic == ARCHIVE_WRITE_MAGIC) {
@@ -307,7 +303,7 @@ archive_compressor_gzip_close(struct archive_write_filter *f)
{
unsigned char trailer[8];
struct private_data *data = (struct private_data *)f->data;
- int ret, r1;
+ int ret;
/* Finish compression cycle */
ret = drive_compressor(f, data, 1);
@@ -338,8 +334,7 @@ archive_compressor_gzip_close(struct archive_write_filter *f)
"Failed to clean up compressor");
ret = ARCHIVE_FATAL;
}
- r1 = __archive_write_close_filter(f->next_filter);
- return (r1 < ret ? r1 : ret);
+ return ret;
}
/*
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_lz4.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_lz4.c
index 15fd494..cf19fad 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_lz4.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_lz4.c
@@ -223,16 +223,11 @@ static int
archive_filter_lz4_open(struct archive_write_filter *f)
{
struct private_data *data = (struct private_data *)f->data;
- int ret;
size_t required_size;
static size_t const bkmap[] = { 64 * 1024, 256 * 1024, 1 * 1024 * 1024,
4 * 1024 * 1024 };
size_t pre_block_size;
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != 0)
- return (ret);
-
if (data->block_maximum_size < 4)
data->block_size = bkmap[0];
else
@@ -343,7 +338,7 @@ static int
archive_filter_lz4_close(struct archive_write_filter *f)
{
struct private_data *data = (struct private_data *)f->data;
- int ret, r1;
+ int ret;
/* Finish compression cycle. */
ret = (int)lz4_write_one_block(f, NULL, 0);
@@ -366,9 +361,7 @@ archive_filter_lz4_close(struct archive_write_filter *f)
ret = __archive_write_filter(f->next_filter,
data->out_buffer, data->out - data->out_buffer);
}
-
- r1 = __archive_write_close_filter(f->next_filter);
- return (r1 < ret ? r1 : ret);
+ return ret;
}
static int
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_lzop.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_lzop.c
index ad705c4..3bd9062 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_lzop.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_lzop.c
@@ -228,11 +228,6 @@ static int
archive_write_lzop_open(struct archive_write_filter *f)
{
struct write_lzop *data = (struct write_lzop *)f->data;
- int ret;
-
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != ARCHIVE_OK)
- return (ret);
switch (data->compression_level) {
case 1:
@@ -439,10 +434,7 @@ archive_write_lzop_close(struct archive_write_filter *f)
}
/* Write a zero uncompressed size as the end mark of the series of
* compressed block. */
- r = __archive_write_filter(f->next_filter, &endmark, sizeof(endmark));
- if (r != ARCHIVE_OK)
- return (r);
- return (__archive_write_close_filter(f->next_filter));
+ return __archive_write_filter(f->next_filter, &endmark, sizeof(endmark));
}
#else
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_program.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_program.c
index 660f693..a4bc1d9 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_program.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_program.c
@@ -212,11 +212,6 @@ __archive_write_program_open(struct archive_write_filter *f,
struct archive_write_program_data *data, const char *cmd)
{
pid_t child;
- int ret;
-
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != ARCHIVE_OK)
- return (ret);
if (data->child_buf == NULL) {
data->child_buf_len = 65536;
@@ -353,11 +348,11 @@ int
__archive_write_program_close(struct archive_write_filter *f,
struct archive_write_program_data *data)
{
- int ret, r1, status;
+ int ret, status;
ssize_t bytes_read;
if (data->child == 0)
- return __archive_write_close_filter(f->next_filter);
+ return ARCHIVE_OK;
ret = 0;
close(data->child_stdin);
@@ -409,7 +404,6 @@ cleanup:
"Error closing program: %s", data->program_name);
ret = ARCHIVE_FATAL;
}
- r1 = __archive_write_close_filter(f->next_filter);
- return (r1 < ret ? r1 : ret);
+ return ret;
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_uuencode.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_uuencode.c
index 23d9c15..1ad4589 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_uuencode.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_uuencode.c
@@ -138,11 +138,6 @@ archive_filter_uuencode_open(struct archive_write_filter *f)
{
struct private_uuencode *state = (struct private_uuencode *)f->data;
size_t bs = 65536, bpb;
- int ret;
-
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != ARCHIVE_OK)
- return (ret);
if (f->archive->magic == ARCHIVE_WRITE_MAGIC) {
/* Buffer size should be a multiple number of the of bytes
@@ -257,7 +252,6 @@ static int
archive_filter_uuencode_close(struct archive_write_filter *f)
{
struct private_uuencode *state = (struct private_uuencode *)f->data;
- int ret, ret2;
/* Flush remaining bytes. */
if (state->hold_len != 0)
@@ -265,12 +259,8 @@ archive_filter_uuencode_close(struct archive_write_filter *f)
archive_string_sprintf(&state->encoded_buff, "`\nend\n");
/* Write the last block */
archive_write_set_bytes_in_last_block(f->archive, 1);
- ret = __archive_write_filter(f->next_filter,
+ return __archive_write_filter(f->next_filter,
state->encoded_buff.s, archive_strlen(&state->encoded_buff));
- ret2 = __archive_write_close_filter(f->next_filter);
- if (ret > ret2)
- ret = ret2;
- return (ret);
}
static int
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_xz.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_xz.c
index e4a3535..2ad4bcb 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_xz.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_xz.c
@@ -309,10 +309,6 @@ archive_compressor_xz_open(struct archive_write_filter *f)
struct private_data *data = f->data;
int ret;
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != ARCHIVE_OK)
- return (ret);
-
if (data->compressed == NULL) {
size_t bs = 65536, bpb;
if (f->archive->magic == ARCHIVE_WRITE_MAGIC) {
@@ -390,10 +386,13 @@ archive_compressor_xz_options(struct archive_write_filter *f,
data->compression_level = 6;
return (ARCHIVE_OK);
} else if (strcmp(key, "threads") == 0) {
+ char *endptr;
+
if (value == NULL)
return (ARCHIVE_WARN);
- data->threads = (int)strtoul(value, NULL, 10);
- if (data->threads == 0 && errno != 0) {
+ errno = 0;
+ data->threads = (int)strtoul(value, &endptr, 10);
+ if (errno != 0 || *endptr != '\0') {
data->threads = 1;
return (ARCHIVE_WARN);
}
@@ -445,7 +444,7 @@ static int
archive_compressor_xz_close(struct archive_write_filter *f)
{
struct private_data *data = (struct private_data *)f->data;
- int ret, r1;
+ int ret;
ret = drive_compressor(f, data, 1);
if (ret == ARCHIVE_OK) {
@@ -463,8 +462,7 @@ archive_compressor_xz_close(struct archive_write_filter *f)
}
}
lzma_end(&(data->stream));
- r1 = __archive_write_close_filter(f->next_filter);
- return (r1 < ret ? r1 : ret);
+ return ret;
}
static int
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_zstd.c b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_zstd.c
index 251b17d..d0d78a0 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_add_filter_zstd.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_add_filter_zstd.c
@@ -172,11 +172,6 @@ static int
archive_compressor_zstd_open(struct archive_write_filter *f)
{
struct private_data *data = (struct private_data *)f->data;
- int ret;
-
- ret = __archive_write_open_filter(f->next_filter);
- if (ret != ARCHIVE_OK)
- return (ret);
if (data->out.dst == NULL) {
size_t bs = ZSTD_CStreamOutSize(), bpb;
@@ -238,14 +233,9 @@ static int
archive_compressor_zstd_close(struct archive_write_filter *f)
{
struct private_data *data = (struct private_data *)f->data;
- int r1, r2;
/* Finish zstd frame */
- r1 = drive_compressor(f, data, 1, NULL, 0);
-
- r2 = __archive_write_close_filter(f->next_filter);
-
- return r1 < r2 ? r1 : r2;
+ return drive_compressor(f, data, 1, NULL, 0);
}
/*
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_blocksize.3 b/Utilities/cmlibarchive/libarchive/archive_write_blocksize.3
index afd84ea..4973f99 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_blocksize.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_blocksize.3
@@ -107,8 +107,8 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr mtree 5 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_data.3 b/Utilities/cmlibarchive/libarchive/archive_write_data.3
index 9c16cd9..bc208b4 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_data.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_data.3
@@ -82,9 +82,9 @@ and consider any non-negative value as success.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write_finish_entry 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr mtree 5 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_disk.3 b/Utilities/cmlibarchive/libarchive/archive_write_disk.3
index 949c9ef..2fa016e 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_disk.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_disk.3
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd April 3, 2017
+.Dd January 19, 2020
.Dt ARCHIVE_WRITE_DISK 3
.Os
.Sh NAME
@@ -113,7 +113,8 @@ or
.Pq FreeBSD, Mac OS X
for more information on file attributes.
.It Cm ARCHIVE_EXTRACT_MAC_METADATA
-Mac OS X specific. Restore metadata using
+Mac OS X specific.
+Restore metadata using
.Xr copyfile 3 .
By default,
.Xr copyfile 3
@@ -138,6 +139,11 @@ is not specified, then SUID and SGID bits will only be restored
if the default user and group IDs of newly-created objects on disk
happen to match those specified in the archive entry.
By default, only basic permissions are restored, and umask is obeyed.
+.It Cm ARCHIVE_EXTRACT_SAFE_WRITES
+Extract files atomically, by first creating a unique temporary file and then
+renaming it to its required destination name.
+This avoids a race where an application might see a partial file (or no
+file) during extraction.
.It Cm ARCHIVE_EXTRACT_SECURE_NOABSOLUTEPATHS
Refuse to extract an absolute path.
The default is to not refuse such paths.
@@ -264,9 +270,9 @@ and
functions.
.\"
.Sh SEE ALSO
+.Xr tar 1 ,
.Xr archive_read 3 ,
.Xr archive_write 3 ,
-.Xr tar 1 ,
.Xr libarchive 3
.Sh HISTORY
The
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c b/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c
index affa503..1f7e673 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_disk_posix.c
@@ -165,6 +165,10 @@ __FBSDID("$FreeBSD$");
#define O_NOFOLLOW 0
#endif
+#ifndef AT_FDCWD
+#define AT_FDCWD -100
+#endif
+
struct fixup_entry {
struct fixup_entry *next;
struct archive_acl acl;
@@ -249,6 +253,8 @@ struct archive_write_disk {
struct archive_entry *entry; /* Entry being extracted. */
char *name; /* Name of entry, possibly edited. */
struct archive_string _name_data; /* backing store for 'name' */
+ char *tmpname; /* Temporary name * */
+ struct archive_string _tmpname_data; /* backing store for 'tmpname' */
/* Tasks remaining for this object. */
int todo;
/* Tasks deferred until end-of-archive. */
@@ -348,6 +354,9 @@ struct archive_write_disk {
#define HFS_BLOCKS(s) ((s) >> 12)
+
+static int la_opendirat(int, const char *);
+static int la_mktemp(struct archive_write_disk *);
static void fsobj_error(int *, struct archive_string *, int, const char *,
const char *);
static int check_symlinks_fsobj(char *, int *, struct archive_string *,
@@ -401,6 +410,61 @@ static ssize_t _archive_write_disk_data_block(struct archive *, const void *,
size_t, int64_t);
static int
+la_mktemp(struct archive_write_disk *a)
+{
+ int oerrno, fd;
+ mode_t mode;
+
+ archive_string_empty(&a->_tmpname_data);
+ archive_string_sprintf(&a->_tmpname_data, "%s.XXXXXX", a->name);
+ a->tmpname = a->_tmpname_data.s;
+
+ fd = __archive_mkstemp(a->tmpname);
+ if (fd == -1)
+ return -1;
+
+ mode = a->mode & 0777 & ~a->user_umask;
+ if (fchmod(fd, mode) == -1) {
+ oerrno = errno;
+ close(fd);
+ errno = oerrno;
+ return -1;
+ }
+ return fd;
+}
+
+static int
+la_opendirat(int fd, const char *path) {
+ const int flags = O_CLOEXEC
+#if defined(O_BINARY)
+ | O_BINARY
+#endif
+#if defined(O_DIRECTORY)
+ | O_DIRECTORY
+#endif
+#if defined(O_PATH)
+ | O_PATH
+#elif defined(O_SEARCH)
+ | O_SEARCH
+#elif defined(__FreeBSD__) && defined(O_EXEC)
+ | O_EXEC
+#else
+ | O_RDONLY
+#endif
+ ;
+
+#if !defined(HAVE_OPENAT)
+ if (fd != AT_FDCWD) {
+ errno = ENOTSUP;
+ return (-1);
+ } else
+ return (open(path, flags));
+#else
+ return (openat(fd, path, flags));
+#endif
+}
+
+static int
lazy_stat(struct archive_write_disk *a)
{
if (a->pst != NULL) {
@@ -1705,6 +1769,20 @@ _archive_write_disk_finish_entry(struct archive *_a)
}
/*
+ * HYPOTHESIS:
+ * If we're not root, we won't be setting any security
+ * attributes that may be wiped by the set_mode() routine
+ * below. We also can't set xattr on non-owner-writable files,
+ * which may be the state after set_mode(). Perform
+ * set_xattrs() first based on these constraints.
+ */
+ if (a->user_uid != 0 &&
+ (a->todo & TODO_XATTR)) {
+ int r2 = set_xattrs(a);
+ if (r2 < ret) ret = r2;
+ }
+
+ /*
* set_mode must precede ACLs on systems such as Solaris and
* FreeBSD where setting the mode implicitly clears extended ACLs
*/
@@ -1717,8 +1795,10 @@ _archive_write_disk_finish_entry(struct archive *_a)
* Security-related extended attributes (such as
* security.capability on Linux) have to be restored last,
* since they're implicitly removed by other file changes.
+ * We do this last only when root.
*/
- if (a->todo & TODO_XATTR) {
+ if (a->user_uid == 0 &&
+ (a->todo & TODO_XATTR)) {
int r2 = set_xattrs(a);
if (r2 < ret) ret = r2;
}
@@ -1773,12 +1853,18 @@ finish_metadata:
if (a->fd >= 0) {
close(a->fd);
a->fd = -1;
+ if (a->tmpname) {
+ if (rename(a->tmpname, a->name) == -1) {
+ archive_set_error(&a->archive, errno,
+ "rename failed");
+ ret = ARCHIVE_FATAL;
+ }
+ a->tmpname = NULL;
+ }
}
/* If there's an entry, we can release it now. */
- if (a->entry) {
- archive_entry_free(a->entry);
- a->entry = NULL;
- }
+ archive_entry_free(a->entry);
+ a->entry = NULL;
a->archive.state = ARCHIVE_STATE_HEADER;
return (ret);
}
@@ -1895,7 +1981,7 @@ edit_deep_directories(struct archive_write_disk *a)
return;
/* Try to record our starting dir. */
- a->restore_pwd = open(".", O_RDONLY | O_BINARY | O_CLOEXEC);
+ a->restore_pwd = la_opendirat(AT_FDCWD, ".");
__archive_ensure_cloexec_flag(a->restore_pwd);
if (a->restore_pwd < 0)
return;
@@ -2018,7 +2104,7 @@ restore_entry(struct archive_write_disk *a)
* follow the symlink if we're creating a dir.
*/
if (S_ISDIR(a->mode))
- r = stat(a->name, &a->st);
+ r = la_stat(a->name, &a->st);
/*
* If it's not a dir (or it's a broken symlink),
* then don't follow it.
@@ -2052,17 +2138,28 @@ restore_entry(struct archive_write_disk *a)
}
if (!S_ISDIR(a->st.st_mode)) {
- /* A non-dir is in the way, unlink it. */
if (a->flags & ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS)
(void)clear_nochange_fflags(a);
- if (unlink(a->name) != 0) {
- archive_set_error(&a->archive, errno,
- "Can't unlink already-existing object");
- return (ARCHIVE_FAILED);
+
+ if ((a->flags & ARCHIVE_EXTRACT_SAFE_WRITES) &&
+ S_ISREG(a->st.st_mode)) {
+ /* Use a temporary file to extract */
+ if ((a->fd = la_mktemp(a)) == -1)
+ return ARCHIVE_FAILED;
+ a->pst = NULL;
+ en = 0;
+ } else {
+ /* A non-dir is in the way, unlink it. */
+ if (unlink(a->name) != 0) {
+ archive_set_error(&a->archive, errno,
+ "Can't unlink already-existing "
+ "object");
+ return (ARCHIVE_FAILED);
+ }
+ a->pst = NULL;
+ /* Try again. */
+ en = create_filesystem_object(a);
}
- a->pst = NULL;
- /* Try again. */
- en = create_filesystem_object(a);
} else if (!S_ISDIR(a->mode)) {
/* A dir is in the way of a non-dir, rmdir it. */
if (a->flags & ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS)
@@ -2164,6 +2261,13 @@ create_filesystem_object(struct archive_write_disk *a)
}
free(linkname_copy);
archive_string_free(&error_string);
+ /*
+ * Unlinking and linking here is really not atomic,
+ * but doing it right, would require us to construct
+ * an mktemplink() function, and then use rename(2).
+ */
+ if (a->flags & ARCHIVE_EXTRACT_SAFE_WRITES)
+ unlink(a->name);
r = link(linkname, a->name) ? errno : 0;
/*
* New cpio and pax formats allow hardlink entries
@@ -2184,7 +2288,7 @@ create_filesystem_object(struct archive_write_disk *a)
#ifdef HAVE_LSTAT
r = lstat(a->name, &st);
#else
- r = stat(a->name, &st);
+ r = la_stat(a->name, &st);
#endif
if (r != 0)
r = errno;
@@ -2202,6 +2306,13 @@ create_filesystem_object(struct archive_write_disk *a)
linkname = archive_entry_symlink(a->entry);
if (linkname != NULL) {
#if HAVE_SYMLINK
+ /*
+ * Unlinking and linking here is really not atomic,
+ * but doing it right, would require us to construct
+ * an mktempsymlink() function, and then use rename(2).
+ */
+ if (a->flags & ARCHIVE_EXTRACT_SAFE_WRITES)
+ unlink(a->name);
return symlink(linkname, a->name) ? errno : 0;
#else
return (EPERM);
@@ -2223,11 +2334,21 @@ create_filesystem_object(struct archive_write_disk *a)
*/
mode = final_mode & 0777 & ~a->user_umask;
+ /*
+ * Always create writable such that [f]setxattr() works if we're not
+ * root.
+ */
+ if (a->user_uid != 0 &&
+ a->todo & (TODO_HFS_COMPRESSION | TODO_XATTR)) {
+ mode |= 0200;
+ }
+
switch (a->mode & AE_IFMT) {
default:
/* POSIX requires that we fall through here. */
/* FALLTHROUGH */
case AE_IFREG:
+ a->tmpname = NULL;
a->fd = open(a->name,
O_WRONLY | O_CREAT | O_EXCL | O_BINARY | O_CLOEXEC, mode);
__archive_ensure_cloexec_flag(a->fd);
@@ -2319,7 +2440,7 @@ _archive_write_disk_close(struct archive *_a)
{
struct archive_write_disk *a = (struct archive_write_disk *)_a;
struct fixup_entry *next, *p;
- int ret;
+ int fd, ret;
archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC,
ARCHIVE_STATE_HEADER | ARCHIVE_STATE_DATA,
@@ -2330,21 +2451,33 @@ _archive_write_disk_close(struct archive *_a)
p = sort_dir_list(a->fixup_list);
while (p != NULL) {
+ fd = -1;
a->pst = NULL; /* Mark stat cache as out-of-date. */
+ if (p->fixup &
+ (TODO_TIMES | TODO_MODE_BASE | TODO_ACLS | TODO_FFLAGS)) {
+ fd = open(p->name,
+ O_WRONLY | O_BINARY | O_NOFOLLOW | O_CLOEXEC);
+ }
if (p->fixup & TODO_TIMES) {
- set_times(a, -1, p->mode, p->name,
+ set_times(a, fd, p->mode, p->name,
p->atime, p->atime_nanos,
p->birthtime, p->birthtime_nanos,
p->mtime, p->mtime_nanos,
p->ctime, p->ctime_nanos);
}
- if (p->fixup & TODO_MODE_BASE)
+ if (p->fixup & TODO_MODE_BASE) {
+#ifdef HAVE_FCHMOD
+ if (fd >= 0)
+ fchmod(fd, p->mode);
+ else
+#endif
chmod(p->name, p->mode);
+ }
if (p->fixup & TODO_ACLS)
- archive_write_disk_set_acls(&a->archive, -1, p->name,
- &p->acl, p->mode);
+ archive_write_disk_set_acls(&a->archive, fd,
+ p->name, &p->acl, p->mode);
if (p->fixup & TODO_FFLAGS)
- set_fflags_platform(a, -1, p->name,
+ set_fflags_platform(a, fd, p->name,
p->mode, p->fflags_set, 0);
if (p->fixup & TODO_MAC_METADATA)
set_mac_metadata(a, p->name, p->mac_metadata,
@@ -2353,6 +2486,8 @@ _archive_write_disk_close(struct archive *_a)
archive_acl_clear(&p->acl);
free(p->mac_metadata);
free(p->name);
+ if (fd >= 0)
+ close(fd);
free(p);
p = next;
}
@@ -2373,9 +2508,9 @@ _archive_write_disk_free(struct archive *_a)
ret = _archive_write_disk_close(&a->archive);
archive_write_disk_set_group_lookup(&a->archive, NULL, NULL, NULL);
archive_write_disk_set_user_lookup(&a->archive, NULL, NULL, NULL);
- if (a->entry)
- archive_entry_free(a->entry);
+ archive_entry_free(a->entry);
archive_string_free(&a->_name_data);
+ archive_string_free(&a->_tmpname_data);
archive_string_free(&a->archive.error_string);
archive_string_free(&a->path_safe);
a->archive.magic = 0;
@@ -2518,8 +2653,6 @@ fsobj_error(int *a_eno, struct archive_string *a_estr,
* scan the path and both can be optimized by comparing against other
* recent paths.
*/
-/* TODO: Extend this to support symlinks on Windows Vista and later. */
-
/*
* Checks the given path to see if any elements along it are symlinks. Returns
* ARCHIVE_OK if there are none, otherwise puts an error in errmsg.
@@ -2528,7 +2661,8 @@ static int
check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
int flags)
{
-#if !defined(HAVE_LSTAT)
+#if !defined(HAVE_LSTAT) && \
+ !(defined(HAVE_OPENAT) && defined(HAVE_FSTATAT) && defined(HAVE_UNLINKAT))
/* Platform doesn't have lstat, so we can't look for symlinks. */
(void)path; /* UNUSED */
(void)error_number; /* UNUSED */
@@ -2543,7 +2677,10 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
char c;
int r;
struct stat st;
- int restore_pwd;
+ int chdir_fd;
+#if defined(HAVE_OPENAT) && defined(HAVE_FSTATAT) && defined(HAVE_UNLINKAT)
+ int fd;
+#endif
/* Nothing to do here if name is empty */
if(path[0] == '\0')
@@ -2564,10 +2701,13 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
* c holds what used to be in *tail
* last is 1 if this is the last tail
*/
- restore_pwd = open(".", O_RDONLY | O_BINARY | O_CLOEXEC);
- __archive_ensure_cloexec_flag(restore_pwd);
- if (restore_pwd < 0)
+ chdir_fd = la_opendirat(AT_FDCWD, ".");
+ __archive_ensure_cloexec_flag(chdir_fd);
+ if (chdir_fd < 0) {
+ fsobj_error(a_eno, a_estr, errno,
+ "Could not open ", path);
return (ARCHIVE_FATAL);
+ }
head = path;
tail = path;
last = 0;
@@ -2596,7 +2736,11 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
c = tail[0];
tail[0] = '\0';
/* Check that we haven't hit a symlink. */
+#if defined(HAVE_OPENAT) && defined(HAVE_FSTATAT) && defined(HAVE_UNLINKAT)
+ r = fstatat(chdir_fd, head, &st, AT_SYMLINK_NOFOLLOW);
+#else
r = lstat(head, &st);
+#endif
if (r != 0) {
tail[0] = c;
/* We've hit a dir that doesn't exist; stop now. */
@@ -2622,7 +2766,19 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
}
} else if (S_ISDIR(st.st_mode)) {
if (!last) {
- if (chdir(head) != 0) {
+#if defined(HAVE_OPENAT) && defined(HAVE_FSTATAT) && defined(HAVE_UNLINKAT)
+ fd = la_opendirat(chdir_fd, head);
+ if (fd < 0)
+ r = -1;
+ else {
+ r = 0;
+ close(chdir_fd);
+ chdir_fd = fd;
+ }
+#else
+ r = chdir(head);
+#endif
+ if (r != 0) {
tail[0] = c;
fsobj_error(a_eno, a_estr, errno,
"Could not chdir ", path);
@@ -2639,7 +2795,12 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
* so we can overwrite it with the
* item being extracted.
*/
- if (unlink(head)) {
+#if defined(HAVE_OPENAT) && defined(HAVE_FSTATAT) && defined(HAVE_UNLINKAT)
+ r = unlinkat(chdir_fd, head, 0);
+#else
+ r = unlink(head);
+#endif
+ if (r != 0) {
tail[0] = c;
fsobj_error(a_eno, a_estr, errno,
"Could not remove symlink ",
@@ -2669,7 +2830,12 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
break;
} else if (flags & ARCHIVE_EXTRACT_UNLINK) {
/* User asked us to remove problems. */
- if (unlink(head) != 0) {
+#if defined(HAVE_OPENAT) && defined(HAVE_FSTATAT) && defined(HAVE_UNLINKAT)
+ r = unlinkat(chdir_fd, head, 0);
+#else
+ r = unlink(head);
+#endif
+ if (r != 0) {
tail[0] = c;
fsobj_error(a_eno, a_estr, 0,
"Cannot remove intervening "
@@ -2687,7 +2853,11 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
* This is needed to extract hardlinks over
* symlinks.
*/
- r = stat(head, &st);
+#if defined(HAVE_OPENAT) && defined(HAVE_FSTATAT) && defined(HAVE_UNLINKAT)
+ r = fstatat(chdir_fd, head, &st, 0);
+#else
+ r = la_stat(head, &st);
+#endif
if (r != 0) {
tail[0] = c;
if (errno == ENOENT) {
@@ -2700,7 +2870,19 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
break;
}
} else if (S_ISDIR(st.st_mode)) {
- if (chdir(head) != 0) {
+#if defined(HAVE_OPENAT) && defined(HAVE_FSTATAT) && defined(HAVE_UNLINKAT)
+ fd = la_opendirat(chdir_fd, head);
+ if (fd < 0)
+ r = -1;
+ else {
+ r = 0;
+ close(chdir_fd);
+ chdir_fd = fd;
+ }
+#else
+ r = chdir(head);
+#endif
+ if (r != 0) {
tail[0] = c;
fsobj_error(a_eno, a_estr,
errno,
@@ -2736,16 +2918,21 @@ check_symlinks_fsobj(char *path, int *a_eno, struct archive_string *a_estr,
}
/* Catches loop exits via break */
tail[0] = c;
-#ifdef HAVE_FCHDIR
+#if defined(HAVE_OPENAT) && defined(HAVE_FSTATAT) && defined(HAVE_UNLINKAT)
+ /* If we operate with openat(), fstatat() and unlinkat() there was
+ * no chdir(), so just close the fd */
+ if (chdir_fd >= 0)
+ close(chdir_fd);
+#elif HAVE_FCHDIR
/* If we changed directory above, restore it here. */
- if (restore_pwd >= 0) {
- r = fchdir(restore_pwd);
+ if (chdir_fd >= 0) {
+ r = fchdir(chdir_fd);
if (r != 0) {
fsobj_error(a_eno, a_estr, errno,
"chdir() failure", "");
}
- close(restore_pwd);
- restore_pwd = -1;
+ close(chdir_fd);
+ chdir_fd = -1;
if (r != 0) {
res = (ARCHIVE_FATAL);
}
@@ -3027,7 +3214,7 @@ create_dir(struct archive_write_disk *a, char *path)
* here loses the ability to extract through symlinks. Also note
* that this should not use the a->st cache.
*/
- if (stat(path, &st) == 0) {
+ if (la_stat(path, &st) == 0) {
if (S_ISDIR(st.st_mode))
return (ARCHIVE_OK);
if ((a->flags & ARCHIVE_EXTRACT_NO_OVERWRITE)) {
@@ -3085,7 +3272,7 @@ create_dir(struct archive_write_disk *a, char *path)
* don't add it to the fixup list here, as it's already been
* added.
*/
- if (stat(path, &st) == 0 && S_ISDIR(st.st_mode))
+ if (la_stat(path, &st) == 0 && S_ISDIR(st.st_mode))
return (ARCHIVE_OK);
archive_set_error(&a->archive, errno, "Failed to create dir '%s'",
@@ -3106,12 +3293,14 @@ create_dir(struct archive_write_disk *a, char *path)
static int
set_ownership(struct archive_write_disk *a)
{
-#ifndef __CYGWIN__
-/* unfortunately, on win32 there is no 'root' user with uid 0,
- so we just have to try the chown and see if it works */
-
- /* If we know we can't change it, don't bother trying. */
- if (a->user_uid != 0 && a->user_uid != a->uid) {
+#if !defined(__CYGWIN__) && !defined(__linux__)
+/*
+ * On Linux, a process may have the CAP_CHOWN capability.
+ * On Windows there is no 'root' user with uid 0.
+ * Elsewhere we can skip calling chown if we are not root and the desired
+ * user id does not match the current user.
+ */
+ if (a->user_uid != 0 && a->user_uid != a->uid) {
archive_set_error(&a->archive, errno,
"Can't set UID=%jd", (intmax_t)a->uid);
return (ARCHIVE_WARN);
@@ -3360,6 +3549,7 @@ static int
set_mode(struct archive_write_disk *a, int mode)
{
int r = ARCHIVE_OK;
+ int r2;
mode &= 07777; /* Strip off file type bits. */
if (a->todo & TODO_SGID_CHECK) {
@@ -3453,21 +3643,19 @@ set_mode(struct archive_write_disk *a, int mode)
* post-extract fixup, which is handled elsewhere.
*/
#ifdef HAVE_FCHMOD
- if (a->fd >= 0) {
- if (fchmod(a->fd, mode) != 0) {
- archive_set_error(&a->archive, errno,
- "Can't set permissions to 0%o", (int)mode);
- r = ARCHIVE_WARN;
- }
- } else
+ if (a->fd >= 0)
+ r2 = fchmod(a->fd, mode);
+ else
#endif
- /* If this platform lacks fchmod(), then
- * we'll just use chmod(). */
- if (chmod(a->name, mode) != 0) {
- archive_set_error(&a->archive, errno,
- "Can't set permissions to 0%o", (int)mode);
- r = ARCHIVE_WARN;
- }
+ /* If this platform lacks fchmod(), then
+ * we'll just use chmod(). */
+ r2 = chmod(a->name, mode);
+
+ if (r2 != 0) {
+ archive_set_error(&a->archive, errno,
+ "Can't set permissions to 0%o", (int)mode);
+ r = ARCHIVE_WARN;
+ }
}
return (r);
}
@@ -3478,9 +3666,7 @@ set_fflags(struct archive_write_disk *a)
struct fixup_entry *le;
unsigned long set, clear;
int r;
- int critical_flags;
mode_t mode = archive_entry_mode(a->entry);
-
/*
* Make 'critical_flags' hold all file flags that can't be
* immediately restored. For example, on BSD systems,
@@ -3496,33 +3682,33 @@ set_fflags(struct archive_write_disk *a)
* other programs that might try to muck with files as they're
* being restored.
*/
- /* Hopefully, the compiler will optimize this mess into a constant. */
- critical_flags = 0;
+ const int critical_flags = 0
#ifdef SF_IMMUTABLE
- critical_flags |= SF_IMMUTABLE;
+ | SF_IMMUTABLE
#endif
#ifdef UF_IMMUTABLE
- critical_flags |= UF_IMMUTABLE;
+ | UF_IMMUTABLE
#endif
#ifdef SF_APPEND
- critical_flags |= SF_APPEND;
+ | SF_APPEND
#endif
#ifdef UF_APPEND
- critical_flags |= UF_APPEND;
+ | UF_APPEND
#endif
#if defined(FS_APPEND_FL)
- critical_flags |= FS_APPEND_FL;
+ | FS_APPEND_FL
#elif defined(EXT2_APPEND_FL)
- critical_flags |= EXT2_APPEND_FL;
+ | EXT2_APPEND_FL
#endif
#if defined(FS_IMMUTABLE_FL)
- critical_flags |= FS_IMMUTABLE_FL;
+ | FS_IMMUTABLE_FL
#elif defined(EXT2_IMMUTABLE_FL)
- critical_flags |= EXT2_IMMUTABLE_FL;
+ | EXT2_IMMUTABLE_FL
#endif
#ifdef FS_JOURNAL_DATA_FL
- critical_flags |= FS_JOURNAL_DATA_FL;
+ | FS_JOURNAL_DATA_FL
#endif
+ ;
if (a->todo & TODO_FFLAGS) {
archive_entry_fflags(a->entry, &set, &clear);
@@ -3553,29 +3739,27 @@ set_fflags(struct archive_write_disk *a)
static int
clear_nochange_fflags(struct archive_write_disk *a)
{
- int nochange_flags;
mode_t mode = archive_entry_mode(a->entry);
-
- /* Hopefully, the compiler will optimize this mess into a constant. */
- nochange_flags = 0;
+ const int nochange_flags = 0
#ifdef SF_IMMUTABLE
- nochange_flags |= SF_IMMUTABLE;
+ | SF_IMMUTABLE
#endif
#ifdef UF_IMMUTABLE
- nochange_flags |= UF_IMMUTABLE;
+ | UF_IMMUTABLE
#endif
#ifdef SF_APPEND
- nochange_flags |= SF_APPEND;
+ | SF_APPEND
#endif
#ifdef UF_APPEND
- nochange_flags |= UF_APPEND;
+ | UF_APPEND
#endif
#ifdef EXT2_APPEND_FL
- nochange_flags |= EXT2_APPEND_FL;
+ | EXT2_APPEND_FL
#endif
#ifdef EXT2_IMMUTABLE_FL
- nochange_flags |= EXT2_IMMUTABLE_FL;
+ | EXT2_IMMUTABLE_FL
#endif
+ ;
return (set_fflags_platform(a, a->fd, a->name, mode, 0,
nochange_flags));
@@ -3591,8 +3775,22 @@ set_fflags_platform(struct archive_write_disk *a, int fd, const char *name,
mode_t mode, unsigned long set, unsigned long clear)
{
int r;
-
+ const int sf_mask = 0
+#ifdef SF_APPEND
+ | SF_APPEND
+#endif
+#ifdef SF_ARCHIVED
+ | SF_ARCHIVED
+#endif
+#ifdef SF_IMMUTABLE
+ | SF_IMMUTABLE
+#endif
+#ifdef SF_NOUNLINK
+ | SF_NOUNLINK
+#endif
+ ;
(void)mode; /* UNUSED */
+
if (set == 0 && clear == 0)
return (ARCHIVE_OK);
@@ -3607,6 +3805,12 @@ set_fflags_platform(struct archive_write_disk *a, int fd, const char *name,
a->st.st_flags &= ~clear;
a->st.st_flags |= set;
+
+ /* Only super-user may change SF_* flags */
+
+ if (a->user_uid != 0)
+ a->st.st_flags &= ~sf_mask;
+
#ifdef HAVE_FCHFLAGS
/* If platform has fchflags() and we were given an fd, use it. */
if (fd >= 0 && fchflags(fd, a->st.st_flags) == 0)
@@ -3648,22 +3852,6 @@ set_fflags_platform(struct archive_write_disk *a, int fd, const char *name,
int ret;
int myfd = fd;
int newflags, oldflags;
- int sf_mask = 0;
-
- if (set == 0 && clear == 0)
- return (ARCHIVE_OK);
- /* Only regular files and dirs can have flags. */
- if (!S_ISREG(mode) && !S_ISDIR(mode))
- return (ARCHIVE_OK);
-
- /* If we weren't given an fd, open it ourselves. */
- if (myfd < 0) {
- myfd = open(name, O_RDONLY | O_NONBLOCK | O_BINARY | O_CLOEXEC);
- __archive_ensure_cloexec_flag(myfd);
- }
- if (myfd < 0)
- return (ARCHIVE_OK);
-
/*
* Linux has no define for the flags that are only settable by
* the root user. This code may seem a little complex, but
@@ -3671,19 +3859,36 @@ set_fflags_platform(struct archive_write_disk *a, int fd, const char *name,
* defines. (?) The code below degrades reasonably gracefully
* if sf_mask is incomplete.
*/
+ const int sf_mask = 0
#if defined(FS_IMMUTABLE_FL)
- sf_mask |= FS_IMMUTABLE_FL;
+ | FS_IMMUTABLE_FL
#elif defined(EXT2_IMMUTABLE_FL)
- sf_mask |= EXT2_IMMUTABLE_FL;
+ | EXT2_IMMUTABLE_FL
#endif
#if defined(FS_APPEND_FL)
- sf_mask |= FS_APPEND_FL;
+ | FS_APPEND_FL
#elif defined(EXT2_APPEND_FL)
- sf_mask |= EXT2_APPEND_FL;
+ | EXT2_APPEND_FL
#endif
#if defined(FS_JOURNAL_DATA_FL)
- sf_mask |= FS_JOURNAL_DATA_FL;
+ | FS_JOURNAL_DATA_FL
#endif
+ ;
+
+ if (set == 0 && clear == 0)
+ return (ARCHIVE_OK);
+ /* Only regular files and dirs can have flags. */
+ if (!S_ISREG(mode) && !S_ISDIR(mode))
+ return (ARCHIVE_OK);
+
+ /* If we weren't given an fd, open it ourselves. */
+ if (myfd < 0) {
+ myfd = open(name, O_RDONLY | O_NONBLOCK | O_BINARY | O_CLOEXEC);
+ __archive_ensure_cloexec_flag(myfd);
+ }
+ if (myfd < 0)
+ return (ARCHIVE_OK);
+
/*
* XXX As above, this would be way simpler if we didn't have
* to read the current flags from disk. XXX
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_disk_private.h b/Utilities/cmlibarchive/libarchive/archive_write_disk_private.h
index b655dea..557d7e2 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_disk_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_write_disk_private.h
@@ -26,13 +26,13 @@
* $FreeBSD: head/lib/libarchive/archive_write_disk_private.h 201086 2009-12-28 02:17:53Z kientzle $
*/
+#ifndef ARCHIVE_WRITE_DISK_PRIVATE_H_INCLUDED
+#define ARCHIVE_WRITE_DISK_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_WRITE_DISK_PRIVATE_H_INCLUDED
-#define ARCHIVE_WRITE_DISK_PRIVATE_H_INCLUDED
-
#include "archive_platform_acl.h"
#include "archive_acl_private.h"
#include "archive_entry.h"
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c b/Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c
index 5c766d7..5fccdb9 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_disk_set_standard_lookup.c
@@ -114,8 +114,7 @@ lookup_gid(void *private_data, const char *gname, int64_t gid)
return ((gid_t)b->id);
/* Free the cache slot for a new entry. */
- if (b->name != NULL)
- free(b->name);
+ free(b->name);
b->name = strdup(gname);
/* Note: If strdup fails, that's okay; we just won't cache. */
b->hash = h;
@@ -184,8 +183,7 @@ lookup_uid(void *private_data, const char *uname, int64_t uid)
return ((uid_t)b->id);
/* Free the cache slot for a new entry. */
- if (b->name != NULL)
- free(b->name);
+ free(b->name);
b->name = strdup(uname);
/* Note: If strdup fails, that's okay; we just won't cache. */
b->hash = h;
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_disk_windows.c b/Utilities/cmlibarchive/libarchive/archive_write_disk_windows.c
index 78eda4a..77e36c4 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_disk_windows.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_disk_windows.c
@@ -165,6 +165,8 @@ struct archive_write_disk {
struct archive_entry *entry; /* Entry being extracted. */
wchar_t *name; /* Name of entry, possibly edited. */
struct archive_wstring _name_data; /* backing store for 'name' */
+ wchar_t *tmpname; /* Temporary name */
+ struct archive_wstring _tmpname_data; /* backing store for 'tmpname' */
/* Tasks remaining for this object. */
int todo;
/* Tasks deferred until end-of-archive. */
@@ -205,6 +207,8 @@ struct archive_write_disk {
#define MINIMUM_DIR_MODE 0700
#define MAXIMUM_DIR_MODE 0775
+static int disk_unlink(const wchar_t *);
+static int disk_rmdir(const wchar_t *);
static int check_symlinks(struct archive_write_disk *);
static int create_filesystem_object(struct archive_write_disk *);
static struct fixup_entry *current_fixup(struct archive_write_disk *,
@@ -213,13 +217,17 @@ static int cleanup_pathname(struct archive_write_disk *);
static int create_dir(struct archive_write_disk *, wchar_t *);
static int create_parent_dir(struct archive_write_disk *, wchar_t *);
static int la_chmod(const wchar_t *, mode_t);
+static int la_mktemp(struct archive_write_disk *);
static int older(BY_HANDLE_FILE_INFORMATION *, struct archive_entry *);
static int permissive_name_w(struct archive_write_disk *);
static int restore_entry(struct archive_write_disk *);
static int set_acls(struct archive_write_disk *, HANDLE h,
const wchar_t *, struct archive_acl *);
static int set_xattrs(struct archive_write_disk *);
+static int clear_nochange_fflags(struct archive_write_disk *);
static int set_fflags(struct archive_write_disk *);
+static int set_fflags_platform(const wchar_t *, unsigned long,
+ unsigned long);
static int set_ownership(struct archive_write_disk *);
static int set_mode(struct archive_write_disk *, int mode);
static int set_times(struct archive_write_disk *, HANDLE, int,
@@ -474,6 +482,11 @@ permissive_name_w(struct archive_write_disk *a)
{
archive_wstrncpy(&(a->_name_data), wsp, l);
}
+ else if (l > 2 && wsp[0] == L'\\' && wsp[1] == L'\\' && wsp[2] != L'\\')
+ {
+ archive_wstrncpy(&(a->_name_data), L"\\\\?\\UNC\\", 8);
+ archive_wstrncat(&(a->_name_data), wsp+2, l-2);
+ }
else
{
archive_wstrncpy(&(a->_name_data), L"\\\\?\\", 4);
@@ -524,6 +537,28 @@ exit_chmode:
return (ret);
}
+static int
+la_mktemp(struct archive_write_disk *a)
+{
+ int fd;
+ mode_t mode;
+
+ archive_wstring_empty(&(a->_tmpname_data));
+ archive_wstrcpy(&(a->_tmpname_data), a->name);
+ archive_wstrcat(&(a->_tmpname_data), L".XXXXXX");
+ a->tmpname = a->_tmpname_data.s;
+
+ fd = __archive_mkstemp(a->tmpname);
+
+ mode = a->mode & 0777 & ~a->user_umask;
+ if (la_chmod(a->tmpname, mode) == -1) {
+ la_dosmaperr(GetLastError());
+ _close(fd);
+ return -1;
+ }
+ return (fd);
+}
+
static void *
la_GetFunctionKernel32(const char *name)
{
@@ -551,8 +586,10 @@ la_CreateHardLinkW(wchar_t *linkname, wchar_t *target)
set = 1;
f = la_GetFunctionKernel32("CreateHardLinkW");
}
- if (!f)
+ if (!f) {
+ errno = ENOTSUP;
return (0);
+ }
ret = (*f)(linkname, target, NULL);
if (!ret) {
/* Under windows 2000, it is necessary to remove
@@ -577,6 +614,103 @@ la_CreateHardLinkW(wchar_t *linkname, wchar_t *target)
return (ret);
}
+/*
+ * Create file or directory symolic link
+ *
+ * If linktype is AE_SYMLINK_TYPE_UNDEFINED (or unknown), guess linktype from
+ * the link target
+ */
+static int
+la_CreateSymbolicLinkW(const wchar_t *linkname, const wchar_t *target,
+ int linktype) {
+ static BOOLEAN (WINAPI *f)(LPCWSTR, LPCWSTR, DWORD);
+ static int set;
+ wchar_t *ttarget, *p;
+ int len;
+ DWORD attrs = 0;
+ DWORD flags = 0;
+ DWORD newflags = 0;
+ BOOL ret = 0;
+
+ if (!set) {
+ set = 1;
+ f = la_GetFunctionKernel32("CreateSymbolicLinkW");
+ }
+ if (!f)
+ return (0);
+
+ len = wcslen(target);
+ if (len == 0) {
+ errno = EINVAL;
+ return(0);
+ }
+ /*
+ * When writing path targets, we need to translate slashes
+ * to backslashes
+ */
+ ttarget = malloc((len + 1) * sizeof(wchar_t));
+ if (ttarget == NULL)
+ return(0);
+
+ p = ttarget;
+
+ while(*target != L'\0') {
+ if (*target == L'/')
+ *p = L'\\';
+ else
+ *p = *target;
+ target++;
+ p++;
+ }
+ *p = L'\0';
+
+ /*
+ * In case of undefined symlink type we guess it from the target.
+ * If the target equals ".", "..", ends with a backslash or a
+ * backslash followed by "." or ".." we assume it is a directory
+ * symlink. In all other cases we assume a file symlink.
+ */
+ if (linktype != AE_SYMLINK_TYPE_FILE && (
+ linktype == AE_SYMLINK_TYPE_DIRECTORY ||
+ *(p - 1) == L'\\' || (*(p - 1) == L'.' && (
+ len == 1 || *(p - 2) == L'\\' || ( *(p - 2) == L'.' && (
+ len == 2 || *(p - 3) == L'\\')))))) {
+#if defined(SYMBOLIC_LINK_FLAG_DIRECTORY)
+ flags |= SYMBOLIC_LINK_FLAG_DIRECTORY;
+#else
+ flags |= 0x1;
+#endif
+ }
+
+#if defined(SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE)
+ newflags = flags | SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE;
+#else
+ newflags = flags | 0x2;
+#endif
+
+ /*
+ * Windows won't overwrite existing links
+ */
+ attrs = GetFileAttributesW(linkname);
+ if (attrs != INVALID_FILE_ATTRIBUTES) {
+ if (attrs & FILE_ATTRIBUTE_DIRECTORY)
+ disk_rmdir(linkname);
+ else
+ disk_unlink(linkname);
+ }
+
+ ret = (*f)(linkname, ttarget, newflags);
+ /*
+ * Prior to Windows 10 calling CreateSymbolicLinkW() will fail
+ * if SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE is set
+ */
+ if (!ret) {
+ ret = (*f)(linkname, ttarget, flags);
+ }
+ free(ttarget);
+ return (ret);
+}
+
static int
la_ftruncate(HANDLE handle, int64_t length)
{
@@ -696,10 +830,8 @@ _archive_write_disk_header(struct archive *_a, struct archive_entry *entry)
a->pst = NULL;
a->current_fixup = NULL;
a->deferred = 0;
- if (a->entry) {
- archive_entry_free(a->entry);
- a->entry = NULL;
- }
+ archive_entry_free(a->entry);
+ a->entry = NULL;
a->entry = archive_entry_clone(entry);
a->fh = INVALID_HANDLE_VALUE;
a->fd_offset = 0;
@@ -860,9 +992,11 @@ _archive_write_disk_header(struct archive *_a, struct archive_entry *entry)
}
if (a->deferred & TODO_FFLAGS) {
+ unsigned long set, clear;
+
fe = current_fixup(a, archive_entry_pathname_w(entry));
- fe->fixup |= TODO_FFLAGS;
- /* TODO: Complete this.. defer fflags from below. */
+ archive_entry_fflags(entry, &set, &clear);
+ fe->fflags_set = set;
}
/*
@@ -1143,12 +1277,20 @@ _archive_write_disk_finish_entry(struct archive *_a)
if (a->fh != INVALID_HANDLE_VALUE) {
CloseHandle(a->fh);
a->fh = INVALID_HANDLE_VALUE;
+ if (a->tmpname) {
+ /* Windows does not support atomic rename */
+ disk_unlink(a->name);
+ if (_wrename(a->tmpname, a->name) != 0) {
+ archive_set_error(&a->archive, errno,
+ "rename failed");
+ ret = ARCHIVE_FATAL;
+ }
+ a->tmpname = NULL;
+ }
}
/* If there's an entry, we can release it now. */
- if (a->entry) {
- archive_entry_free(a->entry);
- a->entry = NULL;
- }
+ archive_entry_free(a->entry);
+ a->entry = NULL;
a->archive.state = ARCHIVE_STATE_HEADER;
return (ret);
}
@@ -1239,7 +1381,7 @@ archive_write_disk_new(void)
}
static int
-disk_unlink(wchar_t *path)
+disk_unlink(const wchar_t *path)
{
wchar_t *fullname;
int r;
@@ -1254,7 +1396,7 @@ disk_unlink(wchar_t *path)
}
static int
-disk_rmdir(wchar_t *path)
+disk_rmdir(const wchar_t *path)
{
wchar_t *fullname;
int r;
@@ -1285,6 +1427,8 @@ restore_entry(struct archive_write_disk *a)
* object is a dir, but that doesn't mean the old
* object isn't a dir.
*/
+ if (a->flags & ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS)
+ (void)clear_nochange_fflags(a);
if (disk_unlink(a->name) == 0) {
/* We removed it, reset cached stat. */
a->pst = NULL;
@@ -1359,28 +1503,45 @@ restore_entry(struct archive_write_disk *a)
en = create_filesystem_object(a);
} else if (en == EEXIST) {
mode_t st_mode;
+ mode_t lst_mode;
+ BY_HANDLE_FILE_INFORMATION lst;
/*
* We know something is in the way, but we don't know what;
* we need to find out before we go any further.
*/
int r = 0;
+ int dirlnk = 0;
+
/*
* The SECURE_SYMLINK logic has already removed a
* symlink to a dir if the client wants that. So
* follow the symlink if we're creating a dir.
- */
- if (S_ISDIR(a->mode))
- r = file_information(a, a->name, &a->st, &st_mode, 0);
- /*
* If it's not a dir (or it's a broken symlink),
* then don't follow it.
+ *
+ * Windows distinguishes file and directory symlinks.
+ * A file symlink may erroneously point to a directory
+ * and a directory symlink to a file. Windows does not follow
+ * such symlinks. We always need both source and target
+ * information.
*/
- if (r != 0 || !S_ISDIR(a->mode))
- r = file_information(a, a->name, &a->st, &st_mode, 1);
+ r = file_information(a, a->name, &lst, &lst_mode, 1);
if (r != 0) {
archive_set_error(&a->archive, errno,
"Can't stat existing object");
return (ARCHIVE_FAILED);
+ } else if (S_ISLNK(lst_mode)) {
+ if (lst.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ dirlnk = 1;
+ /* In case of a symlink we need target information */
+ r = file_information(a, a->name, &a->st, &st_mode, 0);
+ if (r != 0) {
+ a->st = lst;
+ st_mode = lst_mode;
+ }
+ } else {
+ a->st = lst;
+ st_mode = lst_mode;
}
/*
@@ -1404,17 +1565,50 @@ restore_entry(struct archive_write_disk *a)
}
if (!S_ISDIR(st_mode)) {
- /* A non-dir is in the way, unlink it. */
- if (disk_unlink(a->name) != 0) {
- archive_set_error(&a->archive, errno,
- "Can't unlink already-existing object");
- return (ARCHIVE_FAILED);
+ if (a->flags &
+ ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS) {
+ (void)clear_nochange_fflags(a);
+ }
+ if ((a->flags & ARCHIVE_EXTRACT_SAFE_WRITES) &&
+ S_ISREG(st_mode)) {
+ int fd = la_mktemp(a);
+
+ if (fd == -1)
+ return (ARCHIVE_FAILED);
+ a->fh = (HANDLE)_get_osfhandle(fd);
+ if (a->fh == INVALID_HANDLE_VALUE)
+ return (ARCHIVE_FAILED);
+
+ a->pst = NULL;
+ en = 0;
+ } else {
+ if (dirlnk) {
+ /* Edge case: dir symlink pointing
+ * to a file */
+ if (disk_rmdir(a->name) != 0) {
+ archive_set_error(&a->archive,
+ errno, "Can't unlink "
+ "directory symlink");
+ return (ARCHIVE_FAILED);
+ }
+ } else {
+ if (disk_unlink(a->name) != 0) {
+ /* A non-dir is in the way,
+ * unlink it. */
+ archive_set_error(&a->archive,
+ errno, "Can't unlink "
+ "already-existing object");
+ return (ARCHIVE_FAILED);
+ }
+ }
+ a->pst = NULL;
+ /* Try again. */
+ en = create_filesystem_object(a);
}
- a->pst = NULL;
- /* Try again. */
- en = create_filesystem_object(a);
} else if (!S_ISDIR(a->mode)) {
/* A dir is in the way of a non-dir, rmdir it. */
+ if (a->flags & ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS)
+ (void)clear_nochange_fflags(a);
if (disk_rmdir(a->name) != 0) {
archive_set_error(&a->archive, errno,
"Can't remove already-existing dir");
@@ -1462,6 +1656,7 @@ create_filesystem_object(struct archive_write_disk *a)
wchar_t *fullname;
mode_t final_mode, mode;
int r;
+ DWORD attrs = 0;
/* We identify hard/symlinks according to the link names. */
/* Since link(2) and symlink(2) don't handle modes, we're done here. */
@@ -1475,6 +1670,20 @@ create_filesystem_object(struct archive_write_disk *a)
errno = EINVAL;
r = -1;
} else {
+ /*
+ * Unlinking and linking here is really not atomic,
+ * but doing it right, would require us to construct
+ * an mktemplink() function, and then use _wrename().
+ */
+ if (a->flags & ARCHIVE_EXTRACT_SAFE_WRITES) {
+ attrs = GetFileAttributesW(namefull);
+ if (attrs != INVALID_FILE_ATTRIBUTES) {
+ if (attrs & FILE_ATTRIBUTE_DIRECTORY)
+ disk_rmdir(namefull);
+ else
+ disk_unlink(namefull);
+ }
+ }
r = la_CreateHardLinkW(namefull, linkfull);
if (r == 0) {
la_dosmaperr(GetLastError());
@@ -1511,10 +1720,31 @@ create_filesystem_object(struct archive_write_disk *a)
}
linkname = archive_entry_symlink_w(a->entry);
if (linkname != NULL) {
+ /*
+ * Unlinking and linking here is really not atomic,
+ * but doing it right, would require us to construct
+ * an mktemplink() function, and then use _wrename().
+ */
+ attrs = GetFileAttributesW(a->name);
+ if (attrs != INVALID_FILE_ATTRIBUTES) {
+ if (attrs & FILE_ATTRIBUTE_DIRECTORY)
+ disk_rmdir(a->name);
+ else
+ disk_unlink(a->name);
+ }
#if HAVE_SYMLINK
return symlink(linkname, a->name) ? errno : 0;
#else
- return (EPERM);
+ errno = 0;
+ r = la_CreateSymbolicLinkW((const wchar_t *)a->name, linkname,
+ archive_entry_symlink_type(a->entry));
+ if (r == 0) {
+ if (errno == 0)
+ la_dosmaperr(GetLastError());
+ r = errno;
+ } else
+ r = 0;
+ return (r);
#endif
}
@@ -1538,6 +1768,7 @@ create_filesystem_object(struct archive_write_disk *a)
/* POSIX requires that we fall through here. */
/* FALLTHROUGH */
case AE_IFREG:
+ a->tmpname = NULL;
fullname = a->name;
/* O_WRONLY | O_CREAT | O_EXCL */
a->fh = CreateFileW(fullname, GENERIC_WRITE, 0, NULL,
@@ -1667,6 +1898,8 @@ _archive_write_disk_close(struct archive *_a)
la_chmod(p->name, p->mode);
if (p->fixup & TODO_ACLS)
set_acls(a, INVALID_HANDLE_VALUE, p->name, &p->acl);
+ if (p->fixup & TODO_FFLAGS)
+ set_fflags_platform(p->name, p->fflags_set, 0);
next = p->next;
archive_acl_clear(&p->acl);
free(p->name);
@@ -1690,9 +1923,9 @@ _archive_write_disk_free(struct archive *_a)
ret = _archive_write_disk_close(&a->archive);
archive_write_disk_set_group_lookup(&a->archive, NULL, NULL, NULL);
archive_write_disk_set_user_lookup(&a->archive, NULL, NULL, NULL);
- if (a->entry)
- archive_entry_free(a->entry);
+ archive_entry_free(a->entry);
archive_wstring_free(&a->_name_data);
+ archive_wstring_free(&a->_tmpname_data);
archive_string_free(&a->archive.error_string);
archive_wstring_free(&a->path_safe);
a->archive.magic = 0;
@@ -1784,6 +2017,7 @@ new_fixup(struct archive_write_disk *a, const wchar_t *pathname)
a->fixup_list = fe;
fe->fixup = 0;
fe->name = _wcsdup(pathname);
+ fe->fflags_set = 0;
return (fe);
}
@@ -1798,7 +2032,6 @@ current_fixup(struct archive_write_disk *a, const wchar_t *pathname)
return (a->current_fixup);
}
-/* TODO: Make this work. */
/*
* TODO: The deep-directory support bypasses this; disable deep directory
* support if we're doing symlink checks.
@@ -1808,7 +2041,6 @@ current_fixup(struct archive_write_disk *a, const wchar_t *pathname)
* scan the path and both can be optimized by comparing against other
* recent paths.
*/
-/* TODO: Extend this to support symlinks on Windows Vista and later. */
static int
check_symlinks(struct archive_write_disk *a)
{
@@ -1827,6 +2059,9 @@ check_symlinks(struct archive_write_disk *a)
p = a->path_safe.s;
while ((*pn != '\0') && (*p == *pn))
++p, ++pn;
+ /* Skip leading backslashes */
+ while (*pn == '\\')
+ ++pn;
c = pn[0];
/* Keep going until we've checked the entire name. */
while (pn[0] != '\0' && (pn[0] != '\\' || pn[1] != '\0')) {
@@ -1844,11 +2079,21 @@ check_symlinks(struct archive_write_disk *a)
} else if (S_ISLNK(st_mode)) {
if (c == '\0') {
/*
- * Last element is symlink; remove it
- * so we can overwrite it with the
+ * Last element is a file or directory symlink.
+ * Remove it so we can overwrite it with the
* item being extracted.
*/
- if (disk_unlink(a->name)) {
+ if (a->flags &
+ ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS) {
+ (void)clear_nochange_fflags(a);
+ }
+ if (st.dwFileAttributes &
+ FILE_ATTRIBUTE_DIRECTORY) {
+ r = disk_rmdir(a->name);
+ } else {
+ r = disk_unlink(a->name);
+ }
+ if (r) {
archive_set_error(&a->archive, errno,
"Could not remove symlink %ls",
a->name);
@@ -1872,7 +2117,17 @@ check_symlinks(struct archive_write_disk *a)
return (0);
} else if (a->flags & ARCHIVE_EXTRACT_UNLINK) {
/* User asked us to remove problems. */
- if (disk_unlink(a->name) != 0) {
+ if (a->flags &
+ ARCHIVE_EXTRACT_CLEAR_NOCHANGE_FFLAGS) {
+ (void)clear_nochange_fflags(a);
+ }
+ if (st.dwFileAttributes &
+ FILE_ATTRIBUTE_DIRECTORY) {
+ r = disk_rmdir(a->name);
+ } else {
+ r = disk_unlink(a->name);
+ }
+ if (r != 0) {
archive_set_error(&a->archive, 0,
"Cannot remove intervening "
"symlink %ls", a->name);
@@ -1888,6 +2143,8 @@ check_symlinks(struct archive_write_disk *a)
return (ARCHIVE_FAILED);
}
}
+ pn[0] = c;
+ pn++;
}
pn[0] = c;
/* We've checked and/or cleaned the whole path, so remember it. */
@@ -2438,10 +2695,56 @@ set_mode(struct archive_write_disk *a, int mode)
return (r);
}
+static int set_fflags_platform(const wchar_t *name, unsigned long fflags_set,
+ unsigned long fflags_clear)
+{
+ DWORD oldflags, newflags;
+ wchar_t *fullname;
+
+ const DWORD settable_flags =
+ FILE_ATTRIBUTE_ARCHIVE |
+ FILE_ATTRIBUTE_HIDDEN |
+ FILE_ATTRIBUTE_NORMAL |
+ FILE_ATTRIBUTE_NOT_CONTENT_INDEXED |
+ FILE_ATTRIBUTE_OFFLINE |
+ FILE_ATTRIBUTE_READONLY |
+ FILE_ATTRIBUTE_SYSTEM |
+ FILE_ATTRIBUTE_TEMPORARY;
+
+ oldflags = GetFileAttributesW(name);
+ if (oldflags == (DWORD)-1 &&
+ GetLastError() == ERROR_INVALID_NAME) {
+ fullname = __la_win_permissive_name_w(name);
+ oldflags = GetFileAttributesW(fullname);
+ }
+ if (oldflags == (DWORD)-1) {
+ la_dosmaperr(GetLastError());
+ return (ARCHIVE_WARN);
+ }
+ newflags = ((oldflags & ~fflags_clear) | fflags_set) & settable_flags;
+ if(SetFileAttributesW(name, newflags) == 0)
+ return (ARCHIVE_WARN);
+ return (ARCHIVE_OK);
+}
+
+static int
+clear_nochange_fflags(struct archive_write_disk *a)
+{
+ return (set_fflags_platform(a->name, 0, FILE_ATTRIBUTE_READONLY));
+}
+
static int
set_fflags(struct archive_write_disk *a)
{
- (void)a; /* UNUSED */
+ unsigned long set, clear;
+
+ if (a->todo & TODO_FFLAGS) {
+ archive_entry_fflags(a->entry, &set, &clear);
+ if (set == 0 && clear == 0)
+ return (ARCHIVE_OK);
+ return (set_fflags_platform(a->name, set, clear));
+
+ }
return (ARCHIVE_OK);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_filter.3 b/Utilities/cmlibarchive/libarchive/archive_write_filter.3
index d6fa071..c83eb77 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_filter.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_filter.3
@@ -43,7 +43,7 @@
.Nm archive_write_add_filter_program ,
.Nm archive_write_add_filter_uuencode ,
.Nm archive_write_add_filter_xz ,
-.Nm archive_write_add_filter_zstd ,
+.Nm archive_write_add_filter_zstd
.Nd functions enabling output filters
.Sh LIBRARY
Streaming Archive Library (libarchive, -larchive)
@@ -125,10 +125,10 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write 3 ,
.Xr archive_write_format 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr mtree 5 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_finish_entry.3 b/Utilities/cmlibarchive/libarchive/archive_write_finish_entry.3
index dc1b94b..5797e16 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_finish_entry.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_finish_entry.3
@@ -71,9 +71,9 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write_data 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr mtree 5 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_format.3 b/Utilities/cmlibarchive/libarchive/archive_write_format.3
index aaafb0a..47a7403 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_format.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_format.3
@@ -52,7 +52,7 @@
.Nm archive_write_set_format_v7tar ,
.Nm archive_write_set_format_warc ,
.Nm archive_write_set_format_xar ,
-.Nm archive_write_set_format_zip ,
+.Nm archive_write_set_format_zip
.Nd functions for creating archives
.Sh LIBRARY
Streaming Archive Library (libarchive, -larchive)
@@ -166,9 +166,9 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr libarchive-formats 5 ,
.Xr mtree 5 ,
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_free.3 b/Utilities/cmlibarchive/libarchive/archive_write_free.3
index 1b2d071..5210e2a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_free.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_free.3
@@ -56,7 +56,7 @@ after calling this function, the only call that can succeed is
to release the resources.
This can be used to speed recovery when the archive creation
must be aborted.
-Note that the created archive is likely to be malformed in this case;
+Note that the created archive is likely to be malformed in this case;
.It Fn archive_write_close
Complete the archive and invoke the close callback.
.It Fn archive_write_finish
@@ -89,8 +89,8 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr mtree 5 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_header.3 b/Utilities/cmlibarchive/libarchive/archive_write_header.3
index 4de58f3..2217b18 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_header.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_header.3
@@ -66,8 +66,8 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr mtree 5 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_new.3 b/Utilities/cmlibarchive/libarchive/archive_write_new.3
index f05d269..788cbb8 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_new.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_new.3
@@ -50,9 +50,9 @@ object can be found in the overview manual page for
.\" .Sh ERRORS
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr mtree 5 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_open.3 b/Utilities/cmlibarchive/libarchive/archive_write_open.3
index 457873e..0129d10 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_open.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_open.3
@@ -200,7 +200,7 @@ On failure, the callback should invoke
.Fn archive_set_error
to register an error code and message and
return
-.Cm ARCHIVE_FATAL.
+.Cm ARCHIVE_FATAL .
.Pp
Note that if the client-provided write callback function
returns a non-zero value, that error will be propagated back to the caller
@@ -234,13 +234,13 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write 3 ,
.Xr archive_write_blocksize 3 ,
.Xr archive_write_filter 3 ,
.Xr archive_write_format 3 ,
.Xr archive_write_new 3 ,
.Xr archive_write_set_options 3 ,
+.Xr libarchive 3 ,
.Xr cpio 5 ,
.Xr mtree 5 ,
.Xr tar 5
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_private.h b/Utilities/cmlibarchive/libarchive/archive_write_private.h
index 0dfd1b1..27cba03 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_private.h
+++ b/Utilities/cmlibarchive/libarchive/archive_write_private.h
@@ -25,19 +25,24 @@
* $FreeBSD: head/lib/libarchive/archive_write_private.h 201155 2009-12-29 05:20:12Z kientzle $
*/
+#ifndef ARCHIVE_WRITE_PRIVATE_H_INCLUDED
+#define ARCHIVE_WRITE_PRIVATE_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#ifndef __LIBARCHIVE_TEST
#error This header is only to be used internally to libarchive.
#endif
#endif
-#ifndef ARCHIVE_WRITE_PRIVATE_H_INCLUDED
-#define ARCHIVE_WRITE_PRIVATE_H_INCLUDED
-
#include "archive.h"
#include "archive_string.h"
#include "archive_private.h"
+#define ARCHIVE_WRITE_FILTER_STATE_NEW 1U
+#define ARCHIVE_WRITE_FILTER_STATE_OPEN 2U
+#define ARCHIVE_WRITE_FILTER_STATE_CLOSED 4U
+#define ARCHIVE_WRITE_FILTER_STATE_FATAL 0x8000U
+
struct archive_write;
struct archive_write_filter {
@@ -55,6 +60,7 @@ struct archive_write_filter {
int code;
int bytes_per_block;
int bytes_in_last_block;
+ int state;
};
#if ARCHIVE_VERSION < 4000000
@@ -66,8 +72,6 @@ struct archive_write_filter *__archive_write_allocate_filter(struct archive *);
int __archive_write_output(struct archive_write *, const void *, size_t);
int __archive_write_nulls(struct archive_write *, size_t);
int __archive_write_filter(struct archive_write_filter *, const void *, size_t);
-int __archive_write_open_filter(struct archive_write_filter *);
-int __archive_write_close_filter(struct archive_write_filter *);
struct archive_write {
struct archive archive;
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format.c
index 0f70623..12de080 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format.c
@@ -36,6 +36,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format.c 201168 2009-1
#include "archive.h"
#include "archive_private.h"
+#include "archive_write_set_format_private.h"
/* A table that maps format codes to functions. */
static const
@@ -76,3 +77,47 @@ archive_write_set_format(struct archive *a, int code)
archive_set_error(a, EINVAL, "No such format");
return (ARCHIVE_FATAL);
}
+
+void
+__archive_write_entry_filetype_unsupported(struct archive *a,
+ struct archive_entry *entry, const char *format)
+{
+ char *name = NULL;
+
+ switch (archive_entry_filetype(entry)) {
+ /*
+ * All formats should be able to archive regular files (AE_IFREG)
+ */
+ case AE_IFDIR:
+ name = "directories";
+ break;
+ case AE_IFLNK:
+ name = "symbolic links";
+ break;
+ case AE_IFCHR:
+ name = "character devices";
+ break;
+ case AE_IFBLK:
+ name = "block devices";
+ break;
+ case AE_IFIFO:
+ name = "named pipes";
+ break;
+ case AE_IFSOCK:
+ name = "sockets";
+ break;
+ default:
+ break;
+ }
+
+ if (name != NULL) {
+ archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT,
+ "%s: %s format cannot archive %s",
+ archive_entry_pathname(entry), format, name);
+ } else {
+ archive_set_error(a, ARCHIVE_ERRNO_FILE_FORMAT,
+ "%s: %s format cannot archive files with mode 0%lo",
+ archive_entry_pathname(entry), format,
+ (unsigned long)archive_entry_mode(entry));
+ }
+}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c
index 2bd4ec4..ce96f2f 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_7zip.c
@@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$");
#include "archive_rb.h"
#include "archive_string.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
/*
* Codec ID
@@ -164,7 +165,7 @@ struct file {
mode_t mode;
uint32_t crc32;
- int dir:1;
+ signed int dir:1;
};
struct _7zip {
@@ -439,7 +440,8 @@ _7z_write_header(struct archive_write *a, struct archive_entry *entry)
r = file_new(a, entry, &file);
if (r < ARCHIVE_WARN) {
- file_free(file);
+ if (file != NULL)
+ file_free(file);
return (r);
}
if (file->size == 0 && file->dir) {
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_ar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_ar.c
index 50305cc..fc0de1e 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_ar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_ar.c
@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format_ar.c 201108 200
#include "archive_entry.h"
#include "archive_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
struct ar_w {
uint64_t entry_bytes_remaining;
@@ -187,6 +188,11 @@ archive_write_ar_header(struct archive_write *a, struct archive_entry *entry)
buff[AR_name_offset] = '/';
goto stat;
}
+ if (strcmp(pathname, "/SYM64/") == 0) {
+ /* Entry is archive symbol table in GNU 64-bit format */
+ memcpy(buff + AR_name_offset, "/SYM64/", 7);
+ goto stat;
+ }
if (strcmp(pathname, "__.SYMDEF") == 0) {
/* Entry is archive symbol table in BSD format */
memcpy(buff + AR_name_offset, "__.SYMDEF", 9);
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio.c
index a4c9d1e..729f9c7 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio.c
@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format_cpio.c 201170 2
#include "archive_entry_locale.h"
#include "archive_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
static ssize_t archive_write_cpio_data(struct archive_write *,
const void *buff, size_t s);
@@ -408,8 +409,7 @@ write_header(struct archive_write *a, struct archive_entry *entry)
}
}
exit_write_header:
- if (entry_main)
- archive_entry_free(entry_main);
+ archive_entry_free(entry_main);
return (ret_final);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio_newc.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio_newc.c
index 957f1a3..172fda6 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio_newc.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_cpio_newc.c
@@ -44,6 +44,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format_cpio_newc.c 201
#include "archive_entry_locale.h"
#include "archive_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
static ssize_t archive_write_newc_data(struct archive_write *,
const void *buff, size_t s);
@@ -366,8 +367,7 @@ write_header(struct archive_write *a, struct archive_entry *entry)
}
}
exit_write_header:
- if (entry_main)
- archive_entry_free(entry_main);
+ archive_entry_free(entry_main);
return (ret_final);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_gnutar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_gnutar.c
index 2d858c9..ec29c5c 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_gnutar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_gnutar.c
@@ -46,6 +46,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format_gnu_tar.c 19157
#include "archive_entry_locale.h"
#include "archive_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
struct gnutar {
uint64_t entry_bytes_remaining;
@@ -339,7 +340,7 @@ archive_write_gnutar_header(struct archive_write *a,
* case getting WCS failed. On POSIX, this is a
* normal operation.
*/
- if (p != NULL && p[strlen(p) - 1] != '/') {
+ if (p != NULL && p[0] != '\0' && p[strlen(p) - 1] != '/') {
struct archive_string as;
archive_string_init(&as);
@@ -534,17 +535,9 @@ archive_write_gnutar_header(struct archive_write *a,
case AE_IFBLK: tartype = '4' ; break;
case AE_IFDIR: tartype = '5' ; break;
case AE_IFIFO: tartype = '6' ; break;
- case AE_IFSOCK:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive socket");
- ret = ARCHIVE_FAILED;
- goto exit_write_header;
- default:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive this (mode=0%lo)",
- (unsigned long)archive_entry_mode(entry));
+ default: /* AE_IFSOCK and unknown */
+ __archive_write_entry_filetype_unsupported(
+ &a->archive, entry, "gnutar");
ret = ARCHIVE_FAILED;
goto exit_write_header;
}
@@ -565,8 +558,7 @@ archive_write_gnutar_header(struct archive_write *a,
gnutar->entry_bytes_remaining = archive_entry_size(entry);
gnutar->entry_padding = 0x1ff & (-(int64_t)gnutar->entry_bytes_remaining);
exit_write_header:
- if (entry_main)
- archive_entry_free(entry_main);
+ archive_entry_free(entry_main);
return (ret);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c
index 4adf68e..564d4d7 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_iso9660.c
@@ -289,12 +289,12 @@ struct isoent {
struct extr_rec *current;
} extr_rec_list;
- int virtual:1;
+ signed int virtual:1;
/* If set to one, this file type is a directory.
* A convenience flag to be used as
* "archive_entry_filetype(isoent->file->entry) == AE_IFDIR".
*/
- int dir:1;
+ signed int dir:1;
};
struct hardlink {
@@ -755,9 +755,9 @@ struct iso9660 {
/* Used for making zisofs. */
struct {
- int detect_magic:1;
- int making:1;
- int allzero:1;
+ signed int detect_magic:1;
+ signed int making:1;
+ signed int allzero:1;
unsigned char magic_buffer[64];
int magic_cnt;
@@ -3650,7 +3650,7 @@ wb_consume(struct archive_write *a, size_t size)
if (size > iso9660->wbuff_remaining ||
iso9660->wbuff_remaining == 0) {
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
- "Internal Programing error: iso9660:wb_consume()"
+ "Internal Programming error: iso9660:wb_consume()"
" size=%jd, wbuff_remaining=%jd",
(intmax_t)size, (intmax_t)iso9660->wbuff_remaining);
return (ARCHIVE_FATAL);
@@ -3671,7 +3671,7 @@ wb_set_offset(struct archive_write *a, int64_t off)
if (iso9660->wbuff_type != WB_TO_TEMP) {
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
- "Internal Programing error: iso9660:wb_set_offset()");
+ "Internal Programming error: iso9660:wb_set_offset()");
return (ARCHIVE_FATAL);
}
@@ -4899,10 +4899,10 @@ isofile_gen_utility_names(struct archive_write *a, struct isofile *file)
if (p[0] == '/') {
if (p[1] == '/')
/* Convert '//' --> '/' */
- strcpy(p, p+1);
+ memmove(p, p+1, strlen(p+1) + 1);
else if (p[1] == '.' && p[2] == '/')
/* Convert '/./' --> '/' */
- strcpy(p, p+2);
+ memmove(p, p+2, strlen(p+2) + 1);
else if (p[1] == '.' && p[2] == '.' && p[3] == '/') {
/* Convert 'dir/dir1/../dir2/'
* --> 'dir/dir2/'
@@ -5094,13 +5094,11 @@ isofile_init_hardlinks(struct iso9660 *iso9660)
static void
isofile_free_hardlinks(struct iso9660 *iso9660)
{
- struct archive_rb_node *n, *next;
+ struct archive_rb_node *n, *tmp;
- for (n = ARCHIVE_RB_TREE_MIN(&(iso9660->hardlink_rbtree)); n;) {
- next = __archive_rb_tree_iterate(&(iso9660->hardlink_rbtree),
- n, ARCHIVE_RB_DIR_RIGHT);
+ ARCHIVE_RB_TREE_FOREACH_SAFE(n, &(iso9660->hardlink_rbtree), tmp) {
+ __archive_rb_tree_remove_node(&(iso9660->hardlink_rbtree), n);
free(n);
- n = next;
}
}
@@ -7801,8 +7799,8 @@ struct zisofs_extract {
uint64_t pz_uncompressed_size;
size_t uncompressed_buffer_size;
- int initialized:1;
- int header_passed:1;
+ signed int initialized:1;
+ signed int header_passed:1;
uint32_t pz_offset;
unsigned char *block_pointers;
@@ -8128,7 +8126,7 @@ zisofs_write_to_temp(struct archive_write *a, const void *buff, size_t s)
{
(void)buff; /* UNUSED */
(void)s; /* UNUSED */
- archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, "Programing error");
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC, "Programming error");
return (ARCHIVE_FATAL);
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_mtree.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_mtree.c
index 493d473..aa41e9a 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_mtree.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_mtree.c
@@ -186,7 +186,7 @@ struct mtree_writer {
#endif
/* Keyword options */
int keys;
-#define F_CKSUM 0x00000001 /* check sum */
+#define F_CKSUM 0x00000001 /* checksum */
#define F_DEV 0x00000002 /* device type */
#define F_DONE 0x00000004 /* directory done */
#define F_FLAGS 0x00000008 /* file flags */
@@ -371,7 +371,7 @@ mtree_quote(struct archive_string *s, const char *str)
}
/*
- * Indent a line as mtree utility to be readable for people.
+ * Indent a line as the mtree utility does so it is readable for people.
*/
static void
mtree_indent(struct mtree_writer *mtree)
@@ -446,8 +446,8 @@ mtree_indent(struct mtree_writer *mtree)
/*
* Write /set keyword.
- * Set most used value of uid,gid,mode and fflags, which are
- * collected by attr_counter_set_collect() function.
+ * Set the most used value of uid, gid, mode and fflags, which are
+ * collected by the attr_counter_set_collect() function.
*/
static void
write_global(struct mtree_writer *mtree)
@@ -649,7 +649,7 @@ attr_counter_inc(struct attr_counter **top, struct attr_counter *ac,
}
/*
- * Tabulate uid,gid,mode and fflags of a entry in order to be used for /set.
+ * Tabulate uid, gid, mode and fflags of a entry in order to be used for /set.
*/
static int
attr_counter_set_collect(struct mtree_writer *mtree, struct mtree_entry *me)
@@ -912,7 +912,7 @@ archive_write_mtree_header(struct archive_write *a,
/* If the current file is a regular file, we have to
* compute the sum of its content.
- * Initialize a bunch of sum check context. */
+ * Initialize a bunch of checksum context. */
if (mtree_entry->reg_info)
sum_init(mtree);
@@ -1265,7 +1265,7 @@ archive_write_mtree_free(struct archive_write *a)
if (mtree == NULL)
return (ARCHIVE_OK);
- /* Make sure we dot not leave any entries. */
+ /* Make sure we do not leave any entries. */
mtree_entry_register_free(mtree);
archive_string_free(&mtree->cur_dirstr);
archive_string_free(&mtree->ebuf);
@@ -1810,10 +1810,10 @@ mtree_entry_setup_filenames(struct archive_write *a, struct mtree_entry *file,
if (p[0] == '/') {
if (p[1] == '/')
/* Convert '//' --> '/' */
- strcpy(p, p+1);
+ memmove(p, p+1, strlen(p+1) + 1);
else if (p[1] == '.' && p[2] == '/')
/* Convert '/./' --> '/' */
- strcpy(p, p+2);
+ memmove(p, p+2, strlen(p+2) + 1);
else if (p[1] == '.' && p[2] == '.' && p[3] == '/') {
/* Convert 'dir/dir1/../dir2/'
* --> 'dir/dir2/'
@@ -2024,7 +2024,7 @@ mtree_entry_tree_add(struct archive_write *a, struct mtree_entry **filep)
if (file->parentdir.length == 0) {
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
- "Internal programing error "
+ "Internal programming error "
"in generating canonical name for %s",
file->pathname.s);
return (ARCHIVE_FAILED);
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_pax.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_pax.c
index 3cebeae..a2b2710 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_pax.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_pax.c
@@ -43,6 +43,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format_pax.c 201162 20
#include "archive_entry_locale.h"
#include "archive_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
struct sparse_block {
struct sparse_block *next;
@@ -199,6 +200,28 @@ archive_write_pax_options(struct archive_write *a, const char *key,
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
"pax: invalid charset name");
return (ret);
+ } else if (strcmp(key, "xattrheader") == 0) {
+ if (val == NULL || val[0] == 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+ "pax: xattrheader requires a value");
+ } else if (strcmp(val, "ALL") == 0 ||
+ strcmp(val, "all") == 0) {
+ pax->flags |= WRITE_LIBARCHIVE_XATTR | WRITE_SCHILY_XATTR;
+ ret = ARCHIVE_OK;
+ } else if (strcmp(val, "SCHILY") == 0 ||
+ strcmp(val, "schily") == 0) {
+ pax->flags |= WRITE_SCHILY_XATTR;
+ pax->flags &= ~WRITE_LIBARCHIVE_XATTR;
+ ret = ARCHIVE_OK;
+ } else if (strcmp(val, "LIBARCHIVE") == 0 ||
+ strcmp(val, "libarchive") == 0) {
+ pax->flags |= WRITE_LIBARCHIVE_XATTR;
+ pax->flags &= ~WRITE_SCHILY_XATTR;
+ ret = ARCHIVE_OK;
+ } else
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+ "pax: invalid xattr header name");
+ return (ret);
}
/* Note: The "warn" return is just to inform the options
@@ -522,11 +545,13 @@ add_pax_acl(struct archive_write *a,
ARCHIVE_ERRNO_FILE_FORMAT, "%s %s %s",
"Can't translate ", attr, " to UTF-8");
return(ARCHIVE_WARN);
- } else if (*p != '\0') {
+ }
+
+ if (*p != '\0') {
add_pax_attr(&(pax->pax_header),
attr, p);
- free(p);
}
+ free(p);
return(ARCHIVE_OK);
}
@@ -660,7 +685,7 @@ archive_write_pax_header(struct archive_write *a,
* case getting WCS failed. On POSIX, this is a
* normal operation.
*/
- if (p != NULL && p[strlen(p) - 1] != '/') {
+ if (p != NULL && p[0] != '\0' && p[strlen(p) - 1] != '/') {
struct archive_string as;
archive_string_init(&as);
@@ -689,17 +714,9 @@ archive_write_pax_header(struct archive_write *a,
}
break;
}
- case AE_IFSOCK:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive socket");
- return (ARCHIVE_FAILED);
- default:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive this (type=0%lo)",
- (unsigned long)
- archive_entry_filetype(entry_original));
+ default: /* AE_IFSOCK and unknown */
+ __archive_write_entry_filetype_unsupported(
+ &a->archive, entry_original, "pax");
return (ARCHIVE_FAILED);
}
}
@@ -835,13 +852,16 @@ archive_write_pax_header(struct archive_write *a,
* them do.
*/
r = get_entry_pathname(a, entry_main, &path, &path_length, sconv);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
- else if (r != ARCHIVE_OK) {
+ } else if (r != ARCHIVE_OK) {
r = get_entry_pathname(a, entry_main, &path,
&path_length, NULL);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
+ }
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Can't translate pathname '%s' to %s", path,
archive_string_conversion_charset_name(sconv));
@@ -849,12 +869,15 @@ archive_write_pax_header(struct archive_write *a,
sconv = NULL;/* The header charset switches to binary mode. */
}
r = get_entry_uname(a, entry_main, &uname, &uname_length, sconv);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
- else if (r != ARCHIVE_OK) {
+ } else if (r != ARCHIVE_OK) {
r = get_entry_uname(a, entry_main, &uname, &uname_length, NULL);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
+ }
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Can't translate uname '%s' to %s", uname,
archive_string_conversion_charset_name(sconv));
@@ -862,12 +885,15 @@ archive_write_pax_header(struct archive_write *a,
sconv = NULL;/* The header charset switches to binary mode. */
}
r = get_entry_gname(a, entry_main, &gname, &gname_length, sconv);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
- else if (r != ARCHIVE_OK) {
+ } else if (r != ARCHIVE_OK) {
r = get_entry_gname(a, entry_main, &gname, &gname_length, NULL);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
+ }
archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
"Can't translate gname '%s' to %s", gname,
archive_string_conversion_charset_name(sconv));
@@ -879,13 +905,16 @@ archive_write_pax_header(struct archive_write *a,
if (linkpath == NULL) {
r = get_entry_symlink(a, entry_main, &linkpath,
&linkpath_length, sconv);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
- else if (r != ARCHIVE_OK) {
+ } else if (r != ARCHIVE_OK) {
r = get_entry_symlink(a, entry_main, &linkpath,
&linkpath_length, NULL);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
+ }
archive_set_error(&a->archive,
ARCHIVE_ERRNO_FILE_FORMAT,
"Can't translate linkname '%s' to %s", linkpath,
@@ -901,21 +930,29 @@ archive_write_pax_header(struct archive_write *a,
if (hardlink != NULL) {
r = get_entry_hardlink(a, entry_main, &hardlink,
&hardlink_length, NULL);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
+ }
linkpath = hardlink;
linkpath_length = hardlink_length;
}
r = get_entry_pathname(a, entry_main, &path,
&path_length, NULL);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
+ }
r = get_entry_uname(a, entry_main, &uname, &uname_length, NULL);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
+ }
r = get_entry_gname(a, entry_main, &gname, &gname_length, NULL);
- if (r == ARCHIVE_FATAL)
+ if (r == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
return (r);
+ }
}
/* Store the header encoding first, to be nice to readers. */
@@ -1112,6 +1149,10 @@ archive_write_pax_header(struct archive_write *a,
if (!need_extension && acl_types != 0)
need_extension = 1;
+ /* If the symlink type is defined, we need an extension */
+ if (!need_extension && archive_entry_symlink_type(entry_main) > 0)
+ need_extension = 1;
+
/*
* Libarchive used to include these in extended headers for
* restricted pax format, but that confused people who
@@ -1168,24 +1209,33 @@ archive_write_pax_header(struct archive_write *a,
ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID |
ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA |
ARCHIVE_ENTRY_ACL_STYLE_COMPACT);
- if (ret == ARCHIVE_FATAL)
+ if (ret == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
+ archive_string_free(&entry_name);
return (ARCHIVE_FATAL);
+ }
}
if (acl_types & ARCHIVE_ENTRY_ACL_TYPE_ACCESS) {
ret = add_pax_acl(a, entry_original, pax,
ARCHIVE_ENTRY_ACL_TYPE_ACCESS |
ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID |
ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA);
- if (ret == ARCHIVE_FATAL)
+ if (ret == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
+ archive_string_free(&entry_name);
return (ARCHIVE_FATAL);
+ }
}
if (acl_types & ARCHIVE_ENTRY_ACL_TYPE_DEFAULT) {
ret = add_pax_acl(a, entry_original, pax,
ARCHIVE_ENTRY_ACL_TYPE_DEFAULT |
ARCHIVE_ENTRY_ACL_STYLE_EXTRA_ID |
ARCHIVE_ENTRY_ACL_STYLE_SEPARATOR_COMMA);
- if (ret == ARCHIVE_FATAL)
+ if (ret == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
+ archive_string_free(&entry_name);
return (ARCHIVE_FATAL);
+ }
}
/* We use GNU-tar-compatible sparse attributes. */
@@ -1245,6 +1295,17 @@ archive_write_pax_header(struct archive_write *a,
archive_string_free(&entry_name);
return (ARCHIVE_FATAL);
}
+
+ /* Store extended symlink information */
+ if (archive_entry_symlink_type(entry_main) ==
+ AE_SYMLINK_TYPE_FILE) {
+ add_pax_attr(&(pax->pax_header),
+ "LIBARCHIVE.symlinktype", "file");
+ } else if (archive_entry_symlink_type(entry_main) ==
+ AE_SYMLINK_TYPE_DIRECTORY) {
+ add_pax_attr(&(pax->pax_header),
+ "LIBARCHIVE.symlinktype", "dir");
+ }
}
/* Only regular files have data. */
@@ -1313,8 +1374,11 @@ archive_write_pax_header(struct archive_write *a,
* numeric fields, though they're less critical.
*/
if (__archive_write_format_header_ustar(a, ustarbuff, entry_main, -1, 0,
- NULL) == ARCHIVE_FATAL)
+ NULL) == ARCHIVE_FATAL) {
+ archive_entry_free(entry_main);
+ archive_string_free(&entry_name);
return (ARCHIVE_FATAL);
+ }
/* If we built any extended attributes, write that entry first. */
if (archive_strlen(&(pax->pax_header)) > 0) {
@@ -1379,6 +1443,8 @@ archive_write_pax_header(struct archive_write *a,
archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
"archive_write_pax_header: "
"'x' header failed?! This can't happen.\n");
+ archive_entry_free(entry_main);
+ archive_string_free(&entry_name);
return (ARCHIVE_FATAL);
} else if (r < ret)
ret = r;
@@ -1387,6 +1453,8 @@ archive_write_pax_header(struct archive_write *a,
sparse_list_clear(pax);
pax->entry_bytes_remaining = 0;
pax->entry_padding = 0;
+ archive_entry_free(entry_main);
+ archive_string_free(&entry_name);
return (ARCHIVE_FATAL);
}
@@ -1398,12 +1466,16 @@ archive_write_pax_header(struct archive_write *a,
archive_strlen(&(pax->pax_header)));
if (r != ARCHIVE_OK) {
/* If a write fails, we're pretty much toast. */
+ archive_entry_free(entry_main);
+ archive_string_free(&entry_name);
return (ARCHIVE_FATAL);
}
/* Pad out the end of the entry. */
r = __archive_write_nulls(a, (size_t)pax->entry_padding);
if (r != ARCHIVE_OK) {
/* If a write fails, we're pretty much toast. */
+ archive_entry_free(entry_main);
+ archive_string_free(&entry_name);
return (ARCHIVE_FATAL);
}
pax->entry_bytes_remaining = pax->entry_padding = 0;
@@ -1411,8 +1483,11 @@ archive_write_pax_header(struct archive_write *a,
/* Write the header for main entry. */
r = __archive_write_output(a, ustarbuff, 512);
- if (r != ARCHIVE_OK)
+ if (r != ARCHIVE_OK) {
+ archive_entry_free(entry_main);
+ archive_string_free(&entry_name);
return (r);
+ }
/*
* Inform the client of the on-disk size we're using, so
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_private.h b/Utilities/cmlibarchive/libarchive/archive_write_set_format_private.h
new file mode 100644
index 0000000..e200227
--- /dev/null
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_private.h
@@ -0,0 +1,42 @@
+/*-
+ * Copyright (c) 2020 Martin Matuska
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef ARCHIVE_WRITE_SET_FORMAT_PRIVATE_H_INCLUDED
+#define ARCHIVE_WRITE_SET_FORMAT_PRIVATE_H_INCLUDED
+
+#ifndef __LIBARCHIVE_BUILD
+#ifndef __LIBARCHIVE_TEST
+#error This header is only to be used internally to libarchive.
+#endif
+#endif
+
+#include "archive.h"
+#include "archive_entry.h"
+
+void __archive_write_entry_filetype_unsupported(struct archive *a,
+ struct archive_entry *entry, const char *format);
+#endif
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c
index 5be310a..9e4931c 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_shar.c
@@ -42,6 +42,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format_shar.c 189438 2
#include "archive_entry.h"
#include "archive_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
struct shar {
int dump;
@@ -169,8 +170,7 @@ archive_write_shar_header(struct archive_write *a, struct archive_entry *entry)
}
/* Save the entry for the closing. */
- if (shar->entry)
- archive_entry_free(shar->entry);
+ archive_entry_free(shar->entry);
shar->entry = archive_entry_clone(entry);
name = archive_entry_pathname(entry);
@@ -195,8 +195,8 @@ archive_write_shar_header(struct archive_write *a, struct archive_entry *entry)
archive_entry_set_size(entry, 0);
if (archive_entry_hardlink(entry) == NULL &&
archive_entry_symlink(entry) == NULL) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
- "shar format cannot archive this");
+ __archive_write_entry_filetype_unsupported(
+ &a->archive, entry, "shar");
return (ARCHIVE_WARN);
}
}
@@ -289,8 +289,7 @@ archive_write_shar_header(struct archive_write *a, struct archive_entry *entry)
"mkdir -p %s > /dev/null 2>&1\n",
shar->quoted_name.s);
/* Record that we just created this directory. */
- if (shar->last_dir != NULL)
- free(shar->last_dir);
+ free(shar->last_dir);
shar->last_dir = strdup(name);
/* Trim a trailing '/'. */
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_ustar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_ustar.c
index c54aeab..d1a06bc 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_ustar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_ustar.c
@@ -44,6 +44,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format_ustar.c 191579
#include "archive_entry_locale.h"
#include "archive_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
struct ustar {
uint64_t entry_bytes_remaining;
@@ -352,14 +353,12 @@ archive_write_ustar_header(struct archive_write *a, struct archive_entry *entry)
#endif
ret = __archive_write_format_header_ustar(a, buff, entry, -1, 1, sconv);
if (ret < ARCHIVE_WARN) {
- if (entry_main)
- archive_entry_free(entry_main);
+ archive_entry_free(entry_main);
return (ret);
}
ret2 = __archive_write_output(a, buff, 512);
if (ret2 < ARCHIVE_WARN) {
- if (entry_main)
- archive_entry_free(entry_main);
+ archive_entry_free(entry_main);
return (ret2);
}
if (ret2 < ret)
@@ -367,8 +366,7 @@ archive_write_ustar_header(struct archive_write *a, struct archive_entry *entry)
ustar->entry_bytes_remaining = archive_entry_size(entry);
ustar->entry_padding = 0x1ff & (-(int64_t)ustar->entry_bytes_remaining);
- if (entry_main)
- archive_entry_free(entry_main);
+ archive_entry_free(entry_main);
return (ret);
}
@@ -515,9 +513,11 @@ __archive_write_format_header_ustar(struct archive_write *a, char h[512],
}
if (copy_length > 0) {
if (copy_length > USTAR_uname_size) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
- "Username too long");
- ret = ARCHIVE_FAILED;
+ if (tartype != 'x') {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_MISC, "Username too long");
+ ret = ARCHIVE_FAILED;
+ }
copy_length = USTAR_uname_size;
}
memcpy(h + USTAR_uname_offset, p, copy_length);
@@ -538,9 +538,11 @@ __archive_write_format_header_ustar(struct archive_write *a, char h[512],
}
if (copy_length > 0) {
if (strlen(p) > USTAR_gname_size) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
- "Group name too long");
- ret = ARCHIVE_FAILED;
+ if (tartype != 'x') {
+ archive_set_error(&a->archive,
+ ARCHIVE_ERRNO_MISC, "Group name too long");
+ ret = ARCHIVE_FAILED;
+ }
copy_length = USTAR_gname_size;
}
memcpy(h + USTAR_gname_offset, p, copy_length);
@@ -612,16 +614,9 @@ __archive_write_format_header_ustar(struct archive_write *a, char h[512],
case AE_IFBLK: h[USTAR_typeflag_offset] = '4' ; break;
case AE_IFDIR: h[USTAR_typeflag_offset] = '5' ; break;
case AE_IFIFO: h[USTAR_typeflag_offset] = '6' ; break;
- case AE_IFSOCK:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive socket");
- return (ARCHIVE_FAILED);
- default:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive this (mode=0%lo)",
- (unsigned long)archive_entry_mode(entry));
+ default: /* AE_IFSOCK and unknown */
+ __archive_write_entry_filetype_unsupported(
+ &a->archive, entry, "ustar");
ret = ARCHIVE_FAILED;
}
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_v7tar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_v7tar.c
index 62b1522..5994071 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_v7tar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_v7tar.c
@@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$");
#include "archive_entry_locale.h"
#include "archive_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
struct v7tar {
uint64_t entry_bytes_remaining;
@@ -284,7 +285,7 @@ archive_write_v7tar_header(struct archive_write *a, struct archive_entry *entry)
* case getting WCS failed. On POSIX, this is a
* normal operation.
*/
- if (p != NULL && p[strlen(p) - 1] != '/') {
+ if (p != NULL && p[0] != '\0' && p[strlen(p) - 1] != '/') {
struct archive_string as;
archive_string_init(&as);
@@ -330,14 +331,12 @@ archive_write_v7tar_header(struct archive_write *a, struct archive_entry *entry)
#endif
ret = format_header_v7tar(a, buff, entry, 1, sconv);
if (ret < ARCHIVE_WARN) {
- if (entry_main)
- archive_entry_free(entry_main);
+ archive_entry_free(entry_main);
return (ret);
}
ret2 = __archive_write_output(a, buff, 512);
if (ret2 < ARCHIVE_WARN) {
- if (entry_main)
- archive_entry_free(entry_main);
+ archive_entry_free(entry_main);
return (ret2);
}
if (ret2 < ret)
@@ -345,8 +344,7 @@ archive_write_v7tar_header(struct archive_write *a, struct archive_entry *entry)
v7tar->entry_bytes_remaining = archive_entry_size(entry);
v7tar->entry_padding = 0x1ff & (-(int64_t)v7tar->entry_bytes_remaining);
- if (entry_main)
- archive_entry_free(entry_main);
+ archive_entry_free(entry_main);
return (ret);
}
@@ -494,31 +492,11 @@ format_header_v7tar(struct archive_write *a, char h[512],
case AE_IFLNK:
h[V7TAR_typeflag_offset] = '2';
break;
- case AE_IFCHR:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive character device");
- return (ARCHIVE_FAILED);
- case AE_IFBLK:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive block device");
- return (ARCHIVE_FAILED);
- case AE_IFIFO:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive fifo");
- return (ARCHIVE_FAILED);
- case AE_IFSOCK:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive socket");
- return (ARCHIVE_FAILED);
default:
- archive_set_error(&a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "tar format cannot archive this (mode=0%lo)",
- (unsigned long)archive_entry_mode(entry));
+ /* AE_IFBLK, AE_IFCHR, AE_IFIFO, AE_IFSOCK
+ * and unknown */
+ __archive_write_entry_filetype_unsupported(
+ &a->archive, entry, "v7tar");
ret = ARCHIVE_FAILED;
}
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_warc.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_warc.c
index edad072..46b0573 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_warc.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_warc.c
@@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$");
#include "archive_private.h"
#include "archive_random_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
struct warc_s {
unsigned int omit_warcinfo:1;
@@ -259,10 +260,8 @@ _warc_header(struct archive_write *a, struct archive_entry *entry)
return (ARCHIVE_OK);
}
/* just resort to erroring as per Tim's advice */
- archive_set_error(
- &a->archive,
- ARCHIVE_ERRNO_FILE_FORMAT,
- "WARC can only process regular files");
+ __archive_write_entry_filetype_unsupported(
+ &a->archive, entry, "WARC");
return (ARCHIVE_FAILED);
}
@@ -333,6 +332,10 @@ xstrftime(struct archive_string *as, const char *fmt, time_t t)
#if defined(HAVE_GMTIME_R) || defined(HAVE__GMTIME64_S)
struct tm timeHere;
#endif
+#if defined(HAVE__GMTIME64_S)
+ errno_t terr;
+ __time64_t tmptime;
+#endif
char strtime[100];
size_t len;
@@ -340,7 +343,12 @@ xstrftime(struct archive_string *as, const char *fmt, time_t t)
if ((rt = gmtime_r(&t, &timeHere)) == NULL)
return;
#elif defined(HAVE__GMTIME64_S)
- _gmtime64_s(&timeHere, &t);
+ tmptime = t;
+ terr = _gmtime64_s(&timeHere, &tmptime);
+ if (terr)
+ rt = NULL;
+ else
+ rt = &timeHere;
#else
if ((rt = gmtime(&t)) == NULL)
return;
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_xar.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_xar.c
index 3c617ec..358f61f 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_xar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_xar.c
@@ -212,8 +212,8 @@ struct file {
struct heap_data data;
struct archive_string script;
- int virtual:1;
- int dir:1;
+ signed int virtual:1;
+ signed int dir:1;
};
struct hardlink {
@@ -411,6 +411,8 @@ xar_options(struct archive_write *a, const char *key, const char *value)
if (strcmp(key, "checksum") == 0) {
if (value == NULL)
xar->opt_sumalg = CKSUM_NONE;
+ else if (strcmp(value, "none") == 0)
+ xar->opt_sumalg = CKSUM_NONE;
else if (strcmp(value, "sha1") == 0)
xar->opt_sumalg = CKSUM_SHA1;
else if (strcmp(value, "md5") == 0)
@@ -429,6 +431,8 @@ xar_options(struct archive_write *a, const char *key, const char *value)
if (value == NULL)
xar->opt_compression = NONE;
+ else if (strcmp(value, "none") == 0)
+ xar->opt_compression = NONE;
else if (strcmp(value, "gzip") == 0)
xar->opt_compression = GZIP;
else if (strcmp(value, "bzip2") == 0)
@@ -482,6 +486,8 @@ xar_options(struct archive_write *a, const char *key, const char *value)
if (strcmp(key, "toc-checksum") == 0) {
if (value == NULL)
xar->opt_toc_sumalg = CKSUM_NONE;
+ else if (strcmp(value, "none") == 0)
+ xar->opt_toc_sumalg = CKSUM_NONE;
else if (strcmp(value, "sha1") == 0)
xar->opt_toc_sumalg = CKSUM_SHA1;
else if (strcmp(value, "md5") == 0)
@@ -496,10 +502,13 @@ xar_options(struct archive_write *a, const char *key, const char *value)
return (ARCHIVE_OK);
}
if (strcmp(key, "threads") == 0) {
+ char *endptr;
+
if (value == NULL)
return (ARCHIVE_FAILED);
- xar->opt_threads = (int)strtoul(value, NULL, 10);
- if (xar->opt_threads == 0 && errno != 0) {
+ errno = 0;
+ xar->opt_threads = (int)strtoul(value, &endptr, 10);
+ if (errno != 0 || *endptr != '\0') {
xar->opt_threads = 1;
archive_set_error(&(a->archive),
ARCHIVE_ERRNO_MISC,
@@ -693,13 +702,37 @@ xar_write_data(struct archive_write *a, const void *buff, size_t s)
else
run = ARCHIVE_Z_FINISH;
/* Compress file data. */
- r = compression_code(&(a->archive), &(xar->stream), run);
- if (r != ARCHIVE_OK && r != ARCHIVE_EOF)
- return (ARCHIVE_FATAL);
+ for (;;) {
+ r = compression_code(&(a->archive), &(xar->stream),
+ run);
+ if (r != ARCHIVE_OK && r != ARCHIVE_EOF)
+ return (ARCHIVE_FATAL);
+ if (xar->stream.avail_out == 0 ||
+ run == ARCHIVE_Z_FINISH) {
+ size = sizeof(xar->wbuff) -
+ xar->stream.avail_out;
+ checksum_update(&(xar->a_sumwrk), xar->wbuff,
+ size);
+ xar->cur_file->data.length += size;
+ if (write_to_temp(a, xar->wbuff,
+ size) != ARCHIVE_OK)
+ return (ARCHIVE_FATAL);
+ if (r == ARCHIVE_OK) {
+ /* Output buffer was full */
+ xar->stream.next_out = xar->wbuff;
+ xar->stream.avail_out =
+ sizeof(xar->wbuff);
+ } else {
+ /* ARCHIVE_EOF - We are done */
+ break;
+ }
+ } else {
+ /* Compressor wants more input */
+ break;
+ }
+ }
rsize = s - xar->stream.avail_in;
checksum_update(&(xar->e_sumwrk), buff, rsize);
- size = sizeof(xar->wbuff) - xar->stream.avail_out;
- checksum_update(&(xar->a_sumwrk), xar->wbuff, size);
}
#if !defined(_WIN32) || defined(__CYGWIN__)
if (xar->bytes_remaining ==
@@ -736,12 +769,9 @@ xar_write_data(struct archive_write *a, const void *buff, size_t s)
if (xar->cur_file->data.compression == NONE) {
if (write_to_temp(a, buff, size) != ARCHIVE_OK)
return (ARCHIVE_FATAL);
- } else {
- if (write_to_temp(a, xar->wbuff, size) != ARCHIVE_OK)
- return (ARCHIVE_FATAL);
+ xar->cur_file->data.length += size;
}
xar->bytes_remaining -= rsize;
- xar->cur_file->data.length += size;
return (rsize);
}
@@ -875,11 +905,15 @@ xmlwrite_time(struct archive_write *a, xmlTextWriterPtr writer,
{
char timestr[100];
struct tm tm;
+#if defined(HAVE__GMTIME64_S)
+ __time64_t tmptime;
+#endif
#if defined(HAVE_GMTIME_R)
gmtime_r(&t, &tm);
#elif defined(HAVE__GMTIME64_S)
- _gmtime64_s(&tm, &t);
+ tmptime = t;
+ _gmtime64_s(&tm, &tmptime);
#else
memcpy(&tm, gmtime(&t), sizeof(tm));
#endif
@@ -2100,7 +2134,7 @@ file_gen_utility_names(struct archive_write *a, struct file *file)
while (len > 0) {
size_t ll = len;
- if (len > 0 && p[len-1] == '/') {
+ if (p[len-1] == '/') {
p[len-1] = '\0';
len--;
}
@@ -2120,10 +2154,10 @@ file_gen_utility_names(struct archive_write *a, struct file *file)
if (p[0] == '/') {
if (p[1] == '/')
/* Convert '//' --> '/' */
- strcpy(p, p+1);
+ memmove(p, p+1, strlen(p+1) + 1);
else if (p[1] == '.' && p[2] == '/')
/* Convert '/./' --> '/' */
- strcpy(p, p+2);
+ memmove(p, p+2, strlen(p+2) + 1);
else if (p[1] == '.' && p[2] == '.' && p[3] == '/') {
/* Convert 'dir/dir1/../dir2/'
* --> 'dir/dir2/'
@@ -2529,13 +2563,11 @@ file_init_hardlinks(struct xar *xar)
static void
file_free_hardlinks(struct xar *xar)
{
- struct archive_rb_node *n, *next;
+ struct archive_rb_node *n, *tmp;
- for (n = ARCHIVE_RB_TREE_MIN(&(xar->hardlink_rbtree)); n;) {
- next = __archive_rb_tree_iterate(&(xar->hardlink_rbtree),
- n, ARCHIVE_RB_DIR_RIGHT);
+ ARCHIVE_RB_TREE_FOREACH_SAFE(n, &(xar->hardlink_rbtree), tmp) {
+ __archive_rb_tree_remove_node(&(xar->hardlink_rbtree), n);
free(n);
- n = next;
}
}
@@ -3169,8 +3201,10 @@ save_xattrs(struct archive_write *a, struct file *file)
checksum_update(&(xar->a_sumwrk),
xar->wbuff, size);
if (write_to_temp(a, xar->wbuff, size)
- != ARCHIVE_OK)
+ != ARCHIVE_OK) {
+ free(heap);
return (ARCHIVE_FATAL);
+ }
if (r == ARCHIVE_OK) {
xar->stream.next_out = xar->wbuff;
xar->stream.avail_out = sizeof(xar->wbuff);
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_format_zip.c b/Utilities/cmlibarchive/libarchive/archive_write_set_format_zip.c
index a4ae229..1ede5ee 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_format_zip.c
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_format_zip.c
@@ -57,6 +57,7 @@ __FBSDID("$FreeBSD: head/lib/libarchive/archive_write_set_format_zip.c 201168 20
#include "archive_private.h"
#include "archive_random_private.h"
#include "archive_write_private.h"
+#include "archive_write_set_format_private.h"
#ifndef HAVE_ZLIB_H
#include "archive_crc32.h"
@@ -526,8 +527,8 @@ archive_write_zip_header(struct archive_write *a, struct archive_entry *entry)
/* Ignore types of entries that we don't support. */
type = archive_entry_filetype(entry);
if (type != AE_IFREG && type != AE_IFDIR && type != AE_IFLNK) {
- archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
- "Filetype not supported");
+ __archive_write_entry_filetype_unsupported(
+ &a->archive, entry, "zip");
return ARCHIVE_FAILED;
};
@@ -564,10 +565,8 @@ archive_write_zip_header(struct archive_write *a, struct archive_entry *entry)
zip->entry_uses_zip64 = 0;
zip->entry_crc32 = zip->crc32func(0, NULL, 0);
zip->entry_encryption = 0;
- if (zip->entry != NULL) {
- archive_entry_free(zip->entry);
- zip->entry = NULL;
- }
+ archive_entry_free(zip->entry);
+ zip->entry = NULL;
if (zip->cctx_valid)
archive_encrypto_aes_ctr_release(&zip->cctx);
@@ -1374,10 +1373,28 @@ dos_time(const time_t unix_time)
{
struct tm *t;
unsigned int dt;
+#if defined(HAVE_LOCALTIME_R) || defined(HAVE__LOCALTIME64_S)
+ struct tm tmbuf;
+#endif
+#if defined(HAVE__LOCALTIME64_S)
+ errno_t terr;
+ __time64_t tmptime;
+#endif
/* This will not preserve time when creating/extracting the archive
* on two systems with different time zones. */
+#if defined(HAVE_LOCALTIME_R)
+ t = localtime_r(&unix_time, &tmbuf);
+#elif defined(HAVE__LOCALTIME64_S)
+ tmptime = unix_time;
+ terr = _localtime64_s(&tmbuf, &tmptime);
+ if (terr)
+ t = NULL;
+ else
+ t = &tmbuf;
+#else
t = localtime(&unix_time);
+#endif
/* MSDOS-style date/time is only between 1980-01-01 and 2107-12-31 */
if (t->tm_year < 1980 - 1900)
@@ -1404,18 +1421,17 @@ path_length(struct archive_entry *entry)
{
mode_t type;
const char *path;
+ size_t len;
type = archive_entry_filetype(entry);
path = archive_entry_pathname(entry);
if (path == NULL)
return (0);
- if (type == AE_IFDIR &&
- (path[0] == '\0' || path[strlen(path) - 1] != '/')) {
- return strlen(path) + 1;
- } else {
- return strlen(path);
- }
+ len = strlen(path);
+ if (type == AE_IFDIR && (path[0] == '\0' || path[len - 1] != '/'))
+ ++len; /* Space for the trailing / */
+ return len;
}
static int
@@ -1430,6 +1446,9 @@ write_path(struct archive_entry *entry, struct archive_write *archive)
type = archive_entry_filetype(entry);
written_bytes = 0;
+ if (path == NULL)
+ return (ARCHIVE_FATAL);
+
ret = __archive_write_output(archive, path, strlen(path));
if (ret != ARCHIVE_OK)
return (ARCHIVE_FATAL);
@@ -1460,10 +1479,8 @@ copy_path(struct archive_entry *entry, unsigned char *p)
memcpy(p, path, pathlen);
/* Folders are recognized by a trailing slash. */
- if ((type == AE_IFDIR) & (path[pathlen - 1] != '/')) {
+ if ((type == AE_IFDIR) && (path[pathlen - 1] != '/'))
p[pathlen] = '/';
- p[pathlen + 1] = '\0';
- }
}
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_options.3 b/Utilities/cmlibarchive/libarchive/archive_write_set_options.3
index aeb7a18..cffe571 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_options.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_options.3
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 2, 2012
+.Dd January 31, 2020
.Dt ARCHIVE_WRITE_OPTIONS 3
.Os
.Sh NAME
@@ -70,7 +70,7 @@ specific write modules.
.Fn archive_write_set_filter_option ,
.Fn archive_write_set_format_option
.Xc
-Specifies an option that will be passed to currently-registered
+Specifies an option that will be passed to the currently-registered
filters (including decompression filters) or format readers.
.Pp
If
@@ -138,7 +138,7 @@ If either function returns
.Cm ARCHIVE_FATAL
will be returned
immediately.
-Otherwise, greater of the two values will be returned.
+Otherwise, the greater of the two values will be returned.
.\"
.It Fn archive_write_set_options
.Ar options
@@ -170,55 +170,153 @@ only to modules whose name matches
.\"
.Sh OPTIONS
.Bl -tag -compact -width indent
+.It Filter b64encode
+.Bl -tag -compact -width indent
+.It Cm mode
+The value is interpreted as octal digits specifying the file mode.
+.It Cm name
+The value specifies the file name.
+.El
+.It Filter bzip2
+.Bl -tag -compact -width indent
+.It Cm compression-level
+The value is interpreted as a decimal integer specifying the
+bzip2 compression level. Supported values are from 1 to 9.
+.El
.It Filter gzip
.Bl -tag -compact -width indent
.It Cm compression-level
The value is interpreted as a decimal integer specifying the
-gzip compression level.
+gzip compression level. Supported values are from 0 to 9.
+.It Cm timestamp
+Store timestamp. This is enabled by default.
+.El
+.It Filter lrzip
+.Bl -tag -compact -width indent
+.It Cm compression Ns = Ns Ar type
+Use
+.Ar type
+as compression method.
+Supported values are
+.Dq bzip2 ,
+.Dq gzipi ,
+.Dq lzo
+.Pq ultra fast ,
+and
+.Dq zpaq
+.Pq best, extremely slow .
+.It Cm compression-level
+The value is interpreted as a decimal integer specifying the
+lrzip compression level. Supported values are from 1 to 9.
+.El
+.It Filter lz4
+.Bl -tag -compact -width indent
+.It Cm compression-level
+The value is interpreted as a decimal integer specifying the
+lz4 compression level. Supported values are from 0 to 9.
+.It Cm stream-checksum
+Enable stream checksum. This is enabled by default.
+.It Cm block-checksum
+Enable block checksum. This is disabled by default.
+.It Cm block-size
+The value is interpreted as a decimal integer specifying the
+lz4 compression block size. Supported values are from 4 to 7
+.Pq default .
+.It Cm block-dependence
+Use the previous block of the block being compressed for
+a compression dictionary to improve compression ratio.
+This is disabled by default.
+.El
+.It Filter lzop
+.Bl -tag -compact -width indent
+.It Cm compression-level
+The value is interpreted as a decimal integer specifying the
+lzop compression level. Supported values are from 1 to 9.
+.El
+.It Filter uuencode
+.Bl -tag -compact -width indent
+.It Cm mode
+The value is interpreted as octal digits specifying the file mode.
+.It Cm name
+The value specifies the file name.
.El
.It Filter xz
.Bl -tag -compact -width indent
.It Cm compression-level
The value is interpreted as a decimal integer specifying the
+compression level. Supported values are from 0 to 9.
+.It Cm threads
+The value is interpreted as a decimal integer specifying the
+number of threads for multi-threaded lzma compression.
+If supported, the default value is read from
+.Fn lzma_cputhreads .
+.El
+.It Filter zstd
+.Bl -tag -compact -width indent
+.It Cm compression-level
+The value is interpreted as a decimal integer specifying the
+compression level. Supported values are from 1 to 22.
+.El
+.It Format 7zip
+.Bl -tag -compact -width indent
+.It Cm compression
+The value is one of
+.Dq store ,
+.Dq deflate ,
+.Dq bzip2 ,
+.Dq lzma1 ,
+.Dq lzma2
+or
+.Dq ppmd
+to indicate how the following entries should be compressed.
+Note that this setting is ignored for directories, symbolic links,
+and other special entries.
+.It Cm compression-level
+The value is interpreted as a decimal integer specifying the
compression level.
+Values between 0 and 9 are supported.
+The interpretation of the compression level depends on the chosen
+compression method.
.El
-.It Format mtree
+.It Format cpio
.Bl -tag -compact -width indent
-.It Cm cksum , Cm device , Cm flags , Cm gid , Cm gname , Cm indent , Cm link , Cm md5 , Cm mode , Cm nlink , Cm rmd160 , Cm sha1 , Cm sha256 , Cm sha384 , Cm sha512 , Cm size , Cm time , Cm uid , Cm uname
-Enable a particular keyword in the mtree output.
-Prefix with an exclamation mark to disable the corresponding keyword.
-The default is equivalent to
-.Dq device, flags, gid, gname, link, mode, nlink, size, time, type, uid, uname .
-.It Cm all
-Enables all of the above keywords.
-.It Cm use-set
-Enables generation of
-.Cm /set
-lines that specify default values for the following files and/or directories.
-.It Cm indent
-XXX needs explanation XXX
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file names.
+.El
+.It Format gnutar
+.Bl -tag -compact -width indent
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file, group and user names.
.El
.It Format iso9660 - volume metadata
These options are used to set standard ISO9660 metadata.
.Bl -tag -compact -width indent
.It Cm abstract-file Ns = Ns Ar filename
The file with the specified name will be identified in the ISO9660 metadata
-as holding the abstract for this volume. Default: none.
+as holding the abstract for this volume.
+Default: none.
.It Cm application-id Ns = Ns Ar filename
The file with the specified name will be identified in the ISO9660 metadata
-as holding the application identifier for this volume. Default: none.
+as holding the application identifier for this volume.
+Default: none.
.It Cm biblio-file Ns = Ns Ar filename
The file with the specified name will be identified in the ISO9660 metadata
-as holding the bibliography for this volume. Default: none.
+as holding the bibliography for this volume.
+Default: none.
.It Cm copyright-file Ns = Ns Ar filename
The file with the specified name will be identified in the ISO9660 metadata
-as holding the copyright for this volume. Default: none.
+as holding the copyright for this volume.
+Default: none.
.It Cm publisher Ns = Ns Ar filename
The file with the specified name will be identified in the ISO9660 metadata
-as holding the publisher information for this volume. Default: none.
+as holding the publisher information for this volume.
+Default: none.
.It Cm volume-id Ns = Ns Ar string
The specified string will be used as the Volume Identifier in the ISO9660 metadata.
-It is limited to 32 bytes. Default: none.
+It is limited to 32 bytes.
+Default: none.
.El
.It Format iso9660 - boot support
These options are used to make an ISO9660 image that can be directly
@@ -266,7 +364,7 @@ If the boot image is exactly 1.2MB, 1.44MB, or 2.88MB, then
the default is
.Cm fd ,
otherwise the default is
-.Cm no-emulation.
+.Cm no-emulation .
.El
.It Format iso9660 - filename and size extensions
Various extensions to the base ISO9660 format.
@@ -290,7 +388,7 @@ This does not impact names stored in the Rockridge or Joliet extension area.
Default: disabled.
.It Cm allow-period
If enabled, allows filenames to contain trailing period characters, in violation of the ISO9660 specification.
-If disabled,trailing periods will be converted to underscore characters.
+If disabled, trailing periods will be converted to underscore characters.
This does not impact names stored in the Rockridge or Joliet extension area.
Default: disabled.
.It Cm allow-pvd-lowercase
@@ -398,6 +496,111 @@ Specifies a filename that should not be compressed when using
This option can be provided multiple times to suppress compression
on many files.
.El
+.It Format mtree
+.Bl -tag -compact -width indent
+.It Cm cksum , Cm device , Cm flags , Cm gid , Cm gname , Cm indent , Cm link , Cm md5 , Cm mode , Cm nlink , Cm rmd160 , Cm sha1 , Cm sha256 , Cm sha384 , Cm sha512 , Cm size , Cm time , Cm uid , Cm uname
+Enable a particular keyword in the mtree output.
+Prefix with an exclamation mark to disable the corresponding keyword.
+The default is equivalent to
+.Dq device, flags, gid, gname, link, mode, nlink, size, time, type, uid, uname .
+.It Cm all
+Enables all of the above keywords.
+.It Cm use-set
+Enables generation of
+.Cm /set
+lines that specify default values for the following files and/or directories.
+.It Cm indent
+XXX needs explanation XXX
+.El
+.It Format newc
+.Bl -tag -compact -width indent
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file names.
+.El
+.It Format pax
+.Bl -tag -compact -width indent
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file, group and user names.
+The value is one of
+.Dq BINARY
+or
+.Dq UTF-8 .
+With
+.Dq BINARY
+there is no character conversion, with
+.Dq UTF-8
+names are converted to UTF-8.
+.It Cm xattrheader
+When storing extended attributes, this option configures which
+headers should be written. The value is one of
+.Dq all ,
+.Dq LIBARCHIVE ,
+or
+.Dq SCHILY .
+By default, both
+.Dq LIBARCHIVE.xattr
+and
+.Dq SCHILY.xattr
+headers are written.
+.El
+.It Format ustar
+.Bl -tag -compact -width indent
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file, group and user names.
+.El
+.It Format v7tar
+.Bl -tag -compact -width indent
+.It Cm hdrcharset
+The value is used as a character set name that will be
+used when translating file, group and user names.
+.El
+.It Format warc
+.Bl -tag -compact -width indent
+.It Cm omit-warcinfo
+Set to
+.Dq true
+to disable output of the warcinfo record.
+.El
+.It Format xar
+.Bl -tag -compact -width indent
+.It Cm checksum Ns = Ns Ar type
+Use
+.Ar type
+as file checksum method.
+Supported values are
+.Dq none ,
+.Dq md5 ,
+and
+.Dq sha1
+.Pq default .
+.It Cm compression Ns = Ns Ar type
+Use
+.Ar type
+as compression method.
+Supported values are
+.Dq none ,
+.Dq bzip2 ,
+.Dq gzip
+.Pq default ,
+.Dq lzma
+and
+.Dq xz .
+.It Cm compression_level
+The value is a decimal integer from 1 to 9 specifying the compression level.
+.It Cm toc-checksum Ns = Ns Ar type
+Use
+.Ar type
+as table of contents checksum method.
+Supported values are
+.Dq none ,
+.Dq md5
+and
+.Dq sha1
+.Pq default .
+.El
.It Format zip
.Bl -tag -compact -width indent
.It Cm compression
@@ -408,6 +611,29 @@ or
to indicate how the following entries should be compressed.
Note that this setting is ignored for directories, symbolic links,
and other special entries.
+.It Cm compression-level
+The value is interpreted as a decimal integer specifying the
+compression level.
+Values between 0 and 9 are supported.
+A compression level of 0 switches the compression method to
+.Dq store ,
+other values will enable
+.Dq deflate
+compression with the given level.
+.It Cm encryption
+Enable encryption using traditional zip encryption.
+.It Cm encryption Ns = Ns Ar type
+Use
+.Ar type
+as encryption type.
+Supported values are
+.Dq zipcrypt
+.Pq traditional zip encryption ,
+.Dq aes128
+.Pq WinZip AES-128 encryption
+and
+.Dq aes256
+.Pq WinZip AES-256 encryption .
.It Cm experimental
This boolean option enables or disables experimental Zip features
that may not be compatible with other Zip implementations.
@@ -416,7 +642,8 @@ This boolean option disables CRC calculations.
All CRC fields are set to zero.
It should not be used except for testing purposes.
.It Cm hdrcharset
-This sets the character set used for filenames.
+The value is used as a character set name that will be
+used when translating file names.
.It Cm zip64
Zip64 extensions provide additional file size information
for entries larger than 4 GiB.
@@ -465,9 +692,9 @@ functions.
.\"
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_read_set_options 3 ,
-.Xr archive_write 3
+.Xr archive_write 3 ,
+.Xr libarchive 3
.Sh HISTORY
The
.Nm libarchive
diff --git a/Utilities/cmlibarchive/libarchive/archive_write_set_passphrase.3 b/Utilities/cmlibarchive/libarchive/archive_write_set_passphrase.3
index 2585595..2db7703 100644
--- a/Utilities/cmlibarchive/libarchive/archive_write_set_passphrase.3
+++ b/Utilities/cmlibarchive/libarchive/archive_write_set_passphrase.3
@@ -49,7 +49,7 @@ Streaming Archive Library (libarchive, -larchive)
.Sh DESCRIPTION
.Bl -tag -width indent
.It Fn archive_write_set_passphrase
-Set a passphrase for writing an encryption archive.
+Set a passphrase for writing an encrypted archive.
If
.Ar passphrase
is
@@ -59,16 +59,16 @@ or empty, this function will do nothing and
will be returned.
Otherwise,
.Cm ARCHIVE_OK
-will be returned.
+will be returned.
.It Fn archive_write_set_passphrase_callback
-Register callback function that will be invoked to get a passphrase
-for encrption if the passphrase was not set by the
+Register a callback function that will be invoked to get a passphrase
+for encryption if the passphrase was not set by the
.Fn archive_write_set_passphrase
function.
.El
.\" .Sh ERRORS
.Sh SEE ALSO
.Xr tar 1 ,
-.Xr libarchive 3 ,
.Xr archive_write 3 ,
-.Xr archive_write_set_options 3
+.Xr archive_write_set_options 3 ,
+.Xr libarchive 3
diff --git a/Utilities/cmlibarchive/libarchive/archive_xxhash.h b/Utilities/cmlibarchive/libarchive/archive_xxhash.h
index 4272416..1c7131c 100644
--- a/Utilities/cmlibarchive/libarchive/archive_xxhash.h
+++ b/Utilities/cmlibarchive/libarchive/archive_xxhash.h
@@ -24,12 +24,13 @@
*
*/
+#ifndef ARCHIVE_XXHASH_H_INCLUDED
+#define ARCHIVE_XXHASH_H_INCLUDED
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef ARCHIVE_XXHASH_H
-#define ARCHIVE_XXHASH_H
typedef enum { XXH_OK=0, XXH_ERROR } XXH_errorcode;
diff --git a/Utilities/cmlibarchive/libarchive/config_freebsd.h b/Utilities/cmlibarchive/libarchive/config_freebsd.h
index be25258..f16fd34 100644
--- a/Utilities/cmlibarchive/libarchive/config_freebsd.h
+++ b/Utilities/cmlibarchive/libarchive/config_freebsd.h
@@ -210,6 +210,7 @@
#define HAVE_TZSET 1
#define HAVE_UINTMAX_T 1
#define HAVE_UNISTD_H 1
+#define HAVE_UNLINKAT 1
#define HAVE_UNSETENV 1
#define HAVE_UNSIGNED_LONG_LONG 1
#define HAVE_UNSIGNED_LONG_LONG_INT 1
diff --git a/Utilities/cmlibarchive/libarchive/filter_fork.h b/Utilities/cmlibarchive/libarchive/filter_fork.h
index a28272b..908e7cd 100644
--- a/Utilities/cmlibarchive/libarchive/filter_fork.h
+++ b/Utilities/cmlibarchive/libarchive/filter_fork.h
@@ -25,13 +25,13 @@
* $FreeBSD: head/lib/libarchive/filter_fork.h 201087 2009-12-28 02:18:26Z kientzle $
*/
+#ifndef FILTER_FORK_H
+#define FILTER_FORK_H
+
#ifndef __LIBARCHIVE_BUILD
#error This header is only to be used internally to libarchive.
#endif
-#ifndef FILTER_FORK_H
-#define FILTER_FORK_H
-
pid_t
__archive_create_child(const char *cmd, int *child_stdin, int *child_stdout);
diff --git a/Utilities/cmlibarchive/libarchive/libarchive_changes.3 b/Utilities/cmlibarchive/libarchive/libarchive_changes.3
index adc87fe..6bf8db0 100644
--- a/Utilities/cmlibarchive/libarchive/libarchive_changes.3
+++ b/Utilities/cmlibarchive/libarchive/libarchive_changes.3
@@ -35,7 +35,6 @@
This page describes user-visible changes in libarchive3, and lists
public functions and other symbols changed, deprecated or removed
in libarchive3, along with their replacements if any.
-.Pp
.\"
.Ss Multiple Filters
.\"
@@ -330,13 +329,13 @@ or
.Li 10240
.El
.Sh SEE ALSO
-.Xr libarchive 3 ,
.Xr archive_read 3 ,
.Xr archive_read_filter 3 ,
.Xr archive_read_format 3 ,
.Xr archive_read_set_options 3 ,
+.Xr archive_util 3 ,
.Xr archive_write 3 ,
.Xr archive_write_filter 3 ,
.Xr archive_write_format 3 ,
.Xr archive_write_set_options 3 ,
-.Xr archive_util 3
+.Xr libarchive 3
diff --git a/Utilities/cmlibarchive/libarchive/libarchive_internals.3 b/Utilities/cmlibarchive/libarchive/libarchive_internals.3
index 8275d66..d672f3e 100644
--- a/Utilities/cmlibarchive/libarchive/libarchive_internals.3
+++ b/Utilities/cmlibarchive/libarchive/libarchive_internals.3
@@ -350,8 +350,8 @@ as a dedicated ZIP program.
.Xr archive_entry 3 ,
.Xr archive_read 3 ,
.Xr archive_write 3 ,
-.Xr archive_write_disk 3
-.Xr libarchive 3 ,
+.Xr archive_write_disk 3 ,
+.Xr libarchive 3
.Sh HISTORY
The
.Nm libarchive
diff --git a/Utilities/cmlibarchive/libarchive/mtree.5 b/Utilities/cmlibarchive/libarchive/mtree.5
index e607e4a..8147796 100644
--- a/Utilities/cmlibarchive/libarchive/mtree.5
+++ b/Utilities/cmlibarchive/libarchive/mtree.5
@@ -133,7 +133,6 @@ or
.Sy char
file types.
The value must be one of the following forms:
-.Pp
.Bl -tag -width 4n
.It Ar format , Ns Ar major , Ns Ar minor Ns Bo , Ns Ar subunit Bc
A device with
@@ -165,8 +164,8 @@ are recognized:
.Sy solaris ,
.Sy sunos ,
.Sy svr3 ,
-.Sy svr4 ,
-and
+.Sy svr4 ,
+and
.Sy ultrix .
.Pp
See
@@ -288,12 +287,10 @@ The file owner as a numeric value.
.It Cm uname
The file owner as a symbolic name.
.El
-.Pp
.Sh SEE ALSO
.Xr cksum 1 ,
.Xr find 1 ,
.Xr mtree 8
-.Sh BUGS
.Sh HISTORY
The
.Nm
diff --git a/Utilities/cmlibarchive/libarchive/tar.5 b/Utilities/cmlibarchive/libarchive/tar.5
index 30b837d..34ad4f7 100644
--- a/Utilities/cmlibarchive/libarchive/tar.5
+++ b/Utilities/cmlibarchive/libarchive/tar.5
@@ -441,7 +441,7 @@ archives to store files much larger than the historic 8GB limit.
Vendor-specific attributes used by Joerg Schilling's
.Nm star
implementation.
-.It Cm SCHILY.acl.access , Cm SCHILY.acl.default, Cm SCHILY.acl.ace
+.It Cm SCHILY.acl.access , Cm SCHILY.acl.default , Cm SCHILY.acl.ace
Stores the access, default and NFSv4 ACLs as textual strings in a format
that is an extension of the format specified by POSIX.1e draft 17.
In particular, each user or group access specification can include
@@ -456,7 +456,7 @@ The file flags.
.It Cm SCHILY.realsize
The full size of the file on disk.
XXX explain? XXX
-.It Cm SCHILY.dev, Cm SCHILY.ino , Cm SCHILY.nlinks
+.It Cm SCHILY.dev , Cm SCHILY.ino , Cm SCHILY.nlinks
The device number, inode number, and link count for the entry.
In particular, note that a pax interchange format archive using Joerg
Schilling's
@@ -473,7 +473,7 @@ The time when the file was created.
.Dq ctime
attribute, which refers to the time when the file
metadata was last changed.)
-.It Cm LIBARCHIVE.xattr. Ns Ar namespace Ns . Ns Ar key
+.It Cm LIBARCHIVE.xattr . Ns Ar namespace . Ns Ar key
Libarchive stores POSIX.1e-style extended attributes using
keys of this form.
The
@@ -890,7 +890,8 @@ GNU tar long pathname for the following header.
.It Cm M
GNU tar multivolume marker, indicating the file is a continuation of a file from the previous volume.
.It Cm N
-GNU tar long filename support. Deprecated.
+GNU tar long filename support.
+Deprecated.
.It Cm S
GNU tar sparse regular file.
.It Cm V